/Voorpagina
/Nieuws
/Mensen
/Achtergrond
/Academie
/Onderzoek
/Opinie
/Reportage
/Bestuur
/Cultuur
/Studentenleven
/Ruis
/Harmpje
/Colofon
/Vacatures
/Mensa
/Oude cursors
/pdf formaat
/Faculteits Berichten
/Zoeken
/TUE
/ Cursor nummer 1 nummer 5

jaargang 42, 16 december 1999


Onderzoek

Untitled Document Van E.T. tot katalysatoren: aan alles kun je parallel rekenen

Parallellisme/Fred Gaasendam

Het toepassen van parallellisme bij computers begint een grote vlucht te nemen. Was het rekenen via meer dan één processor vroeger een zaak voor academici, nu begint ook het bedrijfsleven interesse te tonen. Tegelijkertijd is dit vakgebied zich steeds meer aan het ontwikkelen.

Ongetwijfeld het bekendste voorbeeld van het gebruik van parallellisme bij computers is het Seti-project. Dit Amerikaanse project spreekt brede lagen van de bevolking aan, niet in het minst omdat het een onderzoeksproject is dat als doel heeft te achterhalen of er leven is ergens in het heelal. Om dat doel te bereiken kan iedere eigenaar van een computer en een Internetaansluiting zijn steentje bijdragen. Het volstaat om wat software van de Seti-site te downloaden en die in te zetten om het hoge doel te bereiken: de ontdekking van een E.T. ergens in de ruimte.

De wetenschappers van het Seti-instituut doen niet veel meer dan op een slimme manier de rekenkracht van zoveel mogelijk computers combineren tot een systeem met een enorme rekenkracht.

Het Seti-project is een voorbeeld van een onderzoeksgebied dat al jaren bestaat, maar dat nog niet zolang geleden pas uit de kinderschoenen is gegroeid, namelijk parallel computing.

Het toepassen van parallellisme bij computers komt er op neer dat bij een computer meer processors tegelijk gebruikt worden, of, zoals bij het Seti-project, meer computers voor een rekenklus. Het Seti-project is echter relatief simpel in vergelijking met andere projecten waarbij parallellisme toegepast wordt.

Vooral bij vraagstukken die veel rekenkracht vergen komt parallel processing van pas. Snelheid in rekenkracht wordt niet langer bereikt door een supercomputer met een supersnelle processor, maar door een computer met een heleboel parallel geschakelde processoren, die met zijn allen aan een rekenklus werken. De nieuwe supercomputer die de Technische Universiteit Eindhoven samen met Sara en de Universiteit Twente heeft gekocht, is een voorbeeld van zo’n computer. Deze Silicon Graphics CRAY Origin2000 heeft 128 processoren van elk 250 MHz.

Bij de TUE is prof.dr. Peter Hilbers van de faculteit Wiskunde en Informatica bezig met het onderzoeksgebied parallel computing. “Mensen zijn niet gewend om te gaan met gelijktijdigheid,” zegt hij. “We denken in principe serieel, en als we op een parallelle manier gaan werken ontaardt dat niet zelden in een chaos.” Toch is parallellisme niet vreemd aan de natuur, en dus ook niet aan de mens, zo stelt de hoogleraar. “De natuur zit vol met parallelle mechanismen,” zo stelt hij. “Kijk alleen maar eens naar de werking van de natuur op moleculair niveau. Moleculen werken gelijktijdig en onafhankelijk van elkaar.”

Ook de mens past parallellisme toe, zij het vaak onbewust. “Ik gebruik in mijn colleges altijd het voorbeeld van het bouwen van een piramide. Als een Egyptenaar, vooropgesteld dat dit mogelijk zou zijn geweest, in zijn eentje een piramide zou bouwen, dan was hij nu nog bezig geweest. Bij de bouw van een piramide is veel op een parallelle wijze gebeurd. Als je parallellisme eenmaal als principe ontdekt hebt, zie je het echt overal. Kijk naar de kassa’s bij Albert Heijn. Een zuiver parallel systeem om klanten te ‘verwerken’.”

Parallellisme bij computers is ook al oud, voor zover computers natuurlijk oud zijn. Simpele voorbeelden zijn de parallelle poort bij pc’s en multitasking bij MS Windows, voor zover dat werkt. En Internet is in feite een groot parallel systeem, wanneer het toegepast wordt zoals het Seti-instituut dat doet.

Portabiliteit

Het inzetten van parallellisme bij het oplossen van een rekenprobleem is ingewikkeld. “We zijn er nog niet in geslaagd een kookrecept te ontwikkelen voor het toepassen van parallellisme bij processoren,” zegt Hilbers. “In de praktijk komt het er op neer dat je bij ieder rekenprobleem een maatoplossing, dus een nieuw programma, levert. Wanneer je een probleem wil oplossen, kun je twee kanten op met parallel computing: of je wilt het probleem snel opgelost hebben, of je wilt een groot probleem opgelost hebben. Zeker wat dat laatste aangaat, biedt parallellisme grote voordelen. De grote winst bij het toepassen van meer processoren is dat je ook complexere problemen aankunt.”

