Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski...

40
Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 1 October 2, 2015 CS 417 - Paul Krzyzanowski

Transcript of Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski...

Page 1: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Distributed Systems Pre-Exam 1 Review

Paul Krzyzanowski

Rutgers University

Fall 2015

1 October 2, 2015 CS 417 - Paul Krzyzanowski

Page 2: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Selected Questions From Past Exams

October 2, 2015 CS 417 - Paul Krzyzanowski 2

Page 3: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2013: Question 1

An operating system will try to allocate memory from the region that is

local to the running process. If a process gets rescheduled to another

processor, memory operations will be slower. Moreover, any cached

contents will be lost.

3

Why is processor affinity important in a NUMA (non-uniform memory access)

multiprocessor system?

October 2, 2015 CS 417 - Paul Krzyzanowski

Page 4: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2014 - Question 2

Multiple data encoding formats are allowed.

The hope is that at least one will fit the architecture of one

or both machines and avoid the overhead of data

conversion.

4

Explain the benefit of multi-canonical marshaling.

Page 5: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2014 - Question 3

It is not fault tolerant.

If a client dies or gets disconnected from the network, the

server will not know to clean up the object.

This is why lease-based collection wins.

Not: race condition when transferring an object reference –

we know how to deal with that.

5

Why is using only reference-count based distributed garbage collection a problem?

Page 6: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2014 - Question 1

No.

Reliable, in-order transport comes at the price of incurring extra delays due to

buffering and retransmission.

A lost packet in one direction will skew the latency of one of the messages

dramatically.

An unreliable transport does not mean the message is usually lost!

It usually is NOT! If it is, you just try the synchronization again.

6

Is the statement below true or false? Explain your answer.

You should use a reliable transport protocol such as TCP for clock synchronization.

time client

server

Lost

No

ack …

tim

eo

ut

retransmit

Page 7: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2013: Question 4

7

Assign vector timestamps to the six remaining events

P0

P1

P2

(0, 1, 0)

b a c

e d f

h g i

(1, 0, 0)

(0, 0, 1) time

(2, 0, 0) (3, 0, 3)

(2, 0, 2)

(2, 2, 0)

(2, 0, 3)

(2, 3, 3)

Which events are concurrent with event e?

g, h, c, i

Example: • i is concurrent with e because

(2, 0, 3) is not greater than or less

than (2, 2, 0)

• f is not concurrent because

(2, 3, 3) > (2, 2, 0)

That means (2≥2), (3≥2), (3≥0).

October 2, 2015 CS 417 - Paul Krzyzanowski

Page 8: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2012: Question 1

a) From an application’s perspective, what are the differences

between virtual circuit service over a packet-switched network and

real virtual circuit networking?

Constant bandwidth and constant latency (no jitter).

Virtual circuit service at the transport layer (such as TCP) tries to

simulate the behavior of a virtual circuit network. A VC network

provides guaranteed bandwidth, which software cannot recreate.

b) What are the similarities?

Reliable, in-order message delivery.

Software can retransmit lost packets and buffer & resequence

received packets.

October 2, 2015 8 CS 417 - Paul Krzyzanowski

Page 9: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2012: Question 3

The National Institute of Standards and Technology (NIST), an agency

of the U.S. Department of Commerce, is responsible for keeping track

of the official time in the U.S. Why not just sync your time from a

stratum 1 server directly, such as time.nist.gov, and get the time from

the most accurate source instead of syncing with a higher-stratum

server?

You might experience high latency and/or high jitter when

communicating with a stratum 1 server but achieve a lower total error

when synchronizing with a higher-stratum server because you can

communicate with it more reliably.

October 2, 2015 9 CS 417 - Paul Krzyzanowski

Page 10: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2012: Question 4(a)

You are synchronizing with a server using Cristian's algorithm. You

send a message at 1:10.100 (according to your clock). The server

