OpenMosix: A Linux Kernel Extension for Clustering, Slides of Parallel Computing and Programming

Openmosix is an open-source linux kernel patch that enables clustering by turning a network of linux computers into a single system image. It uses a 2-tier technology for information gathering and dissemination, and pre-emptive process migration. An overview of openmosix, its history, goals, and installation process.

Typology: Slides

2011/2012

Uploaded on 07/23/2012

parameshwari
parameshwari 🇮🇳

4.3

(7)

91 documents

1 / 20

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
2
Overview
openMosix technology overview
Installation overview
Usage
Opportunities
Limitations
Benchmarks/Exercises
OpenMosix vs Beowulf
Conclusions
docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14

Partial preview of the text

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)

  1. 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