A)Describe different techniques that can be used to achieve scalability?
“A distributed system is scalable
when it improves is performance after adding resources”
the ability of a system, network, or process, to handle growing amounts of work
in a graceful manner or its ability to be enlarged to accommodate that growth”
is very hard to achieve
1: Hiding Communication
The difference between letting (a) a server or (b) a client check forms as they are being filled.
An example of dividing the DNS name space into zones.
B) Show how Rivest,Shamir, Adelson algorithm (RSA) works.
C) Describe and compare multithreaded server and single-threaded server implementations.
Single thread require time and memory to create the server.
When the time required to serve the request is less multithreaded servers are not convenient.
D) Assume a client calls an asynchronous RPC to a
server, and subsequently waits until the server returns a result using another
asynchronous RPC. Is this approach the same as letting the client execute a
normal RPC? .
No, this is not the same. An asynchronous RPC returns an
acknowledgment to the caller, meaning that after the first call by the client,
an additional message is sent across the network. Likewise, the server is
acknowledged that its
response has been delivered to the client. Two
asynchronous RPCs may be the
same, provided reliable communication is guaranteed.