Student Projects 1999
Disk/File System Based
|Network Attached Disk Client||Disk/FS based||1999||Student Projects||NetOS|
As part of my PhD I am constructing something that looks like a disk attached to a network. In the end it should be able to provide guaranteed performance to clients. Currently the server-side of the software is almost complete (no guaranteed performance as yet though: that's the next years' research!). Client programs to talk to this would be useful.
The disk will communicate with the world using a certain type of Ethernet frame, and requests are pretty much just standard read and write requests.
The simplest project that could be done is a program that talks the same language from an application using a SOCK_PACKET socket from Linux. Extensions would be moving this to a kernel- level disk driver. This project may involve working with operating system code in its late stages, which can be challenging, as normal debugging tools are not available. Some experience with Linux, or some other operating system whose development environment is available, would be valuable.
This project could be evaluated by showing performance figures for accessing remote disks, possibly comparing to local disks. Also showing sensible behaviour in failure conditions may be good.
|Data Visualisation/Analysis||Disk/FS based||1999||Student Projects||NetOS|
During the past year I have collected a lot of timing data about several hard disks. The sets of data can be used to derive certain useful information about the disks. Unfortunately most tools I have come across are not designed to process such large amounts of data.
A tool that could be used to visualise such data in a variety of ways, and perform certain analyses on it would be exceedingly useful. Also a tool to extract a model of the disk could be produced.
The size of data set that could be used, the accuracy of the disk model produced, or the generality of the tool could all be used to evaluate the successfulness of the project.
|Query Filing System||Disk/FS based||1999||Student Projects||NetOS|
Contemporary filing systems map names to files by using a hierarchical lookup scheme built from nested directories. This allows a relatively efficient name resolution algorithm along with considerable flexibility for the user. Search paths or naming conventions may be used to prefer a given version of a file.
In many cases, however, users would prefer a scheme which allows them to retrieve or specify files based on queries, boolean expressions relating to meta-data such modification date, owner, type, keywords, etc. Such operations may return 0, 1, or many files.
This project will investigate suitable schemes for both on-disk and in-core data structures to support a query filing system (QFS). A prototype implementation will be developed at user-space level (most likely under linux using the userfs library). As a possible extension, information about queries could be used to provide "hints" to the buffer cache and prefetching scheme and so improve performance.
Special Resources: an account on the SRG linux boxes; access to a free disk/partition.
|Disk/FS based||1999||Student Projects||NetOS|
$Id: disk-fs.html,v 1.7 1999/10/04 15:18:15 smh22 Exp $