CS 1651: Exams & Presentations


Exam

The following exam is due by 11:59pm on Tuesday 2nd December, 2008. Submit your answers in the form of a PDF (or RTF, or plain text) file which you should place in:

/afs/cs.pitt.edu/public/incoming/CS1651/amer/Exams

To avoid confusion, name your file using your pitt.edu login name, and should you need to resubmit your exam before the deadline, add a sequence number to the name (e.g., username.1.pdf, username.2.pdf). Only the file with the highest sequence number will be graded, but do not hesitate to resubmit revised versions of your exam solutions until the deadline.

The exam consists of five questions, of which you should answer four (answering all five will simply result in the first four answers being considered, so make your selections wisely). For each of the following questions, the ideal answer will involve a concise, yet well-supported, argument. It is important to cite work that supports your claims where appropriate. It is also important that all work submitted be entirely your own work. While collaboration is encouraged on the projects, it is not acceptable in any way for this exam (this includes any literature searches you conduct to support your answers). Where a question leaves scope for assumptions, please state such assumptions clearly. Try to keep answers limited to no more than a page of single-spaced 10pt text). The page limit is not strict, but is intended as a guideline for how broad and concise your answers should aim to be.

  1. You are provided with a new technology for storing digital data. The resulting hardware offers persistent storage, and yet has a cost-per-capacity comparable to RAM. It offers sub-nanosecond erase speeds for entire chunks of storage (the smallest such erasable unit is 1GB in capacity, you cannot erase a smaller region). It also offers the ability to read data at a rate of 10GB/sec, and yet you can write data at a rate of 1000GB/sec. Read and write operations can be performed on individual bytes, but necessitate a per-operation overhead of one nanosecond (i.e., in addition to the transfer rate). How would you make use of such a technology? Specifically, be sure to explain where you would position it in the memory hierarchy and what you'd likely need to change in the OS.
  2. A man walks into our classroom, and claims to have seen the future. In it he says "Magnetic recording is dead!" After our initial recoil in horror at such a prophetic claim, we stop for thought and consider the history and possible fate of our much-beloved medium of choice for rewritable digital data. Explain your thoughts about this claim. Specifically, be sure to explain what would make you believe and would make you disbelieve this claim.
  3. You are asked to provide a high-level design for a system to monitor the world's weather and provide it to any user who requests it at as a fine a level of geographic detail as they require. By geographic detail I'm referring to the ability to ask for the average reading for a continent, a country, a county, a fixed radius from a point, etc. You may deploy as many monitoring nodes as you wish, but the customer is concerned about the cost of individual units. You are allowed to blanket the world with these devices, but each individual device must not cost more than a couple of hundred dollars. You are allowed to run web servers on the individual units, but are not allowed to place any data on a hosting service (or any server other than the individual low-cost monitoring units you are deploying). Can you meet this challenge? Explain your answer.
  4. You are responsible for the data of a large corporation. Loss of this data could bring the company to a halt, or subject it to devastating legal action. This data falls into one of two categories. The first is a rapidly changing set of files that consume a few terabytes of storage. The second is a static set of files, that are never changed, and must never be allowed to be modified in any way. Unfortunately this latter set is also a few terabytes in capacity, but is growing each year by an additional terabyte/year. To be clear, the rate of generation of these files is increasing by a terabyte per year. If this year resulted in one terabyte, next year would result in an additional two terabytes of data being added to this archive. Currently, everything resides on a really big file server, but it will run out of capacity this year. What will you do for the coming years?
  5. You need to design a new operating system for a mobile gaming device. The device can run games of widely varying demand on the underlying hardware (e.g., network-heavy, graphics-heavy, or simple puzzles), but fortunately only one game is run at a time, and only one user is actually using each device at a particular time. Your users comfort and expectations are your primary goal, and your developers are entirely at your command (as you've forced their cooperation by maintaining tight control of the development environment and terms). What would you do to improve the battery performance of this device with the new operating system?

Presentations

Presentations are scheduled for December 9th, 2008. They will be held from 4pm to 6pm in room 6106 SENSQ. You may use your choice of media, though a laptop with Keynote and Powerpoint will be available (and can be preloaded if you e-mail slides to the instructor). Plan for 15 to 20 minutes, and be prepared to ask and answer questions.