receives the message at 1:15.000 (according to its clock), processes

the request, and sends a response containing 1:15.005, which you

receive at 1:10.150. To what value do you set your clock?

The time at which the server receives the message (1:15.000) is irrelevant.

Note that 1:15.005 is not the time the response was sent; it is the server clock

timestamp. We can just plug it into Cristian’s algorithm and set the time to the

server time plus ½ of the round-trip time.

New time = TS + ½(1:10:150 – 1:0.100)

= 1:15.005 + ½(0.050)

= 1:15.005 + 0.025 = 1:15.030

October 2, 2015 10 CS 417 - Paul Krzyzanowski

Page 11: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2012: Question 4(b)

If the error of the clock at the server was ±0.015 sec and if the best-

case round-trip time to the server is 30 msec. (0.030 sec), what is the

time error of the synchronized clock at the client (express as ±E)?

The error is NOT the best case round-trip time; that would give us an

error of 0 due to the network. We need to add the error of the clock and

the uncertainty of the network round-trip time.

Error to server = ± ½(round trip delay – best case round trip delay)

= ± ½(0.050 – 0.030)

= ± ½(0.020)

= ± 0.010

Clock error = (error to server) + (error of clock at server)

= ± (0.010 + 0.015)

= ± 0.025 sec

October 2, 2015 11 CS 417 - Paul Krzyzanowski

Page 12: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2012: Question 5

Compare reference count based distributed garbage collection with lease-

based garbage collection.

What advantages of the latter made it become the dominant technique for

distributed garbage collection?

Reference counting requires clients to send increment and decrement

operations to a server so it can maintain a reference count and free the object

when the count goes to zero.

Because of possible software errors, software crashes, and client crashes, the

server may end up with inaccurate counts and never free an object.

Lease-based garbage collection requires a client to periodically renew its

leases on any objects that it uses. If the client dies, then it will fail to renew its

leases and the server will free the object. It’s more fault tolerant. With

reference counting, you still had to take care of the case of a client abnormally

terminating (or improper counting).

October 2, 2015 12 CS 417 - Paul Krzyzanowski

Page 13: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2014 - Question 5

• Clock = { P0: 2 } Value = {A, C}

• Clock = { P0: 1, P1: 2 } Value = { A, B, Q }

• Clock = { P0:1, P1: 2, P2: 1 } Value = {A, E, H }

• Clock = { P0: 1, P1: 2, P2: 2 } Value = { A, K }

13

You have a set of servers that manage shopping cart data. Clients may send

updated carts to any server and servers propagate these updates to other

members of the group.

Unfortunately, the network sometimes gets partitioned temporarily so only a

subset of servers get updates.

You need to reconcile the shopping cart for a user.

The vector timestamp is a set of values associated with processors P0, P1, … Pn.

Items in the cart are a subset of {A, B, … Z}.

Causal updates should overwrite previous contents. Concurrent updates merge

with previous contents. What is the final set of items in the user’s shopping

cart when reconciling the following timestamps?

Page 14: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2014 - Question 5 (continued)

• Clock = { P0: 2, P1: 0, P2: 0 } Value = {A, C}

• Clock = { P0: 1, P1: 2, P2: 0 } Value = { A, B, Q }

• Clock = { P0:1, P1: 2, P2: 1 } Value = {A, E, H }

• Clock = { P0: 1, P1: 2, P2: 2 } Value = { A, K }

14

Causal updates should overwrite previous contents. Concurrent updates merge

with previous contents. What is the final set of items in the user’s shopping

cart when reconciling the following timestamps?

causal - overwrite

causal - overwrite

We see with two concurrent events:

Clock = { P0: 2, P1: 0, P2: 0 } Value = {A, C}

Clock = { P0: 1, P1: 2, P2: 2 } Value = { A, K }

Shopping cart = {A, C} ∪ {A, K} = { A, C, K}

concurrent

Note: if a vector clock

