Hlavní navigace

MOSIX - Počítejte rychleji! (2)

Michal Ludvig 25. 9. 2001

V minulém dílu jsme si na příkladu "ze života" ukázali, jak výpočetní cluster funguje a na jaké problémy můžeme při jeho provozu narazit. Dnes vám již poradím, jak si nainstalovat cluster vlastní.

Pokud jste vykonali, co jsem vám na konci minulého dílu uložil za domácí úkol, máte teď k dispozici několik sesíťovaných počítačů. Abychom mohli používat Mosix, budeme si muset přeložit vlastní jádro. Každá verze Mosixu je pevně svázána s určitou verzí linuxového jádra a pro úspěšné používání byste měli používat stejně nakonfigurovaná jádra stejných verzí na všech uzlech. Já v současné době používám kernel 2.4.9 s Mosixem 1.3.0 a na těchto verzích vám také popíšu konfiguraci.

Instalace jádra

Nejprve si samozřejmě musíme obstarat zdrojáky kernelu (například z Kernel.org) a odpovídající verzi Mosixu z Mosix.org (download najdeme v sekci Distribution). Zdrojáky kernelu i Mosixu rozbalíme například v adresáři /tmp, kde tímto získáme podadresáře linux a MOSIX-1.3.0. Nyní máme na výběr dvě možnosti – buď instalovat Mosix automaticky pomocí skriptu MOSIX-1.3.0/mosix.in­stall, nebo ručně, což je větší zábava a navíc tak můžeme udělat více chyb. Takže zvolíme druhou možnost, přejdeme do adresáře /tmp/linux a zadáme příkaz

patch -p1 < ../MOSIX-1.3.0/patches.2.4.9

čímž získáme modifikovaný kernel-tree toužící po kompilaci. Nejprve samozřejmě musíme naše budoucí jádro nakonfigurovat, což zajistíme příkazem make menuconfig (případně make xconfig, nebo postaru make config – podle toho, jak to komu nejvíce vyhovuje). V menu nejspíš ihned zaregistrujeme novou položku MOSIX, která umožňuje přístup k několika dalším volbám. Stručně si je popíšeme spolu s doporučením, zda volbu zapnout [+], nebo ne [-]:

[+] MOSIX process migration support
Pokud chcete procesům umožnit migraci mezi uzly, zaškrtněte tuto volbu. Pokud se však rozhodnete, že migraci povolit nechcete, nemá cenu dál konfigurovat kernel s podporou Mosixu ani číst tento článek. S případnými odpadlíky se tedy v tomto okamžiku loučím.
[-] Support clusters with a complex network topology
V případě, že všechny uzly vašeho clusteru jsou připojeny k jedinému switchi, tuto volbu nepotřebujete. Pokud však používáte uzly s různou rychlostí připojení, výrazně odlišným síťovým hardware nebo jinou „komplexní“ topologii, zaškrtněte tuto volbu. Všechny uzly vašeho clusteru však v tomto bodě musí být nakonfigurovány stejně.
[-] MOSIX Kernel Debugger
Pokud vám některý uzel spadne a vy chcete zjistit, kde a proč se tak stalo, zapněte tuto volbu.
[+] Stricter security on MOSIX ports
Mosix ke komunikaci mezi uzly samozřejmě používá několik TCP a UDP portů. Pokud chcete zajistit vyšší bezpečnost (převážně u uzlů přístupných zvnějšku clusteru), je tato volba určena pro vás.
[3] Level of process-identity disclosure
Odmigruje-li proces ze svého home-node, je možné o něm na jeho aktuálním uzlu zjistit několik údajů. Čím vyšší hodnotu zde nastavíte, tím více údajů budete mít na hostitelském uzlu k dispozici. Pokud vám nebrání paranoia, zvolte nejvyšší hodnotu, tedy trojku.
[+] Create the kernel with a „-mosix“ extension
Pokud chcete, aby verze kernelu byla 2.4.9-mosix místo 2.4.9, zapněte tuto volbu.
[+] Direct File-System Access
DFSA umožňuje odmigrovanému procesu přistupovat ke sdílenému filesystému lokálně na aktuálním uzlu. V opačném případě se všechny IO-syscally musí forwardovat na home-node, což je zdlouhavé a navíc to home-node odrazuje od migrací (pokud proces vykonává spoustu přístupů k souborům, je režie s tím spojená tak vysoká, že je výhodnější proces nechat běžet „doma“). Všechny uzly musí být v tomto i následujícím bodě nakonfigurovány stejně.
[+] MOSIX File-System
MFS je filesystem zajišťující konzistenci dat mezi uzly a zároveň jeden ze dvou FS podporujících DFSA. Každý node si může namountovat MFS, díky čemuž bude mít přístup k téměř všem souborům všech aktivních uzlů.
[+] Poll/Select exceptions on pipes
Jestliže vaše programy používají roury (pipe) a chtějí být upozorňovány na skutečnost, že z nich již nikdo nečte, zapněte tuto volbu.

