ISP: Assignment 5

The assignment is due at the beginning of class on Monday, December 6; the Corba question is due on Friday, December 10. Please follow the instructions in submitting your assignment.

  1. IPC: We have discussed a number of IPC mechanisms in class. In this assignment, you are to compare important properties of these mechanisms. Investigate the following: Compare the following mechanisms:

    You can either write one program that forks a client and a server or write separate client and server programs that test the properties above and measure the speed. (pipe and socketpair obviously will have to be done as a single program to pass around file descriptors.)

    The communication mechanism should be selectable by the -c flag, with the names unix, network, msg, shm, mkfifo.

  2. Memory mapping: Investigate the write-through and synchronization behavior of memory mapping. In particular, write a program that tests whether The file reading and writing can be done in the same process.

  3. Corba: Build a file transfer application using Corba. The client should be able to request a file by name (get operation) and obtain its size and modification date (directory operation). Measure the latency of the directory operation and the throughput of the file transfer. Compare the latency to the RPC latency measured in the last assignment; you only have to compare overall latency, not worry about the marshalling time separately. To gain a feeling for the overhead for bulk transfers, compare the file transfer speed to ftp. To avoid the impact of NFS, store the source and destination file in the /tmp directory.

    Hints on running Corba are available, including a sample Makefile.

Last updated by Henning Schulzrinne