You are here

Iedereen toegang tot de supercomputer

...Kaveh Razavi. Zijn droom: Iedereen toegang tot de supercomputer.
Tekst: Edda Heinsman

Kaveh Razavi behaalde zijn master computer science aan het ETH in Zürich en wilde verder in het onderzoek. Zijn oog viel op de VU in Amsterdam vanwege een advertentie. Er was een clusters van computers aangeschaft en nu zochten ze mensen om onderzoek te doen met deze supercomputer. 'Een supercomputer speciaal voor computer science, dat is bijzonder. Meestal wordt zo'n machine aangeschaft om een ander soort onderzoek op te doen', aldus Razavi. 'Dus ik solliciteerde en een paar maanden later kon ik beginnen.'

De richting waar Razavi met zijn onderzoek naar toe wilde, was niet meteen duidelijk. Tot hij een summerschool organiseerde over cloud-computing. 'Dertig studenten uit heel de wereld waren hier samen om op onze geclusterde computers te werken. En toen ging het mis. Omdat iedereen tegelijk een beetje begon te spelen, werkte niks meer, er was een bottleneck.'

Balen voor de studenten van de summerschool, maar Razavi had zo wel meteen een mooi onderzoeksonderwerp: wetenschappers in de cloud laten werken alsof het op hun eigen computer is.

Voordelen cloud

De cloud heeft veel voordelen. Vroeger moest je eerst investeren in een dure computer. Nu kun je een berekening beginnen zonder die enorme investering te doen, je betaalt per uur. Bovendien gebruik je zo'n supercomputer vaak niet in zijn optimale capaciteit. In de cloud kan een datacenter de infrastructuur maximaal benutten omdat er heel veel applicaties van verschillende gebruikers tegelijk lopen. Dat maakt het goedkoper. Daarnaast heb je geen last van onderhoud. Als je een supercomputer koopt, heb je ook een of meerdere mensen nodig om hem draaiende te houden. En wanneer je als wetenschapper een berekening wil doen op een supercomputer, dan moet je vaak eerst een aanvraag doen en bedenken hoeveel tijd, rekenkracht en opslag je nodig hebt. Daar heb je bij rekenen in de cloud veel minder last van.

Nadelen cloud

Niets dan voordelen aan de cloud zou je zeggen? Helaas, er zijn mindere kanten. Een van de problemen met werken in de cloud: je moet je berekening geschikt maken om uitgevoerd te worden in de cloud. Normaal gesproken staat alles wat je nodig hebt voor een berekening lokaal op je harde schijf. Nu wil je je berekening over heel veel machines verdelen. Dus de informatie die op je harde schijf staat, is nodig op al die computers. Dat kost dus ruimte op al die computers. Bovendien kost het opstarten van al die virtuele machines veel tijd. En ben je – zoals tijdens de summerschool – met veel mensen tegelijk aan de slag, dan loopt op zo'n moment het netwerk vast. En dat wil je natuurlijk niet.

Hoe los je deze problemen op? Normaal gesproken zou alle data die bij je programma hoort, verspreid worden over het netwerk van computers. De computers hebben echter lang niet alle informatie nodig om de berekening uit te voeren. Razavi bedacht een slimme manier om alleen de echt noodzakelijke data te verspreiden; Eén maal goed kijken wat de computer precies allemaal gebruikt voor zijn berekeningen, en alleen datgene opslaan in een 'cache'. Zo breng je de informatie die op alle machines nodig is, terug van gigabytes naar megabytes. 'Zo lukte het om de computers 1000 keer eerder aan hun opdracht te laten beginnen!' zegt Razavi trots.

'Het terugbrengen naar megabytes in plaat van gigabytes was al een stuk beter en goed voor een lokaal cluster van computers. Maar gebruik je een cluster van 1000 of meer computers, dan staat al die data daar en wordt het heel veel.' Dus onderzocht Razavi mogelijkheden om de 'caches' te verkleinen. 'We deden dit met een dataset die we van Microsoft kregen. En het lukte ons de data enorm te comprimeren. Het lijkt er op dat we dit probleem compleet getackeld hebben.'

Vijftig seconden

Weer een mooi resultaat voor de onderzoeker. Maar er stond nog iets op zijn lijstje. Want zelfs als de caches al beschikbaar zijn; je moet het besturingssysteem opnieuw opstarten om de berekening te starten. En dat kost tijd, soms wel een minuut. Dat moest beter kunnen!

Razavi kwam met een oplossing die je kunt vergelijken met het opstarten van je laptop. Als je je computer opstart, duurt het even omdat de computer allerlei zaken controleert. Bijvoorbeeld of er nieuwe hardware is geïnstalleerd. Maar als je je laptop dichtklapt, gaat hij daarna weer verder waar je bent gebleven. 'Als wetenschapper wil je steeds net iets anders uitrekenen. Daardoor is de toestand van je applicatie net iets anders. Dus je maakt een snapshot vlak voor de applicatie start. Alle voorbereidingen zijn dan gedaan, je staat op het punt om de berekening te starten. Dan maak je een snaphot. Bij de volgende berekening hoeft de computer al het voorwerk niet meer te doen, je vermijdt het opstarten van het besturingssysteem. Hij neemt het snapshot als basis en daarmee reduceert de opstarttijd tot een paar tiende seconde.’

Klantverlies

Razavi's onderzoek naar het verbeteren van de infrastructuur van computernetwerken is niet alleen voor wetenschappers interessant. Ook grote bedrijven als Amazon zitten hier op te wachten. Elke milliseconde dat het langer duurt voor een pagina laadt, betekent klantverlies. Je winkelt meer als het sneller gaat. Razavi liep twee stages bij Microsoft Research om daar de infrastructuur voor klant-applicaties te verbeteren. ‘Heel tof als je onderzoek zo in praktijk gebruikt kan worden’.

Razavi promoveerde 5 november en is al begonnen aan een postdoc binnen dezelfde onderzoeksgroep. 'Al sinds ik klein ben speel ik graag met computers. Ik wilde er achter komen hoe ze werken. Mijn moeder vond dat ik te veel computerde en te weinig tijd besteedde aan mijn 'echte' huiswerk. Maar toen ging ik computer science doen, en kon ze dat niet meer zeggen', gniffelt hij. 'Veel mensen vinden het ingewikkeld om te kiezen wat ze willen doen. Voor mij is het altijd duidelijk geweest, ik wil werken met computers.'

Verouderd

De supercomputer die Razavi naar Amsterdam lokte, is inmiddels verouderd. Maar doordat het minder tijd kost om een berekening op te starten, zouden de summerschoolstudenten waar zijn onderzoek mee begon allemaal tegelijk naar hartenlust kunnen experimenteren in en met de cloud. 'Maar we hebben net de nieuwe versie van de supercomputer gekocht. Dus leuk voor de nieuwe generatie PhD-studenten om mee te spelen!' lacht Razavi.

Kaveh Razavi (1987) werd geboren in Shiraz, Iran. Hij behaalde zijn bachelor aan de Sharif University of Technology te Tehran en zijn master computer science aan de ETH Zürich in 2011. 4 november 2015 promoveert hij aan de Vrije Universiteit Amsterdam met het proefschrift ‘Fast and scalable Virtual Machine Deployment’. Zijn onderzoek werd deels gefinancierd door Commit/project IV-e.