Rijksuniversiteit Groningen
Rugbalk
Reacties op DEZE pagina Abonneren op email bij wijziging 23 Jan 2003

De fascinerende wereld van high performance computing

De Cray SV1e voor grote sommen

Jan Kraak j.kraak@rc.rug.nl

Sinds kort heeft de RUG een nieuwe supercomputer: de Cray SV1e die is opgesteld in de Zernikeborg. Deze computer is speciaal bestemd voor onderzoekers die grootschalig rekenwerk willen doen dat niet op een geavanceerde pc uitgevoerd kan worden, ook al zouden ze die pc jaren lang laten door rekenen.

De huidige Cray SV1e, de opvolger van de Cray G932, is één uit een opeenvolging van steeds snellere centrale computers van de RUG. Cray SV1eDe Cray SV1e is een shared memory (grootte 32 Gbytes) machine met 32 processoren met een topsnelheid ofwel peak performance, als u de Engelse term beter vindt klinken, van totaal 64 Gflops/s. Aan diskruimte heeft de machine 300 Gbytes. Globaal gezien is de capaciteit van de SV1e ongeveer 10 maal groter dan die van zijn voorganger.
Ingewijden in de superlatieve wereld van high performance computing, waarin woorden als giga (G), tera (T) en peta (P) worden gebruikt om de enorme capaciteiten aan te geven, zullen deze termen veel zeggen. Maar voor de meeste lezers zullen ze waarschijnlijk weinig inhoud hebben. Daarom zal ik hier wat vertellen over de fascinerende wereld van high performance computing en over bepaalde problemen die daar worden uitgerekend. Voor nadere informatie heb ik enkele specialisten opgezocht die mij het een en ander hebben laten zien en verteld.

Seymour Cray, de vader van supercomputing
Eerst bekeek ik samen met mijn collega Doeko Homan, die veel ervaring heeft in de programmering en het beheer van grote computers, de nieuwe Cray. Veel is er niet te zien aan de twee manshoge zwarte kasten met golvende voorpanelen. Op een van de kasten is een glimmende plaat aangebracht met als frivool element een witte verzonken knop, die aan een navel doet denken. Met deze knop kun je de machine in noodgevallen uitzetten.

Doeko herinnerde me eraan hoe ik eens, door iets te verplaatsen in de rekenhal, per ongeluk de algemene, onbeschermde, noodknop aanraakte. Het gevolg was dat de spanning in de hele rekenhal uitviel. Dat is nu niet meer mogelijk. Maar dit terzijde.
We kregen het over de legendarische Seymour Cray (1925-1996) naar wie de Cray is genoemd en die wel de 'vader van supercomputing' wordt genoemd. Cray was een zeer gedreven en eigenzinnig man, die met het ontwerpen van computers begon in een tijd dat je nog niet uit wat kant-en-klare onderdelen en een moederbord je eigen computer kon bouwen. Cray heeft zich altijd diepgaand wetenschappelijk georiënteerd om zijn revolutionaire ontwerpen te kunnen doen die steevast weer de rekensnelheid een aanzienlijk stap vooruit brachten. Maar ideeën alleen zijn niet voldoende: hij had ook de overredingskracht en het doorzettingsvermogen om zijn ontwerpen uitgevoerd te krijgen.

Cray was het prototype van iemand die risico durfde te nemen. Daarvoor omringde hij zich het liefst met jonge mensen "because they have a lot of enthusiasm and most basically they don't know it can't be done yet". Ik haal dit aan uit een boeiend interview met Cray, te vinden op internet.
Cray vond het uiterlijk van computers belangrijk, want computers hebben immers een bepaalde gevoelswaarde. Voor dat uiterlijk had hij graag 5% van de totaalkosten over. Hij noemde zijn computers altijd naar zichzelf, zijn eerste computer rond 1970 heette de Cray-1. De plattegrond van de Cray-1 had de vorm van de eerste letter van zijn naam: de C. Volgens Cray was dat zo gekozen om de bedrading zo kort mogelijk te laten zijn, maar ik verdenk hem er een beetje van dat hij ook in de vorm zijn naam heeft willen verwerken.

