CS417 Exam 1
Spring 2023
Paul Krzyzanowski
100 Points - 25 questions - 4 points each.
For each statement, select the most appropriate answer.
- A single system image in distributed systems refers to:
(a) All systems running identical copies of the operating system.
(b) A group of computers that present themselves as one system to the user.
(c) A deployment where all servers have the same hardware.
(d) A collection of peer-to-peer systems running identical software. - Unlike Moore's Law, Metcalfe's Law deals with:
(a) The increasing number of transistors on an integrated circuit.
(b) The decreasing size of processors.
(c) The increasing performance of processors.
(d) The increasing value of a network. - Caching differs from replication because:
(a) Caches only need to store recently or frequently used data.
(b) Consistency is important in replicas but not in caches.
(c) Caches are stored at clients and replicas are maintained on servers.
(d) Caches are designed to address fault tolerance. - In a system of three machines, A, B, & C, machine A and either machine B or C must always be running for the system to function. The probability of any computer being down is 10%. What is the availability of the complete system?
(a) 89.1%
(b) 90.0%
(c) 99.0%
(d) 99.96% - Which of the following is an example of stale state in a cache?
(a) Cached data that came from a malicious or untrusted source.
(b) Data that has become corrupted and is therefore not valid.
(c) Data in a cache that is outdated.
(d) Data that has been present in the cache for a long time and is scheduled to get replaced. - Which of the following is a characteristic of a Byzantine failure in a network?
(a) The network is partitioned in such a way that two or more sets of nodes can no longer communicate.
(b) A node in the network malfunctions to produce unexpected messages.
(c) The failure of one node in the network does not affect the rest of the network.
(d) A node crashes and is therefore unavailable. - Which OSI layer does not exist in the Internet Protocol stack?
(a) Data Link.
(b) Presentation.
(c) Transport.
(d) Network. - Which statement is correct?
(a) An advantage of UDP over TCP is that UDP does not have the overhead of setting up a connection.
(b) UDP provides flow control and quality of service management, making it ideal for streaming media.
(c) TCP provides a reliable, fixed-bandwidth data stream between two applications.
(d) TCP is a layer on top of UDP and guarantees that messages arrive in sequence. - Marshaling in remote procedure calls is:
(a) A mechanism for managing concurrent access to shared resources in a distributed system.
(b) A protocol that handles network connections between a client and server.
(c) The process of converting data into a form suitable for transmission over a network.
(d) A security mechanism that encrypts data transmissions between client and server. - Google protocol buffers are used in gRPC to:
(a) Provide space to assemble incoming parameters into a network message.
(b) Specify the sequence of messages that need to be passed back and forth between the client and server.
(c) Temporarily store messages at the server that arrive out of order.
(d) Define the interfaces to a set of remote procedures. - A cell directory service in DCE RPC enables:
(a) Clients and servers to obtain an encryption key to communicate securely.
(b) A server to obtain user and group information to authenticate and authorize clients.
(c) A client to map RPC interface identifiers to port numbers at the server.
(d) A client to locate the server that is running a specific service. - The use of leases for distributed garbage collection is favored over reference counting because:
(a) Clients do not have to contact the server until they delete the object reference.
(b) Objects can be deleted immediately when clients no longer need them.
(c) Multiple clients can have a reference to the same object.
(d) Servers can easily delete objects used by dead clients. - An advantage of web services over RPC systems such as DCE RPC, Java RMI, and Python RPyC is:
(a) They support site scraping of web pages.
(b) Client-server communication has less overhead.
(c) Their data encoding is more compact because of their use of XML or JSON.
(d) They can leverage existing authentication, encryption, and load-balancing infrastructure. - The REST model differs from web services based on XML-RPC or SOAP because:
(a) It provides strong security and encryption mechanisms.
(b) It supports synchronous remote procedure call interactions.
(c) It uses HTML commands and identifies resources via URLs.
(d) It is highly scalable. - What is clock drift?
(a) The delay between requesting the time from a server and receiving a response.
(b) The rate at which the computer's clock diverges from the actual time.
(c) The difference between the actual time and the time reported by the computer's clock.
(d) The variation in a computer's clock frequency over time. - The primary reason that UDP is usually used for clock synchronization is that:
(a) It does not provide reliable messaging.
(b) It is more secure and resistant to tampering.
(c) It operates at a lower layer in the network stack than TCP.
(d) UDP uses a more efficient data encoding format. - A client sends a time request to the server at 1212 and receives a response containing a timestamp of 1202 at 1232. The best-case round-trip delay is 10. Using Cristian's algorithm, to what value does the client set its clock?
(a) 1212.
(b) 1222.
(c) 1232.
(d) 1242. - What does a stratum refer to in NTP synchronization?
(a) The number of clients that connect to a specific NTP server.
(b) The distance from a reference clock in terms of server hop count.
(c) The elapsed time since an NTP server synchronized its own clock.
(d) The delay of sending data from a client to a specific NTP server. - What statement is true about Lamport timestamps L(a) and L(b) for two distinct events a and b?
(a) If L(a) < L(b) then a → b.
(b) If L(a) = L(b) then a and b are concurrent events.
(c) If L(a) L(b) then a and b are concurrent events.
(d) None of the above. - An advantage of vector clocks over Lamport clocks is:
(a) Both causal and concurrent relationships can be identified by comparing timestamps.
(b) They identify the real-time ordering of concurrent events in addition to causal events.
(c) They provide causally-ordered sequencing to remote as well as local events.
(d) Vector clocks can scale to much larger environments than Lamport clocks. - A requirement of atomic multicasts that reliable multicasts do not have is that:
(a) The multicast sender must first check that all group members are alive and reachable.
(b) The multicast sender sends a multicast message by iterating over all group members.
(c) A multicast message cannot be delivered to only a subset of the group.
(d) A multicast message must be delivered to all receivers at the same time. - Which statement is correct?
(a) Total ordering implies causal ordering.
(b) Causal ordering implies total ordering.
(c) Causal ordering implies FIFO ordering.
(d) FIFO ordering implies causal ordering. - One challenge that PIM-SM (Protocol Independent Multicast - Sparse Mode) does not have is:
(a) Each router having to send a copy of each multicast message to every connected network interface.
(b) Configuring a rendezvous point and getting all senders and receivers to know about it.
(c) Latency, since traffic may not take the most efficient path from the sender to each receiver.
(d) Scaling, since all multicast traffic must flow through one router. - What is a view in virtual synchrony?
(a) A collection of nodes that can communicate with each other.
(b) A sequence of messages that are guaranteed to be delivered in the same order to all members of a group.
(c) A set of multicast addresses that are used to send messages to various groups in the system.
(d) A list of members in a group that is maintained by a membership service. - Virtual synchrony implements atomic multicast by:
(a) Having all live group members multicast all their non-delivered messages to all group members if the sender dies.
(b) Electing another group member to take over a multicast if the sender dies during a multicast.
(c) Writing messages into a persistent log so they could be read and sent again even if the system reboots.
(d) Routing all messages through the Group Membership Service (GMS).