Final Examination
CSci 555 / Neuman Fall 1993
Directions for completing exam
Answer the following three questions:
- (45 points) (advance scenario) You have been hired by the
National Aeronautics and Space Administration (NASA) to design a
distributed computing environment that will integrate the computing
resources of the entire agency. NASA has been criticized recently for
wasteful spending, and one of your goals is to minimize wasted
resources. For example, certain computing resources are needed by one
part of the agency only during certain phases of shuttle missions, but
when not being used for a mission they should be available for
training (e.g. virtual reality simulations). Of course, when needed
for a critical purpose, they must be available to perform the required
operation in a timely manner. The distributed computing environment
you design will also be used for data collection, storage, and
retrieval by scientists, and it will be used for the day to day
operations of the agency including purchasing, contract
administration, budgeting, correspondence, and design.
The goal of reducing waste is paramount in the design of the entire
system, but measures taken to share information and resources should
not be cumbersome for the users. Nor should they result in reduced
security. There are other concerns that apply to the design, but
which were not thought of by the person that hired you. You are
expected to recognize these issues and consider them in your design.
- (25 points) How would you manage resources in such a system? Consider
processors and communication channels as the resources to be managed.
Describe the high level structure of your design. Explain why your
resource management approach is sufficiently scalable for such a
system. How does your approach reduce wasted resources?
- (20 points) When calculating new navigation commands to be sent
to unmanned space vehicles it is extremely important that calculations
complete correctly and on time. After certain unexpected events, there
may be only a small window of time within which the correct commands
must be determined and transmitted. Calculating the correct commands
can require a lot of calculation. Further, it is important that the
failure of a single computing node not prevent the correct commands
from being sent. How would you address these requirements in the
design of your system.
- (35 points) You have been asked to design the distributed
computer system for the world. This one system will be used to store
all users files, perform all computation, and handle all communication
and I/O. Though the system will be all encompassing, you are free to
structure the system anyway you want.
- How would you structure the Kernel? Would you have a single
distributed trusted Kernel, or would different parts of the system
have different, possibly less trusted, kernels? Justify your choice.
- What O.S. functions would be provided by the kernel or kernels?
What O.S. functions would be provided by servers? What traditionally
O.S. functions would be handled by the applications or libraries?
- What is gained by moving functions out of the kernel? What are
the drawbacks? In your discussion refer to the approach taken by and
experience with the systems we discussed in class.
- (20 points) You have been asked by a large publisher to design a
global file system which they will use to make their publications
available electronically. You have been told that most files will
rarely change. There will be many users reading the same files from
all over the world. The publisher also wants to make sure that in the
infrequent event that an error is found and corrected in a
publication, that the change is visible to the readers. How would you
handle caching in such a system? Be sure to discuss the placement of
replicas, how you will maintain consistency, and how you decide which
files to keep (your cache replacement algorithm). You should discuss
the tradeoffs that are possible in deciding how strong the consistency
requirement should be.
Wed Sep 30 00:30:33 PDT 1998