Bill Farner Peter Zalewski What is openMosix? kernel extension for Single-System Linux kernel extension for Single-System Image (SSI) clustering Image (SSI) clustering BeganBegan 2002 2002 in in when Mosix became when Mosix became proprietary proprietary Requires no additional libraries Requires no additional libraries Cluster behavesCluster behaves as as a ‘virtual SMP’ a ‘virtual SMP’ machine machine Scalable, adaptiveScalable, adaptive distributive computing distributive computing • • • • • • • • • • openMosix Details Pre-emptive Process Migration Adaptive Resource Sharing Algorithms Decentralized Control and Scalability File System Auto Discovery Checkpointing Implementation • • • • • • • Contains program code, stack, data, memory-maps and registers of the process Contains description of resources the process is attached to Preemptive Process Migration • • Occurs when processing requirements at node exceeds threshold levels for that node Moves process from UHN to a remote node User context is moved to remote node System context is not moved • • • • Algorithms

Adaptive Resource Sharing Prevents thrashing and excessive swapping of processes Costs of resources are not comparable Uses economic principles and competitive analysis Mechanism exists for handling I/O intensive processes • • • • Memory ushering Load balancing • • Scalability

Decentralized Control and No need to know entire cluster topology • No central control or master / slave relationship Each node makes control decisions independently Each node communicates with random nodes As a result scalability increases • • • • File System Cache Consistency Timestamp Consistency Link Consistency Runs on top of a cluster file system Remote processes can execute system calls locally • • • • • oMFS – File System openMosix Provides features that NFS doesn't: DFSA – Direct File System Access • • • Other Features Nodes can be added seamlessly to the cluster while it is still running Process context can be saved to file and later restored and operation can resume Useful for tasks with long execution time or programs which do not have a resume mechanism Helps overcome the effects of system instability, power failures and reboots • • • • Autodiscovery Checkpointing • • Developed by students at the Pune University, India •

Shared Memory Implementation MigShm – of Shared Memory Migration Problem: openMosix destroys the memory map on the current node and re-creates it remote node Uses a modular design • • • MigShm Modules Most important; enables shared memory processes to be migrated at any point during execution • Migration of shared memory processes Communication Module Consistency Module Access to logs and migration decisions Migration of shared memory Thread migration • • • • • •

openMosix

Code Changes Required to use Code Changes Required to use Other SSI Implementations Offers high availability High IPC overhead after process migration Relatively new No support for hot addition/removal node Node crash can lead to cluster • • • • • OpenSSI Kerrighed • • Process Migration Time Why use openMosix? Requires no special programming Requires no special programming Automatic load-balancing (CPU and memory) Automatic load-balancing (CPU and memory) Easy installation, zero configuration Easy installation, zero configuration (autodiscovery) (autodiscovery) Highly scalable Highly scalable Decentralized (no requirement forDecentralized (no requirement for master) master) a a Options for improved manageability Options for improved manageability Nodes do not need to be identical* Nodes do not need to be identical* Cost effective Cost effective • • • • • • • • • • • • • • • •

Shortcomings of openMosix Unable to migrate threads Unable to migrate threads Will not migrate shared memory Will not migrate shared memory applications applications Greater number of nodes does not improve Greater number of nodes does not improve performance for a single process performance for a single process Operates as a kernel patch Operates as a kernel patch • • • • • • • • More shortcomings… No securityNo security (assumes (assumes private, private, trusted trusted network) network) Single nodeSingle node failure could crash entire failure could crash entire cluster cluster Not well-suited for I/O intensive Not well-suited for I/O intensive applications applications • • • • • • Installing openMosix Manual compilation RPMs available Apt packages Administration Monitoring • • • • • Kernel Patch Userland Tools • • Monitoring Questions?