15-110 PS10 Sample Solutions - Spring 2018 1. (a) Pipelining: 8 + 500 * 12 + 5 + 2 = 6015 minutes One person: 500*(8+12+5+2) = 4 = 13500 minutes (b) Give each person 125 invitations to complete entirely. 125 invitations * 27 minutes/invitation = 3375 minutes 2. (a) 5 ms per set * 2000 sets = 10000 ms = 10 seconds (b) 5 ms for first set + 1 ms for each of the next 1999 sets = 2004 ms = approx. 2 seconds 3. (a) image[0][0][2] = 0 (b) image[399][399] = [255, 255, 0] (c) 160,000 pixels / 16 cores * t per pixel = 10,000t 4. (a) The OS runs each process for a very short time and then switches to another, over and over, so it appears they're all running at the same time. (b) The OS is responsible for displaying information on the screen, since the OS has control of all computing resources, so the print function notifies the OS to perform this function. 5. Each road has a line of cars that get blocked at their 2nd intersection by the traffic coming from their right. 6. (a) IPv4 allows for 2**32 addresses which is about 4 billion which is far less than 50 billion. (b) Alice knows that Bob receives it if she gets an acknowledgement. If she doesn't get an acknowledgement, she can resend the packet after a certain amount of time. (c) Packets could arrive out of order because they take different paths to the destination. Each packet has an index so they can be put back into order at the destination. (d) No, because the application only interfaces with the transport layer. Any changes made below that software layer would not be visible to applications.