The MOSIX distributed operating system. Load balancing for UNIX
MOSIX (Multicomputer Operating System for UNIX) is a symmetrical distributed operating system. This means that system control is decentralized and each computer belonging to the system is both server and client for all services. The development of MOSIX started in 1981 at the Hebrew University of Jerusalem. The system integrates a cluster of computers connected via a local area network (LAN) into a virtual single- machine UNIX environment. MOSIX allows a high degree of integration, including network transparency, cooperation between the computers, support of dynamic configuration and load balancing. Load balancing is done by process migration. This means that all processors belonging to the MOSIX system must be homogeneous, otherwise process migration can not be done. The book has 221 pages and is divided in eleven chapters, an extensive reference list and an index. The first two chapters give an overview of general MOSIX concepts. In chapter three and four non-distributed and distributed file systems are discussed, followed by the process concepts of UNIX and MOSIX in chapter five and six. MOSIX is a microkernel based operating system working with Remore Procedure Calls. In chapter seven the links between the host-specific part of the kernel and the related user view are presented. Load-balancing, scaling considerations based on probabilistic algorithms and a discussion of the main communication mechanisms of MOSIX are themes of the chapters eight to ten. The last chapter discusses distributed applications and gives performance results of several examples. MOSIX is a research project and this book about MOSIX is more a scientific report than a tutorial. Very carefully and in detail the main features of a special distributed operating system and its relations to UNIX are described. Although scientifical oriented, the text is written in a clear and understandable language. For some chapters it is assumed that the reader has some familiarities with the UNIX operating system. Because MOSIX uses a nonstandard network protocol, instead of TCP/IP for example, a basic knowledge about network protocols will be helpful to understand the Remote Procedure Call approach. Algorithms are given in a C-like pseudocode. The book is well designed and I could find only a few misprints. But the editors had not been very lucky to use a syllabication algorithm which leaves ``momen-'' at the end of one line and starts with ``t'' on the other one. Load balancing in MOSIX is done by process migration. This means that all processors belonging to the system must be homogeneous. But a look at our real world computer network shows, that networks in most cases are inhomogeneous. Typically there are lots of Personal Computers used as I/O-devices, UNIX and VAX/VMS systems with server functions and one or another mainframe with special application programs. The MOSIX approach indeed is very special and the result of the project has to be seen in this context. Therefore the material presented in this book is intended primarily for readers who are interested in such distributed and homogeneous multiprocessor systems. But I think that everybody with some basic knowledge of the UNIX system and with interest in distributed operating systems, especially students in graduate courses of computer science will profit from this book and benefit from the techniques and algorithms presented.
scientific article; zbMATH DE number 463960