Uiteraard neemt de tijdwinst ook belangrijk toe met parallellisme. Dat gaat echter niet zonder problemen. “Wanneer je meer onderdelen, zoals processoren met elkaar gaat koppelen, wordt het systeem steeds trager, omdat al die onderdelen met elkaar moeten communiceren. Op een chip gaat een berekening in een transistor vele malen sneller dan communicatie over bedrading. Daarbij kost bedrading geld. “Negentig procent van het oppervlak van een chip bestaat uit bedrading, tien procent uit transistors. Het maken van een chip kost meer naarmate het oppervlak groter is.”

De winst bij parallel computing ligt dus vooral in het behandelen van grotere rekenproblemen. “Naarmate het rekengedeelte toeneemt en de communicatie erover afneemt, neemt de snelheid van uitrekenen relatief ook toe”, zo stelt Hilbers. Grote rekenproblemen zijn er overigens zat in de wetenschappelijke wereld. Wetenschappers willen altijd meer rekenkracht, aldus Hilbers. Wat dat betreft kan de rekenkracht niet groot genoeg zijn.

“Waar je naar streeft bij het toepassen van een rekenprobleem is portabiliteit: elke maatoplossing draagt elementen in zich die lijken op elementen in een andere maatoplossing. Je kunt op deze manier proberen wetmatigheden te ontdekken die van nut kunnen zijn bij toekomstige rekenproblemen. De truc is hoe je die portabiliteit concreet kan verwoorden in je software. Meestal betekent het dat je uitgebreide programma- en communicatiebibliotheken aanlegt bij de programmeertaal die je gebruikt.”

Een wetmatigheid die Hilbers nu al voor zich ziet, is de overgang van een synchroon naar een asynchroon systeem voor computers. Op dit moment worden alle handelingen in een computer door de computerklok gedomineerd. De snelheid van die klok is ook de graadmeter voor de snelheid van pc’s, uitgedrukt in MHz. “Ik verwacht dat we langzaam naar asynchrone processen toegaan”, zegt Hilbers. “We hebben in feite nu nog een situatie die vergelijkbaar is met een orkest waarin iedereen hetzelfde deuntje op hetzelfde instrument speelt. Straks speelt elk onderdeel zijn eigen stuk, wel gestuurd door de dirigent, maar niet meer allemaal tegelijk. Een processor is dan niet langer afhankelijk van de computerklok, maar krijgt op een bepaald moment in een rekenproces een opdracht, bijvoorbeeld wanneer een andere processor te veel instructies dreigt te krijgen.”

Viper

Het grootste probleem bij het toepassen van parallellisme is de toenemende complexiteit. “Het wordt voor de dirigent, de programmeur dus, moeilijker om overzicht over het gehele proces te houden.” Op 14 december promoveert René Schiefer op het proefontwerp ‘Viper: a visualisation tool for parallel program contsruction.’ “Viper geeft een programmeur op een grafische wijze inzicht in bijvoorbeeld de activiteit van alle processoren. Het ontwerp is door Schiefer bij en onder auspiciën van CERN in Genčve uitgevoerd en beproefd.”

De promotie van Schiefer vindt plaats een week voor de geplande oprichting van het bedrijf Avantium. Dit onderzoeksbedrijf is een samenwerkingsverband tussen de technische universiteiten en een aantal grote bedrijven, zoals Shell en Akzo Nobel.

In Avantium zal op grote schaal gebruik worden gemaakt van parallellisme. Peter Hilbers zal daarachter de drijvende kracht zijn. “In Avantium wordt het mogelijk om de vele testen die we bijvoorbeeld op katalysatoren willen uitvoeren, gelijktijdig te laten plaatsvinden. Je moet je voorstellen dat er een heleboel proefopstellingen zijn, waar eenzelfde katalysator aan verschillende testen onderworpen wordt. De meetgegevens worden verwerkt door vele processoren tegelijk, wat het totale proces aanzienlijk versnelt. Een systeem als Viper is daarbij heel nuttig, want het is niet alleen een tool voor een programmeur die parallelle programma’s ontwerpt, maar ook een instrument dat dit soort meetgegevens op een grafische wijze kan weergeven.”

Voor het onderwijzen van parallellisme ziet Hilbers bij de TUE veel mogelijkheden. Veel studenten hebben immers een notebook die aan het netwerk van de TUE gehangen kan worden. “Een prachtig parallel systeem”, zegt hij glunderend. Parallellisme is overal./. /.














Website