CMPSCI 677: Homework 2

Due: Feb 15, 2011

Web posted: Feb 8, 2011

General Instructions:
  1. Modern web applications are rich internet applications (RIA), which are created using Flash, AJAX, Silverlight etc. Majority of them follow the centralized client-server architecture. Take an example web-application (say iGoogle) and explain what kind of client server organization does these applications fall into (refer Lecture 2, slide-10).

  2. Is tit-for-tat policy suitable for file sharing in the internet? Explain your answer.

  3. Strong mobility in UNIX systems could be supported by allowing a process to fork a child in a remote system. Explain how this would work.

  4. Scheduling:
    1. State advantages and disadvantages of round robin scheduling?
    2. Suppose I have two round robin policies, namely A and B. A has a timeslice of 100 milisec, while B has a timesilce of 10 ms. In what ways A is better than B and in what way is B better than A?
    3. Suppose instead of Round Robin policy, we adopt a random-policy, i.e. at each quantum a random job is picked. How does the random approach compare with the RR approach?

  5. Is a server that maintains a TCP/IP connection to a client stateful or stateless? Explain.

  6. In a peer-to-peer system, what kind of requirements would you expect a node to meet for it to be a super-peer node?

  7. Suppose we are designing a multi-threaded CPU bound application. Is it better to limit the number of threads in your application? Explain your reason.

  8. Constructing a concurrent server by spawning a process has some advantages and disadvantages compared to multithreaded servers. Mention a few.

  9. Consider again an unstructured overlay network in which every node randomly chooses c neighbors. To search for a file, a node floods a request to its neighbors and requests those to flood the request once more. How many nodes will be reached?

  10. Assume a process P running on a machine M1 that uses a local fixed resource of M1 via a resource-identifier R. Suppose P has to be migrated to another machine M2 without disrupting its access to the resource (Hint: recall the discussion on process to resource binding and resource to machine binding and assume the resource to be a file on M1 which cannot be moved or copied from M1).
    1. What kind of referencing scheme will you use for your resource identifier R?
    2. Describe how will you implement your referencing scheme and mention the limitations of your implementation (if any).


Last modified: Fri Sep 18 17:00:21 EDT 2009