Om de C-vormige opbouw was het indertijd beroemde bankje aangebracht dat 'de duurste love seat ter wereld' werd genoemd. Wat de prijs van Cray-computers betreft: lang beweerde Cray dat zijn computers, hoe snel ze ook waren, altijd $7.000.000 kostten. Dat geldt al lang niet meer.

Seymour Cray met zijn C-vormige Cray-1 met 'love seat'

Seymour Cray met zijn C-vormige Cray-1 met 'love seat'

De sommen van Arthur Veldman
Om enig gevoel te krijgen voor de complexiteit van de problemen die met supercomputers als de Cray worden opgelost, sprak ik kort met Athur Veldman, als hoogleraar verbonden aan het Instituut voor Wiskunde en Informatica van de RUG. Vanwege mijn visualisatiewerk ken ik Veldman en zijn enthousiaste groep studenten en medewerkers al lang.
Grappig vind ik altijd dat ze het hebben over 'sommen', als ze het over hun enorme berekeningen hebben. Desgevraagd vertelde Veldman me dat het gebruik van het woord 'som' afkomstig is van het Nationaal Lucht- en Ruimtevaartlaboratorium (NLR), waar hij lang heeft gewerkt. Bij het NLR gebruikt iedereen het woord, ook de directeur als hij een belangrijke opdracht moet binnenhalen.

Titanic in de CAVE
Theresa Helmholt, een promovendus van Veldman, heeft als som voor haar proefschrift opgekregen de simulatie van een schip, de Titanic genoemd, in een wilde zee. In Theresa's huidige model staat het schip nog vast, maar uiteindelijk moet het schip ook nog mee gaan deinen op de golven. Veel sommen uit de groep van Veldman lenen zich goed voor visualisatie getuige zijn fraaie collectie visualisaties op internet.

Thans ben ik bezig om de Titanic in de CAVE, de nieuwe Virtual Reality-installatie in de Zernikeborg, te visualiseren - inclusief de beweging van de golven. Ik stel me voor dat je al lopende op het voordek de golven op je af ziet komen. Ik hoop dat deze CAVE-animatie het nodige wetenschappelijk inzicht oplevert. Als dat tegenvalt, is het in ieder geval nuttig voor pr-doeleinden.
Tevens is er een 'literaire' toepassing. Liefhebbers van de schrijver Nescio zullen de figuur van de uitvreter uit het gelijknamige verhaal kennen, dat begint met de volgende beroemde zin: "Behalve den man, die de Sarphatistraat de mooiste straat van Europa vond, heb ik nooit een wonderlijker kerel gekend dan den uitvreter". De uitvreter schiep er genoegen in om zich uren lang op het voordek van een schip of op het, van wit geverfde palen gemaakte, havenhoofd van Veere te laten overspoelen door water, als een vorm van 'versterving'. Met de CAVE-animatie van Theresa's som kunnen toekomstige CAVE-bezoekers zich voelen als een 'virtuele uitvreter'.

Tijdstap uit computeranimatie van de Titanic in een wilde zee

 

Tijdstap uit computeranimatie van de Titanic in een wilde zee

Navier-Stokes vergelijking
Veldmans groep doet onderzoek naar turbulentie in stromingen rond objecten, zoals vliegtuigen of vaartuigen. Dit soort onderzoek is evenwel toepasbaar op elk object in een stroming, zoals een zwemmer, een schaatser, een haai of een golfbal. Turbulentie is een verschijnsel dat al heel wat wetenschappers heeft gefascineerd. Leonardo da Vinci maakte vijf eeuwen geleden reeds een tekening van een turbulente stroming.

In het begin van de 19e eeuw is de Navier-Stokes vergelijking (NSV) opgesteld. Dit is een zgn. partiële differentiaalvergelijking die, samen met de wet van behoud van massa, div u = 0, een stroming inclusief wervelingen rond een object beschrijft.

Navier-Stokes vergelijking

