Download OpenMosix: A Linux Kernel Extension for Clustering and more Slides Parallel Computing and Programming in PDF only on Docsity!
2
Overview
• openMosix technology overview
• Installation overview
• Usage
• Opportunities
• Limitations
• Benchmarks/Exercises
• OpenMosix vs Beowulf
• Conclusions
3
Brief history of *Mosix projects
- Initially Mosix started out as an application running on BSD/OS 3.0 in 1997
- Early 1999 Mosix M06 Beta was released for Linux 2.2.
- At the end of 2001 and early 2002 openMosix, the open version of Mosix was born.
It appears that Mosix is not any longer supported openly as a GPL project.
5
Run as fast as possible
If your goal is to “ Solve ONE computational problem as soon as possible”
you can:
- buy faster hardware, but:
- budget limit
- technology limit
- separate your problem in N subproblems which can be run “ concurrently” in some part, and run them on more resources. If subproblems are: - stricly dependent => use MPI-like techniques - losely dependent => use fork-like techniques
=> Now goal is reached if you solve these N subproblems as fast as possible
6
Run as many and fast as possible
If your goal is to
“ Solve as many computational problem as soon
as possible”
you want essentially :
• maximize your throughput
• use your resources as best as possible
This goal “ includes” the previous one, but
considers also shared production
environments
8
interactive vs non-interactive approach
Here with “ interactive” we mean that:
- you use unix-like commands to start your process
- your process starts “ immediately”
With “ non-interactive” we mean that:
- you generally use some NON-standard submission command
- your execution request is submitted to a resource manager, and its execution could be “ delayed”
9
Resource manager role
The “ interactive” approach can lead to the
previousely mentioned “ resource contention
risk”
This is solved only using a resource manager
- It is used also for SMP!!!
- It was born with SMP!!!
11
The Loadbalancing problem
With a resource manager, you have to specify the
RESOURCES you need
=>the RM allocate them for you
Drawbacks:
- resource allocation is generally static
- you could have asked more than really needed
The RM deals with a supposed load instead of a
real-time load
12
openMosix Goals
• Turn a network of Linux computers into a
computer cluster
• Hide cluster complexity to users
• Single Sistem Image
• Use resorces as efficiently as possible =>
dynamic load balancing
14
openMosix in a nutshell
• Linux kernel extension for clustering
• 2 tier technology:
1: Information gathering and dissemination
(probabilistic dissemination algorithms)
- Pre-emptive process migration that can migrate any process, anywhere, anytime - transparently Supervised by adaptive algorithms that respond to global resource availability Transparent to applications, no change to user interface
15
openMosix: Process migration
A process starts on a node openMosix responds to the variations in the resource usage by migrating the process from one node to another The process status remains in the originating node Rated resources: speed, free memory, IPC (Inter Process Communications) and I/O Disabling or manual migration options are available
Node 1 Node 2
Node 1 (^) Node 2
P3^ Migration P
P1^ P
P1 P P Phase A: Starting of process P
Phase B: Migration of process P
17
Basic principles /
- Only necessary memory pages are transfered
- some system calls are executed on the home node
- other syscall are executed directly on the remote node
- if home node dies, the process die
- if remote node die, the process die
18
Migration algorithm
Process are migrated according to an economic algorithm for best resource usage (= maximize some kind of formula)
- Every resource has a price (CPU,Memory,etc.)
- target process distribution is the most “ economically” convenient
- each deputy can migrate many times adaptively in order to realize the “ economically” best configuration
20
The N+1 problem
What happens if:
• N nodes
• N+1 heavy tasks
1 task will continuously migrate through the
cluster, with bad performance
Since openMosix 2.4.19 on, this has been fixed
21
Installation overview
Basic steps:
- download and install openMosix kernel patch
- setup for new kernel startup on all nodes
- cluster configuration setup
- just setup a simple file or use the autodiscovery daemon