pk.org: CS417/Exams/Old

CS 417 Exam 1

Fall 2023

Paul Krzyzanowski

4 POINTS EACH - For each statement, select the most appropriate answer.


INTRODUCTION

  1. A single system image is:
    (a) Deploying the same operating system across all computers in a distributed system.
    (b) An environment that hides the fact that there is a distributed system.
    (c) Running multiple processes on one computer instead of using a distributed system.
    (d) Having a single operating system distributed across multiple computers and coordinating all activity.
  2. What does Metcalfe’s Law describe?
    (a) The increase in network latency as a function of distance.
    (b) The power of a network grows proportionally with its size.
    (c) The value of a network grows proportionally with the square of the number of its users.
    (d) The efficiency of a network decreases as more users are added.
  3. Horizontal scaling, as opposed to vertical scaling, involves:
    (a) Upgrading the CPU, RAM, and storage of a machine.
    (b) Adding more machines to a system.
    (c) Increasing the number of processors in a single server.
    (d) Optimizing software to achieve improved performance without adding hardware.
  4. Which statement is not accurate about caching?
    (a) Cached data is temporary and can be discarded if the cache is full or if the data becomes stale.
    (b) The primary goal of caching is to reduce access time to data.
    (c) Caching stores frequently or recently accessed data.
    (d) Caches in multiple locations are kept in sync with each other.
  5. In an attempt to improve fault tolerance, a company deployed three replicated web servers. Requests enter through a load balancer and are routed to the web servers, which contact a back-end application server. The uptime of all the servers is 90% while the uptime of the load balancer is 95%. What is the expected uptime of the overall environment?
    (a) 85%
    (b) 92.5%
    (c) 94.9%
    (d) 99.9%
  6. The main challenge with fail-restart behavior is:
    (a) A node may resume operations with stale data.
    (b) The node might not give advance warning that it will fail.
    (c) The node may fail again after restarting.
    (d) A failed node can create a network partition.

  7. NETWORKING AND RPC

  8. Why might UDP be favored over TCP for real-time applications such as online gaming or voice over IP?
    (a) UDP ensures in-order delivery of all packets.
    (b) UDP establishes a long-lasting connection for data transfer.
    (c) The occasional loss of packets may be acceptable in exchange for reduced latency.
    (d) UDP has mechanisms to provide constant bandwidth for streaming data.
  9. Which layer of the OSI model is responsible for routing packets between different networks?
    (a) Transport layer.
    (b) Network layer.
    (c) Data link layer.
    (d) Session layer. `
  10. What role does the client stub play in remote procedure calls?
    (a) It acts as a server that hosts the remote procedure.
    (b) It provides a local interface to the remote function and handles communication.
    (c) It is an automatically generated template for remote procedures that programmers fill in with their own code.
    (d) It provides encryption and security measures for RPC data.
  11. Why are IDL (Interface Definition Language) compilers important in an RPC framework?
    (a) They translate the interface specifications into client and server stubs for a specific environment.
    (b) They provide a runtime environment for executing remote procedure calls.
    (c) They allow server functions to be defined and compiled in a language-neutral manner.
    (d) They enable data to be delivered securely to the correct server process.
  12. What is the purpose of pinging in a distributed object environment?
    (a) For the server to periodically check if each client is still alive and reachable.
    (b) To enable a client to check that the server is still accessible and holds the object.
    (c) To increment the reference count for the object on the server.
    (d) For a client to inform the server that it still has a reference to the object.
  13. What is a significant advantage of RESTful web services over SOAP-based web services?
    (a) REST is more consistent, requiring the use of XML for all its responses.
    (b) RESTful services are stateful, making interactions more flexible.
    (c) REST is generally simpler, using standard HTTP methods, and can return multiple data formats (like XML or JSON).
    (d) REST mandates a strict communication contract defined via WSDL.
  14. Which of the following is a distinguishing feature of Python RPyC over most other RPC frameworks?
    (a) The use of JSON for marshaling parameters.
    (b) Support for synchronous remote procedure calls.
    (c) Use of HTTP for transport and interoperability with REST-based web services.
    (d) Ability to pass remote objects by reference, with changes taking place on the actual object.

  15. CLOCKS AND TIME

  16. Which of the following best defines clock drift in the context of distributed systems?
    (a) The difference in time between two clocks at a single instant.
    (b) The rate at which a clock gains or loses time relative to a reference clock.
    (c) The delay between requesting and receiving the time from a server.
    (d) The cumulative adjustment made to a clock after synchronization.
  17. Machine A sends a time request to B at time=11. B receives it at time=6 and returns a response containing a timestamp of 8 at time=9. A receives the response at time=17. Using Cristian’s algorithm, to what value does A set its clock?
    (a) 7.5
    (b) 10.5
    (c) 11
    (d) 20
  18. With no additional information at A, what would Cristian’s algorithm state is the error of the new timestamp?
    (a) ±0.5
    (b) ±1.5
    (c) ±3
    (d) ±6
  19. What does the term stratum refer to in the Network Time Protocol (NTP)?
    (a) An NTP server’s position in the hierarchy of time sources, representing its distance from the reference clock.
    (b) The rate at which the local clock drifts from the reference time.
    (c) The specific time zone in which the NTP server operates.
    (d) The security mechanism used to encrypt time synchronization packets.
  20. If L(a) and L(b) are Lamport timestamps of events a and b, respectively, what is the strongest statement you can make?
    (a) If L(a) < L(b) then either b happened before a or a and b are concurrent.

    (b) If L(a) < L(b) then b happened before a.
    (c) If L(a) < L(b) then either a happened before b or a and b are concurrent.
    (d) If L(a) < L(b) then a happened before b.
  21. Three processes, x, y, and z exchange vector timestamps. Which event is concurrent with the timestamp ?
    (a)
    (b)
    (c)
    (d)

  22. GROUP COMMUNICATION

  23. Which statement is not accurate about the use of precedence vectors for causal ordering?
    (a) The precedence vector tracked by a process lists the latest message sequence number received from each process.
    (b) The precedence vector can inform a process that it has not yet received a message from another process.
    (c) At a minimum, the use of precedence vectors requires reliable multicast.
    (d) A message m? can be delivered immediately if it happens after the previously delivered message m (m?m?).
  24. What is the primary function of the Internet Group Management Protocol (IGMP)?
    (a) Assigning unique multicast IP addresses to nodes in that need to initiate a multicast stream.
    (b) Allowing hosts to report their multicast group memberships to adjacent routers.
    (c) Ensuring efficient delivery of multicast traffic to the public internet.
    (d) Dynamically establishing multicast routing paths between source and destination.
  25. In dense mode IP multicast, what mechanism helps to prevent unnecessary traffic flow in areas of the network where there are no interested receivers?
    (a) Explicit Join request messages.
    (b) Use of a Rendezvous Point (RP).
    (c) Prune messages.
    (d) Reverse Path Forwarding (RPF).
  26. The two armies problem demonstrates that:
    (a) It is impossible to achieve perfect consensus over asynchronous communication lines.
    (b) A message recipient must send an acknowledgment if the communication lines may be unreliable.
    (c) Several back-and-forth rounds of acknowledgments may be needed to ensure reliable message delivery.
    (d) It is more efficient to use a timer to detect a non-responding receiver than sending multiple acknowledgments.
  27. One technique virtual synchrony uses to achieve atomic multicast is:
    (a) Having other processes take over sending a message if the original sender died.
    (b) Affixing a totally sequenced message identifier to each message.
    (c) Having the sender save a copy of a message in a persistent log before transmitting it.
    (d) Relaying all messages through the group management service, which then coordinates delivery.
  28. Why is the flush operation important in virtual synchrony?
    (a) It enables processes to discard duplicate messages.
    (b) It ensures that all processes receive messages in the same sequence and at the same time.
    (c) It allows nodes to process messages in parallel.
    (d) It ensures that all messages are delivered within a group view and not across multiple views.