6.033 Paper #2:

Problems with the Use of Remote Workstation Resources

Ian Cady
Section 1, Professor Dally
Feb 21, 1995 While it seems reasonable for networked workstations to utilize the resources of other workstations on the local area network, problems of complexity in the design of some operating system components might outweigh the performance increases. The possible advantages of using remote workstation resources are obvious: if network performance exceeds disk performance, it makes sense to utilize any available memory which can be accessed via the network before turning to disk storage. However, the problem of the varying availability of network resources becomes an issue.

Take the example of writing a swapped-out page to the memory of another workstation instead of to local (or network) disk. Obviously, given a fast network, a memory access will be quicker than a disk access. However, the availability of network resources is very susceptible to change. This system relies on the existence of unused memory (workstations with little or no load), and the system must be prepared for times when this is simply not available, at least in the quantity needed. As load on the network increases, the amount of swap space decreases, and demand for swap space increases.

This issue is not generally as much of a problem for virtual memory systems that run on a single machine. While it could be said that virtual memory performance depends upon available disk space, some operating systems avoid this by reserving a certain amount of disk space to use as swap, and protecting this space from use by the user(s). In addition, available disk space on a single machine is rarely as erratic as load on a multi-workstation network.

Because of the apparent unreliability of networked memory, it seems that any memory manager which intends to make use of network resources needs to have a ``back-up plan'' - a system to use in case there simply is not enough memory available on the network. If it lacks such a plan, then performance and reliability will greatly suffer: users will be limited to the main memory of the local machine, and whatever tiny amount of memory it is able to reserve on lightly loaded machines. If such a backup plan exists, such as a conventional disk-swapping system, then the complexity of the system has increased a great deal. The memory manager must now keep track of main memory, pages swapped out to remote memory, and pages swapped to disk.

In conclusion, it is safe to say that making use of network resources either increases the complexity of the system, or runs a risk of decreasing performance (in most cases.) This is not to say that is unwise to design such a system - doing so could work quite well, if the load on the network over time is considered in the design of the system. It can be said, however, that it would be unwise to design such a system without taking into consideration the fact that the availability of system resources will vary.