CMPSCI 377: Operating Systems
(Mini-) Homework 6: Distributed Systems
Due: December 13

VIP Students: Due one week from when you receive the assignment

  1. (10 pts) Problem 15.4 from OSC

    (a) Dorm floor: A multi-access bus network such as Ethernet
    (b) University: A ring network or a hierarchical tree structure
    (c) State: A partially connected network (since this is a wide area network).
    (d) State: A partially connected network (since this is a wide area network).

  2. (10 pts) Problem 15.10 from OSC

    Although UDP does not have the connection setup and tear down overheads of TCP, it is not suitable for HTTP since it does not provide a reliable service (i.e., packets can get lost in the network). TCP automatically recovers lost packets using re-transmissions.

    One could improve the performance of HTTP by using a single connection to download multiple objects from the server (instead of setting up a separate connection for each item that needs to be downloaded). This amortizes the connection setup and tear down cost of HTTP across multiple items.

  3. (10 pts) Name three techniques for data sharing in distributed operating systems. Briefly explain what each technique does.

    (i) Data migration: fetch file from a remote machine to a local machine when an application needs to access it.
    (ii) Computation migration: Move the computation to the data; useful when moving the computation is cheaper than moving data.
    (iii) Job migration: Move the job and execute the remaining portion of it on another machine. This causes both data and computations to move to than machine

  4. (10 pts) Explain the difference between location transparency and location independence in distributed file systems. Is NFS location transparent? Location Independent?

    Location transparency: the name of the file does not reveal its physical storage location.
    Location independence: The name of the file is independent of its storage location (and hence, does not change if the file location changes.

    NSF is location transparent, since each remote file has a local name which does not reveal its location. It is also location independent, so long as the mount table is adjusted to reflect the new location of the file on the server.