MOSIX
Encyclopedia
MOSIX is a distributed operating system
Distributed operating system
A distributed operating system is the logical aggregation of operating system software over a collection of independent, networked, communicating, and spatially disseminated computational nodes. Individual system nodes each hold a discrete software subset of the global aggregate operating system...

. Although early versions were based on older UNIX
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

 systems, since 1999 it focuses on Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 clusters and grid
Grid computing
Grid computing is a term referring to the combination of computer resources from multiple administrative domains to reach a common goal. The grid can be thought of as a distributed system with non-interactive workloads that involve a large number of files...

s. In a MOSIX cluster/grid there is no need to modify or to link applications with any library, to copy files or login to remote nodes, or even to assign processes to different nodes – it is all done automatically, like in an SMP
Symmetric multiprocessing
In computing, symmetric multiprocessing involves a multiprocessor computer hardware architecture where two or more identical processors are connected to a single shared main memory and are controlled by a single OS instance. Most common multiprocessor systems today use an SMP architecture...

.

History

MOSIX has been researched and developed since 1977 at The Hebrew University of Jerusalem
Hebrew University of Jerusalem
The Hebrew University of Jerusalem ; ; abbreviated HUJI) is Israel's second-oldest university, after the Technion – Israel Institute of Technology. The Hebrew University has three campuses in Jerusalem and one in Rehovot. The world's largest Jewish studies library is located on its Edmond J...

 by the research team of Prof. Amnon Barak. So far, ten major versions have been developed. The first version, called MOS, for Multicomputer OS, (1981–83) was based on Bell Lab's Seventh Edition Unix and ran on a cluster of PDP-11
PDP-11
The PDP-11 was a series of 16-bit minicomputers sold by Digital Equipment Corporation from 1970 into the 1990s, one of a succession of products in the PDP series. The PDP-11 replaced the PDP-8 in many real-time applications, although both product lines lived in parallel for more than 10 years...

 computers. Later versions were based on Unix System V
UNIX System V
Unix System V, commonly abbreviated SysV , is one of the first commercial versions of the Unix operating system. It was originally developed by American Telephone & Telegraph and first released in 1983. Four major versions of System V were released, termed Releases 1, 2, 3 and 4...

 Release 2 (1987–89) and ran on a cluster of VAX
VAX
VAX was an instruction set architecture developed by Digital Equipment Corporation in the mid-1970s. A 32-bit complex instruction set computer ISA, it was designed to extend or replace DEC's various Programmed Data Processor ISAs...

 and NS32332
NS320xx
The 320xx or NS32000 was a series of microprocessors from National Semiconductor . They were likely the first 32-bit general-purpose microprocessors on the market, but due to a number of factors never managed to become a major player...

-based computers, followed by a BSD/OS
BSD/OS
BSD/OS was a proprietary version of the BSD operating system developed by Berkeley Software Design, Inc. ....

-derived version (1991–93) for a cluster of 486/Pentium computers. Since 1999 MOSIX is tuned to Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 for x86 platforms.

MOSIX2

The latest version of MOSIX, called MOSIX2, is compatible with Linux-2.6 and 3.0 kernels. MOSIX2 is implemented as an OS virtualization
Operating system-level virtualization
Operating system-level virtualization is a server virtualization method where the kernel of an operating system allows for multiple isolated user-space instances, instead of just one. Such instances may look and feel like a real server, from the point of view of its owner...

 layer that provides to users and applications a single system image with the Linux run-time environment. It allows applications to run in remote nodes as if they run locally. Users run their regular (sequential and parallel) applications while MOSIX transparently and automatically seek resources and migrate processes among nodes to improve the overall performance.

MOSIX2 can manage a cluster and a multicluster (grid
Grid computing
Grid computing is a term referring to the combination of computer resources from multiple administrative domains to reach a common goal. The grid can be thought of as a distributed system with non-interactive workloads that involve a large number of files...

) as well as workstations and other shared resources. Flexible management of a grid allows owners of clusters to share their computational resources, while still preserving their autonomy over their own clusters and their ability to disconnect their nodes from the grid at any time, without disrupting already running programs.