value is missing a specific

process, that means that it

has not been seen and

has a value of 0

Page 15: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2012: Question 6

Metcalfe's law isn't really a law but basically states that:

(a) A network gets more useful with more people on it.

(b) Processors get twice as powerful every two years.

(c) Transistors get twice as small every two years.

(d) Network bandwidth doubles every two years.

October 2, 2015 15 CS 417 - Paul Krzyzanowski

Page 16: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2012: Question 7

A multiprocessor system is best characterized as one where the

processors:

(a) Connect to a data network.

(b) Communicate over a shared bus.

(c) Shared system memory.

(d) Share the same cache memory

October 2, 2015 16 CS 417 - Paul Krzyzanowski

Page 17: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2012: Question 8

An SMP (symmetric multiprocessor) system is a multiprocessor system

where:

(a) The processors engage in the same computation for fault

tolerance.

(b) All processors have equal access to memory.

(c) An even number (2, 4, …) of processors allows workloads to be

partitioned.

(d) Two or more computers are connected to a shared network

October 2, 2015 17 CS 417 - Paul Krzyzanowski

Page 18: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2012: Question 9

A snoopy cache reduces traffic on the system bus:

(a) For read operations.

(b) For write operations.

(c) For both read and write operations.

(d) None of the above; it has no effect on bus traffic

October 2, 2015 18 CS 417 - Paul Krzyzanowski

Page 19: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2014 - Question 6

• Source snooping requires contacting all processors

• Latency is lower: the processor with the cached data is

contacted directly rather than via the home agent

19

Compared to home snooping, source snooping:

(a) Uses less bandwidth and has a lower latency.

(b) Uses more bandwidth and has a higher latency.

(c) Uses more bandwidth but has a lower latency.

(d) Uses less bandwidth but has a higher latency.

Page 20: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2012: Question 10

A single system image refers to:

(a) multiple computers that look and behave like one system.

(b) a single operating system that controls a network of computers.

(c) a cloned set of computers where multiple machines run the same

software.

(d) an instance of a single computer connected to a network

October 2, 2015 20 CS 417 - Paul Krzyzanowski

Page 21: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2012: Question 11

A snoopy cache is designed for this architecture:

(a) Bus-based.

(b) Crossbar switch.

(c) NUMA.

(d) All of the above

October 2, 2015 21 CS 417 - Paul Krzyzanowski

Page 22: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2014 - Question 7

• TDM & FDM: bandwidth reserved even if not used

• Token passing: need to wait for a token

22

The most efficient use of a network is:

(a) Time division multiplexing (TDM).

(b) Frequency division multiplexing (FDM).

(c) A token passing protocol.

(d) Random access.

Page 23: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2014 - Question 8

• IP was designed on top of unreliable packet switched

networks

• Any reliability would have to be provided via software at

the endpoints

23

Which of the following was NOT a design goal of the Internet?

(a) Provide reliable communication.

(b) Support the interconnection of different physical networks.

(c) Use routers to store and forward packets.

(d) Have decentralized control of the network.

Page 24: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2012: Question 12

TCP/IP occupies which layer of the OSI protocol stack?

(a) Data Link (2)

(b) Network (3)

(c) Transport (4)

(d) Presentation (6)

TCP and UDP both operate at the transport layer. They allow application-to-

application communication and use port numbers to identify communication

endpoints (sockets).

October 2, 2015 24 CS 417 - Paul Krzyzanowski

Page 25: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2012: Question 13

UDP/IP occupies which layer of the OSI protocol stack?

(a) Data Link (2)

(b) Network (3)

(c) Transport (4)

(d) Presentation (6)

TCP and UDP both operate at the transport layer. They allow application-to-

application communication and use port numbers to identify communication

endpoints (sockets).

October 2, 2015 25 CS 417 - Paul Krzyzanowski

Page 26: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2012: Question 19

