Final Examination

CSci 555 / Neuman-Obraczka Fall 1997
Directions for completing exam

Answer the following TWO multi-item questions:

  1. (50 points) Current international events caused some re-evaluation within the UN special committee on international security. As a result of this re-evaluation process, the committee decided that it is in urgent need of a new computing system to better support its operations. You have been hired to design the new operating system and application environment for the committee's new computing system.

    In order to do a good job you have to keep in mind what the committee's mission is. The resulting system must adequately support regular computing activities, as well as committee-specific operations, such as: inspections by field technicians, recconnaissance (sensoring devices capturing information such as levels of radiation, video camera recording activities such as troop movements which will be played back at a later time, etc.), as well as on-site activities. The committee generate documents such as reports and recommendations. These documents which are a result of a collaborative effort among the field and on-site personnel, are multimedia hypertext objects: they may include text, pictures, video, audio, and may have links to other objects. Reports and other documents are access-restricted documents inside and outside the committee. The committee also publishes information for other UN organizations as well as information accessible to the media and the public.

    1. (5 points) List the requirements your design should address so that the resulting operating system and application environment adequately supports the computing system described above.
    2. (10 points) How would you structure the operating system's kernel? What services will be provided by the kernel, what services will be provided by servers outside the kernel, and what services will be provided by application libraries? Justify your design choices based on the requirements you listed in (a).
    3. (10 points) How would you distribute the functions of the system across the different platforms (devices) the system must support? Would you have a single uniform kernel, or multiple kernels with different functionality? What about functions outside the kernel. Justify your answer (examples are useful in making your answers more concrete).
    4. (15 points) What are the requirements of the filesystem for this computing system (consider the kinds of committee-specific and general-purpose operations it needs to support)? What communication model and paradigm would you choose to build the filesystem? Where would files be stored? What kind of file sharing and consistency must be provided? Would you use replication and/or caching? If so, with what granularity and how would you address consistency? Justify your answer.
    5. (10 points) How would you provide security and privacy for this system? What objects are to be protected and how would you protect them? How would you ensure that objetcs are only accesses authoritatively?

  2. (50 points) During the past year many small investors have started investing over the Internet. Online investment services include mechanisms for obtaining company news, tracking stock prices, and even entering orders to buy and sell stocks. During the stock market "correction" in late October the market volume (the rate at which trades are executed) set new records, and many systems were unable to handle the load.

    For the purpose of this discussion, assume that in the current system trades are executed on computer systems for each market (e.g. New York Stock Exchange, NASDAQ, etc) to which brokerages have access. These systems in general did pretty well (though the NASDAQ system has some difficulty). On-line Internet trading systems are separate computer systems set up by the brokerages to provide information to the customers over the Internet, and to accept customer orders. These orders are then checked by the brokerages, aggregated with similar orders with the same brokerage, and finally forwarded to the market systems for execution. Although some of these systems did OK, a large number of them failed to meet the customer load. This made it impossible for users of the affected brokerages to perform online trading.

    In the questions that follow, there is no single correct answer. However, there are many answers that are wrong. Your answers should be plausible and you should argue why they are correct or likely, while avoiding answers that are clearly wrong. When answering the sub-items in (c), think about some of the hints for computer system and distributed system design that we discussed throughout the course, and especially during the last lecture.

    1. (10 points) List important requirements for the Internet trading system described above.
    2. (15 points) Which of these requirements, if any, due to the implementation techniques used to meet the requirements, are likely to have contributed to the overloading of the system?
    3. (25 points) How might you design the system to limit or minimize the performance impact of meeting some of these reqirements? In this question consider high level changes to the overall design of the system, rather than changes to the underlying mechanisms used to meet the requirements.

      If you were to redesign the system, what implementation techniques might you use in order to meet the requirements listed in a, if you wanted to improve the performance of the system? What difficulties would you encounter in trying to use these techniques?

      What other techniques might you use in the implementation of the system to improve performance. What difficulties would you encounter n trying to use these techniques?



Wed Sep 30 00:32:11 PDT 1998