A MOSIX grid can extend indefinitely as long as there is trust between its cluster owners. This must include guarantees that guest applications will not be modified while running in remote clusters and that no hostile computers can be connected to the local network. Nowadays these requirements are standard within clusters and organizational grids.

MOSIX2 can run in native mode
Native mode
The term native mode or native code is used in computing in two related senses.*to describe something running on a computer natively or in native mode meaning that it is running without any external support as contrasted to running in emulation....

 or in a virtual machine
Virtual machine
A virtual machine is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software emulation or hardware virtualization or both together.-VM Definitions:A virtual machine is a software...

 (VM). In native mode, performance is better, but it requires modifications to the base Linux kernel
Linux kernel
The Linux kernel is an operating system kernel used by the Linux family of Unix-like operating systems. It is one of the most prominent examples of free and open source software....

, whereas a VM can run on top of any unmodified operating system that supports virtualization, including Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 and Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

.

MOSIX2 is most suitable for running compute intensive applications with low to moderate amount of input/output
Input/output
In computing, input/output, or I/O, refers to the communication between an information processing system , and the outside world, possibly a human, or another information processing system. Inputs are the signals or data received by the system, and outputs are the signals or data sent from it...

 (I/O). Tests of MOSIX2 show that the performance of several such applications over a 1 Gb/s campus grid is nearly identical to that of a single cluster.

Main features

  • Provides aspects of a single-system image:
    • Users can login on any node and do not need to know where their programs run.
    • No need to modify or link applications with special libraries.
    • No need to copy files to remote nodes.
  • Automatic resource discovery and workload distribution by process migration:
    • Load-balancing
      Load balancing (computing)
      Load balancing is a computer networking methodology to distribute workload across multiple computers or a computer cluster, network links, central processing units, disk drives, or other resources, to achieve optimal resource utilization, maximize throughput, minimize response time, and avoid...

      .
    • Migrating processes from slower to faster nodes and from nodes that run out of free memory.
  • Migratable sockets for direct communication between migrated processes.
  • Secure run time environment (sandbox) for guest processes.
  • Live queuing – queued jobs preserve their full generic Linux environment.
  • Batch jobs.
  • Checkpoint and recovery.
  • Tools: automatic installation and configuration scripts, on-line monitors.

MOSIX for HPC

MOSIX is most suitable for running HPC applications with low to moderate amount of I/O. Tests of MOSIX show that the performance of several such applications over a 1 Gb/s campus grid is nearly identical to that of a single cluster. It is particularly suitable for:
  • Efficient utilization of grid-wide resources, by automatic resource discovery and load-balancing.
  • Running applications with unpredictable resource requirements or run times.
  • Running long processes, which are automatically sent to grid nodes and are migrated back when these nodes are disconnected from the grid.
  • Combining nodes of different speeds, by migrating processes among nodes based on their respective speeds, current load, and available memory.


