[LinuxFocus-icon]
LinuxFocus article number 363
http://linuxfocus.org

[Foto van de auteur]
door Majid Hameed
<hameed.majid(at)gmail.com>

Over de auteur:
Majid Hameed is student bij het departement Computer Wetenschappen van de universiteit van Karachi in Sindh, Pakistan. Zijn belangrijkste interesses zijn kunstmatige intelligentie, besturingssytemen, netwerken, programmeren en computer graphics. Hameed beschrijft zichzelf als een Linux-enthousiast die de afgelopen drie-en-een-half jaar Linux als besturingssyteem heeft gebruikt, met onder meer Red Hat 9, 8, 7.3 en 7.2, Slackware Linux 10 en 9.1, Slax, Mandrake Move 2, Knoppix 3.4, Vector Linux 4.3.

Vertaald naar het Nederlands door:
Guus Snijders <ghs(at)linuxfocus.org>

ParallelKnoppix

[Illustratie]

Kort:

ParallelKnoppix is een live CD die is gebaseerd op Knoppix, een live CD die is gebaseerd op de Debian Linux distributie. ParallelKnoppix maakt het mogelijk om een Linux cluster, in enkele minuten op te zetten, compleet met tools/libraries voor parallel programmeren, zoals MPI. Het scheelt een hoop tijd met het configureren van de computer-omgeving. De bestaande omgeving wordt niet verstoord met ParallelKnoppix daar het een Live CD is. Alleen op de master node wordt een directory gemaakt, die indien gewenst na een reboot kan worden verwijderd.

_________________ _________________ _________________

 

Introductie

"ParallelKnoppix is een re-master van Knoppix voor het opzetten van een cluster van machines voor parallelle verwerking met LAM-MPI en/of MPICH implementaties van MPI. Het werkend krijgen van het cluster kost minder dan 15 minuten, als de machines PXE netwerkkaarten hebben." --> van http://pareto.uab.es/mcreel/ParallelKnoppix/  

Achtergrond

Clustering is een van de goedkoopste technieken op parallelisme te bereiken. Clusteren is een grote kracht van Linux. De universiteiten en organisaties bootsen supercomputing na door PCs met Ethernetkaarten met elkaar te verbinden. Linux wordt veel gebruikt door de wetenschappelijke gemeenschap voor onderzoekswerk omdat het goed overweg kan met een aantal wetenschappelijke tools als LAM, PI, PVM en meer. Linux is dus goed geschikt voor parallel computing. Maar het probleem is dat wetenschappers en programmeurs veel werk hebben met het voor-configureren van de Linux omgeving. Dit maakt deze taak omslachtig en complex. Het probleem van configuratie wordt zelfs nog erger als de bestaande omgeving een niet-linux (Windows) omgeving is.

Gelukkig hebben Linux gurus dit probleem opgelost door Live CDs te ontwikkelen. Nu kan de onderzoeker een live CD kiezen voor wat parallel programmeren zonder een lange configuratie en is het cluster in korte tijd (7 -8 minuten) klaar voor gebruik.

Een van de Live CDs voor parallel programmeren is ParallelKnoppix.

Andere Live CDs voor Parallel Computing zijn BCCD en ClusterKnoppix.  

Beschrijving

Net als zijn voorganger (Knoppix), controleerd ParallelKnoppix automatisch alle hardware en randapparatuur. Ik heb het getest op een D865GBF Intel PIV bord en een Intel 810C PIII bord en ParallelKnoppix configureerde automatisch alle hardware, er was geen handmatig ingrijpen nodig. De computers die zijn geconfigureerd met ParallelKnoppix delen een gezamelijke directory op de master node, deze wordt via NFS (Network File System) gedeeld over het netwerk (de master node beschikt ook over een DHCP server). De slaves beschikken over een bios met ondersteuning voor PXE en PXE-compatibele netwerkkaarten.

Ieder service die nodig is voor LAM/MPI wordt automatisch geconfigureerd (LAM/MPI is een interface specificatie voor het doorgeven van berichten en wordt gebruikt voor parallel computing). Verder is er nog DHCP, NFS, SSH (wachtwoordloze logins) en ben je klaar om te experimenteren met MPI programma's en wat andere parallelle applicaties.

De opzet van ParallelKnoppix is niet erg veilig daar de wachtwoorden op de live CD voor zowel gebruiker als supergebruiker (root) algemeen bekend zijn, iedereen die ParallelKnoppix kent, kan eenvoudig toegang krijgen tot het ParallelKnoppix Cluster. De eenvoud van het opzetten gaat dus ten koste van de veiligheid. Zoals altijd is er de afweging tussen gebruiksgemak en veiligheid.  

Wat is PXE boot?

PXE is een acronym voor Preboot Execution Environment. Het is een techniek die wordt gebruikt om een PC over het netwerk te laten opstarten. PXE wordt ondersteund door de systeem BIOS en de netwerkkaart moet ook PXE ondersteunen.  

Wat als je NIC PXE niet ondersteund?

Je kunt ether-boot images gebruiken of een CD branden met behulp van de images. ROM-o-matic.net genereerd dynamisch Etherboot ROM images. Zie: http://rom-o-matic.net/  

ParallelKnoppix downloaden

ISO file download

HTTP exacte link

 http://pareto.uab.es/mcreel/ParallelKnoppix/parallelknoppix.iso

FTP exacte link

 ftp://volcano.uab.es/pub/parallelknoppix.iso

