• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/96

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

96 Cards in this Set

  • Front
  • Back

What aspect makes distrubuted systems most different from non-distributed systems?

Harder to handle failures.

What is meant by access transparency?

Local and remote resources are accessed using the same operations.

What is meant by location transparency?

Remote resources are accessed using location independent names.

What is meant by concurrency transparency?

Processes can access resources without interfering with each other.

What is meant by failure transparency?

Failures are concealed for the users of a resource.

What is meant by replication transparency?

Users of a resource access it as if it was not replicated.

What is significant for a client-server architecture?

The client is the active part.

What would we call a system where one node is always reacting on requests and other nodes only communicate with this node?

Client-server system

What is significant for a peer to peer architecture?

All nodes are active and can be initiator of operations.

What do we know in a synchronous system?

That all messages will be delivered.

What do we call a system where the upper bound of the time for operations and message delivery are known?

A synchronous system

What do we call a system where the maximum times for operations and message delivery are not known?

An asynchronous system.

Why is it impossible to implement a perfect failure detector in an asynchronous system?

Maximum delay for a reply is not known.

How can we implement a perfect failure detector in an asynchronous system?

It is not possible

What is provided by UDP?

A best effort delivery of messages to a process

What does UDP give us that is not provided by IP?

Port addressing

What is provided by TCP

A full-duplex stream between two processes

What is not provided by TCP?

A guaranteed delivery of messages.

When is the TCP window size a limiting factor for high capacity communication

Over a long fat communication link.

Which address can be found in the TCP header

The port number.

What is a good reason for choosing UDP rather than TCP

You have small messages that should be sent with little delay

What is a good reason for choosing TCP rather than UDP?

You need to know that a message is handled by the remote application?




You have large messages or a sequence of messages?

One can determine how large the receiver window should be, in for example a TCP connection, in order to maximize the capacity of a link. How is this calculated?

capacity of link times round trip latency of the link

The limiting factor for capacity in a TCP connection, T bps, where the link capacity is C bps, the round trip time R sec and the receiver window W bits is:

the lesser of C and W/R

When estimating the maximum capacity of a TCP connection you need to know:

the minimum link capacity and the round trip

What is significant for synchronous communication?

the send operation blocks and waits for the receive operation

What is significant for asynchronous communication?

a sender can continue without waiting for the receive operation

What is true for asynchronous communication?

sender does not block waiting for receiver

Can a synchronous communication interface be used in an asynchronous way?

yes, by performing the send operation in a separate thread

The Erlang call gen tcp:recv(Socket, 0) will return

the complete message as sent to the Socket

A server using a stream socket API can communicate with several clients and separate the streams by:

creating a new stream socket for each connecting client

What is the purpose of the marshaling procedure?

to encode application layer structures in an external form

What is a gossip protocol?

A protocol where peers randomly exchange messages to achieve, for example, unreliable multicast.

What is meant by time uncoupling in a communication framework?

Sender and receiver need not be active at the same time.

What is meant by space uncoupling in a communication framework?

A sender does not need to know the name or identifier of the receiver.

What is meant by causal ordering in a communication framework?

If a client is delivered two messages m1 and m2, then m1 could not have been sent by someone after having being delivered m2.

What is meant by an idempotent operation?

An operation that can be performed several times with the same effect as being performed once.

How are arguments passed in Java RMI?

remote objects as reference, all other as copies

Which invocation semantic is provided by Java RMI?

at most once

If a RPC call with at least once semantics fails, we know that:

the call might have been executed at least once

What is given by at least once RPC semantics?

if no failure is reported the call has been invoked at least once

How do Erlang processes communicate?

asynchronous message passing

Does Erlang provide a form of location transparency?

Yes - a process can use a process identifier without having to know the address of the node where the process lives.

How is the destination defined in an Erlang send operation?

B as a process identifier or a local or remote registered name

What will prevent an Erlang process from sending a message to a process on another Erlang node?

A the two nodes do not have the same secret cookie

Message sending in Erlang provides the following semantics:

best effort FIFO delivery of message

Can we have a circular construction in Erlang?

yes, processes can refer to each other in a circular way

What happens with Erlang processes that are suspended on a receive statement but no longer referenced by any process?

they will remain in the system until explicitly killed

Can we implement a RPC system with exactly-once semantics in an asynchronous system with non-failing nodes but unreliable networks?

yes, if the client keeps re-sending a uniquely tagged request until a reply is received and a server keeps track of all handled request in order not to duplicate a request

What is the difference when an error is reported for an at-least once and at-most-once remote procedure call?

