Final Examination

CSci 555 / Neuman Fall 1993
Directions for completing exam

Answer the following three questions:

  1. (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.

    1. (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?
    2. (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.

  2. (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.

    1. 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.
    2. 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?
    3. 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.

  3. (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