Date: Tue, 05 Nov 1996 20:53:02 GMT Server: NCSA/1.5 Content-type: text/html Last-modified: Wed, 02 Oct 1996 21:22:57 GMT Content-length: 7926
UNIVERSITY OF WISCONSIN-MADISON
Computer Sciences Department | ||
CS 736
Fall 1996 | Bart Miller | |
CS 736: Advanced Operating Systems |
The projects are intended to give you an opportunity to study a particular area related to operating systems. Your project will require a test implementation, measurement study or analysis, literature search, and evaluation.
The project suggestions below are briefly stated. They are intended to guide you into particular areas and you are expected to expand these suggestions into a full project descriptions. This gives you more freedom in selecting an area and more burden in defining your own project. There may be more issues listed for a project than you can cover. If you have a topic of your own that is not listed below, you should come and talk with me so we can work out a reasonable project description.
You will write a paper that reports on your project. This paper will structured as if you were going to submit it to a conference. I will provide more details on the project report later in the semester.
You can work in teams of two people (and, in certain cases three people) on the project and report.
The goal of this project is to carry out a simulation study of this algorithm to obtain performance results from realistic application programs.
Some ground rules: (a) Both Group A and B will run their program with the same user ID and on the same (agreed upon) set of hosts. (b) Each of the programs must be started with only a single command. (c) A contest will last 20 minutes; at the end of 20 minutes, if Group A's program is running, they win; if A's program is not running, B wins.
We evaluated the gang-context switch and spin policies, but did not evaluate the local context switch policy (called ``Local Under Gang'', or LUG). LUG is attractive because it allows the system to use wasted cycles, but may not be beneficial if memory, cache, and TLB pollution excessively degrade the parallel job's performance. The goal of this project would be to extend the study to include LUG.
The basic tool is called the fuzz generator. This is a program that generates a random character stream. We used the fuzz generator to attack as many UNIX utilities as possible, with the goal of trying to break them. For the utilities that broke, we determined the the cause of the break. There is also a tool called ptyjig that allows random input to be fed to interactive programs.
The major extension to these tools would be to figure out a way to generate random input (random calls and parameters) to the kernel (system) calls supplied by the operating system. We would like to test a variety of platforms and include non-UNIX systems (such as Windows/NT).
The goal of this project is to define metrics in Paradyn to collect information from new hardware and operating systems sources. For example, the IBM SP2 has FLOP counters. The Intel P6 and Sun Ultrasparc have more extensive counter resources. Using these new metrics (and the existing ones in Paradyn) you would then study a few parallel application programs.
The project descriptions listed above a intentionally brief. You will need to expand and refine these to develop your own project. Different groups may choose the same topic, but have significantly different emphases.
Your project proposal will describe your goals, methods, implementation outline, evaluation criteria, and resources needed. First, you should describe the basic problem that you will be addressing. Next, you should provide a more detailed description of how you will approach the problem. This description should be contain much more detail than the brief paragraphs given above. You will provide an outline of features that you project will include, an implementation plan, and an evaluation plan.
Project proposals will typically be 3 to 4 double-spaced pages.