A few examples:
  • Scientific applications – genomic, protein sequences, molecular dynamics
    Molecular dynamics
    Molecular dynamics is a computer simulation of physical movements of atoms and molecules. The atoms and molecules are allowed to interact for a period of time, giving a view of the motion of the atoms...

    , quantum dynamics, nano-technology and other parallel HPC
    High-performance computing
    High-performance computing uses supercomputers and computer clusters to solve advanced computation problems. Today, computer systems approaching the teraflops-region are counted as HPC-computers.-Overview:...

     applications.
  • Engineering applications – CFD, weather forecasting
    Weather forecasting
    Weather forecasting is the application of science and technology to predict the state of the atmosphere for a given location. Human beings have attempted to predict the weather informally for millennia, and formally since the nineteenth century...

    , crash simulation
    Crash simulation
    A crash simulation is a virtual recreation of a destructive crash test of a car or a highway guard rail system using a computer simulation in order to examine the level of safety of the car and its occupants. Crash simulations are used by automakers during Computer-Aided Engineering analysis for...

    s, oil industry, ASIC
    ASIC
    ASIC may refer to:* Application-specific integrated circuit, an integrated circuit developed for a particular use, as opposed to a customised general-purpose device.* ASIC programming language, a dialect of BASIC...

     design, pharmaceutical and other HPC applications.
  • Financial modeling
    Financial modeling
    Financial modeling is the task of building an abstract representation of a financial decision making situation. This is a mathematical model designed to represent the performance of a financial asset or a portfolio, of a business, a project, or any other investment...

    , rendering
    Rendering (computer graphics)
    Rendering is the process of generating an image from a model , by means of computer programs. A scene file contains objects in a strictly defined language or data structure; it would contain geometry, viewpoint, texture, lighting, and shading information as a description of the virtual scene...

     farms, compilation farms.

openMosix



After MOSIX became proprietary software
Proprietary software
Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering.Complementary...

 in late 2001, Moshe Bar
Moshe Bar
Moshe Bar is an Israeli technologist, author, investor and entrepreneur.An Israeli and US citizen, he is a co-founder of Qumranet. Qumranet was sold to Red Hat in 2008 for US$ 107 million....

 forked
Fork (software development)
In software engineering, a project fork happens when developers take a legal copy of source code from one software package and start independent development on it, creating a distinct piece of software...

 the last free
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 version and started the openMosix
OpenMosix
openMosix was a free cluster management system that provided single-system image capabilities, e.g. automatic work distribution among nodes. It allowed program processes to migrate to machines in the node's network that would be able to run that process faster...

 project on February 10, 2002.
On July 15, 2007, Bar plans to end the openMosix project effective March 1, 2008, claiming that "the increasing power and availability of low cost multi-core processors is rapidly making single-system image (SSI) clustering less of a factor in computing". These plans were reconfirmed in March 2008. The LinuxPMI
LinuxPMI
LinuxPMI is a Linux Kernel extension for multi-system-image clustering...

 project is continuing development of the former openMosix code.