There are three systems on your network: A, B, C. Prior to

synchronization, A's clock reads 2:30, B's clock reads: 2:36, and C's

clock reads 2:42. B is the master. After synchronization via the Berkeley

algorithm, what is the time on A's clock (ignore synchronization or

network latencies)?

(a) 2:30

(b) 2:33

(c) 2:36

(d) 2:39

October 2, 2015 26 CS 417 - Paul Krzyzanowski

Berkeley: there is no master clock

Compute the average of 2:30, 2:36, 2:42

= (2:30+2:36+2:42)/3 = 2:36

Page 27: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2014 - Question 16

27

A client requests a timestamp from the server at 3:52:20.200. The server

response is received at 3:52:20.600. The response contains a server timestamp

of 3:52:20.400. Using Cristian’s algorithm, the client should set its time to:

(a) 3:52:20.200

(b) 3:52:20.400

(c) 3:52:20.600

(d) 3:52:20.800

Overall delay = 3:52:20.600 – 3:52:20.200 = 400 ms

Cristian’s algorithm assumes the timestamp was generated ½ of the

delay ago = 200 ms ago

Set time to [received timestamp] + 200 ms =

= 3:52:20.400 + 0.200 = 3:52:20.600

Page 28: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2014 - Question 17

28

A client synchronizes from a server. It sends a request at 3:52:20.200. The time

between a request and a response is 52 ms. The best-case time is 40 ms. What

is the error of the synchronization?

(a) ±6 ms

(b) ±12 ms

(c) ±20 ms

(d) ±106 ms

The error is the unaccounted time in our sync.

Best case time = 40 ms

Measured time = 52 ms

Unaccounted time = 52 – 40 = 12 ms.

Since the timestamp is set to the middle, the error is ± (12/2) = ± 6 ms

Page 29: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2014 - Question 18

29

If event A has a Lamport timestamp of 2 and event B has a Lamport timestamp of

3, you are certain that:

(a) A happened before B if the events took place on the same process.

(b) A happened before B regardless of the processes on which A and B took

place.

(c) A and B are concurrent.

(d) B happened before A, regardless of the processes on which A and B took

place.

Page 30: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2012: Question 20

Based on their vector timestamps, which event causally precedes

(4, 2, 8, 5)?

(a) (3, 1, 7, 7)

(b) (5, 1, 6, 2)

(c) (4, 2, 8, 4)

(d) (4, 3, 8, 5)

(4, 2, 8, 4) ≤ (4, 2, 8, 5)

We’re looking for a vector that is neither ≥ or ≤ (4, 2, 8, 5) when doing an

element-by-element comparison.

No: element 1: 3 < 4 but element 4: 7 > 5

No: element 1: 5 > 4 but element 4: 2 < 5

No: each element of (d) ≥ each element of (4, 2, 8, 5).

This vector causally follows (4, 2, 8, 5).

October 2, 2015 30 CS 417 - Paul Krzyzanowski

Page 31: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2012: Question 21

The implementation of which message ordering technique is not a

feasible one to implement?

(a) Global time ordering

(b) Total ordering

(c) Sync ordering

(d) Unordered

Global time ordering requires globally exactly synchronized time stamps and

the assumption that every single message will be generated at a different

point in time. This is not feasible or realistic.

October 2, 2015 31 CS 417 - Paul Krzyzanowski

Page 32: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2014 - Question 20

32

Which of these multicasts can be implemented with a group-wide sequence

number server?

(a) Global time ordered multicasts

(b) Total ordered multicasts

(c) Partial ordered multicasts

(d) Unordered multicasts

Page 33: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2012: Question 22

The following events took place on three systems at the stated physical

(time of day) times:

System 1: a (3:00), b (3:01)

System 2: c (2:55), d (3:04)

System 3: e (3:03)

Event b is the sending of a message from system 1 to 2. Event d is the

receipt of that message. Using Lamport's happened-before relation, which

