Tvorba počítačových clusterů pomocí Linuxu Řešitel: Petr Ciml Vedoucí práce: Mgr. Jiří Pech, Ph.D. Katedra informatiky ik
Zásady pro vypracování Pod pojmem počítačový cluster zde rozumíme skupinu více počítačů pracujících společně na jednom úkolu. Cílem této práce je: Podat přehled o aktuálním stavu problematiky počítačových clusterů. Popsat vhodnost jednotlivých operačních systémů při tvorbě počítačových clusterů. Vb Vybrat vhodnou hd linuxovou distribuci ib i pro sestavení počítačového clusteru. Sestavit pomocí ní počítačový cluster nejméně ze dvou počítačů a toto popsat. 2
Cíle práce Teoretické vysvětlení odlišností mezi jednotlivými druhy clusterů. Popsání postupů implementace pro vybraná clusterová řešení (spolu s první praktickou částí sestavení počítačového clusteru). Shrnutí a ucelení problematiky. Porovnání výhod a nevýhod jednotlivých řešení. V závislosti na množství prostředků - otestování vhodnosti jednotlivých řešení pro určité úlohy (další praktická část napsání několika aplikací s různým zaměřením a otestování na jednotlivých clusterových řešeních). 3
Teoretický ýúvod Pojem počítačový cluster[ klástr ](=shluk) shluk) chápeme jako skupinu počítačů navenek chovajících se jako jeden stroj. Ke zřízení clusteru obvykle vedou tři různé důvody: Potřeba vysoké dostupnosti služby (High-availability nebo failover cluster). Potřeba vysokého výkonu (HPC-High-performance- computing). Potřeba rozložení zátěže (Load ballancing nebo scallable cluster). 4
Failover nebo-li High-availability Dnes nejčastější důvod ke konstrukci clusteru, zajištění dostupnosti kritických služeb (důležité databáze, frekventované stránky atd.). Projekt LinuxHA heartbeat. Problémy s přesunem uložistě distribuované FS, replikace. Nejvhodnějším řešením je virtualizace (Novell VMware, Microsoft Hyper-V). 5
HPC-High-performance-computing Využití všech počítačů v clusterové síti k výpočtu jediné úlohy. Na tomto poli má open source software výrazně vyšší a kvalitnější zastoupení. MOSIX podpora p HPC přímo v jádře OS Linux. PVM Parallel Virtual Machine, knihovna pro aplikace cílené na clusterové zpracování. MPI - Message Passing Interface Knihovna pro Fortran/C/C++. OpenMP Podobné, ale novější MPI. 6
Scallable cluster Slouží k symetrickému rozložení zátěže mezi více počítačů. Výkonovou zátěž většinou velmi dobře rozkládají i HPC clustery. Použití především pro zátěž na připojení. Nutná efektivní replikace dat. Výsledný efekt zároveň tvoří failover cluster (stejná služba se stejnými daty na více počítačích zajišťuje vysokou dostupnost) 7
Motivace pro studium clusterůů Většině budoucích absolventů oborů se zaměřením na IT se bude znalost clusterů v praxi (hlavně administrátorské) velmi hodit. Ne však výkonových, ý ale vysoce dostupných (High-availability). Uplatnění výkonového Linuxového clusteru v praxi je spíše vyjímečné, odborníci na tyto technologie mají uplatnění na akademické půdě, případně ve firmě realizující clustery na zakázku. k Programátorům by znalost paralelního vývoje mohla přinést v budoucnu některé výhody. 8
Využitelnost výkonových clusterů v praxi Akademická půda výuka paralelního programování, práce na matematických, fyzikálních apod. projektech. Velmi levná možnost cluster může běžet přes noc v nevyužitých učebnách. Středně velké a velké firmy mohou potřebovat vysoký výkon na vyhodnocení statistických dat a reportů. Speciální extrémně výkonné superpočítače (Většinou vč. speciálního hw a sw. včetně OS). Tzv. Grid Clustery celosvětová síť dobrovolníků poskytujících ktjííhvýkon svých ýhpc pro různé ů éúčely (seti@home, folding@home ) 9
Má metodika + stav práce Důkladné seznámení se s teorií jak Linoxových HPC clusterových řešení (hlavní zaměření práce) tak i konkurenčních řešení, které budou sloužit k porovnání a rozšíření přehledu o problematice. Splněno. Stavba MOSIX clusteru a její dokumentování. Ve fázi přípravy HW. Otestování knihoven MPI a PVM. Napsání sady jednoduchých programů. Ve fázi studia knihoven. Porovnání výhod a nevýhod jednotlivých řešení, benchmarky. Proveditelné až na funkčním clusteru. 10
Výběr ě vhodného OS Zatím jednoznačně nejlepším OS který jsem na trhu objevil je Microsoft Windows HPC Server 2008 (500 $/node). Musím však vybírat z Linuxových distribucí. Zde bych zvolil SUSE Linux Enterprise Server. Jako komunitní distribuci (zcela zdarma) bych volil Debian. Rád bych vyzkoušel všechny možnosti (komerční sw. vč. Windows Serveru existuje v trial verzích) 11
Problémy Zadání práce ji předurčuje spíše teoretický obsah. Předvedení praktické části u obhajoby je velmi těžko proveditelné. Má špatná angličtina spolu s neexistencí zdrojů v českém jazyce mi nepříjemně zpomaluje a komplikuje práci. I anglické zdroje jsou mnohdy nevyhovující (velmi špatná dokumentace je známým problémem open-source řešení). Za těchto podmínek je těžké udělat onen žádaný hrdinský čin, řekl bych že je jím vůbec práce s open-source softwarem a s jeho dokumentací. 12
Použitá literatura Použité literatury je velmi mnoho, přikládám odkaz na svůj Jagg profil, který obsahuje úplný seznam : http://www.jagg.cz/bookmarks.php/petr601/ jgg ppp Některé vybrané: http://www.linuxhpc.org http://www.root.cz http://www.csm.ornl.gov/pvm/ http://www-unix.mcs.anl.gov/mpi/ Ve zorientování v problematice mi též velmi pomohla wikipedia (také je v mém Jaggu hojně zastoupena), samozřejmě ale informace z wiki prověřuji a necituji! 13
Závěrem ě Děkuji za pozornost Tato prezentace je ke stažení na: http://home.pf.jcu.cz/~cimlpe00/ Nyní je prostor na dotazy pozdější dotazy rád zodpovím e-mailem nebo na MSN. Petr Ciml petr601@hotmail.com 14