Exams multiple Flashcards
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?
A client server system
What is significant for a peer-to-peer architecture?
All nodes are active and can be the initiator of operations
What do we know in a synchronous system?
The upper bound of the time to perform an operation
What is significant for an asynchronous system?
That the time to perform an operation does not have an upper bound
What do we call a system where the maximum times for operations and messages delivery are known?
A synchronous system
What is provided by UDP?
A best effort delivery of messages to a process
What is provided by TCP?
A full-duplex stream between two processes
Which address can be found in the TCP header?
The port numbers
What is significant for synchronous communication?
The send operation blocks and waits for the receive operation
What is significant asynchronous communication?
A sender can continue without waiting for the receive operation
Can a synchronous communication interface be used in an asynchronous way?
Yes, by performing the send operation in a separate thread
What is the difference between the two nodes that are communicating over a stream socket?
Nothing, they have equal rights and responsibilities
The erlang call gen_tcp:recv(Socket,0) will return
The first part(possibly the whole) message sent to Socket
What is the purpose of the marshaling procedure?
To encode application layer structures in an external form
How are arguments passed in Java RMI?
At most once
What level of transparency is provided by method invocation in Java RMI?
Location transparency only since we need to capture remote exceptions
What level of transparency is provided by method invocation in Java RMI?
Location transparency only since we need to capture remote exceptions
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?
As process identifier or a local or remote registered name
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 mapping of a name to a file identifier
What is the purpose of the Unix Iseek operation?
Set the write/read pointer of an opened file
How is a NFS client-side cashe entry validated?
If the validity was checked less than t second ago or if the server notification time is equal to the client notification 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 an opened file?
Each read and write operation holds the position
How is AFS client side cashing implemented?
The server promise to notify the client if a file is modified by another client
Can two client have an inconsistent view of a file using AFS?
Yes, if a call-back message is lost a cashed copy can be used although the original has been modified
What is true if A happened real time before B?
A could have happened 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 could have caused b
What can we know if we use Lamport clocks?
if but not only, if a happened before b then L(a)<L(b)
What can we conclude looking at the Lamport clock timestamps of two events?
if L(a) !<L(b) then a did not happened before b
What is the most that we know if we use vector clocks
V(a)<V(b) if and only if a happened before b
What is the definition of a consist 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 definition of a unstable global state predicate?
The predicate could hold true in a state but then be false in future states.
What is the difference between a URL and a URN?
URN resolves into any replica of a resource matching the URI.
How are inconsistencies of the resolver cache handled in the DNS architecture?
Each entry has a time to live
What is the advantage of using recursive navigation for DNS queries?
Servers can hide internal DNS hierachy
How are inconsistent cashed entries removed from a DNS resolver?
All entries have en expiration time set when cashed
How can we make two computer clocks perfectly synchronized?
we cannot
What accuracy can be provided using Christian’s algorithm?
remember the equation!
What is the purpose of Berkley 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
What is true if A happened before B?
A must have occurred in real time before B
Give an example of a stable global state predicate
Deadlock
What are the requirements for using the Bully algorithm ?
We must have reliable failure detectors
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 the other nodes
What is the definition of total order multicast?
Messages are delivered in the same sequence
What is a dirty read during the transaction?
reading a value that has not been committed
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 atomicity property?
either all or no operations in the transaction are performed
What does it mean that a transaction meets the isolation property?
intermediate results must no be visible to other transactions
What does it mean that a transaction meets the durability property?
The effects of the transaction will remain even if we have a server crash
What is two phase commit?
A protocol that ensures atomicity in a distributed transaction
What is a phantom deadlock?
One that is detected but not stable
What is a view, created by a group membership service?
The set of processes belonging to a group
In view-synchronous group membership protocol, a process that enters the group and is included in the delivered vie, will be guaranteed to be delivered:
All messages starting from the view when it enters
Why is view synchronous communication different from reliable multicast?
A message is sent and delivered only by processes belonging to the same view
Distributed hash tables are designed to limit the number of hops to reach any key to
at most log(N)
When is it better to use the Berkley algorithm rather than NTP for clock synchronization?
When implementing internal synchronization
Assume that a NTP server cannot respond to received request in less than 40 ms, how does this influence the accuracy of synchronizing clients?
Not at all
At time 117 you received a NTP reply with the following information: requst sent at 82, received at 111, reply sent at 120. How should you adjust your time?
Advanced 16 steps
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 process
What do we know if we record a snapshot using the algorithm by Chandy and Lamport?
There is a linearization from the original state to the final state that passes through the snapshot
Assuming that we collect all state transitions of nodes and have them tagged with vector clocks what can we then do?
For any unstable predicates determine if it possibly was true during the execution
How can we detect that non-stable predicate definitely was true during ab execution?
Generate all consistent runs and show that the predicate is true at one point in all
What is the advantage of a bully algorithm compared to a ring-based algorithm?
Better turnaround time
What does Lamport clocks give us when implementing distributed mutual-exclusion?
The system is prevented to dead-lock
What does Ricart and Agrawalas mutual exclusion algorithm perform better than a central solution?
Under high congestion since only one message is needed to release and obtain the lock
How are FIFO, causal and total order multicast related?
A causal order is also a FIFO order
What is a good reason for choosing UDP rather than TCP?
You have a small message that should be sent with littke delay
What is a good reason for choosing TCP rather than UDP?
You have large messages or a sequence of messages
What is the maximum TCP capacity in a 100MBPS link with 250ms round trip latency using a 64 Kbyte window size?
2Mbps
What is the maximum TCP capasity in a 100 Mbps link with 25ms round trip latency using 64Kbyte window size?
20Mbps
What is a remote object passed as a reference and not as a copy in Java RMI?
The object contains a mutable state that should not be duplicated
Can we have a circular construction in Erlang?
Yes, processes can refer to each other in a circular way