Hierin is u de snelheid van de lucht in een klein volume-element met druk p; t staat voor de tijd. In het zgn. Reynoldsgetal Re, dat de stroming karakteriseert, zijn de afmetingen van het object, de dichtheid van het stromende medium en de viskeuze krachten verwerkt.
Om de stroming rond een voorwerp te berekenen, moeten we bovenstaande vergelijking oplossen voor alle volume-elementjes in een voldoende groot gebied rondom het omstroomde voorwerp. Als voorbeeld nemen we de stroming rond een golfbal, waarvan bekend is dat de snelheid toeneemt als er kleine putjes in het oppervlak worden aangebracht. Deze putjes hebben een gunstig effect op het ontstaan van wervelingen.

Schatting van rekentijd
Stel dat we het totale volume rond de golfbal in elk van de drie ruimtelijke dimensies in 1000 stappen opdelen - minder stappen kan wel, maar dat geeft een onnauwkeurig eindresultaat - dan moet de NSV voor 1000*1000*1000 (109) volumedeeltjes worden uitgerekend voor de drie componenten van de snelheid alsmede de druk. Bij deze berekening zijn dus 4*109 variabelen betrokken.

Eenmalig uitrekenen is niet voldoende, aangezien de NSV slechts betrekking heeft op het verschil tussen de variabelen op twee opeenvolgende tijdstappen. Daarom moet men de berekeningen, uitgaande van een bepaalde begintoestand, net zo vaak herhalen, tot een min of meer stabiele toestand ontstaat. Dit kan oplopen tot meer dan 105 tijdstappen.
Volgens het interessante artikel 'Turbulentie, golfballetjes en discrete afgeleiden' van Veldman en Verstappen (Nieuw Archief van de Wiskunde 5/2 nr. 4 december 2001, verkorte versie in MUON, maart 2001), zijn in totaal 1017 flops (= floating point operations) nodig voor het volledige doorrekenen van de golfbal. Daarin is verwerkt de ongeveer 103 flops die het momenteel kost om per volumedeeltje de Poisson-vergelijking op te lossen. Het zal nog veel wiskundige inspanning kosten om deze 1000 flops te verlagen naar bijv. 200.

Als we er van uitgaan dat de theoretische topsnelheid van 64 Gf/sec (=64*109 flops/sec) van onze nieuwe Cray SV1e inderdaad gehaald wordt, dan zou deze berekening in totaal 500 uur, dus ongeveer een maand, in beslag nemen. Dat is net op de grens van het haalbare met de Cray SV1e, want er zijn natuurlijk ook meer gebruikers die er op willen rekenen. De Titanic zal ook met de Cray SV1e worden berekend.
Om over deze grote getallen te spreken gebruikt men bepaalde termen. G=giga betekent 109; T=tera=1012; P=peta=1015. Voor wetenschappelijke achtergronden en voor de benaderingen die men toepast als men te weinig rekencapaciteit heeft met bestaande computers, verwijs ik naar voornoemd artikel.

Bioinformatica
Er zijn nog veel meer problemen die alleen maar met supercomputers kunnen worden opgelost. Ik noem bijv. het onderzoek bij enkele FWN-onderzoeksgroepen, waarin al tientallen jaren grootschalig rekenwerk wordt gedaan. Bioinformatica is een nieuwe klant voor supercomputers. Daarbij doet men genetisch onderzoek, toepasbaar bijvoorbeeld op het ontwerp van nieuwe medicijnen. Heel basaal gezien komen de berekeningen bij genetisch onderzoek neer op het zoeken naar bepaalde patronen, bijv. corresponderende met een genetische afwijking, in een zeer groot DNA-molecuul, bestaande uit ongeveer 3 *109 onderdelen. Dit is enigszins vergelijkbaar met het zoeken van een bepaalde tekst in een zeer lang document. Het programma BLAST wordt daarvoor gebruikt. Voor eenvoudige zoekopdrachten voldoet BLAST op een pc goed, maar voor de echt interessante vraagstellingen is er veel en veel meer rekenkracht vereist.

Zonder op details in te gaan, vermeld ik ook nog dat de Cray SV1e een bepaalde hardware-functie heeft voor bit matrixvermenigvuldigingen (BMM) die uitermate geschikt is voor de zoekproblemen bij genetisch onderzoek. Vergelijkbaar met een integer representatie is een bepaalde berekening met BMM ongeveer 1000 maal zo snel.