Zbytek kernelu nakonfigurujte podle svých zvyklostí a potřeb a přeložte. Měli byste použít gcc 2.91.66 (neboli egcs 1.1.2), který v případě RedHatu bývá nainstalován jako kgcc, protože jiné verze mohou generovat chybný kód. Já osobně však používám gcc 2.95.3 a nezaznamenal jsem žádné problémy. K hotovému jádru dále překompilujte patřičné moduly, nainstalujte je a nové jádro nabootujte.

Instalace utilit

Přejděte do adresáře /tmp/MOSIX-1.3.0, vytvořte v něm podadresář user a příkazem

tar xvf user.tar -C user

do něj rozbalte zdrojové soubory utilit. Nyní přejděte do právě vytvořeného adresáře user a editujte soubor Rules.make tak, aby u proměnné CFLAGS bylo místo původního -I/usr/src/linux skutečné umístění zdrojáků mosix-kernelu, tedy -I/tmp/linux. Nyní by příkazem make mělo dojít k bezchybnému překompilování všeho potřebného. Příkazem make install vytvořené programy včetně dokumentace nainstalujete a dále pomocí

tar xvf manuals.tar -C/usr/man

rozbalíte na své místo manuálové stránky ke konfiguračním souborům, DFSA a MFS. Tím je základní instalace prakticky dokončena. Za domácí úkol toto proveďte na všech strojích budoucího clusteru, abychom si ho příště již mohli nakonfigurovat a spustit.

Našli jste v článku chybu?

5. 10. 2001 8:35

Michal Ludvig (neregistrovaný)

A dal jste "make bzImage", nebo "make zImage"? Druhy pripad by pravdepodobne ohlasil vami uvedenou chybu, zatimco prvni by mel projit v pohode. Pokud by vam to presto neslo, zkusime to vyresit mailem.

3. 10. 2001 23:30

Jeff Sipek (neregistrovaný)

No, zaujal me clanek o Mosixu, a tak jsem se rozhod, ze si to zkusim taky, ale....po stazeni oboji Mosix 1.3.0 a Kernelu 2.4.9, jsem zacal postupovat podle instrukci, nejdriv patch

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

DigiZone.cz: Další dva kanály nabídnou HbbTV

Další dva kanály nabídnou HbbTV

Vitalia.cz: I církev dnes vyrábí potraviny

I církev dnes vyrábí potraviny

Vitalia.cz: Jak koupit Mikuláše a nenaletět

Jak koupit Mikuláše a nenaletět

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

Vitalia.cz: 9 největších mýtů o mase

9 největších mýtů o mase

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

DigiZone.cz: NG natáčí v Praze seriál o Einsteinovi

NG natáčí v Praze seriál o Einsteinovi

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu

Vitalia.cz: „Připluly“ z Německa a možná obsahují jed

„Připluly“ z Německa a možná obsahují jed

Vitalia.cz: Říká amoleta - a myslí palačinka

Říká amoleta - a myslí palačinka

Lupa.cz: Avast po spojení s AVG propustí 700 lidí

Avast po spojení s AVG propustí 700 lidí

Lupa.cz: UX přestává pro firmy být magie

UX přestává pro firmy být magie

120na80.cz: Rakovina oka. Jak ji poznáte?

Rakovina oka. Jak ji poznáte?

Podnikatel.cz: EET zvládneme, budou horší zákony

EET zvládneme, budou horší zákony

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?