Wat is Genesis?
In Bijbelse termen staat 'Genesis' voor de creatie van de kosmos en de aarde. Meer algemeen kunnen we stellen dat 'Genesis' het begin van een nieuw tijdperk is en dat is in zekere zin ook het geval met het Genesis cluster van Shell. Dit linux cluster is, met zijn 1024 nodes, waarschijnlijk de grootste en snelste ter wereld. De machine staat zelfs in de top 50 van supercomputers.
Als studenten informatica en tweakers, bedenk je je geen twee maal wanneer je de kans word geboden om voor deze computer te mogen programmeren. Wij (Arjen van der Meijden en Thijs Terlouw) gebruiken de Genesis computer om lineaire vergelijkingen parallel op te lossen, een klein deel van een groot programma waar in Rijswijk aan gewerkt wordt. Globaal gezegd wordt de Genesis machine gebruikt om data van bodemonderzoek om te zetten in bruikbare informatie bij het zoeken naar olie. Na een week studie werden we op dinsdag 10 juli rondgeleid door onze 'baas'. In de kelder van het gebouw zien we een gigantische hoeveelheid computers staan. Temidden van vele andere kasten staan daar de zwarte Genesis kasten opgesteld.
De zwarte Genesis kasten. De deuren zijn niet massief, maar laten lucht door ivm met koeling.De stroomvoorziening bleek één van de grootste problemen te zijn waarmee rekening gehouden moest worden bij het vinden van een locatie. Genesis gebruikt gemiddeld zo'n 150KW en produceert dus ook voor 150KW warmte. Om dit geweld te koelen is daarom ook nog koeling nodig van zo'n 150KW, een totaal van 300KW. In de vloer zijn diverse roosters te vinden waar koude lucht uitblaast en in de racks van Genesis bevinden zich ook de nodige ventilatoren. Ok, nu genoeg over de locatie, op naar de hardware details

.
Genesis hardware
In totaal bevat Genesis 1024 reken-nodes, de topologie hiervan is een grote boom met 32 takken die ook elk weer 32 takken hebben.
Officiële Shell slide van Genesis.Bovenstaand plaatje beschrijft de structuur van Genesis. Je komt binnen bij de Eden01, dit is de login-server. De Adam-nodes (de management nodes) zijn o.a. verantwoordelijk voor het distribueren van de opdrachten over de computing-nodes. Via de Gigabit Ethernet (GE) switch worden de opdrachten over de racks en/of nodes verdeeld. Daarnaast is er ook een onafhankelijk management netwerk, dat door de GE switch als een compleet gescheiden netwerk behandeld wordt.
Netwerk
De GE switch werkt als centraal verdeelpunt van de data. De data komt binnen vanaf de Adam-nodes en wordt door middel van Gigabit verbindingen verstuurd naar de losse racks. De centrale switch heeft om alles enigszins vlot te laten verlopen 7x16+2 Gigabit aansluitingen (in totaal 114) waarvan er 96 voor de racks gebruikt worden. Elke management node heeft een apart aansluiting. Er zijn nog maar 8 aansluitingen vrij voor toekomstige uitbreidingen. Aangezien de standaard backplane van deze Cisco 6500 maar 32Gbit aan kan is ook deze vervangen door een 256Gbit versie.
De Gigabit Ethernet switch van Cisco
Management nodes
Er is een speciale server die als een soort jobsspooler draait, tussen het cluster en de users in. Dit is een standaard Sun Enterprise 450 met vier 400MHz CPU's en 300GB schijfruimte. Deze wordt bijgestaan door een taperobot met 10GB opslagruimte op elk van de 200 tapes voor de langdurige opslag. Op de onderstaande foto zie je rechts de taperobot met onderin de rijdende robot. In het midden zijn enkele tapes te zien. Op de Sun wordt één processor alleen maar gebruikt om de taperobot te bedienen en inkomende data te verwerken. Op de monitor stond volledig onbegrijpelijke hexadecimale output.
 |