Cray SV1e met shared memory
Hoe kunnen we supercomputers, tegenwoordig samengesteld uit een aantal afzonderlijke rekeneenheden (processoren), die enorme grote aantallen berekeningen laten uitvoeren? In de eerste plaats door een 'som' te splitsen in delen die gelijktijdig, ofwel parallel, door de processoren worden berekend. Later worden de antwoorden samengevoegd. Je kunt bijvoorbeeld de voorgaande stromingsberekening van het gehele volume opsplitsen in deelsommen voor deelvolumes.

Omdat de stromingen in de deelvolumes evenwel niet los van elkaar staan, maar een intensief onderling verband vertonen, moeten steeds gegevens worden uitgewisseld tussen processoren. Dat is niet nodig indien de afzonderlijke processoren voor de deelvolumes de beschikking kunnen hebben over elkaars data. Dit wordt technisch bereikt door de afzonderlijke processoren een gemeenschappelijk geheugen te geven, een zgn. shared memory. Het al of niet hebben van een shared memory onderscheidt de twee voornaamste soorten supercomputers tegenwoordig.
Het moge duidelijk zijn dat professor Veldman een sterke voorkeur heeft voor supercomputers met een shared memory, waarvan de Cray SV1e er een is. Bepaalde problemen in de bioinformatica lenen zich ook goed voor dit type computers.

Clusters met distributed memory
De laatste jaren zijn parallelle computers, niet met shared memory maar met distributed memory, sterk in opkomst vanwege de betrekkelijk lage prijs. Men kan ze in principe zelf maken door een groot aantal in de winkel verkrijgbare pc's (nodes) met een eigen geheugen via het net of via glasvezelkabels aan elkaar te knopen tot een zgn. cluster.
Zoals reeds gezegd, lenen stromingsproblemen zich slecht voor clusters omdat de uitwisseling van de data te tijdrovend is. Andere typen algoritmen, zoals bijvoorbeeld bij scheikundige problemen, zijn wel goed met een cluster op te lossen. Inmiddels zijn de volgende twee, algemeen te gebruiken, clusters in het RC aanwezig:

  • een 22 node Linux Alpha-cluster met een topsnelheid van 22 Gflops/s, geassembleerd en geïnstalleerd door Kees Visser.
  • een 132 node Linux-cluster van 250 Gflops/s (in 2003 vergroot tot 500 Gflops/s)

Bij de programmering van clusters gebruikt men MPI (Message Passing Interface). Arnold Meijster geeft op aanvraag cursussen MPI.132 node Linux-cluster

 

Diensten HPC&V
Het Centrum voor High Performance Computing and Visualisation (HPC&V), een onderdeel van het RC, heeft tot taak de ondersteuning en het beheer van de Cray SV1e, de beide Linux-clusters, alsmede de Visualisatie- en Virtual Reality-faciliteiten in de Zernikeborg. Meer details over de Cray SV1e en de andere faciliteiten treft u aan op de website van het HPC&V (www.rug.nl/rc/organisatie/pictogram/archief/hpc).
Daar vindt u bijvoorbeeld een link naar de onlangs verschenen Local Cray Guide van de hand van Rob de Bruin en Doeko Homan, waarin u het antwoord kunt vinden op zeer veel technische vragen betreffende het gebruik van de Cray SV1e. Voor de aanpassing van bestaande programma's aan de eisen van supercomputers en de verdere optimalisatie kunt u zich ook wenden tot het HPC&V.

Informatie over cursussen MPI (Message Passing Interface) is verkrijgbaar bij Arnold Meijster: a.meijster@rc.rug.nl

Het bezoekadres van HPC&V is
De Zernikeborg, Nettelbosje 1, 9747 AJ Groningen
correspondentieadres:
Postbus 11044, 9700 CA Groningen
e-mail: HPCV@rc.rug.nl
telefoon: (+31 50 363)8080

Begin pagina


index Pictogram  3