ParallelKnoppix
ArticleCategory: [Choose a category, translators: do not translate
this, see list below for available categories]
Applications
AuthorImage:[Here we need a little image from you]
TranslationInfo:[Author + translation history. mailto: or
http://homepage]
original in en Majid
Hameed
en to nl Guus Snijders
AboutTheAuthor:[A small biography about the author]
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.
Abstract:[Here you write a little summary]
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.
ArticleIllustration:[One image that will end up at the top of the
article]
ArticleBody:[The main part of the article]
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