in the at-least-once case, the remote call will not have been executed at all

What is a soft link in a file system?

a path that is resolved to another path

What is a hard link in a file system?

A a mapping of a name to a file identifier

Can two Unix processes simultaneous write to different positions in a single file?

Yes, the two processes will have their own file table entries

What is the purpose of the Unix lseek operation?

set the read/write pointer of an opened file

How is a NFS client-side cache entry validated?

if the validity was checked less than t seconds ago or if the server modification time is equal to the client modification time

How is authentication control handled in Sun NFS?

authentication is provided by RPC in each operation

How does a NFS server know at what position to read and write to?

each read and write operation holds the position

How is AFS client side caching implemented?

the server promise to notify the client if a file is modified by another client

What is the advantage of using AFS over NFS?

the client need not periodically check validity

How are inconsistencies of the resolver cache handled in the DNS architecture?

A each entry has a time-to-live

What is the advantage of using recursive navigation for DNS queries?

server does not need to hold a request state

How are inconsistent cached entries removed from a DNS resolver?

all entries have an expiration time set when cached

What is the advantage of a flat name space?

it is a simple solution

How can we make two computer clocks perfectly synchronized?

we can not

What accuracy can be provided using Christian’s algorithm?

±(Tround ÷ 2 − minimum latency)

What is the purpose of the Berkeley algorithm?

to perform internal synchronization

What does the reply from a NTP server contain?

send and receive time of request and send time of reply

When is it better to use the Berkeley algorithm rather than NTP for clock synchronization?

when implementing internal synchronization

At time 117 you receive a NTP reply with the following information: request sent at 82, received at 111, reply sent at 120. How should you adjust your time?

advance 16 steps

What is true if A happened before B?

A must have occurred in real-time before B

What is true for events A and B?

if A caused B then A happened before B

What can we know if we use Lamport clocks?

if L(a) < L(b) then a could have caused b

What can we know if we use Lamport clocks?

if, and only if, L(a) < L(b) then a happened before b ???

Which is the most natural representation of a vector clock?

a record with one element per process

What is the difference between a Lamport clock and a vector clock?

only the vector clock gives a complete description of the ”happened before order”

When is it problematic to use vectors clocks?

when we have a dynamic set of processes

An alternative way of implementing a vector clock would be to keep a set of the highest counters seen from each process (including own), send it along with any message, update own counter and merging the own set and received set when a message is received. This would have the following advantage:

new processes can easily be added

If events in a given set are to be ordered in a total order that respect the happened before order what is the advantage of using vector clocks?

only vector clocks will give us the happened before order

Is it possible to produce a total order of a set of events stamped with a Lamport time that does not violate any causal relationship?

no, causal relationships will need real-time clock time stamps

What is the definition of a consistent cut?

if e is in the cut and f happened-before e then f is in the cut

What is the definition of a stable global state predicate?

if a system enters a state where the predicate holds true it will remain true in all future states

What is the benefit of a reliable multicast?

messages are guaranteed to be delivered to all correct processes

Can we implement a reliable multicast using only basic multicast?

yes, by re-sending each received message to all other nodes

We sometimes want to include the behavior of faulty nodes in our requirements and talk about uniform agreement for multicast. What do we mean by uniform agreement?

If any node, including faulty, deliver a message then all correct nodes deliver the message.

1p. What is the difference between uniform agreement and nonuniform agreement for multicast?

Uniform agreement includes the behaviour of non-correct node.

What is the definition of total order multicast?

messages are delivered in the same sequence

What would you call a multicast service that would never deliver a message m2 before another message m1, if m2 was sent as a response to m1?

total order

What does Lamport clocks give us when implementing distributed mutual-exclusion?

request are granted in happened before order

What are the requirements for using the Bully algorithm?

we must have reliable failure detectors

What is two-phase locking in a transaction?

not taking any locks once a lock has been released

What does it mean that a transaction meets the isolation property?

intermediate results must not be visible to other transactions

In a distributed transaction one often use two-phase commit, why is this better than one-phase commit?

We ensure that if one transaction commits then all transactions will commit.

In a view-synchronous group membership protocol, a process that enters the group, and is included in the delivered view, will be guaranteed to be delivered:

all messages starting from the view where it is included in the group

What is sent by the primary replica manager to the backup replica manager in a passive replicated system?

A unique identifier, the state change and the response.

A routing strategy, in a distributed hash table of n nodes, would typically have an asymptotic complexity of:

O(log(n))

What is the purpose of hashing in a DHT?

to generate uniformly distributed keys