CSCI 704, Spring 1998
Proposed Projects
All projects are to be done in groups of two or three students.
Each group is to be working on a different project.
Think of any operating systems related project you would like to work on
and talk to me at least one week before the project proposal is due.
All projects should deal with a current open question.
Suggested Projects
The following projects are related to resource allocation in
parallel systems (admittedly, I am biased towards this subject).
They are all doable within the class timeframe (or the timeframe
of the class will allow a good infrastructure to be built if you
are interested in continuing during the summer).
Links to on-going projects
Scheduling Support for Parallel Processing in NOWs
As networks of workstations become the platform of choice for
parallel processing, many performance issues have to be addressed.
Dynamic allocation of resources as the load on the network (and its
consisting workstations) changes is theoretically the best method
achieve high performance.
The applicabity of dynamic resource allocation is not possible unless
the user writes his message passing programs in such a way that
application re-configuration and resource re-allocation is easy.
To facilitate the user task, this project involves rewriting of a
parallel library (e.g.,
PSPARSELIB ,
PETSc) that are commonly used
as building blocks of parallel applications.
The library should be able to communicate with the application scheduler on
a NOW which will be coordinating the resource allocation.
To migrate or not?
Another research question in NOW environments deals with the problem of
the conditions under which process migration is a cost-effective.
This project involves measurements of the activity and load seen on the
local departmental network, comparisons of processor activity with the a
seen on other networks, and exploration of different load-balancing schemes
that "adapt" their balancing rules as load conditions change.
Could a network of workstation be used for parallel computation given
that its load constantly changes? Under what conditions would process
migration be effective? How could you provide QoS guarantees?
Multi-Process Prefetching and Caching
Given that there is one cache, how would you share this cache to fetch
data from the disk? Suppose that your application uses a very large file, something
that is very common in scientific applications.
How would you share this cache among multiple
applications and/or among the processes of the same parallel application?
How far ahead should each process prefetch for effective cache sharing?
This project concentrates on the effect of interrequest distributions of the
application processes and the distribution of the respective file system
responses.
Using traces from the activity of parallel workloads (I will provide those
traces), this simulation-based project should provide information about
effective ways to share the cache.
Long-term and short-term file access patterns
Suppose that a long-term storage is available for the department.
How can you decide which files to migrate there?
This project will involve measurements in the departmental network of
workstation that capture the activity if each file. The measuremet data
are to be analyzed to decide under what conditions it is useful to backup
files on the long-term storage so that you can free up as much memory
as possible. Then, the measurement data will drive algorithms for file
system storage. These algorithms should be analyzed via simulation.
Send comments or suggestions to
esmirni@cs.wm.edu
Back to the CSCI 704 homepage..
esmirni@cs.wm.edu last modified on January 25, 1998.