6.3.2. Computational Resource Sharing

6.3.2.1. Network Load Balancing

Klasické aplikace v distribuovaném systému, kde se procesy přesouvají na méně zatížené uzly. Snaží se o ni i klasické systémy, například Mosix či Beowulf pro Linux. Problem with uniform resource access.

6.3.2.1.1. Example: Mosix

The goal of Mosix is to build clusters of homogeneous computers that allow transparent load balancing. Mosix has been developed since 1981 for various flavors of Unix and finally settled on Linux.

Mosix spreads load among the computers in a cluster by migrating processes from their home nodes to remote nodes. The decision to migrate a process is based on multiple criteria, which include the communication cost, the memory requirements, the processor usage. To avoid thrashing, overriding importance is assigned to memory requirements.

When accessing resources, a migrated process can either access the local resources of the remote node, or the remote resources of the home node. In general, access to local resources is faster than access to remote resources, but some remote resources cannot be replaced by local resources. Mosix therefore intercepts accesses of migrated processes to resources and directs them towards local resources when transparency can be preserved and towards remote resources otherwise. To facilitate access to remote resources, the migrated process communicates with its process deputy on the home node.

To guarantee transparency when accessing user credentials, Mosix requires that all computers in a cluster share the same UID and GID space.

To guarantee transparency when accessing files but avoid doing all file system operations remotely, Mosix relies on DFSA (Direct File System Access) optimizations. These optimizations recognize cluster file systems that are mounted across the entire cluster and do most file system operations locally on such file systems.

Mosix refuses to migrate processes that use shared memory etc.

References. 

  1. Mosix, http://www.mosix.org

  2. openMosix, http://www.openmosix.org

6.3.2.2. Network Global Memory

Existují další věci, které se dají se sítí dělat. Například se na síť dá swapovat, to má výhodu v low latency. Také distributed shared memory.