MOSIX
MOSIX is a proprietary distributed operating system. Although early versions were based on older UNIX systems, since 1999 it focuses on Linux clusters and grids. 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.
History
MOSIX has been researched and developed at The Hebrew University of Jerusalem by the research team of Prof. Amnon Barak. So far, ten major versions have been developed. The first version, called MOS, for Multicomputer OS, was based on Bell Lab's Seventh Edition Unix and ran on a cluster of PDP-11 computers. Later versions were based on Unix System V Release 2 and ran on a cluster of VAX and NS32332-based computers, followed by a BSD/OS-derived version for a cluster of 486/Pentium computers. Since 1999 MOSIX is tuned to Linux for x86 platforms.MOSIX2
The second version of MOSIX, called MOSIX2, compatible with Linux-2.6 and 3.0 kernels. MOSIX2 is implemented as an OS virtualization layer that provides users and applications with 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 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 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 or in a virtual machine. In native mode, performance is better, but it requires modifications to the base Linux kernel, whereas a VM can run on top of any unmodified operating system that supports virtualization, including Microsoft Windows, Linux and Mac OS X.
MOSIX2 is most suitable for running compute intensive applications with low to moderate amount of input/output. Tests of MOSIX2 show that the performance of several such applications over a 1 Gbit/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.
- * 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 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
- 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.
- Scientific applications – genomic, protein sequences, molecular dynamics, quantum dynamics, nano-technology and other parallel HPC applications.
- Engineering applications – CFD, weather forecasting, crash simulations, oil industry, ASIC design, pharmaceutical and other HPC applications.
- Financial modeling, rendering farms, compilation farms.
MOSIX4
openMosix
After MOSIX became proprietary software in late 2001, Moshe Bar forked the last free version and started the openMosix project on February 10, 2002.On July 15, 2007, Bar decided 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 clustering less of a factor in computing". These plans were reconfirmed in March 2008. The LinuxPMI project is continuing development of the former openMosix code.
MOSIX4
- A. Barak and A. Shiloh. white paper, 2016.
- A. Barak and A. Shiloh. , 2015.
MOSIX2 for Linux 2.6
- Meiri E. and Barak A., , Proc. IEEE Cluster 2007, Austin, Sept. 2007.
- Amar L., Stosser J., Barak A. and Neumann D., , Workshop on Economic Models and Algorithms for Grid System, 8th IEEE/ACM Int. Conf. on Grid Computing, Austin, Sept. 2007.
- Amar L., Barak A., Levy E. and Okun M., . Proc. 7-th IEEE Int. Symposium on Cluster Computing and the Grid, 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., . Proc. 5-th IEEE International Symposium on Cluster Computing and Grid, 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, Las Vegas, NV, June 2004.
MOSIX for Linux 2.2 & 2.4
- Okun M. and Barak A., . Journal of Future Generation Computer Systems, Vol. 20, No. 4, pp. 539–547, May 2004.
- Amar L., Barak A. and Shiloh A., . Cluster Computing, Vol. 7, No. 2, pp. 141–150, April 2004.
- Keren A. and Barak A., . IEEE Tran. Parallel and Distributed Systems, Vol. 14, No. 1, pp. 39–50, January 2003.
- Amar L., Barak A. and Shiloh A., The MOSIX Parallel I/O System for Scalable I/O Performance. Proc. 14-th IASTED Int. Conference on Parallel and Distributed Computing and Systems, pp. 495–500, Cambridge, MA, Nov. 2002.
- Amir Y., Awerbuch B., Barak A., Borgstrom R.S. and Keren A., . IEEE Tran. on Parallel and Distributed Systems, Vol. 11, No. 7, pp. 760–768, July 2000.
- McClure S. and Wheeler R., . Proc. 2000 USENIX Annual Tech. Conf., pp. 49–56, San Diego, CA., June 2000.
- Amar L., Barak A., Eizenberg A. and Shiloh A.,. The MOSIX Scalable Cluster File Systems for LINUX, June 2000.
- Barak A., La'adan O. and Shiloh A., . Proc. 5-th Annual Linux Expo, pp. 95–100, Raleigh, NC, May 1999.
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., . 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, pp. 74–81, 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, 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.