MD5SUM download


Als bovenstaande link niet werkt, kun je het beste even op de homepage
kijken:

http://pareto.uab.es/mcreel/ParallelKnoppix/
Controleer de MD5 checksums van de ISO images om je er van te verzekeren dat de download goed is gegaan. Dit kun je doen door het md5sum programma op een shell prompt uit te voeren tegen de ISO images en de waarden te vergelijken met het md5 bestand. Het volgende illustreerd de correcte syntax voor het md5sum commando:
md5sum "isofilename"
In het bovenstaande commando vervang je "isofilename" met de juiste bestandsnaam.

Voor het geval je -om welke reden dan ook- geen Linux gebruikt, voor Windows is er het programma md5Summer, deze is te vinden op onderstaande link:

http://www.md5summer.com/

Opmerking: om de ISOs naar CD te schrijven, gebruik je een programma als cdrecord.  

Hoe werkt het?

Er is een aardige tutorial, compleet met screenshots, die je stap-voor-stap de configuratie uitlegt. Deze is te vinden op:

ParallelKnoppix tutorial - HTML versie

http://pareto.uab.es/mcreel/ParallelKnoppix/Tutorial/Tutorial.html

Parallel Knoppix tutorial - PDF versie

http://pareto.uab.es/wp/2004/62604.pdf

Als je je CD-Rom naar de nodes hebt geëxporteerd, kan het makkelijk 50 nodes bedienen, meer zijn er niet getest. Ikzelf heb het met 5 nodes getest.  

Wat te doen als er meerdere DHCP servers draaien?

"Als je dit op een universiteit gebruikt (zoals ik), heb je grote kans dat je tegen het bestaan van een officiële DHCP server aanloopt, en mogelijk een PXE server. Terwijl je wacht tot de nodes booten met behulp van de terminal server, zullen de nodes vaak booten van de reeds-bestaande PXE server en zullen ze vaak hun IP adressen van de officiële server krijgen, in plaats van de DHCP server van de ParallelKnoppix CD. De oplossing die ik vooralsnog gebruik is om de fysieke verbinding te verbreken tussen de computers die gebruikt gaan worden als nodes en de bestaande PXE en/of DHCP servers, of anders de hulp van de systeembeheerders in te roepen om tijdelijk die servers uit te schakelen. Als iemand een elegantere oplossing weet, zou ik dat graag horen. Ik denk dat er aanpassingen aan de miniroot.gz en het gebruik van rom-o-matic bij komen kijken voor het maken van de PXE boot ROM. Te angstaanjagend voor verdere consideratie..., voor mij tenminste." --> van http://pareto.uab.es/mcreel/ParallelKnoppix/  

Hoe het werkt (samenvatting)

De ParallelKnoppix Live CD wordt gebruikt om een master node op te starten. Op deze master wordt een script gestart dat een DHCP server opzet, een algemene gedeelde directory die wordt gedeeld via NFS en de public keys voor SSH gegenereerd (wachtwoord-loze logins), welke nodig zijn voor LAM. Als de DHCP master node werkt, worden de slave nodes geboot met behulp van PXE. Na succesvol opstarten wordt de voorbeeld directory met programma's in de gedeelde NFS directory geplaatst en worden de programma's parallel op meerdere PCs uitgevoerd.  

Mijn ervaring

Ik ben student computerwetenschappen en kreeg een project om een wiskundig probleem met MPI in een parallel computing lab op te lossen. Ik koos ParallelKnoppix als een alternatief om mijn MPI programma in een Linux omgeving te demonstreren. De master node wordt gestart met de ParallelKnoppix CD. Ergens tijdens het opstarten wordt je gevraagd naar de resolutie, kies hier gewoon "6" omdat dit de maximaal ondersteunde resolutie is. Toen mijn master node was opgestart, startte ik het Setup ParallelKnoppix script via K>ParallelKnoopixx>Setup ParallelKnoppix (zie bovengenoemde tutorial). Toen het script de DHCP server had gecreëerd, schakelde ik mijn slave nodes in en liet ze opstarten via PXE. Kort daarna waren alle nodes met succes opgestart.

Ik kopieerde mijn programma naar de "parallel_knoppix_working" directory en gebruikte toen een terminal om mijn MPI programma parallel te starten. Dat is alles.
Voor het compileren gebruik ik

mpicc myprogram.c -o myprogram.bin

En voor het uitvoeren gebruik ik

mpirun C myprogram.bin
 

Conclusie

"De ParallelKnoppix CD levert een erg makkelijke en snelle methode om een cluster van heterogene PCs met een IA-32 architectuur op te zetten. Het is niet bedoeld om een stabiel cluster voor meerdere gebruikers op te zetten, het is meer een tool voor het snel opzetten van een cluster voor individueel gebruik. De CD zelf is naar wens aan te passen en de configuratie en werk-bestanden kunnen worden hergebruikt na verloop van tijd, zo kan het dus een oplossing voor langere tijd leveren voor individuele gebruikers." Uit de ParallelKnoppix Tutorial van Michael Creel  

Referenties



Site onderhouden door het LinuxFocus editors team
© Majid Hameed
"some rights reserved" see linuxfocus.org/license/
http://www.LinuxFocus.org
Vertaling info:
en --> -- : Majid Hameed <hameed.majid(at)gmail.com>
en --> nl: Guus Snijders <ghs(at)linuxfocus.org>

2005-05-24, generated by lfparser_pdf version 2.51