CSE 221 Homework 3

Due: Tuesday, November 29, 2016 at the start of class (8am)

Answer the following questions. For questions asking for short answers, there may not necessarily be a "right" answer, although some answers may be more compelling and/or much easier to justify. But I am interested in your explanation as much as the answer itself. Also, do not use shorthand: write your answers using complete sentences.

  1. The Scheduler Activations paper states that deadlock is potentially an issue when activations perform an upcall:
    "One issue we have not yet addressed is that a user-level thread could be executing in a critical section at the instant when it is blocked or preempted...[a] possible ill effect ... [is] deadlock (e.g., the preempted thread could be holding a lock on the user-level thread ready list; if so, deadlock would occur if the upcall attempted to place the preempted thread onto the ready list)." (p. 102)

    Why is this not a concern with standard kernel threads, i.e., why do scheduler activations have to worry about this deadlock issue, but standard kernel threads implementations do not have to?

  2. The IX system design is tailored to data center services that have short messages and short service times (i.e., per request, very little CPU time is spent in the application). The paper motivates IX with other applications (e.g., a Web server), but evaluates only memcached.

    1. If instead requests spent a significant amount of CPU time in the application — 3x the time the request would spend in the networking stack on a normal Linux OS — would IX still be a good system to use? Explain why or why not.
    2. If instead every request initiated an I/O to disk, would IX still be a good system to use? Explain why or why not.

  3. The FFS, LFS, and Soft Updates file systems introduced new designs and optimizations to improve upon a previous file system implementation. Consider the following three changes in underlying workload and storage technology. For each of the three file systems, explain whether the improvements they found with their design and optimizations would still hold under each of these changes. For instance, would FFS still see similar improvements relative to the old Unix file system under a read-dominated workload?

    1. Read-dominated workload (100x reads per write)
    2. Latency improves by 10x, bandwidth improves by 10x ("SSD")
    3. Latency degrades by 10x, bandwidth degrades by 10x ("Internet Cloud storage")

Last updated: 2017-07-27 15:52:13 -0700 [validate xhtml]