CS417 Exam 1
Fall 2018
Paul Krzyzanowski
99 Points - 3 points each. For each statement, select the most appropriate answer.
- A defining characteristic of a distributed system is that:
(a) The computers have shared memory so they can share state.
(b) Computers are connected with a high-speed network.
(c) The systems do not have a shared clock.
(d) All of the above. - Caching has the following advantage over replication:
(a) A cache will contain data that is more up-to-date than a replica.
(b) A cache is designed to contain authoritative data while a replica may contain stale data.
(c) A cache enables a system to be more fault tolerant than using a replica.
(d) A cache can be smaller in size than a replica. - A cache is primarily used to improve:
(a) Latency.
(b) Concurrency.
(c) Fault tolerance.
(d) Cost. - With a network partition fault:
(a) Messages may take longer to arrive than expected.
(b) Two systems might each think the other one is dead.
(c) Some messages between two systems might get lost or corrupted.
(d) Messages might be sent to the wrong system. - A problem with Byzantine faults is that a system may:
(a) Restart with old versions of data.
(b) Suddenly stop responding.
(c) Continue running with no network connectivity.
(d) Generate faulty data. - Which statement is accurate?
(a) TCP Is a transport layer protocol while UDP is a network layer protocol.
(b) TCP Is a network layer protocol while UDP is a transport layer protocol.
(c) Both TCP and UDP are network layer protocols.
(d) Both TCP and UDP are transport layer protocols. - UDP has the following advantage over TCP:
(a) In-order message delivery.
(b) Reduced latency.
(c) Ability to send a message over multiple physical networks.
(d) Reliable message delivery. - Pipelining of messages refers to:
(a) Sending the same message to multiple hosts.
(b) Sending messages through a coordinator.
(c) Sending multiple messages without waiting for responses.
(d) Relaying messages through multiple routers. - A user program must do this to a socket in TCP but not in UDP:
(a) Accept connections.
(b) Assign a local address and port.
(c) Acknowledge received data.
(d) All of the above. - Remote procedure calls are a service implemented at:
(a) The operating system.
(b) The programming language.
(c) The network protocol.
(d) All of the above. - To provide a transparent interface on the client side, remote procedure calls (RPC):
(a) Provide a client stub function per remote function.
(b) Require the program to first marshal all parameters.
(c) Allow a programmer to specify the type of transport that is used.
(d) Must handle failures. - An Interface Definition Language (IDL) is used to:
(a) Allow programmers to define server functions in a portable manner so they can run on any system.
(b) Serialize parameters into a network message.
(c) List remote functions and their parameters so stubs could be generated.
(d) Communicate with the network interface to send and receive messages. - The advantage of a multi-canonical marshaling standard is that:
(a) Pointers and object references can be supported.
(b) At least one system can use its native format without having to convert the data.
(c) It is architecture independent and the same data can be sent to multiple servers.
(d) Server functions can be executed on different hardware, language, and OS platforms. - A purpose of the Windows 10 COM Surrogate process is to:
(a) Enable a client to locate the server that is hosting a remote object.
(b) Load and run objects on a server in response to client requests.
(c) Enable a client to locate a remote service on a server.
(d) Provide a client-side interface to remote services. - Reference counting is a common technique for garbage collection and has been used in languages such
as Perl, Rust, and Python. What is a specific problem with using reference counting for remote objects?
(a) Multiple references to the same object.
(b) Attempts to access an object after it has been deleted.
(c) Mismatch in data representation formats between the client and server.
(d) Client crashes. - The Web Services Description Language (WSDL) is used to:
(a) Define the interface to a specific web service.
(b) Locate a particular web service on the Internet.
(c) Enumerate all the web services available on a server.
(d) Define the implementation of a service so it can be compiled to a target platform. - Google Protocol Buffers are best described as:
(a) An web-friendly, text-based data representation format.
(b) A data buffering layer to avoid sending or receiving many small messages.
(c) A transport layer protocol that abstracts out the underlying network interfaces.
(d) An efficient binary data serialization format. - Which clock synchronization algorithm starts off by having the group select the best clock source?
(a) Cristian's
(b) Berkeley
(c) PTP
(d) NTP - Which clock synchronization algorithm encourages a computer to synchronize with multiple clocks and select the best?
(a) Cristian's
(b) Berkeley
(c) PTP
(d) NTP - David Brown has a clock that is not showing the correct time. He leaves his home in Elmhurst at 8:00 (on his clock) to go see what time it is on the Lichfield Clock Tower. He arrives at the tower in exactly one hour and notes the time is exactly 3:30. On his way home, he stops at a pub for two hours. He arrives home at 12:00 (according to his clock). Using Cristian's algorithm, to what value should he set his clock?
(a) 4:30
(b) 5:30
(c) 6:30
(d) 7:30 - Suppose David Brown knows that, with a steady and brisk walk, he can get to Lichfield in 40 minutes. What is the error of his clock calibration?
(a) ±1:00
(b) ±1:20
(c) ±1:40
(d) ±2:40 - What can you definitively state about two events, a and b, if their Lamport timestamps are A and B respectively?
(a) If A = B then a and b are concurrent.
(b) If A > B then a and b are causally related and b ? a.
(c) If A < B then a and b are causally related and a ? b.
(d) You cannot make any conclusions about the concurrency of a and b. - Assume clocks for P0 and P1 in the diagram are initialized to 0 (i.e., event a gets a Lamport timestamp of 1).
What is the Lamport timestamp of event i?
(a) 4
(b) 6
(c) 7
(d) 8 - Clocks are again initialized to 0 but get vector timestamps (event a=(1,0) ). What is the vector timestamp of event i?
(a) (5, 4)
(b) (6, 1)
(c) (6, 4)
(d) (7, 3) - What set of events is concurrent with event c?
(a) { f, g, h }
(b) { g, h }
(c) { f, g }
(d) { h, i } - Unlike an atomic multicast, a reliable multicast:
(a) Needs to account for the sender dying during the multicast.
(b) Does not need to get acknowledgements from recipients.
(c) Can give up on sending to non-responding members.
(d) Must make sure messages are delivered in order. - Feedback implosion occurs when:
(a) A faulty network link causes the sender to keep retransmitting the same message.
(b) A routing loop causes the same message to be replicated repeatedly.
(c) A group of receivers responds to the sender.
(d) A message is received by systems that have not requested it. - Implementing total ordering in group communication generally requires:
(a) Synchronized clocks at all group members.
(b) Synchronized clocks among all the senders to the multicast group.
(c) A sequence number generator for each process.
(d) A global sequence number generator. - IGMP, the Internet Group Membership Protocol:
(a) Allows a multicast sender to send a message to all recipients that are members of that multicast group.
(b) Allows a computer to tell its connected router that it wants to receive messages for a certain multicast group.
(c) Keeps track of membership for each multicast group.
(d) All of the above. - In Sparse Mode multicast (PIM-SM),
(a) Only network segments that have explicitly requested multicast data will be forwarded the multicast traffic.
(b) Multicast traffic is initially flooded to all segments of the network, which can then send prune messages to stop it.
(c) Multicast traffic is sent to only a subset of the group members.
(d) Only one host can act as a multicast sender. - In Isis virtual synchrony, if the sender dies partway through sending a message:
(a) It resumes sending from where it left off after restarting and reading a persistent log.
(b) It re-sends the message to the group after restarting, causing some members to receive duplicates.
(c) Other group members take over and send copies of that message to their peers.
(d) No action needs to be taken; the sender is simply removed from the group. - The purpose of the Group Membership Service (GMS) is to:
(a) Serve as a root coordinator for group messaging to handle the multicasting.
(b) Provide central services, such as time, to all group members.
(c) Allow clients to find out which groups provide which services.
(d) Ensure all processes have a consistent knowledge of who is in the group. - In Isis virtual synchrony, a message is considered unstable if:
(a) It is not certain whether all group members received it.
(b) Its receipt has not been acknowledged by the Group Membership Service (GMS).
(c) It has not been logged to persistent storage.
(d) If it has not yet been sent and its contents can still change.