MOSIX2 for Linux 2.6

  • Meiri E. and Barak A., Parallel Compression of Correlated Files, Proc. IEEE Cluster 2007, Austin, Sept. 2007.
  • Amar L., Stosser J., Barak A. and Neumann D., Economically Enhanced MOSIX for Market-based Scheduling in Grid OS, Workshop on Economic Models and Algorithms for Grid System (EAMGS 2007), 8th IEEE/ACM Int. Conf. on Grid Computing(Grid 2007), Austin, Sept. 2007.
  • Amar L., Barak A., Levy E. and Okun M., An On-line Algorithm for Fair-Share Node Allocations in a Cluster. Proc. 7-th IEEE Int. Symposium on Cluster Computing and the Grid (CCGrid '07), pp. 83–91, Rio de Janeiro, May 2007.
  • Amar L., Barak A., Drezner Z. and Peer I., Gossip Algorithms for Maintaining a Distributed Bulletin Board with Guaranteed Age Properties. TR, 2006.
  • Barak A., Shiloh A. and Amar L., An Organizational Grid of Federated MOSIX Clusters. Proc. 5-th IEEE International Symposium on Cluster Computing and Grid (CCGrid '05), Cardiff, May 2005 .
  • Barak A. and Drezner Z., Gossip-Based Distributed Algorithms for Estimating the Average Load of Scalable Computing Clusters and Grids. Proc. 2004 Int. Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA'04), Las Vegas, NV, June 2004.

MOSIX for Linux 2.2 & 2.4


MOSIX Version 1 book

  • Barak A., Guday S. and Wheeler R., The MOSIX Distributed Operating System, Load Balancing for UNIX. Lecture Notes in Computer Science, Vol. 672, Springer-Verlag, May 1993.

Other

  • Barak A. and La'adan O., The MOSIX Multicomputer Operating System for High Performance Cluster Computing. Journal of Future Generation Computer Systems, Vol. 13, No. 4-5, pp. 361–372, March 1998.
  • Barak A., Laden O. and Yarom Y., The NOW MOSIX and its Preemptive Process Migration Scheme. IEEE TCOS, Vol. 7, No. 2, pp. 5–11, Summer 1995.
  • Haban D., Wybranietz D. and Barak A., Monitoring and Management-Support of Distributed Systems, Proc. European Workshop on Progress in Distributed operating Systems and Distributed System management, pp. 110–137, Berlin, April 1989.
  • Barak A. and Wheeler R., MOSIX: An Integrated Multiprocessor UNIX. Proc. Winter 1989 USENIX Conf., pp. 101–112, San Diego, CA, Feb. 1989.
  • Barak A., Shiloh A. and Wheeler R., Flood Prevention in the MOSIX Load-Balancing Scheme, IEEE-TCOS Newsletter, Vol. 3, No. 1, pp. 24–27, Winter 1989.
  • Barak A. and Kornatzky Y., Design Principles of Operating Systems for Large Scale Multicomputers, Proc. Int. Workshop on Experience with Distributed Systems, pp. 104–123, Kaiserslautern, Sept. 1987. Also, Report RC 13220, IBM T.J. Watson Research Center, Yorktown Heights, NY, Oct. 1987.
  • Alon N., Barak A. and Manber U., On Disseminating Information Reliably Without Broadcasting, Proc. 7-th Int. Conf. on Distributed Computing Systems (ICDCS-7), pp. 74–81 (best conference paper), Berlin, Sept. 1987.
  • Barel A., NSMOS - MOS Port to the National's 32000 Family Architecture. Proc. 2nd Israel Conf. Computer Systems and Soft. Eng., Tel-Aviv, May 1987.
  • Barak A., Drezner Z. and Gurevich Y., On the Number of Active Nodes in a Multicomputer System, Networks, An Int. Journal, Vol. 16, No. 3, pp. 275–282, Fall 1986.
  • Barak A. and Paradise G. O., MOS - Scaling Up UNIX. Proc. Summer 1986 USENIX Conf., pp. 414–418, Atlanta, GA, June 1986.
  • Barak A. and Paradise G. O., MOS - a Load Balancing UNIX. Proc. Autumn 86 EUUG Conf., pp. 273–280, Manchester, Sept. 1986.
  • Drezner Z. and Barak A., An Asynchronous Algorithm for Scattering Information Between the Active Nodes of a Multicomputer System, Journal of Parallel and Distributed Computing, Vol. 3, No. 3, pp. 344–351, Sept. 1986.
  • Barak A. and Shiloh A., A Distributed Load-balancing Policy for a Multicomputer. Software - Practice & Experience, Vol. 15, No. 9, pp. 901–913, Sept. 1985.
  • Barak A. and Litman A., MOS - A Multicomputer Distributed Operating System. Software - Practice & Experience, Vol. 15, No. 8, pp. 725–737, Aug. 1985.
  • Drezner Z. and Barak A., Efficient Algorithms for Routing Information in a Multicomputer System, Distributed Algorithms on Graphs, Carleton Univ. Press, pp. 41–48, Ottawa, Aug. 1985.
  • Barak A., Dynamic Process Control for Distributed Computing, Proc. 3-rd Int. Conf. on Distributed Computing Systems (ICDCS-3), pp. 36–40, Ft. Lauderdale, FL, Oct. 1982.
  • Barak A., Shapir A., Steinberg G. and Karshmer A.I., A Modular, Distributed UNIX. Proc. 14-th Hawaii Int. Conf. on System Science, pp. 740–747, January 1981.
  • Barak A. and Shapir A., UNIX with satellite Processors. Software - Practice & Experience, Vol. 10, No. 5, pp. 383–392, May 1980.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK