Answers for Homework 10

 

  1. It is possible for one node to detect that some failure occurred on another node by sending "Are You Up" message , but it can not decide which kind of failure occurred. The node can also differentiate the first and the second failure by sending message by another route. It is impossible for the node to detect that another node is overloaded.
  2. The major drawback of the caching is the cache-consistent problem. When writes are frequent, it will incur substantial overhead to overcome the consistency problem.

3.

  1. Threads maybe used to send and receive message while other operations within the task continue asynchronously.
  2. A server thread that blocks waiting for a new request has little significant context information.
  3. In a scheme "implicit receive", a thread that complete a job disappears, the kernel then simply creates a new thread to handle incoming request, it also writes the message onto server’s address space and set up the stack so that new thread can access the message. Because no context switch, it will increase performance greatly.

So thread is essential for server to be scalable.