Er zijn zes management nodes: de login-server, file-server, jobscheduling-server, DHCP-server, management centrale en secundaire mangement node. Deze kan het uitvallen van één van de andere management nodes opvangen. Deze managements nodes bestaan alle zes uit een E-Server 2U kast met een dual Pentium III 1GHz, 1GB RAM, twee 36GB 10.000rpm SCSI drives in een hot-swappable RAID 0 opstelling. Verder zijn er twee 100Mbit en één Gbit netwerkaansluitingen. De nodes zijn voorzien van speciale management hardware waarmee de systemen volledig op afstand bediend en gerestored kunnen worden.
De adam management nodes. De netwerkkabels gaan onder de vloer naar alle andere racks van Genesis.
Cluster management
De management software en hardware is erg uitgebreid en maakt het mogelijk een willekeurige node te benaderen om bijvoorbeeld even in het BIOS te kijken. Er zijn chips op het moederbord aanwezig die aan de management centrale door kunnen geven dat ze 'kapot aan het gaan' zijn. In zo'n geval wordt er direct een mailtje naar IBM doorgestuurd, die dan een monteur met een nieuw systeempje langs stuurt. Nadat een systeem in het rack is geschroefd, wordt deze verder volautomatisch geïnstalleerd. Na een kwartier is hij klaar om mee te rekenen. Als men een volledige software upgrade wil uitvoeren kan dat ook met deze software geregeld worden. Er staat dan bijvoorbeeld in een half uur op elke node een compleet nieuw OS.
Computing nodes
De 1024 nodes van het Genesis-cluster zijn met 32 systemen in 32 racks geplaatst. Per rack is er een switch (met twee Gigabit uplinks naar de GE) en de bovenste node is aangewezen als scatternode. Op den duur is het de bedoeling dat deze stagingnodes een grotere schijfcapactiteit krijgen (bijvoorbeeld met een externe SCSI-kast), zodat zij met z'n 32'en een General parallel filesystem gaan draaien. De stagingnodes hebben daarom al een eigen Gigabit aansluiting op de GE, mede om een snellere distributie van de data over alle nodes te bewerkstelligen. De data wordt dan namelijk vanaf de fileserver naar de stagingnodes verzonden en die verzenden het weer als een waterval naar de gewone nodes in het kabinet.
Foto rechts: De voorkant van een rack met 32 nodes. Links zitten de cd-rom speler en floppy-driveFoto links: Achterkant van een rack. Bovenin een switch en daaronder de daisychained nodes. De zwarte kastjes die om de 11 nodes zitten zijn onderdeel van de speciale management hardware.
Alle nodes zijn momenteel nog identiek. De racks bestaan uit een E-Server in een 1U kast met een 1GHz Pentium III processor, 512MB RAM, twee 36GB 10.000rpm SCSI schijven (ook hier in een hot-swappable RAID 0 opstelling), twee 100Mbit NICs en voor de stagingnodes een extra Gigabit aansluiting. Eén netwerkpoort is nodig voor de management hard- en software. De servers beschikken over speciale management hardware waarmee de systemen volledig op afstand bediend en gerestored kunnen worden. Verder zijn er standaard aanwezig een CD-ROM drive, floppy en videokaart (waarvan het nut ons een beetje ontgaat

).
Totalen
Het cluster beschikt in totaal over:
- 1 TeraHertz CPU power
- 512 Gigabyte RAM geheugen
- 72 Terabyte schijfruimte
- 2 Terabyte taperuimte
- 256 Gigabits netwerkbackbone
- 1037,10 Gigaflops en 1024 Rpeak Linpack performance
OS en software
Shell streeft een gebruik van opensource software na. Daarbij worden ook (indien nuttig of van toepassing) door Shell zelf ontwikkelde tools publiek gemaakt. Het complete cluster draait op Red Hat 6.2 met uitzondering van de Sun machine, die uiteraard op Solaris werkt. Mocht men de besturingssystemen willen upgraden (voor GPFS ondersteuning bijvoorbeeld) dan kan dat in een half uurtje geregeld zijn. Gelukkig is het in dezelfde tijd ook weer te restoren naar het oude OS
.
Parallelisatie software
Een van de meest gebruikte omgevingen voor het rekenen op grote (parallelle) systemen is MPI (Message Passing Interface). De door Shell gebruikte implementatie is Mpich, maar Cray heeft bijvoorbeeld een eigen geoptimaliseerde variant voor hun supercomputers. Naast of bovenop MPI kunnen weer andere libraries draaien, zoals bijvoorbeeld PETSc (Portable, Extensible Toolkit for Scientific Computation). Bovenop MPI draaien allerlei rekentools en programma's van Shell, waarbij sommige jobs wel een week of 4 (!) kunnen duren. Voor de job scheduling wordt gebruik gemaakt van PBS, dat voor de toewijzing van de verschillende resources zorgt. Je kunt bijvoorbeeld 50 nodes reserveren voor een bepaalde rekentaak.
Conclusie
Eén van de vragen die ons bezighield, is de vraag waarom Genesis nu eigenlijk het snelste cluster is. De top vijf van de Cluster Top 100 bestaat geheel uit machines met 1024 CPU's. Desondanks is de Genesis toch het snelst en wel om de volgende redenen:
- De Genesis heeft net iets meer CPU-power, behalve vergeleken met nummer 2. Deze heeft echter twee processors per node en dat betekent de gebruikelijke verslechtering van de performance-scaling voor multiprocessor machines.
- Er is geen machine die meer RAM geheugen per CPU heeft dan de Genesis. Enkele dual processor machines hebben 1024MB, maar dit is nog steeds slechts 512MB per CPU.
- Volgens zeggen zijn Myrinet netwerken sneller dan Gigabit ethernet netwerken. In de praktijk valt dit wat tegen en de topologie van Genesis is ook nog eens behoorlijk geoptimaliseerd.
- De Genesis beschikt over een Raid 0 van twee snelle 36GB schijven. Dit levert natuurlijk een snellere swap en ook snellere toegang tot de files op. Daarnaast heeft de Genesis ook nog meer schijfruimte op de nodes, dus kan er meer data opgeslagen worden en blijven. Dit scheelt extra distributies en benaderingen via het netwerk.
Disclaimer: alle afbeeldingen zijn © by Shell.