events happened before event d?

(a) a

(b) a, b

(c) a, b, c

(d) a, b, c, e

1

2

3

a b

c d

e

October 2, 2015 33 CS 417 - Paul Krzyzanowski

The physical time does not matter!

If there is no causal dependency

then the events are concurrent.

a → b (a happened before

b on the same process)

c → d (same process)

b → d (sending a

message happens before

receiving that message)

Page 34: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2014 - Question 26

34

The Chang & Roberts ring election algorithm optimizes the ring election algorithm

by:

(a) Contacting only higher-numbered processes.

(b) Multicasting the election request instead of passing messages in a ring.

(c) Choosing a leader as messages are sent instead of sending a growing list of

candidates.

(d) Having a node always discard an election message that came from a

process with a smaller ID.

With the ring algorithm, an election message circulates around all live processes.

When it reaches the originator, the process picks the leader (either the highest or

lowest process ID)

Chang & Roberts optimizes in two ways:

(1) Keep at most one process ID in the election message. No need to put process

IDs that have no chance of being the leader.

(2) Try to avoid concurrent elections. If a process gets an election message with a

smaller ID and the process already is participating in an election, discard the

message.

Page 35: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2012: Question 23

IP multicast provides which level of reliability?

(a) Atomic

(b) Reliable

(c) Unreliable

(d) User-selectable

(a) Ensures the message gets to all the clients, even if the sender dies

partway through.

(b) Tries and retries, if necessary, but eventually gives up on delivery.

(d) Makes no sense.

October 2, 2015 35 CS 417 - Paul Krzyzanowski

Page 36: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2014 - Question 22

36

A precedence vector in a message is used by a receiver to:

(a) Ensure that all messages are received in the same order by all group

members.

(b) Create timestamps of when each message has been received.

(c) Identify whether all previous causally-related messages have been received.

(d) Create a log of received messages in the order they were received.

Page 37: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2014 - Question 23

37

IGMP, the Internet Group Management Protocol, is used to:

(a) Build a global list of hosts that are subscribed to a given multicast group.

(b) Tell a router that a connected host is interested in receiving a multicast

group.

(c) Enable system administrators to manage multicast subscriptions.

(d) Allow a multicast sender to discover and contact a multicast receiver.

Page 38: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2012 exam 2: Part II: 5-7

5. ONC (Sun) RPC provides the ability to:

(a) Use XML as a transport.

(b) Start up the server process on demand.

(c) Perform distributed garbage collection.

(d) Have multiple versions of a function at the server.

6. A multi-canonical marshaling format

(a) Provides greater efficiency because both sides usually won’t have to convert data.

(b) Is a more compact way of representing data over a network.

(c) Encodes data concurrently into both binary as well as text formats.

(d) Allows one message to be sent to multiple servers.

7. For RPC, a DCE cell directory server allows:

(a) A client to find out on what server an interface is available.

(b) A client to find the port number of a service on a specific machine.

(c) A server to send callbacks to clients.

(d) An object to be distributed among multiple servers.

38 October 2, 2015 CS 417 - Paul Krzyzanowski

Page 39: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

Fall 2012 exam 2: Part II: 8-9

8. Java's Serializable interface:

(a) Allows an object's data to be converted to a sequence of bytes.

(b) Creates a remote reference for an object.

(c) Enforces concurrency control to ensure that concurrent accesses to an object are

serialized.

(d) Creates client and server stubs for an object.

9. Compared with SOAP, REST:

(a) Is based on remote method calls.

(b) Identifies resources in the URL of an HTTP command.

(c) Uses XML for creating a message within the HTTP message.

(d) Is not tied to a single language.

39 October 2, 2015 CS 417 - Paul Krzyzanowski

Page 40: Distributed Systems - Rutgers University · Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 . Selected

The End

October 2, 2015 40 CS 417 - Paul Krzyzanowski