This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: 15-440 Distributed SystemsMidtermName:Andrew: IDOctober 12, 2010•Please write your name and Andrew ID above before starting this exam.•This exam has 10 pages, including this title page. Please confirm that all pages are present.•This exam has a total of 100 points.QuestionPointsScore1182731546525657681791Total:1001AShort Answers1. (18 points) True/False. Grading is +2 points for a correct answer and 0 points for either blank orincorrect. In other words, at the end of the exam, if you don’t know the answer to any of these,guess,because you’ll get more points in expectation. If you want to be nice to the course staff, mark the onesyou guessed on with a “G” so that we have a better idea of what material to go over. We won’t penalizeyou.True, False After being awakened fromcondwait(condition variable wait), a process must immediatelytry to acquire the lock associated with the condition variable.Solution:False: Upon awakening, the process is guaranteed to hold the lock.True, False In addition to greatly reducing the overall failure probability, moving from a single hard driveto using RAID 1 (mirroring) can also increase the throughput of small random reads.Solution:True: The small reads need only be sent to a single disk, so in theory, a RAID-1system can double small random read throughput.True, False RPC systems typically provide exactly-once semantics under arbitrary failures.Solution:False: RPC systemscannotprovide exactly-once semantics in all scenarios.They can either provide at-most-once or at-least-once.True, False The TCP transport protocol provides a reliable, in-order bytestream abstraction.Solution:True: Yes, yes it does.True, False In general, two computers can be time synchronized to within half of the round-trip delaybetween them.Solution:True: If you don’t know more about the network between them, this is theaccuracy limit. (Imagine a completely asymmetric network with almost no delay fromA-B and almost all of its delay on the return trip from B-A.)True, False Kernel threads (typically) allow processes to harness multiple CPUs at the same time.Solution:True: They do indeed. This is one of the great things about kernel threads.True, False Switching between two kernel threads is faster than switching between two user threads becauseit’s done by the kernel.Solution:False: It’s usually faster to switch between two user threads because you don’thave the overhead of switching into the kernel and back.True, False A CPU must provide hardware support for atomic instructions in order for applications to beable to correctly synchronize.Solution:False: It’s expensive, but we can use the distributed mutual exclusion tech-niques from lecture 11 to provide mutual exclusion without hardware support. But mostCPUs provide atomic instructions as a (very welcome) optimization and convenience forprogrammers....
View Full Document
- Spring '11