Enable g++ Run Time Type Indentification

Date: 09/22/05
Suggested by: Christopher Yoeh
Contacts: Christopher Yoeh, Jonathan Appavoo
Complexity: Low
Importance: Low
Details, Notes, Log, Status: RunTimeTypeIdentification
Brief Description:
See what would be the impact of enabling rtti (stop using -fno-rtti flag when compiling) on K42. This would enable dynamic_cast and typeid features of g++. It was observed that this may not impact the dispatch performance and my only affect memory consumption.

g++ context:

-fno-rtti

Disable generation of information about every class with virtual functions for use by the C++ runtime type identification features (dynamic_cast and typeid). If you don't use those parts of the language, you can save some space by using this flag. Note that exception handling uses the same information, but it will generate it as needed.

Fix NFS Authentication

Date: 09/29/05
Suggested by: Dilma DaSilva
Contacts: Dilma DaSilva
Complexity: Low
Importance: Medium- (it's a pain to bring up new workloads in k42 running from an nfs server)
Details, Notes, Log, Status: NfsAuthentication
Brief Description:
Current NFS auth scheme uses (host) user id for k42 developer running k42 when building nfs authentication objects, regardless of which k42 user id is actually issueing the requests. Example: user dilma at an AIX machine runs k42console, and then ssh into k42 with users root, regress, and k42. Every nfs authentication object will refer to user id dilma.

Fix credential checking

Date: 09/29/05
Suggested by: Dilma DaSilva
Contacts: Dilma DaSilva
Complexity: Low
Importance: Medium+
Details, Notes, Log, Status: FixCredChecking
Brief Description:
We're not caching credentials at all; we keep allocating and dealocating them on the methods on NameTreeLinuxFS.C. We learned that this costs us on benchmarks that have lots of pathname-based syscalls

Limit resources used by caching DirLinuxFS and ServerFile objects

Date: 09/29/05
Suggested by: Dilma DaSilva
Contacts: Dilma DaSilva, Orran Kreiger
Complexity: Medium
Importance: Low for now (until memory usage gets to be a concern)
Details, Notes, Log, Status: LimitDirLinuxFServerFileObjCaching
Brief Description:
A DirLinuxFS object is created for every directory we traverse or open; a ServerFile object is created for every file that we manipulate. We don't limit this cache. We started work on this, there is code there, but it has probably gone bad and it is full of bugs

Experiment with DHash for caching DirLinuxFS

Date: 09/29/05
Suggested by: Dilma DaSilva
Contacts: Dilma DaSilva, Jonathan Appavoo
Complexity: High (due to synchronization issues, and the fact that there is a lot of code to change)
Importance: I don't know. I think it's important work, but we don't really need it now.
Details, Notes, Log, Status: DHashDirLinuxFS
Brief Description:
We use full path names on k42, and we keep the namespace being cached for a given file system in a tree. We always traverse the tree to get to a cached entity.

Wire system calls mount/umount

Date: 09/29/05
Suggested by: Dilma DaSilva
Contacts: Dilma DaSilva, Amos Waterland
Complexity: Low (it's not trivial work, but it does not require k42-specific knowledge)
Importance: Not holding anything now, but it would be neat to have it!
Details, Notes, Log, Status: MountUnmountSyscalls
Brief Description:
We have a very ad hoc scheme for mounting file systems: we use content of environment variable k42_FS_DISK for the mounts being done on boot and a program called kmount for subsequent mounts. We would like to have the usual operation mode of linux for this

Merge changes from kfs-unstable into kfs

Date: 09/29/05
Suggested by: Dilma DaSilva
Contacts: Dilma DaSilva, (Livio may get involved if available?)
Complexity: High (specially teh debugging part)
Importance: High: we want to be able to evaluate the innovations on kfs design
Details, Notes, Log, Status: UnstableKfs
Brief Description:
Livio Soares did very neat work on colocating data and meta-data for KFS. It was a risky design and implementation, and it was not ready for broad adoption when he left. IT's still out there, and since then kfs proper has been changed. The work here is to merge the two trees, debug, and do performance evaluation.

Get kfs to run on Linux 2.6

Date: 09/29/05
Suggested by: Dilma DaSilva
Contacts: Dilma DaSilva, hopefully help from Livio Soares
Complexity:
Importance: Medium
Details, Notes, Log, Status: LinuxKfs
Brief Description:
Livio Soares had KFS running on Linux 2.4 regularly until mid-2004 (lots of performance information was collected in late 2003). The "glue" holding linux and KFS together may have to be changed to accomodate changes from 2.4 to 2.6, and the changes on kfs and kfs-unstable may have introduced bugs that only manifest themselves in Linux

Finish up wiring of ext2 into k42

Date: 09/29/05
Suggested by: Dilma DaSilva
Contacts: Dilma DaSilva, Amos Waterland
Complexity:
Importance: Low (but it would be so nice to have this!!)
Details, Notes, Log, Status: K42Ext2
Brief Description:
Amos and Dilma started the work to have ext2 as a file system in k42 (before that we had Linux's ramfs running in k42). We stopped before properly integrating the pagecaches. I estimate that getting that work back to life and completing would take us 3 weeks.

Add our version of /proc/iostat, i.e., to be able to provide current

Date: 09/29/05
Suggested by: Dilma DaSilva
Contacts: Dilma DaSilva
Complexity:
Importance: High for i/o work in k42
Details, Notes, Log, Status: ProcIostat
Brief Description:
Stats about disk layer: We need a way to get performance information on the disk layer. The information there can be k42 specific, but tracing is not enough: we want statistics and instantaneous snapshots

Add read-ahead to our swapping scheme

Date: 09/29/05
Suggested by: Dilma DaSilva
Contacts: Dilma DaSilva, Orran Krieger
Complexity: Low
Importance: High for work in k42 that involves paging out to disk
Details, Notes, Log, Status: SwapReadAhead
Brief Description:
Currently when pages are swapped out we get them back in memory on demand, one at a time. As a consequence, the silly program tests/linux/memScan.c takes 38minutes on k42 (with swap file on kfs) and 3 min on linux. Notice that we're not saying the load in this program reflects relevant requirements, but it does say that no read ahead may hurt a lot :-)

ipcs

Date: 10/19/05
Suggested by: Maria Butrico
Contacts: Maria Butrico
Complexity: Low
Importance:
Details, Notes, Log, Status:
Brief Description:
Find out what it does, how it does it and provide the interfaces.

For semaphores, ipcs invokes semctl with SEM_INFO first. This is not a posix interface, rather an addition by linux. On linux this returns the number of semaphores. Later semctl is used again, this time with SEM_STAT. ipcs does a semctl for id's 0 through whatever number the first semctl (with SEM_INFO) returned. However, these are not perse semaphores id's. The looks more like indices in linux data structures. We could do something similar, since we actually allocate ids sequentially, but boy is it ugly!

K42JobJar (last edited 2005-12-01 19:57:09 by MariaButrico)