Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
MOSIX
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Distributed operating system}} {{Infobox software | name = MOSIX | developer = Amnon Barak<ref name='faq'>{{cite web|url=http://www.mosix.cs.huji.ac.il/faq/output/faq_toc.html |title=MOSIX Frequently Asked Questions }}</ref> | latest release version = 4.4.4<ref name='changelog'>{{cite web|url=http://www.mosix.cs.huji.ac.il/txt_changelog.html |title=MOSIX Changelog}}</ref> | latest release date = {{Start date and age|df=yes|2017|10|24}} | operating system = [[Linux]] | genre = [[Cluster (computing)|Cluster software]] | website = {{URL|http://www.mosix.cs.huji.ac.il/index.html}} | license = own<ref name='dist'>{{URL|http://www.mosix.cs.huji.ac.il/txt_distributions.html}}</ref> }} <!-- Unsourced image removed: [[Image:Mosix.gif|thumb|Mosix Cluster]] --> '''MOSIX''' is a proprietary [[distributed operating system]].<ref>The MOSIX distributed operating system: Load balancing for UNIX, volume 672 of [[Lecture Notes in Computer Science]]. Springer-Verlag, New York, 1993</ref> Although early versions were based on older [[UNIX]] systems, since 1999 it focuses on [[Linux]] [[Computer cluster|clusters]] and [[Grid computing|grid]]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 [[Symmetric multiprocessing|SMP]]. == History == MOSIX has been researched and developed [http://www.mosix.org/wiki/index.php/History_of_MOSIX since 1977] 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'', (1981β83) 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 (1987β89) and ran on a cluster of [[VAX]] and [[NS320xx|NS32332]]-based computers, followed by a [[BSD/OS]]-derived version (1991β93) 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 [[Operating system-level virtualization|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 (sequential and parallel) applications while MOSIX transparently and automatically seeks resources and migrates processes among nodes to improve the overall performance. MOSIX2 can manage a [[computer cluster|cluster]] and a multicluster ([[Grid computing|grid]]) 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]] (VM). 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]] (I/O). 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.{{Citation needed|date=November 2007}} ==== 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 (computing)|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 (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 [[High-performance computing|HPC]] applications with low to moderate amount of I/O. Tests of MOSIX show that the performance of several such applications over a 1 Gbit/s campus grid is nearly identical to that of a single cluster.{{Citation needed|date=November 2007}} It is particularly suitable for: * Efficient utilization of grid-wide resources, by automatic resource discovery and load-balancing.{{Citation needed|date=November 2007}} * Running applications with unpredictable resource requirements or run times.{{Citation needed|date=November 2007}} * Running long processes, which are automatically sent to grid nodes and are migrated back when these nodes are disconnected from the grid.{{Citation needed|date=November 2007}} * Combining nodes of different speeds, by migrating processes among nodes based on their respective speeds, current load, and available memory.{{Citation needed|date=November 2007}} A few examples: * Scientific applications β [[genomic]], [[protein sequence]]s, [[molecular dynamics]], quantum dynamics, [[nano-technology]] and other parallel HPC applications. * Engineering applications β CFD, [[weather forecasting]], [[crash simulation]]s, oil industry, [[ASIC]] design, pharmaceutical and other HPC applications. === MOSIX4 === MOSIX4 was released in July 2014.<ref name='changelog' /> As of version 4, MOSIX doesn't require kernel patching.<ref name='changelog' /> == openMosix == After MOSIX became [[proprietary software]] in late 2001, [[Moshe Bar (investor)|Moshe Bar]] [[Fork (software development)|forked]] the last [[free software|free]] version and started the [[openMosix]] project on February 10, 2002.<ref>[http://openmosix.sourceforge.net/ the openMosix Project].</ref> 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 (SSI) clustering less of a factor in computing". These plans were reconfirmed in March 2008.<ref>{{Cite web | url=http://sourceforge.net/projects/openmosix/ | title=OpenMosix }}</ref> The [[LinuxPMI]] project is continuing development of the former openMosix code. == Further reading == === MOSIX4 === * A. Barak and A. Shiloh. [http://www.mosix.cs.huji.ac.il/pub/MOSIX_wp.pdf The MOSIX Cluster Management System for Distributed Computing on Linux Clusters and Multi-Cluster private Clouds] white paper, 2016. * A. Barak and A. Shiloh. [http://www.mosix.cs.huji.ac.il/pub/Guide.pdf MOSIX Administrator's, User's and Programmer's Guides and Manuals. Revised for MOSIX-4.3], 2015. === MOSIX2 for Linux 2.6 === * Meiri E. and Barak A., [https://web.archive.org/web/20080509160651/http://www.cluster2007.org/program.php#TP9A Parallel Compression of Correlated Files], Proc. IEEE Cluster 2007, Austin, Sept. 2007. * Amar L., Stosser J., Barak A. and Neumann D., [https://web.archive.org/web/20120810025028/http://www.grid2007.org/?m_b_c=workshops 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., [http://csdl2.computer.org/persagen/DLAbsToc.jsp?resourcePath=/dl/proceedings/ccgrid/&toc=comp/proceedings/ccgrid/2007/2833/00/2833toc.xml&DOI=10.1109/CCGRID.2007.22 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., [http://csdl2.computer.org/persagen/DLAbsToc.jsp?resourcePath=/dl/proceedings/&toc=comp/proceedings/ccgrid/2005/9074/01/9074toc.xml&DOI=10.1109/CCGRID.2005.1558576 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 === * Okun M. and Barak A., [http://authors.elsevier.com/sd/article/S0167739X03001729 Atomic Writes for Data Integrity and Consistency in Shared Storage Devices for Clusters]. Journal of Future Generation Computer Systems, Vol. 20, No. 4, pp. 539β547, May 2004. * Amar L., Barak A. and Shiloh A., [https://web.archive.org/web/20070709230912/http://www.mosix.org/pub/dfsa.pdf The MOSIX Direct File System Access Method for Supporting Scalable Cluster File Systems]. Cluster Computing, Vol. 7, No. 2, pp. 141β150, April 2004. * Keren A. and Barak A., [http://www.mosix.org/pub/ocipc.pdf Opportunity Cost Algorithms for Reduction of I/O and Interprocess Communication Overhead in a Computing Cluster]. 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 (PDCS 2002), pp. 495β500, Cambridge, MA, Nov. 2002. * Amir Y., [[Baruch Awerbuch|Awerbuch B.]], Barak A., Borgstrom R.S. and Keren A., [http://www.mosix.org/pub/ocja.pdf An Opportunity Cost Approach for Job Assignment in a Scalable Computing Cluster]. IEEE Tran. on Parallel and Distributed Systems, Vol. 11, No. 7, pp. 760β768, July 2000. * McClure S. and Wheeler R., [https://web.archive.org/web/20070709233804/http://www.mosix.org/pub/usenix.pdf MOSIX: How Linux Clusters Solve Real World Problems]. 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., [https://web.archive.org/web/20070709225823/http://www.mosix.org/pub/mosix4linux.pdf Scalable Cluster Computing with MOSIX for LINUX]. 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., [https://web.archive.org/web/20070709230700/http://www.mosix.org/pub/mosixhpcc.pdf 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. == See also == * [[LinuxPMI]] * [[OpenMOSIX]] == Notes == {{Reflist}} == External links == * [http://www.mosix.org/ MOSIX homepage] {{Distributed operating systems}} {{DEFAULTSORT:Mosix}} [[Category:Cluster computing]] [[Category:Grid computing]] [[Category:Internet Protocol based network software]] [[Category:Parallel computing]] [[Category:Distributed operating systems]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Citation needed
(
edit
)
Template:Cite web
(
edit
)
Template:Distributed operating systems
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Main other
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Template other
(
edit
)