CS417 Exam 1

Spring 2020

Paul Krzyzanowski

100 Points - 25 questions - 4 points each.
For each statement, select the most appropriate answer.

Introduction, fault tolerance, and networking

  1. Metcalfe's law is based on:
    (a) The steadily increasing rates charged for network connectivity.
    (b) The number of possible point-to-point links between users in a network.
    (c) The exponential decrease in the cost of networking.
    (d) The increased efficiency of communicating with large groups of users.
  2. Byzantine failures may be more difficult to deal with than fail-silent ones because:
    (a) Failures are intermittent and difficult to diagnose.
    (b) Multiple nodes can fail at once.
    (c) The receiver must know if a received message is legitimate.
    (d) You cannot tell if the failure is in the system or in the network.
  3. Suppose your parallel system has two components, each with a 20% chance of failure. What is the probability of system downtime?
    (a) 4%
    (b) 20%
    (c) 36%
    (d) 40%
  4. Fail-restart components must deal with:
    (a) Byzantine failures.
    (b) Stale state.
    (c) Network partitions.
    (d) Omission faults.
  5. Which layer of the OSI reference model is responsible for delivering data to applications?
    (a) Network.
    (b) Data Link.
    (c) Transport.
    (d) Presentation.
  6. Sockets were designed to be compatible with files in that they:
    (a) Allow the programmer to use a hierarchical namespace to identify resources.
    (b) Enable an administrator to define access permissions to specific resources.
    (c) Support the use of the same read & write system calls as files.
    (d) Access a network device that is part of the file system namespace.

Remote Procedure Calls

  1. The purpose of a client stub (proxy) function is to:
    (a) Generate the template code for a remote procedure that the user can fill in.
    (b) Create a local function that has the same interface as the remote function but marshals and sends parameters.
    (c) Contact a remote server to download the necessary code.
    (d) Locate the remote server and initialize a network connection to it.
  2. Idempotent functions have the advantage that:
    (a) Marshaling parameters is simplified.
    (b) There is no need to marshal parameters.
    (c) They do not generate any return data.
    (d) They can easily support at-least-once RPC semantics.
  3. Protocol buffers were designed to:
    (a) Serialize structured data into a binary format.
    (b) Allow the programmer to specify network protocols in a human-friendly manner.
    (c) Implement a buffering scheme to allow the rapid transmission of messages.
    (d) Convert between incompatible network protocols.
  4. An interface definition language (IDL) allows a programmer to:
    (a) Implement remote procedures in a platform-neutral manner.
    (b) Define the network protocol for an application.
    (c) Serialize a data structure into a byte array.
    (d) Enumerate remote functions, their parameters, and return values.
  5. A cell directory server in DCE RPC allows a program to:
    (a) Look up and download a remote interface definition.
    (b) Send a procedure call to a group of servers.
    (c) Marshal parameters prior to making a remote procedure call.
    (d) Discover which server is hosting a specific set of remote procedures.
  6. An advantage to a multi-canonical data marshaling format is:
    (a) Systems may have to do less data conversion and can communicate more efficiently.
    (b) More data types can be supported.
    (c) Object references can be sent as parameters.
    (d) A text-based format that makes it easy for humans to inspect the data stream.

Clock synchronization

  1. What is the worst-case error that could be obtained with Cristian's algorithm?
    (a) Network round-trip time.
    (b) Network round-trip time + clock offset.
    (c) 1/2 network round-trip time.
    (d) Twice the network round-trip time.
  2. A system X wants to set its time from system Y using Cristian's algorithm. To what value does X set its clock?
    (a) 10.110
    (b) 10.115
    (c) 10.120
    (d) 10.220
  3. Which clock synchronization algorithm does not expect the presence of an authoritative time source?
    (a) Berkeley.
    (b) Cristian's.
    (c) PTP.
    (d) NTP.
  4. For two events A and B to be concurrent means that:
    (a) A does not causally precede B and B does not causally precede A.
    (b) The systems on which these events occur do not directly exchange messages with each other between these events.
    (c) The Lamport timestamps of A and B, L(A) and L(B) are identical.
    (d) All the above.
  5. The diagram shows two processes creating events and communicating. Lamport clocks on both systems are initialized to 0 prior to any events (e.g., event a gets a timestamp of 1). What is the Lamport timestamp of event c?
    (a) 3
    (b) 4
    (c) 5
    (d) 6
  6. Events are generated by processes that are uniquely named a, b, c, ... Which event causally precedes the event with a vector clock of (a:5, c:15, d:8)?
    (a) (a:5, b:1, c:12, d:7)
    (b) (c:8, d:8)
    (c) (a:4, c:14, d:9)
    (d) (a:6, c:16, d:15, e:0)

Group communication

  1. This technique has the danger of creating feedback implosion in a multicast:
    (a) Pipelining.
    (b) Negative acknowledgements.
    (c) Flooding.
    (d) Message acknowledgement.
  2. A process P0 has a precedence vector of (8,2,4) with the sequence (P0, P1, P2). Which message from P2 can be delivered immediately to preserve causal ordering?
    (a) (8, 2, 6)
    (b) (9, 3, 5)
    (c) (4, 1, 3)
    (d) (1, 1, 5)
  3. The Internet Group Management Protocol (IGMP):
    (a) Enables a multicast coordinator to track the members of a specific IP multicast group.
    (b) Links multicast senders with multicast receivers.
    (c) Enables a multicast sender to get permission to transmit to a multicast group.
    (d) Allows a computer on a LAN to inform its connected router that it wants to join a multicast group.
  4. Dense mode multicast differs from sparse mode multicast because dense mode multicast:
    (a) Messages reach all group members while sparse mode multicasts reach only a subset.
    (b) Tries to forward a multicast stream to every router on the Internet.
    (c) Is designed for high-bandwidth multicast streams, such as video.
    (d) Requires defining a rendezvous point prior to the multicast.
  5. A rendezvous point is:
    (a) The system that contains a list of all multicast subscribers for a specific multicast address.
    (b) The path that a multicast stream takes from the sender to a specific destination.
    (c) A router to which all multicast streams for a specific multicast address are sent.
    (d) Any edge router that connects to the local area network and receives multicast streams.
  6. The Isis implementation of virtual synchrony does not:
    (a) Have a group member to take over finishing a multicast when the sender died.
    (b) Use a persistent log to resume a multicast if a sender restarts.
    (c) Redefine the group if a member dies.
    (d) Use a hold-back queue.
  7. A message is considered stable in virtual synchrony when:
    (a) It is confirmed that every group member received the message.
    (b) Sending the message does not cross view change boundaries.
    (c) It is confirmed that every group member delivered the message to its application.
    (d) A sender has created the message and is ready to multicast it to the group.
Last modified October 5, 2022.
recycled pixels