clusters voor iedereen - ghent universitygvernaev/slides/cluster2/cluster2.pdf · configureerbaar...

29
MOSIX Clusters voor iedereen Geert Vernaeve & Jan De Beule Ghent University Mosix: clusters voor iedereen – p.1/10

Upload: others

Post on 12-Feb-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

MOSIXClusters voor iedereen

Geert Vernaeve & Jan De Beule

Ghent University

Mosix: clusters voor iedereen – p.1/10

Page 2: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Clusters voor iedereen?

• Standaard huis-, tuin- en keukenhardware

(d.i. x86 hardware)• Open source software

Mosix: clusters voor iedereen – p.2/10

Page 3: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Clusters voor iedereen?

• Standaard huis-, tuin- en keukenhardware(d.i. x86 hardware)

• Open source software

Mosix: clusters voor iedereen – p.2/10

Page 4: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Clusters voor iedereen?

• Standaard huis-, tuin- en keukenhardware(d.i. x86 hardware)

• Open source software

Mosix: clusters voor iedereen – p.2/10

Page 5: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Wat is mosix?

Patch voor de Linux kernel die vooral loadbalancing aanbiedt.

Processen kunnen migreren van een zwaarbelaste machine naar een minder zwaar belastemachine.

Het geheel gedraagt zich ongeveer als eenmultiprocessor machine.

Mosix: clusters voor iedereen – p.3/10

Page 6: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Wat is mosix?

Patch voor de Linux kernel die vooral loadbalancing aanbiedt.

Processen kunnen migreren van een zwaarbelaste machine naar een minder zwaar belastemachine.

Het geheel gedraagt zich ongeveer als eenmultiprocessor machine.

Mosix: clusters voor iedereen – p.3/10

Page 7: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Wat is mosix?

Patch voor de Linux kernel die vooral loadbalancing aanbiedt.

Processen kunnen migreren van een zwaarbelaste machine naar een minder zwaar belastemachine.

Het geheel gedraagt zich ongeveer als eenmultiprocessor machine.

Mosix: clusters voor iedereen – p.3/10

Page 8: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Migratie van processen

A

B C

� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �

� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �

� � �� � �� � �� � �� � �� � �� � �� � �� � �� � �� � �� � �� � �� � �� � �

� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � � �� � � � � � �� � � � � � �

� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � �� � � � � � �� � � � � � �

� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � � �� � � � � � �� � � � � � �

� � � � � �� � � � � �� � � � � �

Stel dat er op A drie pro-gramma’s draaien terwijlB en C niets staan tedoen

Mosix: clusters voor iedereen – p.4/10

Page 9: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Migratie van processen

A

B C

� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �

� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �

� � �� � �� � �� � �� � �� � �� � �� � �� � �� � �� � �� � �� � �� � �� � �

� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � � �� � � � � � �� � � � � � �

� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � �� � � � � � �� � � � � � �

� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � � �� � � � � � �� � � � � � �

� � � � � �� � � � � �� � � � � �

Processen zullen migre-ren naar B en C: loadbalancing. Er blijft tel-kens een deputy achterop A

Mosix: clusters voor iedereen – p.4/10

Page 10: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Migratie van processen

A

B C

� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �

� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �

� � �� � �� � �� � �� � �� � �� � �� � �� � �� � �� � �� � �� � �� � �� � �

� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � � �� � � � � � �� � � � � � �

� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � �� � � � � � �� � � � � � �

� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � � �� � � � � � �� � � � � � �

� � � � � �� � � � � �� � � � � �

Het kan altijd ingewik-kelder: programma’skunnen ook op B en Cgestart worden

Mosix: clusters voor iedereen – p.4/10

Page 11: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Kenmerken

• Alle nodes zijn gelijkwaardig (geen ‘master’)

• Fork and forget: programma’s hoeven nietspeciaal aangepast te worden

• Grote schaal (van 2 tot 2000 tot . . . nodes)• Nodes mogen sterk verschillen (386 + dual

Pentium IV; trage/snellenetwerkverbindingen)

• Dynamische load balancing• Geen checkpointing (“niet de taak van de

kernel”)

Mosix: clusters voor iedereen – p.5/10

Page 12: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Kenmerken

• Alle nodes zijn gelijkwaardig (geen ‘master’)• Fork and forget: programma’s hoeven niet

speciaal aangepast te worden (threadsworden evenwel niet verspreid maar blijven bijelkaar)

• Grote schaal (van 2 tot 2000 tot . . . nodes)• Nodes mogen sterk verschillen (386 + dual

Pentium IV; trage/snellenetwerkverbindingen)

• Dynamische load balancing• Geen checkpointing (“niet de taak van de

kernel”)

Mosix: clusters voor iedereen – p.5/10

Page 13: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Kenmerken

• Alle nodes zijn gelijkwaardig (geen ‘master’)• Fork and forget: programma’s hoeven niet

speciaal aangepast te worden• Grote schaal (van 2 tot 2000 tot . . . nodes)

• Nodes mogen sterk verschillen (386 + dualPentium IV; trage/snellenetwerkverbindingen)

• Dynamische load balancing• Geen checkpointing (“niet de taak van de

kernel”)

Mosix: clusters voor iedereen – p.5/10

Page 14: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Kenmerken

• Alle nodes zijn gelijkwaardig (geen ‘master’)• Fork and forget: programma’s hoeven niet

speciaal aangepast te worden• Grote schaal (van 2 tot 2000 tot . . . nodes)• Nodes mogen sterk verschillen (386 + dual

Pentium IV; trage/snellenetwerkverbindingen)

• Dynamische load balancing• Geen checkpointing (“niet de taak van de

kernel”)

Mosix: clusters voor iedereen – p.5/10

Page 15: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Kenmerken

• Alle nodes zijn gelijkwaardig (geen ‘master’)• Fork and forget: programma’s hoeven niet

speciaal aangepast te worden• Grote schaal (van 2 tot 2000 tot . . . nodes)• Nodes mogen sterk verschillen (386 + dual

Pentium IV; trage/snellenetwerkverbindingen)

• Dynamische load balancing : draaiendeprocessen migreren over en weer als er eennode meer of minder werk te doen krijgt

• Geen checkpointing (“niet de taak van dekernel”)

Mosix: clusters voor iedereen – p.5/10

Page 16: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Kenmerken

• Alle nodes zijn gelijkwaardig (geen ‘master’)• Fork and forget: programma’s hoeven niet

speciaal aangepast te worden• Grote schaal (van 2 tot 2000 tot . . . nodes)• Nodes mogen sterk verschillen (386 + dual

Pentium IV; trage/snellenetwerkverbindingen)

• Dynamische load balancing• Geen checkpointing (“niet de taak van de

kernel”)Mosix: clusters voor iedereen – p.5/10

Page 17: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Vereisten

• x86 processor

• identieke kernelversie• programma moet paralleliseerbaar zijn• programma mag geen ‘speciale dingen’ doen

• voor het overige weinig beperkingen:hardware mag sterk heterogeen zijn

• . . .

Mosix: clusters voor iedereen – p.6/10

Page 18: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Vereisten

• x86 processor• identieke kernelversie

• programma moet paralleliseerbaar zijn• programma mag geen ‘speciale dingen’ doen

• voor het overige weinig beperkingen:hardware mag sterk heterogeen zijn

• . . .

Mosix: clusters voor iedereen – p.6/10

Page 19: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Vereisten

• x86 processor• identieke kernelversie• programma moet paralleliseerbaar zijn in

verschillende processen (geen threads)

• programma mag geen ‘speciale dingen’ doen

• voor het overige weinig beperkingen:hardware mag sterk heterogeen zijn

• . . .

Mosix: clusters voor iedereen – p.6/10

Page 20: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Vereisten

• x86 processor• identieke kernelversie• programma moet paralleliseerbaar zijn• programma mag geen ‘speciale dingen’ doen

(direkt I/O devices manipuleren, schrijfbaarshared memory, real-time scheduling, . . . )

• voor het overige weinig beperkingen:hardware mag sterk heterogeen zijn

• . . .

Mosix: clusters voor iedereen – p.6/10

Page 21: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Vereisten

• x86 processor• identieke kernelversie• programma moet paralleliseerbaar zijn• programma mag geen ‘speciale dingen’ doen• voor het overige weinig beperkingen:

hardware mag sterk heterogeen zijn

• . . .

Mosix: clusters voor iedereen – p.6/10

Page 22: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Configureerbaar

• B.v. een ‘parasitaire’ node die wel processennaar de rest van de cluster weg migreertmaar geen inkomende processen van anderenodes aanvaardt

• B.v. bureaucomputer om 6 PM volledig in decluster schakelen, om 8 AM in ‘parasitaire’stand

• Diskless cluster: enkel één node heeft eendisk; vanaf deze node worden alle processengestart en de andere nodes staan enkel tewachten op gemigreerde processen

• . . .

Mosix: clusters voor iedereen – p.7/10

Page 23: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Configureerbaar

• B.v. een ‘parasitaire’ node• B.v. bureaucomputer om 6 PM volledig in de

cluster schakelen, om 8 AM in ‘parasitaire’stand

• Diskless cluster: enkel één node heeft eendisk; vanaf deze node worden alle processengestart en de andere nodes staan enkel tewachten op gemigreerde processen

• . . .

Mosix: clusters voor iedereen – p.7/10

Page 24: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Configureerbaar

• B.v. een ‘parasitaire’ node• B.v. bureaucomputer om 6 PM volledig in de

cluster schakelen, om 8 AM in ‘parasitaire’stand

• Diskless cluster: enkel één node heeft eendisk; vanaf deze node worden alle processengestart en de andere nodes staan enkel tewachten op gemigreerde processen

• . . .

Mosix: clusters voor iedereen – p.7/10

Page 25: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Configureerbaar

• B.v. een ‘parasitaire’ node• B.v. bureaucomputer om 6 PM volledig in de

cluster schakelen, om 8 AM in ‘parasitaire’stand

• Diskless cluster: enkel één node heeft eendisk; vanaf deze node worden alle processengestart en de andere nodes staan enkel tewachten op gemigreerde processen

• . . .

Mosix: clusters voor iedereen – p.7/10

Page 26: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Demo

Mosix: clusters voor iedereen – p.8/10

Page 27: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Tools

• Mosix tools: mosmon, mosctl, mtop, . . .

• Standaard Unix tools: dsh, rsync (eventueelgecombineerd), . . .

Mosix: clusters voor iedereen – p.9/10

Page 28: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

Tools

• Mosix tools: mosmon, mosctl, mtop, . . .• Standaard Unix tools: dsh, rsync (eventueel

gecombineerd), . . .

Mosix: clusters voor iedereen – p.9/10

Page 29: Clusters voor iedereen - Ghent Universitygvernaev/slides/cluster2/cluster2.pdf · Configureerbaar † B.v. een ‘parasitaire’ node die wel processen naar de rest van de cluster

openMosix Summit 2005

openMosix Summit 2005

26–27 februari 2005

in Brussel als onderdeel van fosdem (ziehttp://www.fosdem.org/ enhttp://www.openmosix.org)

Mosix: clusters voor iedereen – p.10/10