MACHAZINE Symposium BOOKREVIEW Java Puzzlers COMPUTERS EN EMOTIES AI HISTRORISCH PERSOON NEW ! T U O Y A L Kurt Gödel VASTE RUBRIEKEN: Actueel | Vereniging | Informatica | Wiskunde | Supplementair Je hoeft niet ziek te zijn om er beter van te worden Zolang je gezond bent heb je geen zorgen en denk je meestal niet al te veel na over je zorgverzekering. Maar als je ziek wordt, besef je pas wat het waard is om gezond te zijn en hoe belangrijk het is dat zorg goed geregeld is. Dat doen wij. Wij van DSW. Goede zorg mogelijk maken. inhoud en colofon MACHAZINE is een uitgave van Algemeen W.I.S.V. ‘Christiaan Huygens’ Hoofdredacteur Redactioneel 2 CH Twitter 2 Max de Groot, Kees Boon, Wikash Sewlal, Michiel Agenda 2 van Dam, Anne van Ee (QQ’er) Arie Troebel 3 Van Bestuur 53 - Faalprojecten 4 Faculty Student Council 5 Column international student 5 Column - Reflectie 6 Announcement - Teacher of the year 6 Dorien de Regt Redactie Beeldredactie Bruno Scheele, Peter Pul, Bas van Sambeek Redactieadres Mekelweg 4, 2628 CD Delft E: [email protected] T: 015-2782532, F: 015-2782690 Vereniging Concept en ontwerp G2O Kesteren Drukker DeltaHage bv Cover Owls photo - by hagit on sxc.hu Gamen tot je neervalt - LAN-Party on! 7 Fred Vermolen - Genomineerd voor ‘beste docent van de TU Delft’ 7 Symposium - Cloud your Identity, Distribute your Life 8 Ribbon image - taken from omnigifts.co.uk Aan dit nummer werkten mee Arie Troebel, Tom Verhoeff, Mark Janssen, Sanne Aalbers, Anne van Ee, Ankur Sharma, Prof.dr. C. Witteveen, Bradley Galdey, Fred Vermolen, Jeremy Rauss, Paul Brussee, Prof. Informatica Ken je Prof! - Prof.dr.ir. H.J. Sips 9 dr.ir. H.J. Sips, Marco Krikke, Dr. P.G. Kluit, Developing the TU Delft ‘My Timetables’ for Blackboard application 12 Joost Broekens, Koen Lubbers, Joey van den Informaticapuzzel XXII 16 Heuvel, A.S. Pruteanu, Dennis den Ouden, Oplossing informaticapuzzel XXI 16 Prof. dr. J.M. Aarts, Radboud Duintjer Tebbens, Artificiele intelligentie - Computers en emotie 17 Tijmen P. Collignon, Ester Stegers, Rijn Buve, Zero emission racing! Greenchoice Forze 19 Marjon Ruijter Algemene Voorwaarden Book review - Java puzzlers 24 Clustering algorithm for highly mobile wireless sensor networks 25 De MaCHazine-commissie en het bestuur zijn verantwoordelijk voor de inhoud van het Machazine, met dien verstande dat de mening van een schrijver niet (noodzakelijk) de mening van de redactie of de vereniging weergeeft. Alle rechten Wiskunde Mathematical modeling of particle nucleation and growth in metallic alloys 27 verveelvoudigd, opgeslagen in een geautomati- Wiskundepuzzel LI 29 seerd gegevensbestand of openbaar gemaakt, in Oplossing wiskundepuzzel L 29 enige vorm of op enige wijze, hetzij elektronisch, Wiskunde en de paradox van rationele vaccinatiebeslissingen 30 mechanisch, door fotokopieën, opnamen of enige Fast Iterative Solution of Large Linear Systems on Grid Computers 33 voorbehouden. Niets uit deze uitgave mag worden andere manier, zonder voorafgaande schriftelijke toestemming van de uitgever. Adverteerdersindex Thales Achterkant Kaft DSW Binnenkant Kaft ASML 14, 15 Technolution 20, 21 All Options 32 Quinity 49 Supplementair Historisch Persoon - Kurt Gödel 37 Alumnus - Rijn Buve, CTO TomTom 41 Reizen tijdens je studie - Stage bij de Schotten 43 N IE U W E Stijl! Jaargang 14 • Nummer 3 • Maart 2010 Jaargang 14 • Nummer 3 • Maart 2010 @htonino Laat ik nu maar niets over de iPad zeggen! (vrij naar Ferdinand Peper, Stelling 11, 1989) Redactioneel A new style == new opportunities? Bruno Scheele So, isn’t this a nice gift to you? A shiny new MaCHazine, and even in a shiny new jacket! The old layout was becoming a tad stale and even somewhat restrictive while fitting in all the articles. So we hope that this new and improved layout will spice up our nice MaCHazine and give a bit more dimension and color to our great articles. Of course, as we use this style more and more often, we will keep refining it, so expect little things to change over the next few editions. As a break of tradition, this editorial is written in English. Why in English all of the sudden? Wasn’t Dutch good enough? Well, since the MaCHazine has made a new start with its new face, perhaps it’s also time that everything else has a fresh reboot as well. Getting more English articles for our foreign readers is a great start. Actueel There are a lot of great articles in this MaCHazine. We have our usual suspects in the form of information about activities and issues within the faculty and editorials by a lot of great guys. We have reports of activities that CH has to offer and we have a lot of nice articles about various subjects in the field of Computer Science and Mathematics. And just for a bit more fl avor, we revisit our historical heroes and recount tales of studies of students in the world. But of course, everything can be improved. That’s why we want the input of all our readers, including the English ones. Hence my choice of language for this editorial :). So, please tell us what you think of the MaCHazine by sending us a mail addressed to [email protected]. Like the new layout? Mail us a compliment. Hate it? Mail us your criticism. And of course the same goes for our articles. Are there particular subjects you would like to read about? Would you like to write an article yourself? Would you enjoy a single issue of the MaCHazine to cover only one topic, such as game design or financial mathematics? Or do you enjoy having a MaCHazine with articles about various topics? We always enjoy hearing from our readers and there is no better time to give us your opinions than with this new start. 2 @marcokrikke Beermile start! http://twitpic.com/16k758 #chdies @tomverhoeff Koffie/frisdrank/snoepautomaat op de #tudelft leeg? Geef het door en wij houden het bij: http://bit.ly/c86pWr @broslife Ladies...Ask not what Barney Stinson can do for you ....Ask what you can do for Barney Stinson. Agenda April Thu 22 Excursion to Vanderlande & Quintech Fri 23 International Food Festival Tue 27 Symposium ‘Cloud your Identity, Distribute your Life’ May Thu 6 Members Lunch Fri 7 Excursion to KLM Wed 12 Sjaarcie BBQ Tue 18 General Assembly Wed 19 MatCH: Games Afternoon Thu 20 Party Tue 25 Inhouseday at KPMG Wed 26 Mathematics Lecture by Radboud Duintjer Tebbens Wed 26 Lecturer of the Year Award Ceremony June Thu 3 Committee Thanks Day Jaargang 14 • Nummer 3 • Maart 2010 Jaargang 14 • Nummer 3 • Maart 2010 Arie Troebel The difference machine Lieve schatjes in het mooie Delft, Charles: ‘Ada, dit wordt een regelrechte hit!’ Ik zat in de bioscoop, nou nee, ik moest naar de bioscoop met mijn Ada: ‘Ja maar wat is het dan Charlie?’. vrouw, en als ik ergens een hekel aan heb… ja dat dus! Charles: ‘Jee, jij ook met je moeilijke vragen altijd Ada! Vind je het niet mooi dan?’. Dus wat gaat een beetje wetenschapper dan doen? Hij gaat zich uit verveling verdiepen in de Babyloniërs, die zo lekker aan het spelen waren met hun getalletjes en dat allemaal gebaseerd op het getal 60!! Ada: ‘Mooi is het wel, maar is het ook functioneel, wordt het wel iets voor de toekomst? Ik bedoel: kunnen we er iets op gaan doen, of zetten we het gewoon in de hoek met een Feijoa Sellowiana plantje erop?’ Jaja, ze konden er wat van, wat te denken van de algebraïsche formule als ab = ((a + b)2 - (a - b)2)/4. Ja, je moet wat doen in zo’n donker collectieve pijnbank. Charles: ‘Ada, op dit moment schiet me er even niets te binnen, maar als je wilt mag je ook wel iets doen, hoor. Kijk maar wat je uit gaat spoken!!’ Maar goed ik dwaal even af. Dat liet Ada zich geen twee keer zeggen, vele uren en dagen later kwam Ada weer terug op het honk van Charles, en ze zei: ‘Charles, ik heb wat opgeschreven op wat perkament; mag ik er wat mee doen?’ Ik wil het met jullie even hebben over het heerschap Charles Babbage (17911871), en natuurlijk ook heel belangrijk Ada Lovelace (1815-1852)! Charles was een vrij rustige man, die zich met volle overgave gaf aan ‘nog niet eerder ontworpen dingen’ te maken. Hij zat op een zondagmorgen wat te prutsen en te sleutelen aan een machine wat hij zelf ‘the difference Engine’ noemde. ‘Ja, je moet het beestje toch een naam geven’, prevelde hij. Ada ging aan de gang en de hele zware machine zette zich in beweging. 30 Minuten later kwam er wat uit rollen, en op dat moment liet ook de machine het afweten. Dus volgens de overlevering heeft hij het nooit gedaan, maar bij dezen is dat dus rechtgezet, en dat een vrouw de eerste was die ooit een computer progamma schreef. Maar wat was het nu wat er uit de ‘computer’ kwam rollen? Dit dus: Charles ma +2bier-1wijn Charles was in een beste stemming, want een vriendin zou langskomen om ‘the difference Engine’ te zien. Op de deur werd gebonkt en daar was ze, een plaatje zoals altijd. ‘Hi Charles,’ zei ze met een zwaar Cockney accent, ‘wat ben je aan het freubelen?’ Actueel Het zag er mooi uit vond hijzelf. ‘Ik had wel IO kunnen studeren, maar ja dat bestaat nog niet,’ praatte hij wederom tegen zichzelf. Charles: ‘Natuurlijk Ada,’ je gaat je gang maar, doe wel voorzichtig want hij is net af!’ 3 Jaargang 14 • Nummer 3 • Maart 2010 Jaargang 14 • Nummer 3 • Maart 2010 nieuwe CH voetbalteam, maar had meer zin in iets oncreatiefs na de grote uilenposter-domper. Alle CRI tussenevaluatie agenda’s liggen nu een maand van te voren al klaar… Van Bestuur 53 Faalprojecten Faalprojecten Van Bestuur 53 De commissarissen Onderwijs Sanne en Anne, de Commissarissen Onderwijs Sommige dagen zijn niet zo productief als andere dagen. Je probeert je best te doen, maar er gebeurt gewoon niet zo veel. Zo was afgelopen woensdag het geval voor ons. Er waren deze dag geen speciale CO taken voor ons weggelegd, zoals vergaderingen met de CRI’s, CRW’s, FSR, OCW, OCI, OCCEES of SVR-O. Jullie zien het, ons leven bestaat uit een grote verzameling afkortingen. Wel was er een meeting met de onderwijscoördinator waarbij het de bedoeling was om het juist niet over de problemen van de studies Wiskunde en Informatica te hebben, maar om eens een Het was tijd voor iets leuks! We besloten onze Pentagonvriendjes een bezoek te brengen om voor het Sjaarciefeest DDB Eindfeest kaartjes te verkopen. Bepakt met een grote kas gingen wij op weg. Onderweg zorgde Sanne voor een indrukwekkend rinkelconcert. Misschien hadden we dit kunnen waarderen als wij penningmeesters waren, maar nu was het gewoon irritant. Aangekomen bij de olifanten-lovers werden wij met enorme vreugde ontvangen. Al snel bleek grote onduidelijkheid over hoeveel mensen aanwezig konden zijn en daardoor werden er geen kaartjes gekocht. Gelukkig is er een toezegging gedaan dat vandaag iemand langskomt voor de kaartjes; of dit daadwerkelijk gebeurt, blijft de grote vraag. Aan de overkant van het Mekelpark konden we de VvTP vinden. Gelukkig waren er nog twee bestuurders aanwezig die ons verhaal wilden aanhoren. Bij dit bestuur was ook al veel onduidelijkheid over het aantal aanwezigen, maar wij hebben de positieve verwachting een groot deel van hen op het feest te zien! Toen was het tijd om TG een bezoek te brengen. We hadden namelijk gehoord dat zij heel erg enthousiast waren om hun medebestuurder in zeer aangeschoten toestand te aanschouwen. Hier konden wij dan ook eindelijk wat kaartjes kwijt! Dit faalproject had gelukkig een goed einde. Nu denken jullie misschien: waar is het vijfde Pentagonbestuur gebleven? Zij zitten ver in het zuiden en wij hadden het briljante inzicht om eerst te bellen. Zo hebben wij tijd en moeite bespaard, want een bezoek aan hen had geen resultaat opgeleverd. Helaas zit Sanne nog zonder handdoek, maar deze komt vast nog een keer naar haar toegevlogen! Niet elke dag is zoals hierboven beschreven, maar je kunt natuurlijk niet altijd knallen. Op het moment zijn wij bezig met het maken van modulekaarten voor Wiskunde en Informatica. Ook baart het tweede instroommoment van de masters ons zorgen, omdat deze zowat niet bestaan. Ook al is, naar aanleiding van de invoering van de Harde Knip, toegezegd door het CvB dat een tweede instroommoment bij elke studie mogelijk moet zijn, onze faculteit heeft al aangegeven dat zo’n tweede instroommoment nooit nominaal studeerbaar zal worden. Genoeg zaken dus waar wij ons nog over kunnen ontfermen als we geen faaldag hebben. persoonlijk gesprek te voeren. Dit faalde al meteen. Het gesprek met Julia begon als volgt: “Even nog kort een paar dingen over wat wij gisteren besproken hadden.” Hoewel we elke dinsdag al een vergadering hebben, konden we het toch niet laten om vervolgens alsnog binnengekomen klachten te bespreken. Gelukkig konden wij daarna praten over hoe stom versus leuk kerels zijn en alle problemen die bij hen komen kijken. Actueel Tijdens de lunch ging gelukkig niets fout en daarna konden we dan ook met een gerust hart op expeditie. De bedoeling was de uilenposter bij de H&M te claimen, die we al een tijdje terug hadden gespot in de etalage. Deze supermooie poster zou namelijk erg goed staan op het CH hok of in het vergaderhok. Jammer genoeg was de H&M ons niet zo goed gezind, want wat blijkt: alle posters worden teruggestuurd naar een ‘unknown location’. Zelfs het pruillipje hielp hierbij niet, want helaas werken er alleen maar vrouwen. Huilend kwamen wij terug op het CH hok! Er stond niets anders op dan de normale actiepuntjes af te knallen. Sanne ging haar lezing promoten via het servicepunt en alle secretariaten. Anne moest een logo regelen voor het 4 Uilen in de etalage bij H&M Jaargang 14 • Nummer 3 • Maart 2010 Faculty Student Council A new MaCHazine, a new report from the Faculty Student Council. Tom Verhoeff & Mark Janssen So what have we been up to the past few months? Apart from all the complaints we handled, there were some major points we worked on; let us take you through some of them. First of all, let’s talk about the faculty restaurant. We received a lot of complaints about the old situation: the available space wasn’t used efficiently enough and long queues were a recurrent issue. We worked with the faculty to come up with a restructured layout, which has been realized last December. Because the changes might not be sufficient, we will be sure to continue our collaboration with the faculty to resolve all issues. An improvement we have made on the side of education is the introduction of so-called module cards, which provide a clear and fast view of a study program. It is easy to see which courses are given when and the number of ECTS they are worth. We try to have the new module cards on the faculty website within the coming weeks. They will also be the main course overview starting next year, replacing the traditional study guide. One of the first problems we encountered this year was the new timetable interface. The system introduced in September lacked a lot of features an EEMCS-student cannot live without, such as export to iCalendar files. Combining different free-elective courses on one page also proved to be an impossible task. The IT department promised that a new system would be available before the start of the second semester, but a progress check a few months later revealed that no progress had been made. Fortunately, they decided to offer the job of creating a new interface to four students from our faculty. You can read more about their work in this MaCHazine. Do you want to make a difference on our faculty? New Faculty Student Council elections are coming up on the 26th and 27th of May and we are looking for skilled successors. If you are interested, please let us know at [email protected]. We will be sure to answer all your questions, and if you are up to it, add you as one of the candidates for next year. The application deadline is April 1st. Column international student Let it snow! Ankur Sharma As I opened the door after a long and dreamy night, I was in a different world. For a second, it seemed as if I was colorblind, but I wasn’t –phew So I hopped on and I was still feeling 15, so it didn’t matter. I found a few guys who got hold of a traffic sign board and were using it to slide on the snow - this is what I call innovation. People kept coming and soon we had kids, grandpas, guys and gals enjoying this beautiful day. what a relief! Everything was white and riding a bike to the library wasn’t my best idea. It was close to the end of 2009, I had seen snow before, snow for a long time. So, as I walked dragging my bike on the 3 inched deep snowy roads, I found more snow enthusiasts and we ended up having a snow fight. I was 15 again, and I loved that. The Snow fight made me tired, eventually, and I remembered where I was destined to. The TU Delft Central library, however, wasn’t the same place where I used to go everyday. It looked like a white snowy mountain with people with snowboards, signboards and virtually anything that could be rolled on – Nice! Actueel but as I discussed later with my Dutch friends, Delft hadn’t seen such It was fun for both international and Dutch students and everyone found a good reason in the white snow to escape from the books and relax for a while and I am sure these were some moments that everyone there will remember for a long time. Eventually the 15 in me started feeling hungry and I started to look for my bike that was buried somewhere in the snow carpet. As I walked back and met more kids fighting with snow bombs, I weirdly felt that in the next days the snow is going to melt and will life will be colorful again, but I wanted the snow, I wanted to be 15 all the time. As I cooked a spicy hot meal at home, it started snowing again. 5 Jaargang 14 • Nummer 3 • Maart 2010 Het geheim is reflectie. Naast alle andere hele dure woorden die ik gehoord heb, is dit er vooral een die u moet onthouden. Ik weet nu dat het direct nadenken over een probleem en het proberen op te lossen een nogal naieve activiteit is. In plaats daarvan is het veel beter om na te denken over het feit dat je een probleem hebt. Zo til je het op een hoger plan en plaats je het in een context. Het probleem is nu onderwerp van reflectie geworden. En daarover kan ik praten, niet alleen met mijn collega’s, ook met iedereen die het maar wil horen. Dit is goed voor mij en voor het probleem. Nu komt het moeilijkste gedeelte van de cursus: reflectie is stap één, maar je kunt natuurlijk ook weer reflecteren over je reflectie. Dat heet meta-reflectie. Ik geef een voorbeeld: ik had een probleem, daarover leer je reflecteren, zo kun je praten over het feit dat je een probleem hebt. Dan komt de volgende (meta) reflectiestap: Wat is nu eigenlijk mijn probleem als ik een probleem heb? Kom je nu tot de geniale conclusie (en dat was de bedoeling van de cursus) dat dat eigenlijk geen probleem is, dan heb je daarmee in een klap drie problemen opgelost. Kijk, dat noem ik nu een cursus die z’n geld op brengt. Column Reflectie Met een, twee stappen los ik daarom voortaan elk probleem op. Alleen maar door te (meta-)reflecteren. Daar kunt u toch moeilijk een probleem mee hebben? Toch wel? Dan moet u het recept hierboven toch nog eens aandachtig doorlezen. Veel succes. Prof.dr. C. Witteveen Zoals u weet, krijg ik van onze universiteit iedere maand een ruime vergoeding om problemen te bedenken en op te lossen. Zo op het eerste gezicht een ideale baan: zelfs als ik meedeel dat een oplossing niet bestaat of tijdens mijn leven niet gevonden kan worden, dan wordt mijn salaris toch keurig op mijn rekening gestort. Het enige nadeel aan deze baan is dat je soms heel hard en lang moet nadenken. (Ter toelichting: nadenken is een oude term voor mentaal googelen: in plaats van het internet stuur je queries door je hersenpan in de hoop dat je met de gegenereerde hits iets kunt doen.) Actueel Tot voor kort dacht ik dat dit nadeel onoverkomelijk is. Zo was ik gewend door artikelen te ploeteren en uit frustratie met m’n hoofd tegen de muur te bonken, omdat een oplossing niet bleek te kloppen. Ik heb talloze schoenen versleten tijdens het tobbend sjokken door de gangen en liters koffie bij de automaat doorgespoeld, allemaal in de hoop een creatieve ingeving te krijgen. Ja, achteraf gezien kan ik stellen dat ik een behoorlijk ellendig leven heb geleid. Maar nu blijkt dat ik het al deze jaren verkeerd heb gedaan. En hoe kwam dat? Het verrassende inzicht is dat ik op de oude manier had leren nadenken. En dat is heel funest. Een nogal dure, maar fantastische, cursus heeft mijn leven echter drastisch en fantastisch veranderd. Omdat ik niet de beroerdste ben, zal ik u gratis het recept van deze cursus uit de doeken doen. 6 Teacher of the year MaCHazine staff Upcoming quarter, the annual teacher of the year contest will be held. Grade the teachers of the courses you took this year, instead of having them grade you! You can also add comments and motivation. Your opinion may get your favorite teacher to become teacher of the year of the faculty of EEMCS and perhaps even the whole TU. For more information about the teacher of the year award, please read the article by Fred Vermolen, last years teacher of the year of this faculty. For more information about this year’s election, please contact the Chief Commissioners of Education. Jaargang 14 • Nummer 3 • Maart 2010 Jaargang 14 • Nummer 3 • Maart 2010 Genomineerd voor de titel ‘beste docent van de TU Delft’ Fred Vermolen Tot mijn grote verbazing werd ik gekozen tot docent van het jaar Gamen tot je neervalt LAN-Party on! Bradley Galdey 2008-2009 van de opleiding Technische Wiskunde. Deze titel werd me uitgereikt vanwege het vak Numerieke Methoden II dat aan derdejaars technische wiskunde studenten gegeven wordt. Voor mij was dit al een grote eer, zeker omdat er zo vreselijk veel heel goede collega-docenten in onze opleiding rondlopen. Een aantal collega’s acht ik veel beter dan mezelf. Sterker, een echt goede docent vind ik mezelf eigenlijk Hoewel CH als studievereniging bovenal op de studies gericht is, bestaat helemaal niet. Het enige dat ik probeer is mijn werk goed te doen. er natuurlijk ook een tijd voor plezier. De LAN-party in het weekend van 30 en 31 januari is daar een uitstekend voorbeeld van. Een bepaalde (om de één of andere reden niet totaal onverwachte) hoeveelheid CH-ers speelt graag een spelletje. Aangezien algemeen bekend is dat meer zielen meer vreugd tot gevolg hebben, is met anderen spelen populair, en dat maakte ook de afgelopen LAN-party een succes. Net als het jaar daarvoor was voor de locatie weer gebruik gemaakt van buurthuis ‘Het Voorhof’. Hier kwamen op zaterdagochtend de eerste mensen binnen met hun pc’s om zich te nestelen voor het weekend. In de loop van het weekend werden hier verscheidene spellen op gespeeld met de rest, waaronder bijvoorbeeld ‘Unreal Tournament’. Ook was er even een Xbox 360 aanwezig, waarop fanatiek voetbal werd gespeeld, en de ‘oeehh’s en het harde gelach bleven dan ook niet uit. Later maakte de Xbox plaats voor een Wii, waarop vele hectische potjes ‘Super Smash Bros.’ zijn gespeeld. Verder werden er, zodat de deelnemers niet geheel op zichzelf waren aangewezen, een aantal toernooien georganiseerd. In teams van twee konden spelers het tegen elkaar opnemen in ‘Call of Duty: Modern Warfare 2’, en ook in ‘Super Smash Bros.’ konden de deelnemers laten zien wat ze echt waard zijn in éénop-één-gevechten. In het geheel kan naar mijn mening gesproken worden van een wederom geslaagde activiteit, ik heb me erg vermaakt en zal er daarom volgend jaar weer bij zijn, die LAN-party houden we erin. De prijs van Beste docent van de TU Delft is dit jaar voor het eerst ingevoerd. Mijn eerste indruk was: ‘In wat voor een kermis ben ik nu weer beland?’ Achteraf bezien, denk ik dat deze prijs een goede zaak is. Het onderwijs op universiteiten is lange tijd ondergesneeuwd geweest onder het onderzoek. Hoewel ik een gepassioneerd onderzoeker ben, hecht ik zeer veel waarde aan het onderwijs. Het is leuk, vernieuwend, leerzaam en motiverend om met studenten (en jongeren in het algemeen) te werken. Goed onderwijs levert op de langere duur goede technisch wiskundigen op waarvan het onderzoek en het bedrijfsleven dan kunnen proteren. De grotere waardering voor onderwijs zet aan tot goed onderwijs. De tijd waarin mensen die veel onderwijs geven als half-zacht worden aangezien, is voorbij en dat is maar goed ook, want de TU Delft is en blijft op de eerste plaats een onderwijsinstelling. Ook hoop ik dat de TU Delft haar goede naam in het onderzoek en onderwijs behoudt of -nog liever- verbetert. Vereniging Tussen al dat vechten en schieten door werden de deelnemers goed verzorgd. Op de zaterdag was er een lunch beschikbaar en op de zondag naast lunch ook een ontbijt voor iedereen. Daarnaast was er voor degenen die daar behoefte aan hadden een slaapruimte klaargemaakt, waar met behulp van een slaapzak of iets dat dezelfde functie vervult een welverdiende pauze kon worden genomen. Nog meer verbaasd was ik toen ik te horen kreeg over mijn nominatie als beste docent van de TU Delft. Ik moest de EWI-faculteit vertegenwoordigen en het opnemen tegen zes zeer goede kandidaten waarvan ik er twee persoonlijk ken. Er kwam een interview met een fotosessie van het TU blad Delta, wat resulteerde in een mooi artikel. Uiteindelijk heb ik de titanenstrijd niet gewonnen en is de prijs gegaan naar Susanne Rudolph. Deze docente is erg goed en daar kon ik het eenvoudigweg niet van winnen. Ze vertelde dat als de studenten haar stof in een college niet begrepen, dat ze dan een extra college inlaste. Ze is dus heel erg betrokken met haar studenten en dat wordt dan ook terecht gewaardeerd en ik feliciteer haar dan ook met de uitslag. Tenslotte merk ik op dat ik van vrijwel iedere werkdag aan de TU Delft geniet, en dat ik de combinatie van onderzoek en onderwijs in mijn werk als een voorrecht beschouw. Ik hoop dan ook nog lang te mogen genieten van wiskunde, onderzoek (ook in aanverwante disciplines), onderwijs en studenten. 7 Jaargang 14 • Nummer 3 • Maart 2010 Cloud your Identity Distribute your Life Op 27 april 2010 zal W.I.S.V. ‘Christiaan Huygen’ een symposium neerzet- sium ‘Cloud your Identity, Distribute your Life’ zal een overzicht gegeven Aan de Technische Universiteit Delft wordt toonaangevend onderzoek verricht op gebied van Peer-2-Peer samenwerking. Johan Pouwelse zal een lezing geven over de nieuwe ontwikkelingen in alweer de vierde generatie van Peer-2-Peer samenwerking. worden van de huidige ontwikkelingen op het gebied van gedistribueerde Cryptologie ten voor Technische Wiskunde- en Informaticastudenten. In het sympo- systemen, Peer-2-Peer samenwerking, cryptologie en vooral de privacygevolgen en wetgevingsprocessen hiervan. In het symposium zullen de onderwerpen daarom niet alleen vanaf de wetenschappelijke kant, maar ook vanaf de filosofische en sociale kant benaderd worden. Locatie Vereniging Het symposium zal gehouden worden in de MustSee bioscoop Delft. Het programma bestaat uit twee tracks, een toegespitst op informatica en een toegespitst op wiskunde en de meer maatschappelijke lezingen. Na elke lezing is er de mogelijkheid te wisselen tussen de twee tracks. Er is ook een lunch in de middag en een borrel achteraf. Gedistribueerde systemen Toepassing van gedistribueerde systemen is soms vereist, omdat er afstand zit tussen waar de data is opgeslagen en waar het gebruikt wordt. In andere gevallen zou een taak door een enkele computer uitgevoerd kunnen worden, maar om practische redenen is een gedistribueerd systeem beter, bijvoorbeeld om kosten te drukken. In dit licht zal professor Wesley Petersen van de ETH Zürich een lezing houden over berekeningen op grafische processoren, game processoren en Intel multi-core. Hierbij zal hij ingaan op de uitdagende aspecten van het gedistribueerde element. 8 Peer-2-Peer Het beschermen van gegevens kan op veel manieren. Dit onderwerp zal behandeld worden met oog op de andere onderwerpen van het symposium. Hoofd van de Cryptology and Information Security groep van het Centrum Wiskunde & Informatica en professor Cryptologie aan de Universiteit Leiden, Ronald Cramer zal een lezing geven over Secure Multi-Party Computation. Ook maatschappelijke ontwikkelingen van cryptologie zullen aan bod komen in de lezing over pseudonimisering van persoonsgegevens door Eric Verheul. Privacy en wetgeving Naast de technische kant van de bovenstaande onderwerpen, zal ook de maatschappelijke kant aan bod komen tijdens het symposium. De schijnbare tegenstelling van aan de ene kant persoonlijke gegevens proberen te verbergen en aan de andere kant meedoen in maatschappij die efficient informatie deelt wordt aangesterkt door huidige ontwikkelingen in de techniek. Hier zullen wat voorbeelden van worden gegeven. Melanie Rieback zal een lezing houden over RFID Guardian, dat staat voor Radio Frequentie Identification. Deze techniek wordt onder andere toegepast in de OV-chipkaart. IT-journalist Brenno de Winter zal meer vertellen over de OV-chipkaart. Ken je Prof! Prof.dr.ir. H.J. Sips Jeremy Raes & Paul Brussee Waar doet uw sectie onderzoek naar? Het vakgebied van PGS valt uiteen in twee delen: parallel en gedistribueerd. Parallel is eigenlijk vrij simpel. Het houdt in dat alle processoren samen zo snel mogelijk een taak uitvoeren. Dit lijkt eenvoudig maar dit blijkt in de praktijk een weerbarstig probleem te zijn. Zeker met de moderne multi-core machines, wordt het ons software ontwikkelaars er niet makkelijker op gemaakt. Een aantal nare problemen die klassiek altijd verborgen bleven kunnen ineens in volle hevigheid naar voren treden. Denk hier bijvoorbeeld aan het probleem van latency of de beperkte omvang van je resources of hoe lang je de CPU nog bezig kan houden gegeven een bepaalde bandbreedte. Het moet allemaal blijven passen in je geheugen. Zodra het allemaal niet meer past krijg je gelijk een enorme performance penalty voor je kiezen. Er zijn voorlopig nog geen software tools die dit kunnen verhelpen. Twee machientjes in een dual core kan je nog wel bezig houden, maar zodra het er 40 worden, wordt het toch een heel ander probleem. Denkt u dat een oplossing überhaupt mogelijk is? Het aantal cores blijft eigenlijk vooruitlopen op onze mogelijkheid om ze te benutten? Ja, eigenlijk wel. De focus is nu ook verschoven van een zo snel mogelijke CPU maken naar systemen om data aan te voeren. De CPU’s zijn wel snel genoeg, maar ze krijgen hun data niet snel genoeg aangevoerd. Ze moeten veel te veel wachten, want alles wat afstand moet overbruggen is traag. Er zijn wel enthousiastelingen die zeggen dat je de hardware niet plat moet maken, maar in 3D. Dit levert echter weer warmteproblemen op. Is dit niet meer een probleem voor elektrotechnische ingenieurs? Voor informatici vrees ik. Aan de hardware kan uiteraard nog wel wat worden verbeterd, maar fundamenteel zijn daar geen oplossingen voor. Zelf denk ik dat men de algoritmiek moet veranderen. Mensen gaan er ten onrechte van uit dat Jullie doen ook nog onderzoek naar gedistribueerde systemen. Bij gedistribueerde systemen werken we aan P2P-systemen, met de focus op video-on-demand over het Internet. Het ultieme gedistribueerde is de interactie tussen een aantal autonome systemen die met elkaar communiceren, bijvoorbeeld over het Internet. Bittorrent met gedistribueerde trackers is daar een voorbeeld van. Daarin heb je tal van uitdagingen met bijvoorbeeld schaalbaarheid. Je krijgt ook te maken met alle negatieve kanten, zoals illegaliteit. Als je er puur technisch naar kijkt, zijn het slechts systemen die bits verplaatsen, maar het gaat allemaal zo snel dat je het ook op een manier kan gebruiken die de contentindustrie niet zo aanstaat. Informatica Ik ben toch wat pessimistisch. Het is niet zo dat je het niet kan programmeren, maar het is wel heel arbeidsintensief. Portabiliteit, het overdragen van het ene systeem naar het andere, is ook niet altijd fantastisch. Daar zit toch het merendeel van de software ontwikkeling in tegenwoordig. Hoe zich dat verder zal uitkristalliseren, blijft voorlopig nog de vraag. ze over oneindige resources beschikken. Neem bijvoorbeeld MPEG4 met al die object coderingen. Vanuit een informatica standpunt lijkt dit fantastisch, maar vanuit een hardware technisch oogpunt is dit een ramp. Alle regelmaat is weg en je introduceert een hoop afhankelijkheden. Eigenlijk kan je niet anders constateren dat voor de moderne hardware deze algoritmes helemaal niet geschikt zijn, maar het zal nog wel even duren voordat men ervan overtuigd raakt dat er technologisch toch echt geen oplossing bestaat voor dit probleem. We moeten nieuwe vormen van oplossingen verzinnen. Hetzelfde geldt voor problemen die nu algoritmisch duur zijn vanwege de enorme complexiteit. Het kan wel eens zo zijn dat deze op nieuwe machines juist goedkoper worden. Dat zou de wetenschap niet in de weg mogen zitten van de ontwikkeling van deze technologie? Dat is bij ons altijd een hele discussie geweest. Toen wij met ons onderzoek begonnen, hebben we hierover lange gesprekken gevoerd met de stichting Brein. Zij vonden het helemaal niets. Ik heb hier altijd het standpunt ingenomen dat wij geen illegale content willen op onze servers. Wat mensen met software doen is hun verantwoordelijkheid, maar hier aan de TU wil ik het niet. Nu zit daar soms een dun lijntje, want we doen soms wel eens experimenten waar we tijdelijk wel even deelnemen voor bijvoorbeeld metingen. Mijn standpunt is dat dit wel geoorloofd is, want anders zou je ook geen onderzoek naar welke vorm van illegaliteit dan ook kunnen doen. Soms moet je een beetje participeren om het systeem te meten. Zoiets moet natuurlijk wel strikt afgebakend worden in tijd en doel. 9 Jaargang 14 • Nummer 3 • Maart 2010 Een ander vraagstuk is anonimiteit op het Internet. Ook daar zitten positieve en heel negatieve kanten aan. Positief is uiteraard dat daarmee de hele censuur in China om zeep geholpen kan worden. Negatief is dan weer dat het medium ook gebruikt wordt om bijvoorbeeld kinderporno mee uit te wisselen. Dat zijn toch hele fundamentele kwesties. Ik ben als student wel actief geweest binnen het toen net opgerichte AAG en heb een tijd in een studentenraad gezeten hier op deze faculteit. De universitaire structuur was toen nog wel heel anders. Ook waren de studentenprotesten nog vrij heftig. Dat was de tijd van ‘68-’69, nog voor de Wet Universitaire Bestuurshervorming. Bent u daar zelf al uit? De studentenprotesten die nu spelen zijn van hele andere aard. Toen ging het echt over medezeggenschap. Er waren toen een aantal mensen heel erg actief, waarbij het grappig is om op te merken dat de meest actieve actievoerders later ook de beste banen in het bedrijfsleven gekregen hebben. Het bloed kruipt toch waar het niet gaan kan. Ik vind dat heel moeilijk. Technologie is agnostisch, net zoals een hamer. Je kan er hele positieve maar ook hele negatieve dingen mee doen. (Pauzeert, denkt even na) Ik ben er dus niet helemaal uit of we dataverkeer traceerbaar moeten maken en zo sommige zaken toch opspoorbaar moeten maken, of niet. Dat verhaal uit de cryptografie kennen jullie waarschijnlijk wel: een onderzoeker had een cryptografisch algoritme gekraakt en daar een paper over geschreven. Maar hij durfde daarna niet meer naar de Verenigde Staten, omdat hij gearresteerd zou kunnen worden. Zoiets kan uiteraard niet de bedoeling van de wetenschap zijn. Je moet dat soort systemen kunnen testen. Als je naar de geschiedenis van de media kijkt, zijn er altijd wel punten waarop de contentindustrie zich bedreigd voelt. Eerst was het de grammofoon, daarna de opkomst van de radio, vervolgens de televisie en nu het Internet. De derde tak van ons onderzoek spitst zich toe op grid- en cloud computing. Ook op dit onderwerp zijn we al een aantal jaren actief. We willen nu uitbreiden richting de massive multi-player online games. Denk hierbij aan een platvorm voor iemand die zo’n spel wil maken waarbij de entry costs enorm gereduceerd worden. Waarin verschilt de opleiding hier van andere informatica opleidingen in Nederland? Wat ik van Hans Tonino [opleidingsdirecteur informatica, red] begrijp, is dat de studenten de opleiding goed waarderen. We hebben goede docenten en hebben veel geïnvesteerd in vernieuwing de laatste jaren. Ik denk dat een student hier aan de TU meer mogelijkheden heeft om zijn eigen interesses tegemoet te komen met behulp van keuzevakken. En juist omdat je aan de TU zit kan je vakken hebben die bijvoorbeeld meer in de telecom zitten, of juist meer op hardware gericht zijn. Informatica Elk curriculum is een compromis, want je kunt natuurlijk niet alles doceren. De afgelopen twee jaar hebben we rustig ons nieuwe curriculum gedraaid en dat draait goed. In september krijgen we een kleine vernieuwing om het een en ander wat moderner te maken. Hoe was u zelf in uw studententijd? Waren er bijvoorbeeld vakken die u moeilijk vond? Wist u toen al dat u professor wilde worden? Nee, dat was geen vooropgezet plan, dat is zo gelopen (lacht). Maar als je eenmaal het besluit genomen hebt om in de academische wereld te blijven, dan wil je natuurlijk wel hogerop. In mijn tijd kon je nog lang studeren. Zelf heb ik er in plaats van 5 jaar nominaal volgens mij ook 7 jaar over gedaan, waarvan ik een jaar ziek geweest ben. Maar ik had het ook in 5 jaar kunnen doen, dat was geen enkel probleem geweest. Doordat je de eerste 2 jaar veel strakker in het stramien gehouden werd was het makkelijker om nominaal te blijven studeren dan daarna. Want daarna had je allemaal keuzevakjes en dan gaat het logistiek wat rommelen en voordat je het weet schuift het uit. Ik vond mijn eigen studententijd erg mooi. In die tijd waren studentenvereningen ook ineens niet meer zo populair. 10 Vindt u dat studenten anno 2010, en Delftse studenten misschien in het bijzonder, relatief braaf zijn? In andere universiteiten worden gebouwen gekraakt. Wat er nu gebeurt vind ik nog wel mild. Vroeger had je zelfs hier hele langdurige bezettingen van het bestuursgebouw, soms weken lang. De Universiteit van Tilburg die omgedoopt werd tot de Karl Marx universiteit en de Maagdenhuisontruimingen waren ook in die tijd. Dat ging er toch wel veel heftiger aan toe dan nu. Waar de studenten het nu over hebben is meer een achterhoede gevecht naar mijn idee. Het is bijna niet tegen te houden dat de basisbeurs wordt omgezet in een lening. De enige vraag is of dat geld ten goede zal komen aan het onderwijs, maar zelfs dat vraag ik me af gezien de budgettaire problemen van de overheid. Ik denk dat je tegenwoordig niet echt meer op de barricades hoeft te gaan staan. Het onderwijs in Nederland is goed geregeld en heeft een behoorlijk drempelloze toegang, zeker wanneer je dit vergelijkt met Amerika waar je enorme bedragen moet betalen. Als je wilt heb je hier bijna alle mogelijkheden om met minors jezelf te verbreden en om naar het buitenland te gaan. In die zin is het het allemaal veel flexibeler geworden. De student zal misschien wat uitgestelde financiële pijn gaan voelen, maar ik denk dat op een gegeven moment de bezuinigingen in de financiering van de universiteit zelf toch wel heel hard zullen gaan toeslaan. Je ziet namelijk bijna altijd dat zo ongeveer twee jaar na een crisis de universitaire wereld een klap krijgt. Dat is na voorgaande crisis ook zo geweest. Formeel zullen ze zeggen dat ze niet gaan bezuinigen, maar dan is er altijd wel een of andere parameter waar ze aan draaien voor wat meer efficiency hier of daar. Wat ze er natuurlijk niet bij vertellen is dat het heel moeilijk te realiseren is. Een universiteit is te vergelijken met een mammoettanker en die krijg je niet zo een twee drie om. Zelfs als de subsidie gelijk blijft is dat natuurlijk al een probleem vanwege de stijgende salarissen en pensioenpremies van zo’n 1 á 2 procent per jaar. Zal het onderwijs in Nederland kunnen blijven concurreren met de massaproductie van ingenieurs in China? Op het ogenblik is de Chinese academische wereld nog niet echt een concurrent qua niveau. Het duurt best wel lang voordat je een kwalitatief goede onderzoeksgroep van de grond hebt, die ook echt impact heeft. Van de andere kant moeten we ons ook realiseren dat de Chinezen nog geen gelegenheid gehad hebben om enorme fouten te maken. Stel bijvoorbeeld dat Toyota, dat nu in het nieuws is, een Chinese fabriek is. Hoe zouden de Chinezen dat probleem hebben afgehandeld? Kunnen ze dat überhaupt met hun cultuur? Dat zijn de wezenlijke vragen die we moeten stellen. Om economisch succesvol te zijn is er meer nodig dan alleen productie. Je moet als bedrijf bankroet kunnen gaan. Als je dat niet goed afhandelt kun je de malaise krijgen die Japan 10-15 jaar lang gehad heeft, vanwege het niet oplossen van slechte leningen. Of China dit werkelijk kan op een schaal waarbij ze een bedreiging vormen voor Jaargang 14 • Nummer 3 • Maart 2010 ons, dat moeten ze nog maar aantonen. Dat ze kunnen produceren geloof ik wel, maar dat is wat anders dan zelf de markt dicteren met alle gevaren van dien. Want als iets mislukt, dan mislukt er ook een heleboel. En wie gaat dan de rommel opruimen. Ik zit nu ook in een andere positie. Zelf echt onderzoek doen, dat doe ik bijna niet meer. Anderen schrijven, terwijl ik meer in een begeleidende rol zit en, bijvoorbeeld, advies geef over welke richting een onderzoek uit moet. Het echte actieve onderzoek gebeurt eigenlijk door de promovendi en PostDocs. De invloed van cultuur op de economie is gigantisch. En dat is iets dat vaak door economen niet wordt gezien. In geen enkel economisch model komt dat terug. Japanners houden bijvoorbeeld van dingen mooi verpakken terwijl de Chinezen dat helemaal niet hebben, alles wat ze maken is even lelijk. Dat soort kleine dingen gaan uiteindelijk de doorslag geven. Mist u het niet om zelf onderzoek te doen? Hoe vertaalt u die invloed van cultuur naar het onderwijs hier op EWI? Je moet kijken naar waar wij als Nederlanders goed in zijn, en dat is, zeker vergeleken met Zuid-Europa, de experimentele en empirische kant van het vak. Als wij hier studenten krijgen uit Zuid-Europa dan is de theorie wel in orde, maar die andere kant niet. Het denken over hoe je systemen maakt en dergelijke zit voornamelijk in Noord-Europa. Blijkbaar is dat een deel van onze culturele bagage. We proberen dit te vertalen naar ons onderwijs hier. Je moet geen dingen gaan doen die tegen je culturele sterktes ingaan. Toch zie je dit nog te vaak gebeuren bij stimuleringsprogramma’s van de overheid. Een andere trend is het lage aantal vrouwen aan onze faculteit. Waar ligt dat aan volgens u? Het is bovendien praktisch onmogelijk om zelf nog te onderzoeken. De boel moet hier ook bestuurd worden en met externe managers gaat het ook niet, dus een aantal van ons zijn nu eenmaal de ‘pineut’ (lacht). Besturen vind ik ook heel leuk. Het geeft een andere kijk op de organisatie en daar heb je toch bepaalde andere vaardigheden voor nodig dan om een goed onderzoeker te zijn. Waar bent u beter in: onderzoek of bestuur? Ik denk dat ik op de rand balanceer. Ik doceer bijvoorbeeld ook graag, maar er kan ook een moment zijn dat ik er helemaal geen tijd voor heb. Ik vind het ook heel belangrijk dat jongere mensen zich daarin goed ontwikkelen. Voor de studenten vind ik dit belangrijk, althans voor de goede studenten. Ik zal nooit vergeten dat ik in mijn eerste jaar les kreeg van een aantal instructeurs die ik écht fantastisch vond, maar de hoogleraar waaronder ze vielen, gaf waardeloos college. Het is niet noodzakelijkerwijs een vreugde om van een slecht docent les te krijgen, terwijl men soms hier wel eens doet alsof het andersom is. Die lijn hou ik niet aan. Het is juist belangrijk dat je inspirerende docenten hebt. Ik vind dat we al heel wat verbeterd hebben aan onze werking van nieuw jong talent. Daar heb ik bij ST toch heel veel mee te maken gehad. Nu werken we met een systeem waarbij iemand voor 5 jaar een aanstelling krijgt en na die 5 jaar kan iemand doorgroeien, of gaat weg. Misschien en beetje rigide, maar het werkt. We hebben hele goede mensen aangetrokken. Dat is ook te zien in de resultaten van de onderzoeksvisitatie die we recentelijk gehad hebben en voor onze afdeling uitstekend verlopen is. Dat vind ik wel iets om trots op te zijn. Ik probeer dat coöperatieve model ook een beetje in onze afdeling vorm te geven, maar verbetering blijft mogelijk. Doet u aan sport? We hebben toevallig net een vrouwelijke docente aangenomen binnen onze afdeling, dus daar ben ik wel heel blij mee. We hebben nu 4 vrouwelijke PhD studenten binnen de PGS-groep, dus dat is redelijk veel. Men zegt dat techniek minder macho is in het zuiden van Europa, waardoor vrouwen daar sneller geneigd zijn dat soort studies te kiezen. Wie zal het zeggen. Wie heeft de wijsheid in pacht. U heeft best veel verantwoordelijkheden. Houd u nog wel voldoende vrije tijd over voor uzelf? Informatica Ja, dat is een hele goeie! (veert op) Ik denk dat dit voor een deel te wijten is aan de Nederlandse vrouwencultuur. Je ziet dat, zeker in Zuid-Europa, meer vrouwen informatica studeren dan hier. Ik vind dat de manier waarop de profielen op de middelbare school zijn georganiseerd een kapitale fout is geweest. Men wilde de profielen een wat maatschappelijker gezicht geven richting de beroepspraktijk en hebben er toen wat fantasienamen aan gegeven die de lading niet dekken. Voor mijn dochter ben ik ook naar zo’n voorlichtingsavond geweest en ik wist niet wat ik hoorde. “Wat kun je nou worden met dit profiel?” wordt er dan gevraagd, “Je kan levensmiddelentechnoloog worden.” Is dan het antwoord. Nou, daar staan die meiden om te juichen hoor. Bovendien is het verschil tussen het profiel N&G en N&T dermate klein dat ik het niet te rechtvaardigen vind dat die twee naast elkaar bestaan. Dat heeft allemaal een negatief effect op onze instroom. Maar het ligt niet alleen aan de manier waarop het wordt aangeboden. Er is ook sprake van onderlinge beïnvloeding door meisjes. Dat is een culturele component die we bijna niet kunnen beïnvloeden en die kennelijk zo sterk is dat ze toch iets anders kiezen. Nee, want ik vind dat andere ook heel uitdagend. En dan kan je nog steeds heel enthousiast worden als iemand met iets leuks komt. Ja, ik heb jarenlang gevolleybald, ik zeil veel en doe ook aan tango dansen. Afgelopen november was ik voor de tweede keer in Buenos Aires. Écht een leuke stad! De tango is best een moeilijke dans en misschien wel een uitdaging voor technici, want als je wat van mechanica, bewegingsleer en geometrische patronen afweet kun je daar jezelf een beetje in uitleven. Dat vereist natuurlijk niet alleen wat coördinatie van jezelf, maar ook van je partner. Hartelijk dank voor dit gesprek! Genoeg hoor (lacht). Je kan wel hard gaan werken, maar als mens ben je nu eenmaal maar beperkte tijd effectief. Woonplaats: Delft Muziek: vroeger klassieke gitaar gespeeld Boek: “Een verhaal van liefde en duisternis” Amoz Oz Film: “The night Porter” Favoriete drank: wijn Favoriete OS: Mac OS X Vakantieland: Frankrijk en Italië Quote: “Ga doen wat je echt leuk vindt” Aantal kinderen: 2 11 Jaargang 14 • Nummer 3 • Maart 2010 Developing the TU Delft ‘My Timetables’ for Blackboard application Tom Verhoeff & Marco Krikke Back in August 2009 the Delft University of Technology switched to a new application for building and maintaining schedules. This application, called Syllabus+, provided the schedule makers with an easy way of scheduling activities more efficiently across the whole campus. A new interface came for the system which is known as timetables.tudelft.nl. During the first weeks some startup problems occurred, but when all the problems were solved the system worked fine. Unfortunately ‘worked fine’ does not mean it works the way you want it too. While O&S was happy with all the new features, students were left with an interface not suiting their needs. As chair of the faculty student council for the faculty EEMCS, I was one of the first to receive complaints from students. Students of our faculty know how to complain when the university delivers an imperfect IT system. Complaints varied from “I’m not able to get my elective courses in my schedule”, “why do I have to select everything over and over again to check for changes” to “my phone uses a digital calendar so iCalendar export should be available”. Workarounds by different students showed up within a few days, but none of them really worked perfect. All the complaints led to a commitment by the TU that a new, better interface would be available at the start of the second semester. TU Delft application developer 3xO unfortunately lacked the manpower to build a new system in time, so in October word reached us that they were looking for students to get the job done. That’s when I teamed up with Marco Krikke, Mike Noordermeer and Maarten van der Beek to build a new schedule interface from scratch, based on student needs. societies, a full list of requirements was created. I will not bother you with a full list of functional requirements, but summarized our system would provide the following features: add courses to a profile based on course name, course code, study program, BlackBoard enrollments, student number (for Architecture students) and staff member (for staff members). We went to a meeting with 3xO with a complete requirements analysis document, and after some negotiating we came to an agreement. Now we could finally start with the real work. Architecture First the basic architecture of the system had to be defined. Since everything had to be done in Java, starting with Hibernate as an Object-Relational Mapper was an easy decision. The interface itself had to be clear, easy to use and highly interactive. The Google Web Toolkit (GWT) offers all the functionality to make this possible. The combination of GWT and Hibernate is the technical basis for the application. Some other libraries were also added to support common used functionality. Among this list are log4j for easy logging; ical4j, opencsv and itext for generating the different export files and some BlackBoard libraries to support the BlackBoard integration. We will discuss all the libraries in more detail later on. Database All timetable data is provided in a MSSQL database generated by a brand new module for Syllabus+. In the server layer of our application, Hibernate is used to map information from the database to usable Java-object. Due to the complexity of the database, performance proved to be an issue during development. The first basic implementation of Hibernate performed okay only for small data requests, but after some optimizing this also worked for larger data sets, such as full schedules. Performance issues returned when we implemented support for different student sets per course later on. The first time we saw a java.lang.OutOfMemoryError it came as a surprise, but after some new rounds of optimizing the whole ORM-layer performed good enough. Some tweaks to the Hibernate configuration ensure fast en reliable performance with a higher user load. User Interface Before we even started working on the project, it was necessary to define the scope of the project. First of all we were required to integrate our new interface into BlackBoard. This forced us to make use of Java, and one of us had to study BlackBoard documentation, since nobody had any BlackBoard programming experience. All the data that we wanted to store also had to be saved in BlackBoard. All the timetable data was provided in a Microsoft SQL Server database. Basically our challenge was to build a Java based building block for Blackboard, which takes data from a MSSQL database and presents it to users in an easy and understandable format. From a user point of view everything has to work fast and intuitive. Nobody wants to spend time learning how to create its personal timetable. GWT does not only provide easy to use and recognizable interface objects, but also a full framework to manage the client server communication. Communication is done with asynchronous remote procedure calls to the server, possibly resulting in so called delta updates at the UI. Delta updates only update certain elements of a page, so the page does not have to be completely refreshed after each user action. Development is done in Java, but all code is compiled to JavaScript by a special GWT compiler. Requirements SmartGWT, an extension framework to ‘normal’ GWT, seemed to provide the best set of interface features for our application. After some implementation had been done everything seemed to work, but stability and fast performance proved to be difficult. Switching back to normal GWT was the only option left. This clearly improved the responsiveness of the whole interface but some of Informatica Constraints The constraints did not seem to be anything more than a challenge, so we moved on to gathering requirements. Since we now had the opportunity, we were eager to fix the problem of the schedule interface once and for all. Mike and Marco had already assisted our faculty in building a list of requirements for the old Webber system, so we had something for a start. After interviews with students, O&S, 3xO, Oras and educational commissioners from the study 12 Jaargang 14 • Nummer 3 • Maart 2010 the features had to be manually implemented, such as the graphical calendar view. Implementing the whole interface took more time than expected, but in the end everything worked out fine. when the user did not log on yet. In that case BlackBoard sees an user ‘authenticated’ as guest in that case. Solving this issue was done getting the required information from the BlackBoard ‘context’ (ctx) by using this code: Since GWT compiles HTML and JavaScript for different sets of browsers to overcome rendering issues, our interface had to be tested for browser compatibility. The newest versions of all major browsers are able to handle the JavaScript without a problem, except for some strange layout bugs, but some of the older browsers proved to be a problem. Everybody knows JavaScript is not processed quickly in IE6, but getting a cup of coffee is the least you need to do when trying to run a GWT application in IE6. Due to some strange problems, GWT also recognized IE7 as IE6 when we first tested browser compatibility. Every TU Delft computer still runs IE7 so decent support was required. Fortunately some workarounds proved to be good enough to get everything going in IE7, but still IE8 is recommended. if (ctx.hasUserContext()) { User user = ctx.getUser(); User.SystemRole role = user.getSystemRole(); isLoggedIn = role != User.SystemRole.GUEST; } Blackboard Running a GWT application in BlackBoard did not require many adjustments. Since BlackBoard still uses frames, all you have to do is put the GWT application in its own frame. All TU Delft BlackBoard users will recognize the big top frame with the TU Delft logo. This causes no problems during normal usage, especially since the top frame is replaced by a small one when browsing course pages. The same small top frame is desirable when displaying someone’s schedule on screen to use the most amount of screen space available, but this functionality is not offered by BlackBoard. It is always big, always small or only small when browsing courses. Clearly the last option applies to the TU Delft implementation. By using a nasty JavaScript hack, we are still able to resize the top frame, but this is something you should not even want to use in a serious application. BlackBoard has some more ‘unexpected’ features. Let’s take a look at the user authentication for example. Presenting someone’s timetable is only possible when a user is logged on, so we called the BbSession.isAuthenticated() method before doing anything else. Soon enough we discovered this method returns True, even Screenshot of the interface of the new lecture schedule We came across another surprise when implementing the ‘import from BlackBoard’ feature for adding courses to your profile. Getting a list of courses a user is currently enrolled in takes more time than you would expect. Every course in Blackboard is defined as a Course object. Course and User are connected through a CourseMembership object. To get a list of active BlackBoard courses retrieving all CourseMemberships for a user should be enough. Unfortunately, this list contains all the courses a user has ever been enrolled in. Also a difference has to be made between ‘normal’ courses and ‘communities’. Export While implementing the export functionality, we also came across some unexpected problems. For example generating an iCalendar file from a list of activities does not require rocket science. Unfortunately, it does when support for both Outlook 2003 and Google Calendar is necessary and you don’t happen to be in the UK. Specifying a time zone for the iCal file does not work with Outlook 2003, but not specifying it makes Google Calendar think it is GMT instead of GMT+1. The only way to get this to work is defining a time zone per activity instead of per file. Generating decent PDF output also proved to be difficult. Using the iText library for a clean text output is no problem at all, but generating a decent graphical week view is difficult. We do know the current graphical PDF export is not perfect yet, we will improve it if the TU requests an updated version. Testing Conclusion Informatica When the final release came near, testing became more important. Fortunately, a lot of students helped us testing the system to ensure it complied with all student needs. We have been able to solve a lot of the minor problems reported, but testing also brought us a list of ‘like to have’-features for possible future releases. We do not plan on abandoning the project anytime soon, so when the first weeks of usage are a success, we will definitely look into some new features. Some of these features require adjustments require action from O&S, others might be implemented in a future release. Developing the MyTimetable application has been quite an experience. Like all IT projects, we came across some unexpected problems, but in the end everything works fine. Almost all feedback we received has been positive so far, but we also got some interesting new ideas for possible future updates. All comments and suggestions are still welcome at [email protected]. Want to thank us for the new system? You can find us in the /Pub every Wednesday starting at 4. 13 Tomorrow, we will be able to make chips faster. Today, you can tell us how. Jaargang 14 • Nummer 3 • Maart 2010 Jaargang 14 • Nummer 3 • Maart 2010 Deep UV-light (193 nm) The race to increase the number of IC switches per square centimeter is not the only race that is underway in the chip world. Manufacturers are also aiming to accelerate chip production. But how do you boost a machine that needs to be accurate to the nanometer? v 6 m/s 60 40 33 m/s2 ASML is now working on chip lithography systems in which a disk of photo-sensitive silicium (the wafer) is illuminated at high speed. t 0 10 20 50 70 Chips with 45 nm details can only be made if, between acceleration and deceleration, you illuminate the wafer precisely to the nanometer. One thousand sensors and 800 actuators control and, consequently, illuminate 180 wafers an hour. How much software and how many processes are required to do this? And how do you manage the necessary IT architecture? 30 33 m/s2 vereniging The wafer lies on the so-called wafer stage, which weighs more than 35 kilos. It is passed back and forth under the light, with an extreme acceleration and deceleration of 33 m/s2. For engineers who think ahead Profile: Worldwide market leader in chip lithography systems | Market share: 65% | R&D-budget: EUR 500 million | Opportunities for: Physicists, Chemists, Software Engineers, Electrotechnicians, Mechatronicians and mechanical engineers | Discover: ASML.com/careers Accelerating by 33 m/s2 poses a challenge in itself. Which motors do you choose? Where do you find amplifiers with 100kW capacity, 120 dB SNR and 10 kHz BW? And that is just the beginning – because the heat itself distorts the accuracy of your system as well... Jaargang 14 • Nummer 3 • Maart 2010 Make tomorrow today Semiconductor technology is an essential part of our lives today. Your iPhone, your digital camera, your MP3 player, your car, your passport; they all contain chips. And that’s just today. If you want to know how high tech our lives will be tomorrow, ask ASML; global market leader in chip production systems. Two-thirds of all the chips in the world are already manufactured on ASML machines. Our challenge is to develop machines which can produce even smaller chips even more quickly and more accurately. In short: technology which can further enhance the quality of our high tech lives. Do you want to help with that at the very highest level? Then there is only one employer in the world who matches your ambitions: ASML. Jaargang 14 • Nummer 3 • Maart 2010 It is only our very unusual development method whereby a large number of development processes are running in parallel that enables us to constantly meet the very ambitious demands set by the market and ourselves. Drive to develop Advertorial Working at ASML requires a special attitude. An unbridled passion for technology is vital, but not enough. Having commercial insight, team spirit and being result-oriented are all equally important, since what makes ASML successful is the interplay between precision engineering, dynamics, optics, electronics and information technology. But perhaps the most important factor is a drive to develop which is deeply embedded in all our people. ASML invests a great deal in your development. For us that is a given. In return we also expect it of you. Since anyone who is working on creating tomorrow must take his talents seriously today. Do you have a technical education up to graduate or hbo (higher vocational education) level? And do you want to help build a leading international high tech company tomorrow? Then you know what you need to do today. Visit www.asml.com/careers Steep curve ASML is a relatively young company, which has developed into the global market leader at an unprecedented speed. In the space of twenty years we have grown from nothing into a multinational with more than 50 sites in sixteen countries and annual sales of 1,596 million euro in 2009. We set the international standard with the development of wafer steppers and scan systems which are used for chip production. In order to retain and further expand that leading position we have thousands of technicians exploring the frontiers of (nano) technology every day. That requires people who also constantly explore their own limits and try to push them further. Who consciously opt for the steepest learning curve. Technological race ASML works with an almost impossibly short time-to-market, driven by our customers’ competitive market conditions. It is precisely that technological race against the clock that makes working here so utterly fascinating. Cutting-edge technology in the field of precision engineering, dynamics, optics, electronics and information technology all comes together within our company in order to develop systems which are more reliable, faster and more accurate than their predecessors in the shortest possible time. 15 Jaargang 14 • Nummer 3 • Maart 2010 Chocola Oplossing Informaticapuzzel XXI Hamburger Informaticapuzzel XXII Dr. P.G. Kluit Dr. P.G. Kluit Op 5 februari 2010 vond in Harbin China, de finale plaats van Het Hamburgerprobleem van de vorige de jaarlijkse ACM-ICPC programmeerwedstrijden. Zie ook: keer heeft veel toetsenborden in http://cm.baylor.edu/welcome.icpc. Het was erg koud in Harbin. beweging gezet. De volgende opgave behoort tot de minder moeilijke opgaven van de wedstrijd. Maar dat betekent niet dat hij gemakkelijk is. Je hebt een groot stuk chocolade, en je wilt dat delen met je vrienden. Helaas zijn je vrienden nogal kieskeurig, ze weten precies hoeveel chocolade ze willen hebben. Het wordt steeds moeilijker om na te gaan of je wel aan alle wensen kunt tegemoetkomen. Het wordt tijd om een programma te schrijven om dit probleem eens en voor al op te lossen. Je hebt een rechthoekig stuk chocolade, verdeeld in rechthoekige blokken die allemaal even groot zijn. Om de chocolade te verdelen breek je het stuk in twee delen, tussen twee rijen of tussen twee kolommen. Vervolgens kun je de twee overgebleven stukken op dezelfde wijze verdelen. Elk van je vrienden heeft aangegeven hoeveel blokjes hij wil hebben, en ze willen dat ook allemaal in een stuk hebben. Je wilt het stuk eigenlijk alleen verdelen als het geheel onder je vrienden verdeeld kan worden, zonder dat er iets over blijft. Hieronder zie je hoe je een stuk chocolade van 3 x 4 blokken kunt verdelen in 4 stukken, die respectievelijk 6, 3, 2 en 1 blok bevatten. Je moet hiervoor drie maal breken. Informatica Invoer De invoer bevat verscheidene testgevallen. Elk testgeval bestaat uit 3 regels. De eerste regel bevat het getal n (1 ≤ n ≤ 15), het aantal stukken waarin de reep moet worden verdeeld. De tweede regel bevat twee gehele getallen x en y, (1 ≤ x, y ≤ 100), de afmetingen van de reep. De laatste regel bevat n positieve gehele getallen, de grootte (het aantal blokken) van elk van de n delen waarin de reep moet worden verdeeld. De laatste regel van de invoer bevat het getal 0. Uitvoer Geef voor elk testgeval aan (door het afdrukken van “Ja” of “Neen”), of de gevraagde verdeling mogelijk is. Inzendingen kunnen verstuurd worden naar [email protected]. nl tot en met 16 april. 16 We ontvingen oplossingen van Jeroen Wille, Thijmen Krebs, Misha Stassen, Robert Stuursma (allen in Java), van Charlotte Ipema (Haskell) en van Maurice Bos (C++). En dan was er ook nog een oplossing (buiten mededinging) van de hand van Cees Pronk, die de ‘statistical model-checker’ Prism gebruikt, en daarmee redelijke resultaten bereikt, voor 80 of minder kinderen. Thijmen Krebs komt met de volgende formule, die de meeste andere oplossers expliciet of impliciet ook gebruiken (2n is het aantal kinderen): p = P(laatste twee gelijk) = 1 - P(laatste twee ongelijk) = 1 - C(2n-2,n-1) / 2^(2n-2). Hier staat C(n, m) voor het aantal mogelijke combinaties om m elementen uit n te pakken (de binomiaalcoefficient). De kans dat de laatste twee ongelijk zijn is gelijk aan de kans dat je bij 2n-2 maal werpen met een zuivere munt precies even vaak kruis als munt krijgt. Blijft de vraag hoe we nauwkeurig en efficient de expressie C(2m, m) / 2(2m) kunnen berekenen (met m = n – 1). Als je eerst alles vermenigvuldigt, of eerst alles deelt wordt de berekening al snel onnauwkeurig, of loopt stuk op factoren die 0 of oneindig worden. Op het punt van nauwkeurigheid springt de oplossing van Thijmen Krebs er uit. Hij gebruikt zijn eigen klasse BigInt, met een vermenigvuldiging gebaseerd op de Fast Fourier Transform. Rond n = 106 wordt het programma traag, maar geeft wel antwoorden in ruim een miljoen cijfers achter de komma. Omdat mijn eigen oplossing met doubles werkt, kan ik de laatste 106 – 15 cijfers niet controleren. Minder nauwkeurig, maar wel efficient is de oplossing van Micha Stassen. Hij weet over- dan wel under-flow te voorkomen door in elke stap ongeveer evenveel te vermenigvuldigen als te delen. Ook rond n = 109 levert het programma van Micha binnen enkele seconden antwoorden die tot op de laatste decimaal nauwkeurig zijn (althans volgens mijn antwoorden). Dit is zijn code: double calcCompact(int n){ double q = 1; for (int i = 2; i <= n; i++){ double mul = 2*i - 2; double deel = i - 1; q *= mul*(mul - 1.0)/ deel/deel/4.0; } return 1 - q; } Het kan zelfs nog iets compacter; de volgende code doet hetzelfde: double calcCompacter(int n){ double q = 1; for (int i = 1; i < n; i++) q *= (2.0*i - 1)/i/2; return 1 - q; } Overigens kun je door de formule van Stirling voor n! te gebruiken een benadering voor C(2m, m) afleiden. De volgende code levert voor grote n heel snel goede benaderingen. double burger1(int n){ return 1 - (1.0/Math.sqrt(Math. PI * (n-2)/2)); } Rest ons een winnaar aan te wijzen. Dat betekent de snelheid en compactheid van Micha Stassen af te wegen tegen de doorwrochtheid en nauwkeurigheid van Thijmen Krebs. Laten we niet kiezen, en een gedeelde eerste plaats toewijzen. Artificiële intelligentie Computers en emoties Joost Broekens, MMI, Informatica Computers en emoties hebben zo op het eerste gezicht weinig met elkaar te maken. Toch wordt er de laatste tijd veel onderzoek gedaan op het gebied affective computing, in Delft, in Nederland en internationaal. Dit onderzoek spitst zich toe op het gebruik van emoties in computersystemen om deze systemen beter te laten samenwerken met mensen en om deze systemen slimmer te maken. Wij mensen communiceren namelijk graag door middel van emoties, en we gebruiken emoties om ons gedrag en dat van anderen te beïnvloeden. Kunstmatige Intelligentie en affective computing Het vakgebied kunstmatige intelligentie houdt zich bezig met hoe computers geprogrammeerd kunnen worden zodat ze zelfstanding problemen kunnen oplossen, of, zelf kunnen leren hoe ze problemen moeten oplossen. Denk bijvoorbeeld aan een stofzuigrobot die leert hoe je huiskamer er uit ziet, zonder dat je dat hoeft te vertellen. In dit geval is de robot niet geprogrammeerd op de vorm en inhoud van jouw huiskamer, de robot leert die huiskamer als een soort stofzuigplattegrond. Een ander, klassieker voorbeeld, is het medische expertsysteem. Een dergelijk systeem heeft kennis over bepaalde ziektes (symptomen, reacties op medicijnen, e.d.) in de vorm van een grote verzameling regels. De arts kan informatie over een patiënt invoeren in dit systeem en vervolgens kan het systeem de arts helpen bij het analyseren van patiënten. Vanuit een heel andere discipline, de mens machine interactie, is het besef ontstaan dat onze technologie goed met ons moet kunnen communiceren. Het is al heel lang bekend dat emoties een belangrijke rol spelen bij sociale interactie en communicatie tussen mensen. Verbale communicatie wordt meestal aangevuld met belangrijke niet verbale cues. Aan het einde vorige eeuw werd ook steeds duidelijker dat emoties een belangrijke rol spelen bij het kunnen maken van rationele beslissingen. Daarvoor werd vaak aangenomen dat emotie en ratio twee gescheiden werelden waren en dat emotie de ratio voornamelijk in de weg zat. Maar neurologisch onderzoek, bijvoorbeeld door Antonio Damasio, toonde steeds vaker aan dat de capaciteit voor het hebben, tonen en herkennen van emoties sterk gekoppeld was aan het kunnen maken van rationele beslissingen. Het is alsof het vermogen tot normaal emotioneel functioneren een basisfunctie is waarop rationeel denken gebouwd is. De ratio gebruikt als het ware de processen in onze hersenen die verantwoordelijk zijn voor de verschillende emoties. Het besef dat computers en andere apparaten beter met mensen zouden moeten communiceren en de resultaten van onderzoek naar emoties en denken waren de doorslaggevende factoren in het ontstaan van het vakgebied affective computing. Dit gebied houdt zich bezig met hoe computers gebruik kunnen maken van emoties ter verbetering van de mens-machine interactie en ter ondersteuning van de kunstmatige intelligentie. Informatica Onderzoek naar emotionele computersystemen neemt steeds grotere vormen aan, en er zijn tal van mogelijkheden om dit onderzoek in concrete producten te gebruiken. Mogelijke producten zijn bijvoorbeeld adaptieve games die proberen om de spelervaring leuker te maken, webwinkels die emotionele feedback gebruiken om producten beter te kunnen matchen met potentiële klanten, en “emotionele” robots zoals de iCat (Philips) die op een meer natuurlijke manier met mensen communiceren. Deze producten zijn zeer de moeite waard, en het onderzoek is uitdagend. Emotie is iets menselijks, soms nuttig, soms niet, en onze apparaten zullen dat uiteindelijk gaan begrijpen. In dit stuk vertel ik eerst over het vakgebied affective computing, en geef ik daarna twee voorbeelden van mogelijke producten. De “heilige graal” van kunstmatige intelligentie is tweeledig. Door computersystemen intelligent te maken kunnen zij bepaalde taken, zoals stofzuigen, van ons overnemen: een vorm van geavanceerde automatisering. Ten tweede is de basisaanname in de kunstmatige intelligentie dat het mogelijk is om menselijke en dierlijke intelligentie te simuleren met computers. Door dit te proberen kunnen we dus veel leren over hoe mensen en dieren denken en leren te handelen. De eerste serieuze pogingen om na te denken over hoe computers emoties kunnen simuleren, en waarom dit nuttig zou kunnen zijn, komen uit de ’80 jaren van de vorige eeuw. Wetenschappers zoals Aaron Sloman begonnen na te denken over hoe emotie gekoppeld kan worden aan kunstmatige intelligentie. Ook werd het vanuit de psychologie steeds duidelijker hoe emoties konden ontstaan uit denkprocessen. Een zeer invloedrijk boek geschreven door Andrew Ortony, Gerald Clore, en Allen Collins beschreef in detail de logische structuur van emoties en hoe verschillende emoties ontstaan uit de evaluatie van gebeurtenissen in relatie tot persoonlijke motieven en doelen. Een voorbeeld: 17 Jaargang 14 • Nummer 3 • Maart 2010 Jaargang 14 • Nummer 3 • Maart 2010 als ik wil eten en ik sta in de file omdat iemand voor mij op domme wijze een aanrijding heeft veroorzaakt dan evalueer ik dit als volgt: “doel: eten, gebeurtenis: aanrijding, gevolg: niet eten, oorzaak: persoon voor mij, emotie: boos”. Er werd op dat moment in de KI wereld ook veel onderzoek gedaan naar agents; autonoom beslissende programma’s die een eigen set van motieven en doelen hebben en zelf deze doelen moeten proberen waar te maken. Het “brein” van deze agents bestond uit doelen, feiten en intenties. Hieruit beslist de agent wat de volgende actie wordt. De structuur die voor emotie nodig is leek sterk op die van een agent: doelen, kennis over de wereld en intenties tot handelen. Het waren dan ook dit soort agents waarin als eerste op succesvolle wijze een grote diversiteit aan emoties werd gesimuleerd. In het begin waren deze emoties voornamelijk een bijverschijnsel: ze deden niets maar ontstonden gewoon uit het denkproces van de agents. Ontstaan betekent in dit geval dat uit een grote set regels, en op basis van een psychologische theorie een bepaalde emotie resulteert.. Informatica Latere aanpakken verschilden van de agent-georiënteerde aanpak. Men ging bijvoorbeeld kijken naar hoe een computer getraind kan worden op herkenning van menselijke emoties uit gelaatsuitdrukkingen en stem. Ook deden onderzoekers, zoals Cynthia Breazeal van het MIT in Boston, pogingen om een robot te bouwen die dit soort modellen hadden, waardoor deze robots op natuurlijker wijze met mensen om konden gaan. Deze robot, Kismet, herkent emotie aan de hand van stemgeluid en heeft een uitgebreid model van wat prettig en niet prettig is (Kismet schrikt bijvoorbeeld van je als je snel je hoofd voor Kismet’s gezicht houdt). Kismet heeft ook een eigen emotie, die ontstaat uit alles wat er met Kismet gebeurt, en Kismet uit deze emotie via het gezicht. Doordat Kismet zo geloofwaardig met het herkennen en uiten van emoties omging kon er onderzoek gedaan worden naar de rol van emoties in de relatie tussen robot en mens. Vragen zoals “hoe leren we robots gedrag aan?” en “hoe reageren mensen op een angstreactie van een robot” konden nu gesteld worden. Samengevat zijn er een aantal trends ontstaan uit emotionele agentgebaseerde modellen en interactieve emotionele robots en andere systemen. Ten eerste is het nu mogelijk om onderzoek te doen naar de rol van emotie in mens-machine interactie. Ten tweede is het mogelijk om onderzoek te doen naar de relatie tussen gesimuleerde emotie en kunstmatige intelligentie. Ten derde, omdat het “brein” en de “emoties” van deze agents ontworpen worden op basis van Aibo (Sony), Paro (ISRI-AIST) en iCat (Philips), entertainment en companion robots. 18 Emotieherkenning voor voedselevaluatie (Gevers & Sebe, UvA, Unilever) psychologische theorieën kunnen de resultaten van de simulaties gebruikt worden om de voorspellingen van de theorieën te testen. De agent is in dit geval een soort simulatie van de onderliggende theorie. Systemen met emoties in de praktijk Afgezien van interessant onderzoek, is affective computing ook een bron van inspiratie voor de ontwikkeling van innovatieve producten, zoals de recente “Smile shutter” technologie voor het automatisch maken van een foto als iedereen op de foto lacht. Dit stuk eindigt met twee andere voorbeelden. De rol van affective computing in deze producten is voornamelijk het verbeteren van de interactie tussen mens en machine. Het emotionele robot huisdier is een product dat bestaat, bijvoorbeeld in de vorm van de robot hond Aibo of zeehond Paro. Deze “diertjes” zijn ingezet in verplegingstehuizen voor de verbetering van de kwaliteit van leven. Het blijkt dat bejaarden het inderdaad een leuk ding vinden, en graag met het “diertje” in contact zijn. Natuurlijk zitten er allerlei haken en ogen aan het op grote schaal inzetten van dit soort robotjes ter ondersteuning van de sfeer in verpleeg- en bejaardentehuizen. Het toont echter wel aan dat er een mogelijkheid is voor dit soort producten, en, niet onbelangrijk, dat leeftijd niet noodzakelijkerwijs een probleem is. Een eenvoudige toevoeging zou kunnen zijn dat het robotdiertje niet alleen emotioneel gedrag vertoont, maar ook emoties kan meten van de gebruiker. Dit vergt nog onderzoek, maar is zeker niet onhaalbaar. Het robot huisdier kan nu gebruikt worden als observatie-instrument, en kan dan gebruikt worden als interface tussen cliënt en zorgverlener. De emotionele webwinkel is een concept waarbij niet alleen op basis van eerder gekochte artikelen een suggestie voor een nieuw te kopen artikel gedaan wordt, maar ook op basis van de stemming van de persoon of het emotionele profiel. Stel, de gebruiker geeft aan hoe hij/zij zich voelt op het moment van het kopen van een artikel, en wat hij/zij vindt van het product. Met deze informatie kan de webwinkel een model opbouwen van de koppelingen tussen producten en emoties. Een simpele extra service kan nu zijn dat de webwinkel een suggestie doet voor een product bij het inloggen. De gebruiker klikt aan hoe deze zich voelt, en de webwinkel koppelt dit aan een verzameling producten. De onderliggende technologie voor het meten en interpreteren van emoties en het opbouwen en matchen van emotionele profielen is aanwezig. Er zijn vele mogelijkheden voor het verbeteren van de interactie tussen mens en techniek. De technieken die door affective computing worden aangeleverd zijn daar voorbeelden van. Het is mogelijk en nuttig om deze technieken toe te passen. Natuurlijk zijn er ook risico’s en problemen. Wat te doen met, bijvoorbeeld, privacy? Wie krijgt mijn emotionele profiel allemaal te zien? Ook bestaat het gevaar dat de software verkeerde conclusies trekt uit de emotionele informatie van de gebruiker. Hierdoor kan de service of het product niet goed meer functioneren. Als systemen goed beveiligd zijn en er geen automatische, onomkeerbare beslissingen door worden genomen zijn de problemen veelal overzichtelijk. Affective computing maakt technologie menselijk, robots sociaal en games extra spannend. Meer info: http://mmi.tudelft.nl/~joostb en het boek Affective Computing (Picard) Jaargang 14 • Nummer 3 • Maart 2010 Jaargang 14 • Nummer 3 • Maart 2010 As an officious closing of the second season, Formula Zero organized a GP in Turin on the 10 th and 11th of October 2009. Even after crashing into the barriers during the second qualifying round, Greenchoice Forze, the Formula Zero team from Delft, managed to win the GP! This year, Greenchoice Forze will organize the Dutch race in cooperation with Formula Zero. It will be a race in the centre of The Hague, at the Spuiplein. The race will take place on July 8th and be part of a big sustainability event! Zero emission De titel van dit in racing! dit vlak Naam van de auteur Koen Lubbers, Teammanager Greenchoice Forze tradictory, but it is possible by using hydrogen fuel cell technology. Greenchoice Forze participates in the Formula Zero Championship, the racing class of the future. This racing class is all about high speed racing while producing no other emissions than pure water! The greenhouse effect is one of the biggest problems of the 21st century. A big contributor to the greenhouse effect is the automotive industry. Though, millions of people enjoy motorsport and mobility in general every day. Wouldn’t it be great if motorsport and sustainability would go hand in hand? Formula Zero In 2003, a couple of engineers from Delft founded Formula Zero BV. The philosophy of Formula Zero is ‘fun + eco = future’. Motorsport has always played a pioneering role in developing new technology, so it is a great way to give the development of hydrogen technology a boost. Greenchoice Forze wrote history by winning the first hydrogen race ever! On the 23rd of August 2008, the team defeated five teams from international top universities. The Formula Zero team from Delft is also the first world champion ever. Greenchoice Forze was founded in 2007, to show the world that sustainability and motorsport do not have to be contradictory. The team wants to showcase this to a broad audience by racing on hydrogen! Except for racing, Greenchoice Forze also visits a lot of fairs and events to showcase the potential of the sustainable technology already available. Informatica Burning rubber and still being sustainable? This seems to be con- Greenchoice Forze The team consists of about 50 highly motivated students from every faculty of the TU Delft. Besides designing and engineering the kart, the team members also take care of management and marketing of the team. The current kart Normally a kart has a gasoline tank, a small combustion engine and an exhaust. The Forze II, however, is far more complicated. Instead of using a simple combustion engine that runs on gasoline, the Forze II has two DC electro motors which are powered by a proton exchange membrane (PEM) fuel cell. The gasoline tank is replaced by a 5L tank in which hydrogen is stored at a pressure of 200 bars. Basically the Forze II works as follows: Hydrogen is fed to the fuel cell. In the fuel cell the hydrogen and oxygen, taken from the ambient air, react and produce electricity. The voltage produced by the fuel cell is then brought to a higher level by using a DC/DC boostconverter. Afterwards the electric energy is stored in boostcaps. When the driver kicks down the pedal, the electric motors subtract their energy from these boostcaps. Award ceremony Formula Zero GP Torino Copyright: Giorgio Girotto Formula Zero is the driving force behind the 2010 Formula Zero Cup, a championship for hydrogen fuel cell powered karts. This is a zero emission racing class, where the only exhaust is pure water. The 2010 Formula Zero Cup will be the third season of hydrogen races. The championship consists of four race events. Each race event consists of a sprint race and a main race. For each race, there is qualifying round, a semifinal and a final. Last year, the races were organized all over Europe. The start of the season was in England. After England, the Netherlands, Belgium and Spain were also visited. This year, most likely, there will be races in the USA too. The Formula Zero Championship started as a racing class for hydrogen karts. Formula Zero’s vision on the future is to scale up the competition. The first step is to grow into a hydrogen Formula 3 racing class. Later on, the objective is to become a hydrogen Formula 1 racing class! 19 Jaargang 14 • Nummer 3 • Maart 2010 combination with a bio-based resin. This bio-based resin is developed by DSM. The whole bodywork is 70% renewable. The Forze II is the first application of this composite and in that way, it served as a testing platform for DSM. The next kart The Forze III, the hydrogen kart which is currently being developed, will be totally different than the Forze II. Since the new regulations permit the teams to buy or develop a fuel cell system and hydrogen storage system of their own, Greenchoice Forze can finally start innovating the hydrogen technology itself! Because of the new fuel cell system that is being developed, the current DC/ DC converter no longer suffices. Since there is no market for DC/DC converters in the power range of 7 – 15 kW, this component has to be developed in-house by Greenchoice Forze. Testing in the wind tunnel In more detail: Oxygen is subtracted from the air and the hydrogen is fed from the high pressure tank to the fuel cell. Therefore, the hydrogen pressure is reduced in 2 steps. The first step is from 200 bars to 30 bars and the second step is from 30 bars to 5.5 bars. The fuel cell consists of several devices, of which the most important one is the stack. In the stack, the hydrogen (H2) and oxygen (O2) are separated by a membrane. At the anode side, a catalyst splits the hydrogen molecules into protons and electrons (2H2 4H+ + 4e -). The protons can go through the membrane to the oxygen at the cathode side, but the electrons cannot and have to go through an external circuit, resulting in an electrical potential difference. The reaction on the cathode side is then as follows: 4H+ + 4e - + O2 2H2O. Because the potential difference is low, multiple cells have to be connected in series to get some decent voltages. All those cells stacked together form the stack. Informatica The voltage coming from the fuel cell is not high enough to charge the boostcaps, so a DC/DC converter is implemented in the kart. It converts the voltage coming from the fuel cell to the desired voltage for the ultra capacitors. This device is rather complex, because the potential over the boostcaps depends on the amount of energy stored. Another important property of the DC/DC converter is that it works as a diode. The DC/DC converter makes it impossible to have a current flowing back into the fuel cell. For the energy storage system, 32 Maxwell Boostcaps are used. A boostcap is an ultra capacitor, a device which can store and release a lot of energy really fast. The capacity of one boostcap is 3000 Farad, which is incredibly high compared to capacitors used in electronics (in the order of micro or even picoFarads). The two motors used are Perm 132 DC electro motors. These motors are not connected directly to the boostcaps, because a throttle is needed. They are controlled by a separate motor controller for each motor. This way an electronic differential is possible. We are currently developing a motor controller which can control both motors, but is half the weight and just a third of the size of the two off-the-shelf controllers. This controller will also have a lot more features, like a reverse mode. All this technology has to be protected by bodywork. This is made of a special composite, which is far more environmentally friendly than conventional composites. A natural fiber, fl ax, is used for the bodywork of the Forze II in 20 These developments make it more necessary than ever to program our microcontrollers ourselves. Segger Microcontrollers GmbH agreed to supply us with embedded software to make our software far more reliable and to make it possible to realize these developments in the short timeframe available. Next to these developments, we are also busy developing our own motor controller. The current motor controllers are too heavy, too big and have too little features. The motor controller we are developing is just half the size of the current one and just a third of the size of the two controllers combined. For the bodywork we thought of a new production method, which is far less time consuming. We use a wireframe as a mould. The frame will be covered with a stretch fabric, over which fl ax fibers en bio-resin can be applied. This state of the art material is the same composite as used on the Forze II. ICT systems in the Forze III An important part of the technology in the hydrogen racekarts consists of ICT systems. In figure 1 you can find an overview of these systems in the Forze III. Our electronics system is a modular system consisting several printed circuit boards (PCB’s) manufactured by Cyner. This is done to enhance reliability and to make it possible to improve subsystems without adapting the whole system. On the PCB’s, microcontrollers are implemented equipped with ARM7 processors from NXP. These microcontrollers are programmed in C-code in such a way that together they fulfill all the necessary tasks for the kart to be working. The different PCB’s communicate via a CAN-bus network, the standard in the automotive industry. Racing without harmful emission; A Utopia? Greenchoice Forze is already doing it! By participating in the first hydrogen racing class ever, called the Formula Zero Championship, they are promoting this clean technology. Greenchoice Forze is building their third kart, with which they plan to win the 2010 Formula Zero Cup! Jaargang 14 • Nummer 3 • Maart 2010 Copyright: Richard van ‘t Hof Forze I in the first hydrogen race ever, Rotterdam August 23rd The main board is the nerve system of the kart, equipped with a LPC2388 microcontroller on which a real time operating (RTOS) runs. The main board handles the communication with the fuel cell and logs all data acquired on a SD-card. It also controls the telemetrics system. The software used is SEGGER embOS, emFile and embOS/IP. The main function of the power board is supplying all electrical components with energy. Furthermore, all emergency protocols are implemented on this PCB. The balance board controls the charging of the LiFePo4 battery package. The code for this PCB was already on the microcontroller implemented. As stated earlier, the motor controller controls the power supply of the motors. It has to be swift and reliable. On the motor controller there is no RTOS running, but a superloop. The code is executed line after line. The future Greenchoice Forze is promoting sustainable technology by racing. Formula Zero is the first hydrogen racing class ever, but will definitely not be the last. There have been a lot of developments over the last years in hydrogen technology, but it is important to realize that this technology, in comparison to the combustion engine, is still in its infancy. By racing on hydrogen, the development of this new technology will gain a huge boost. Informatica The sensor nodes take care of the A/D conversion of the different sensors in the kart and sends this information via the CAN-Bus network to the main board. Figure 1: Overview of the systems in the Forze III The dashboard is the hardware interface between the driver and the kart. It consists of the start and stop buttons and the display for all critical data. At the moment we are investigating what kind of display is best for the Forze III. There are still some big logistical problems to be solved for the application of hydrogen cars, but there are no real technical barriers left to implement fuel cell technology in the automotive industry on a large scale. Being part of the future If you would like to have some more information or if you are interested in being part of this project, please go to our website www.greenchoice-forze.nl or send an e-mail to [email protected]. 21 Jaargang 14 • Nummer 3 • Maart 2010 Graphical Processing Unit Brute kracht inzetbaar voor meer dan alleen beelden? Technolution De GPU (Graphics Processing Unit) in een moderne pc is een waar Maar in de praktijk blijkt het niet eenvoudig GPU’s in te zetten voor Relatief recent is er als onderdeel van de DirectX-standaard een Unified Shader Model gespecificeerd. Het betreft een processormodel dat uitgerust is met eenRekenkracht instructieset die geschikt is voor de functionaliteit van alle verschillende moeilijk te temmen typen shaders. Het voordeel van dit concept is dat per stap van de rendering De hedendaagse GPU beschikt over een enorme rekenkracht. Hij kan tot wel 30 keer meer pipeline de volledige rekenkracht aangewend kan worden en programmeerbaar pointberekeningen danprocessor een reguliere Datpraktische klinkt geweldig: is. floating Met dit nieuwe typeverwerken grafische isCPU ook(zie defiguur). eerste mogelijkheid ontstaan om de GPU voor ander rekenwerk in te zetten. andere toepassingen. Maar als iets te mooimoeilijk klinkt om waar tete zijn,temmen dan is het dat vaak ook. Aan een ‘alternatief’ gebruik Rekenkracht Gedreven door ontwikkelingen in de 3D-gamingmarkt zijn zeer snelle grafische processors ontwikkeld. Bij de eerste grafische toepassingen rekende de CPU van de pc pixel voor pixel het weer te geven beeld uit. Daarna werd pixel voor pixel het beeld naar de videokaart gestuurd. Vervolgens gaf de videokaart slechts de pixels weer. Dit is een zeer rekenintensieve klus, zeker als dit bijvoorbeeld in een 3D-game bij 30 frames per seconde moet gebeuren met een resolutie van 1920 x 1200. De van hedendaagse GPU beschikt over een enorme rekenkracht. Hij kan tot wel een GPU, anders dan als grafische kaart in een pc, kleven de nodige mitsen en maren. 30 keer meer floating pointberekeningen verwerken dan een reguliere CPU (zie Het rekenkundige probleem moet goed passen op de rekenkracht architectuur van in eeneen GPU,processor evenals de voor figuur). Dat klinkt geweldig: zoveel meer globaal Dat wil iedereen iets te mooi floatingdezelfde pointprecisieprijs. en het is praktisch niet mogelijkwel.Maar om een GPUals te combineren met eenklinkt andere om waar te zijn, dan is het dat vaak ook. Aan een ‘alternatief’ gebruik van een GPU, hardwarearchitectuur dan die van een pc. anders dan als grafische kaart in een pc, kleven de nodige mitsen en maren. Het rekenkundige probleem moet goed passen op de architectuur van een GPU, evenals de floating pointprecisie en het is praktisch niet mogelijk om een GPU te combineren met een andere hardwarearchitectuur dan die van een pc. rekenmonster. Bij het produceren van een vloeiende stroom beelden voert de GPU meer berekeningen per seconde uit dan de processor (CPU). In de jaren negentig kwamen steeds krachtigere videokaarten voor de consument op de markt en kreeg de videokaart zijn eigen processor, de GPU. In plaats van pixel voor pixel de videokaart aan te sturen, worden objecten en instellingen aangeleverd, zodat deze aparte processor zelfstandig werk kan verrichten naast de CPU. Standaardisatie In de 3D-gaming, een consumentenmarkt, worden zeer grote volumes van deze processors verkocht. Omdat de producenten van de GPU’s en de games verschillende bedrijven zijn, ontstond de noodzaak tot standaardisatie van de interfaces (API’s). De belangrijkste 3D-interfacestandaarden zijn DirectX/ Direct3D en OpenGL. In de praktijk komt het erop neer dat de GPU-producenten strikt de gespecificeerde functionaliteit van deze 3D-interfaces (API’s) volgen. ATI (nu AMD) en NVIDIA zijn bekende producenten van GPU’s. zoveel meer rekenkracht in een processor voor globaal dezelfde prijs. Dat wil iedereen wel. GPU 1000 750 500 250 0 2002 Advertorial De kern van 3D-spellen is dat een virtuele 3D-wereld op het scherm wordt afgebeeld vanuit het perspectief van een (virtuele) speler, met een snelheid van bijvoorbeeld 30 frames per seconde. Dit wordt gerealiseerd door een hele reeks bewerkingen in een vaste volgorde uit te voeren. Dit proces heet een rendering pipeline. Geschiedenis In de jaren negentig kwamen steeds krachtigere videokaarten voor de consument op de markt. En een steeds groter deel van de rendering pipeline werd in hardware uitgevoerd. De bewerkingsstappen in de rendering pipeline zijn de zogenaamde shaders. Bijvoorbeeld een vertex shader voegt bepaalde 3D-effecten toe aan objecten, een geometrieshader genereert nieuwe objecten vanuit al gedefinieerde objecten en een pixelshader berekent de kleur van een pixel. Een belangrijk nadeel was dat met het vastleggen van de specifieke shaders in hardware ook de rekenkracht per shader vast lag. Dit terwijl verschillende spellen verschillende eisen stelden aan de verdeling van de rekenkracht tussen de verschillende shaders. 22 CPU Peak GFLOP/s 2003 2004 2005 2006 2007 2008 2009 Droomscenario: GPU versus CPU Optimale inzet van een GPU voor beeldbewerking kan bovenstaande curve opleveren (met fors meer MIPS voor de GPU dan bij de CPU). Buiten die specifieke grafische toepassing is een GPU beperkt. Het draaien van niet-grafische toepassingen op een GPU zou een ander plaatje laten zien:inzet de performance in totvoor onder beeldbewerking de CPU-curve. Optimale van eenstortGPU kan bovenstaande curve Droomscenario: GPU versus CPU opleveren (met fors meer MIPS voor de GPU dan bij de CPU). Buiten die specifieke grafische toepassing is een GPU beperkt. Het draaien van niet-grafische toepassingen op een GPU zou een ander plaatje laten zien: de performance stort in tot onder de CPU-curve. Dieper in de techniek van de GPU Is het verhaal dan klaar met de conclusie dat de GPU elk jaar betere beelden maakt, maar een plaatjesmachine is en blijft? Zo zwart/wit liggen de zaken niet. In bepaalde gevallen en onder strikte voorwaarden zou een GPU als alternatief kunnen dienen voor ander zwaar rekenwerk dan alleen grafisch werk. Daarvoor moeten we iets dieper in de techniek duiken. Een GPU is een parallelle processor: hij voert zeer veel parallelle bewerkingen uit. Dat is bijvoorbeeld te zien aan de brede geheugenbussen, tot wel 256 bits. Ter vergelijking: de CPU is nog niet zo lang geleden van 32 naar 64 bits gegaan. Jaargang 14 • Nummer 3 • Maart 2010 Een GPU werkt dus met veel meer data tegelijk. Maar het ontwerp is bedoeld voor eenrichtingsverkeer: er komt een brok data binnen met elementaire beeldinformatie, voor elke pixel berekent hij het een en ander, vervolgens stuurt hij dat er aan de andere kant uit richting het beeldscherm. Een GPU is slecht in keuzes maken, zoals in het doorlopen van typische “if ..., then ..., else ...”-softwareconstructies. Daar wordt hij traag van. Een GPU is juist gebouwd om voor alle parallelle paden hetzelfde te doen. Dat heet single instruction, multiple data (SIMD). Er zijn een instructiedecoder en een hele groep executie-units. Zodra er een keuze komt, kan die maar voor een executie-unit gelden en kunnen de anderen niets effectiefs doen. Een gewone processor is veel beter in het oplossen van if-then-else-problemen. Die kan slim door een reeks van voorwaarden en afhankelijkheden heen slalommen en zich veel rekenwerk besparen, als een skiër die in de afdaling continu kiest en stuurt om de snelste weg te vinden. Een GPU is als een roeiboot met bijvoorbeeld acht roeiers die tegelijkertijd samen een doel proberen te bereiken. Als elke roeier een ander parcours zou moeten varen, dan kan dat alleen maar door acht parcoursen achter elkaar te varen met telkens één roeier aan het werk. Een GPU is dus goed in het parallel verwerken van rekenkundige bewerkingen volgens vaste formules. aan o.a. matrixberekeningen en Fouriertransformaties, zoals die bijvoorbeeld voorkomen in ruimtelijke problemen als 3D-simulaties van stromingen of elektromagnetische velden. Dit zijn verschijnselen die zich laten analyseren door de wereld in kleine vakjes of kubusjes te verdelen om per vakje een natuurkundige vergelijking op te lossen (ook wel de eindige elementenmethode genoemd). Het oplossen van deze vergelijkingen vergt heel veel ‘simpele’ rekenstappen op een grote dataset, maar ook andere grootschalige berekeningen (vooral floating point) en beeldgeneratie voor de professionele en wetenschappelijke gebieden. Voor dit soort toepassingen heeft NVIDIA een professionele GPU ontwikkeld onder de naam Tesla. Een onderzoeker heeft zo voor een relatief bescheiden bedrag een desktop die qua rekenkracht kan wedijveren met een supercomputer. GPU in embedded systemen? Voor professionele technische toepassingen is een GPU alleen maar bruikbaar in zijn natuurlijke habitat: op een grafische kaart, ingebouwd in een pc, met standaard software. Mochten GPU-chips al los verkrijgbaar zijn, dan nog zijn ze moeilijk in embedded systemen in te passen. Het probleem moet passen bij de architectuur van de chip, de chip moet passen in het systeem en het businessmodel moet kloppen. Zo heeft de GPU voor zijn inzetbaarheid bij grafische toepassingen een korte levensloop en is daardoor slecht verkrijgbaar op de lange termijn. De professionele embedded wereld is vrijwel altijd beter uit met een FPGA. Die zijn wel lang genoeg leverbaar. De keus in FPGA’s is enorm: voor elk denkbaar probleem is wel een specifieke FPGA te vinden. Deze zijn ook nog eens uiterst flexibel. De ontwikkelaar kan namelijk zelf de balans kiezen tussen parallel en serieel, tussen data load en rekenkracht. Soms zijn er niet zoveel afzonderlijke berekeningen nodig, maar moet het wel op 10Gb datastromen gebeuren, zoals in een hoge resolutiecamera. Die genereert een bulk data die eerst wordt bewerkt voordat een pc er iets mee kan. Misschien zou dat met een GPU kunnen, maar voor bewerkingen in het embedded domein kiest Technolution er altijd voor om de datastroom met een FPGA te bewerken. Juist vanwege voorgenoemde zaken. Toekomst GPU Berekeningen aansturen met API Rekenkracht GPU anders aanwenden Door de genoemde API’s is het, zoals eerder aangegeven, mogelijk om goed passende rekenkundige problemen, zonder uitvoer naar een beeldscherm, met succes sneller op een GPU uit te voeren dan op een CPU. Gedacht moet worden Advertorial Als een GPU gebruikt gaat worden, moet dat gebeuren met speciale instructies, die bij elk merk GPU kunnen verschillen. Hierbij zijn de standaard API’s niet bruikbaar. Het is dus hard nodig om toegang tot de GPU’s te standaardiseren, zodat de functies die moeten worden uitgevoerd op een redelijk abstract niveau kunnen worden aangeboden. Op dit moment zijn de belangrijkste twee: CUDA van NVIDIA en de merkonafhankelijke variant OpenCL (Open Computing Language). OpenCL is initieel gedefinieerd door Apple Inc., maar is door hen via de Kronos Groep tot een open standaard gemaakt. Door deze API’s te gebruiken kunnen de ingewikkelde details van een GPU worden beheerst en kan de programmeur zich richten op het onderhavige probleem. Ook zullen er door standaardisatieprogramma’s (bv. Matlab) bibliotheken ter beschikking komen met GPU-ondersteuning voor veel voorkomende problemen, zodat niet iedereen opnieuw het wiel hoeft uit te vinden. Een van de grootste beperkingen van vandaag in het parallel rekenen is de doorvoersnelheid van het geheugen. Larrabee is de codenaam van een ontwikkeling bij Intel, die een hybride van een X86 CPU en een GPU ineen smeedt tot een GPGPU (General Purpose GPU). In dit geval wordt gebruik gemaakt van vele volwaardige CPU-kernen met SIMD-support en een conventionele cache. Door in de toekomst een CPU- en een Larabeechip te integreren komen beide typen processors op een plak silicium te zitten en kunnen de verbindingen erg kort en dus snel zijn. Dit geeft veel flexibiliteit en performanceverbetering voor een breder scala rekenintensieve toepassingen. De performanceclaims van Intel worden door de bestaande GPU-specialisten met de nodige scepsis benaderd. Als deze combinatiechip slaagt, zou hij het einde van de losse grafische kaart kunnen inluiden en dus geheel nieuwe toepassingen voor de GPU in beeld brengen. Dit artikel is overgenomen uit Objective 12 - november 2009, het relatiemagazine van Technolution over innovatie en technologie. 23 Jaargang 14 • Nummer 3 • Maart 2010 Java puzzlers Traps, pitfalls and corner cases Joey van den Heuvel Puzzle: No Pain, No Gain This program prints a word, using a random number generator to select the first character. Describe the behavior of the program: import java.util.random; public class Rhymes { private static Random rnd = new Random(); In this book review I would like to give you an insight in the wonderful public static void main(String[] args){ stringbuffer word = null; switch(rnd.nextInt(2)) { case 1: word = new StringBuffer(‘P’); case 2: word = new StringBuffer(‘G’); default: word = new StringBuffer(‘M’); } word.append(“ain”); system.out.println(word); } world of Java Puzzlers. The book Java Puzzlers is written by Joshua Bloch and Neal Gafter which both have worked on the java core and thus know a lot about the traps, pitfalls and corner cases of java. They have created a book full of java puzzles. Short programs that appear to do one thing but actually they are doing something else. And I thought that the best way to get you interested in reading this book is to just show you two brain teasing puzzles. So here are two examples out of the book and remember: “First try to solve the puzzle before skipping to the solution!” Puzzle: Long Division This puzzle is called Long Division because it concerns a program that divides two long values. The dividend represents the number microseconds in a day; the divisor, the number of milliseconds in a day. What does the program print? public class LongDivision { public static void main(String[] args) { final long MICROS_PER_DAY = 24 * 60 * 60 * 1000 * 1000; final long MILLIS_PER_DAY = 24 * 60* 60 * 1000; system.out.println(MICROS_PER_DAY / MILLES_PER_DAY); } } Solution: Long Division Informatica This puzzle seems reasonably straightforward. The number of milliseconds per day and the number of microseconds per day are constants. The number of milliseconds per day differs only in that it is missing the final factor of 1000. When you divide the number of microseconds per day by the number of milliseconds per day, all the factors in the divisor cancel out, and you are left with 1000, which is the number of microseconds per millisecond. Both the divisor and the dividend are of type long, which is easily large enough to hold either product without overflow. It seems, then, that the program must print 1000. Unfortunately, it prints 5. What exactly is going on here? The problem is that the computation of the constant MICROS_PER_DAY does overflow. Although the result of the computation fits in a long with room to spare, it doesn’t fit in an int. The computation is performed entirely in int arithmetic, and only after the computation completes is the result promoted to a long. By then, it’s too late: The computation has already overflowed, returning a value that is too low by a factor of 200. The promotion from int to long is a widening primitive conversion, which preserves the (incorrect) numerical value. This value is the divided by MILLIS_PER_DAY, which was computed correctly because it does fit in an int. The result of this division is 5. So why is the computation performed in int arithmetic? Because all the factors that are multiplied together are int values. When you multiply two int values, you get another int value. Java does not have target typing; a language feature wherein the type of the variable in which a result is to be stored influences the type of computation. 24 } Solution: No Pain, No Gain At the first glance, this program might appear to print out the word Pain, Gain, and Main with equal likelihood varying from run to run. It appears to choose the first letter of the word, depending on the value chosen by the random number generator: M for 0, P for 1, and G for 2. The puzzle’s title might have provided you with a clue that it doesn’t actually print Pain or Gain. Perhaps more surprisingly, it doesn’t print Main either, and its behavior doesn’t vary from run to run. It always print ain. Three bugs conspire to cause this behavior. Did you spot them all? The first bug is that the random number is chosen so the switch statement can reach only two of its three cases. The specification for Random.nextInt(int) says: “Returns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value (exclusive)” [Java-API]. This means that the only possible values of the expression rnd.nextInt(2) are 0 and 1. The switch statement will never branch to case 2, which suggests that the program will never print Gain. The parameter to nextInt should have been 3 rather than 2. The Second bug is that there are no break statements between the cases. Whatever the value of the switch expression, the program will execute that case and all subsequent cases caused by the fall-through principle. Each case assigns a value to the variable word, and the last assignment wins. The last assignment will always be the one in the final case (default), which is new Stringbuffer(‘M’). This suggests that the program will never print Pain or Main but always Main. The last and most subtle bug is that the expression new StringBuffer(‘M’) probably does not do what you think it does. You may not be familiar with the StringBuffer(char) constructor, and with a good reason: It does not exist. There is a parameterless constructor, one that takes a String indicating the initial contents of the string buffer and one that takes an int indicating its initial capacity. In this case, the compiler selects the int constructor, applying a widening primitive conversion to convert the char value ‘M’ into the int value 77. In other words, new StringBuffer(‘M’) return an empty string buffer with an initial capacity of 77. The remainder of the program appends the characters a, i, and n to the empty string buffer and prints out its contents, which are always ain. Jaargang 14 • Nummer 3 • Maart 2010 Clustering algorithm for highly mobile wireless sensor networks Figure 1 A.S. Pruteanu The increasing complexity and dynamicity of distributed information systems present new challenges for designers requiring new engineering paradigms. Self-Adaptation and Self-Organization are emerging as highly promising approaches. Biological systems, from embryos to social insects, get tremendous mileage using large decentralized systems of comparatively simple and unreliable components to achieve complex goals. Recent technological advances have made possible man-made systems composed of vast numbers of components, ranging from sensor networks to self-assembling modular robots. A key challenge is controlling such systems: how does one harness the power of self-organization to achieve user-specified global goals from the local interactions of identically programmed, simple agents? Domain-specific “compilers” systematically solve complex global tasks by composing a remarkable small set of robust, analyzable, bio-inspired local behaviors. Furthermore, several languages can encode complex notions of self-repair, thus relieving the user from explicitly managing fault-tolerance. The system is able to disseminate the local interaction of the agents with respect to the predefined behavior of the ensemble. A wireless sensor network is a highly distributed system where the transmission of information in a reliable and energy efficient way is its most important requirement. We propose a new technique for solving the problem of routing efficiency in case of increased mobility of the nodes. Our approach is inspired by cellular automata algorithms and uses simple, local rules to construct and maintain stable clusters (global behavior). We evaluated the idea through simulations and showed its validity. The algorithm Informatica Mobility has become one of the most important requirements for wireless sensor networks applications. Due to its negative effects (frequent and random topology changes leading to breaks in the communication links) we end up with higher power consumption and lower quality of service. To solve these drawbacks an overlay network can be used to reduce the effects of mobility. As a consequence, a highly dynamic topology appears as almost static to the upper layers. It has been proven that the packet delivery delays are reduced in a hierarchical structure compared to a fl at one, thus resulting in better routing efficiency. In large mobile scenarios, the fl at hierarchical structure produces excessive route-maintenance traffic that can saturate the network. Clustering in mobile networks can be seen as a virtual partitioning of the moving nodes into various groups with respect to the distance to others or their motion correlations. The highly dynamic nature of mobile ad-hoc networks results in frequent and unpredictable changes of the topology. Additionally, the classic routing techniques (either proactive or reactive) in large-scale, dynamic MANETs do not perform well and are inefficient in maintaining accurate paths. Introducing hierarchy is a technique to increase the network performance by delegating to a subset of nodes the task of performing long distance communications. The basic idea behind clustering is to form groups (clusters) of neighboring nodes from the fl at structure of the network. Within each cluster, a node (leader) is selected to communicate with other clusters on behalf of its neighbors. In addition to packet routing and forwarding, cluster heads can also control the channel scheduling and aggregate the data within its domain. The concept of clustering has had a lot of attention from two research communities: MANETs and Wireless Sensor Networks. The former relied on more capable devices in terms of available energy, transmission range and propagation properties. The later had to deal with a lot more restrictions: the nodes are asleep most the time to save energy; they communicate on much shorter ranges with a lot less throughput. Information loss due to radio interference and battery depletion is a common characteristic of the network. A short enumeration of well-known algorithms is presented. Weight-based clustering algorithms assign to each node in the network an application specific measure, which usually includes a number of parameters related to how suitable the node is for the cluster head role. Examples of such algorithms are: LCA [5], DCA [17], DMAC [2], G-DMAC [1], K-CONID [9], WCA [4], C4SD [13]. Time-based algorithms enable the election of cluster head nodes based on the order in time when the potential nodes announce their candidacy. Examples of algorithms are: Passive clustering algorithm [6] and ACE clustering algorithm [3]. Probabilistic protocols are designed mainly for static networks (e.g. static Wireless Sensor Networks), as they run in synchronized rounds for balancing the energy consumption. Representative algorithms are: LEACH [7], HEED [11], MOCA [12], EEMC [8]. Protocols with decisions based on semantic information: Smart Clustering algorithm [10], Tandem [13]. One of the newest algorithms are: GBL [14], DDVC and DDLC [15]. They are using either Doppler shift of GPS to measure the relative motion. The first approach is using a new technique but is not accurate enough for low-speed estimates. The second one uses a strong assumption: GPS. Our technique is inspired by cellular automata algorithms where simple, local only interactions lead to complex global behavior of the system. In our case, d-hop neighborhood is defining the local interaction. Since the topology of the network is dynamic (mobile nodes), the overlaying layer has to hide to the upper ones the increased mobility. The authors of related papers presume the existence of additional information like GPS coordinates, Doppler shift of GPS, RSSI readings, mobility estimations, speed values of the nodes etc as helping points. Although for some application scenarios (outdoor deployments) this is a feasible approach, in most of the cases, the lack of a connection to the satellites or the unreliable radio measurements caused by interferences or propagation problems, prove that such strong assumptions are impractical. 25 Jaargang 14 • Nummer 3 • Maart 2010 Jaargang 14 • Nummer 3 • Maart 2010 Mobility estimation can be obtained when there is a degree of correlation within the trajectories of the nodes. Due to all these reasons, our main contribution is to create an algorithm that relies only on the information provided by the distributed local interactions between the nodes. In this way we are not limited to outdoor deployments with nonrandom trajectories and we do not need expensive equipments in terms of energy consumption (GPS). We now can extend the applicability of our approach to any scenario: indoors, outdoors or mixed. Cluster formation and maintenance The cluster formation technique is inspired by the physical laws (the principle of equilibrium of gasses inside a container [16]). They balance each other so that in time they stabilize while their molecules move randomly. We use the concept of pressure (shared variable between the nodes of a cluster) to describe the probability of a node to impose its cluster ID assignment to its neighbors. Local rules that maintain the equilibrium are: 1. pressure diffusion inside the clusters, 2. pressure exchange between the clusters and 3. Cluster election rule. The later one is based on either majority voting (counting the number of neighbors belonging to different clusters) or pressure imposing. These simple interactions are able to maintain almost fixed network domains (clusters) while the actual nodes are moving. Cluster head election Informatica The decision of which node to use as a cluster head is taken based on domain change frequency of the nodes and their d-hop neighbors: the higher the value, the less the probability of becoming a cluster head and the vice versa. In this way, nodes that change less times their domain(cluster assignment), meaning they are either less mobile or are located further away from the cluster border, have a higher chance of becoming cluster heads. Their stability is crucial for the packet loss metrics. Simulation results To validate our technique we simulate the mobility scenario using a RandomWaypoint model with Matlab and MIXIM (Omnet based network simulator). As shown in the Figure 1, the clusters are stable even after 200 points in time and move slowly. A node can cover the space from a minimum of 0.01 [unit]/time to a maximum of 0.1 [unit]/time. The sum of all pressures inside a domain is constant through simulation time. The average number of nodes per cluster is 125 out of a total of 500 (Figure 2). Compared to GBL[14] and DDVC[15] where nearby nodes with similar mobility patterns (detected through GPS or Doppler shift), are clustered, we do not use any information about the motion of individual nodes. In this way, our technique can be used for random motion patterns. In DDVC[15] a cluster head is in charge of its corresponding cluster formation (acceptance of nodes as members) and has knowledge of all its members, acting as a central authority. Figure 2 26 Figure 3 Such an approach is not fully de-centralized and although it does not need coordination from the gateway still involves a lot of micro-management by the cluster-head. This approach is feasible when groups of nodes are easy to track. When randomness occurs in the motion such an approach is not feasible. As a consequence, a fully distributed approach is needed, where gradients established in the network are able to direct packets toward the cluster-heads. Additional knowledge about all the cluster members is not needed. The cluster change frequency graph shows which nodes are potentially good candidates as cluster heads (Figure 2). The nodes in the corners did not change often their cluster assignment so they have a high election probability. Nodes in the center have less probability due to their increased changing frequency. Conclusion Our new technique constructs a static overlay network on top of the mobile infrastructure. We hide to the upper layers (routing) the increased dynamic topology. Our preliminary simulation results validate our starting approach as highly promising. Our solution has three major improvements compared to other algorithms: 1. it is a fully de-centralized (distributed) approach (it uses only the local interaction between the nodes); 2. It uses no hard-assumptions like GPS coordinates or correlated movement of the nodes; 3. It uses no motion prediction (we can apply our methodology to totally random motion scenarios). The obtained freedom allows us to create application scenarios like: indoor spaces, mixed indoor-outdoor spaces, random motion of the nodes, high node density. References [1] S. Basagni. Distributed and mobility-adaptive clustering for multimedia support in multi-hop wireless networks. In Proceedings of Vehicular Technology Conference (VTC), pages 889893. IEEE Computer Society, 1999. [2] S. Basagni. Distributed clustering for ad hoc networks. In Proceedings of the International Symposium on Parallel Architectures, Algorithms and Networks (ISPAN), pages 310313, Washington, DC, USA, 1999. IEEE Computer Society. [3] H. Chan and A. Perrig. Ace: An emergent algorithm for highly uniform cluster formation. In Proceedings of the First European Workshop on Sensor Networks (EWSN), pages 134171. Springer, January 2004. [4] M. Chatterjee, S. K. Das, and D. Turgut. Wca: A weighted clustering algorithm for mobile ad hoc networks. Cluster Computing, 5(2):193204, 2002. [5] A. Ephremides, J. Wieselthier, and D. Baker. A design concept for reliable mobile radio networks with frequency hopping signaling. Proceedings of the IEEE, 75(1):373, 1987. [6] M. Gerla, T. J.Kwon, and G. Pei. On-demand routing in large ad hoc wireless networks with passive clustering. In Wireless Communications and Networking Conference (WCNC), pages 100105. IEEE Computer Society, 2000. [7] W. B. Heinzelman, A. P. Chandrakasan, and H. Balakrishnan. An applicationspecific protocol architecture for wireless microsensor networks. Wireless Communications, IEEE Transactions on, 1(4):660670, 2002. [8] Y. J., L. W., Y. Kim, and X. Yang. Eemc: An energy-efficient multi-level clustering algorithm for large-scale wireless sensor networks. Computer Networks, 52(3):5132, 2008. [9] F. G. Nocetti, J. S. Gonzalez, and I. Stojmenovic. Connectivity based k-hop clustering in wireless networks. Telecommunication Systems, 22(14):205220, 2003. [10] M. Strohbach and H. Gellersen. Smart clustering - networking smart objects based on their physical relationships. In proceedings of the 5th IEEE International Workshop on Networked Appliances, pages 131 135. IEEE Computer Society, 2002. [11] O. Younis and S. Fahmy. Heed: A hybrid, energy-efficient, distributed clustering approach for ad hoc sensor networks. IEEE Transactions on Mobile Computing, 3(4):366379, 2004. [12] A. M. Youssef, M. F. Younis, M. Youssef, and A. K. Agrawala. Distributed formation of overlapping multi-hop clusters in wireless sensor networks. In Proceedings of the Global Telecommunications Conference (GLOBECOM), pages 16, 2006. [13] Marin-Perianu, R.S. (2008) Wireless Sensor Networks in Motion -Clustering Algorithms for Service Discovery and Provisioning. PhD thesis, University of Twente. CTIT Ph.D.-thesis series No. 08-130 ISBN 978-90-365-2745-3 [14] G. H. K. Lam, H. V. Leong, and S. C. Chan. Gbl: Group-based location updating in mobile environment. In 9th International Conference on Database Systems for Advanced Applications (DASFAA), pages 762774, 2004. [15] E. Sakhaee and A. Jamalipour, ”Stable clustering and communications in pseudolinear highly mobile ad hoc networks,” Vehicular Technology, IEEE Transactions on, vol. 57, no. 6, pp. 3769-3777, Nov. 2008. [16] Cellular Automata Modeling of Physical Systems by Bastien Chopard (Author), Michel Droz (Author) [17] C. R. Lin and M. Gerla. Adaptive clustering for mobile wireless networks. Selected Areas in Communications, IEEE Journal on, 15(7):1265–1275, 1997. Jaargang 14 • Nummer 3 • Maart 2010 Mathematical modeling of particle nucleation and growth in metallic alloys Dennis den Ouden As a student of Applied Mathematics I wanted to specialize in the field of Numerical Analysis, with a particular focus on the application of mathematics to real life phenomena. As such I choose a subject of metallurgy for my Master thesis project. In this article I will elaborate on the problems I will model, the model itself and of course the results I obtained. Metallurgical phenomenon In the field of metallurgy two phenomena are considered of great importance in the manufacturing of alloys. First there is the behavior of the alloy on an molecular level and the influence of this behavior on the strength of the material. Second there is the deformation of the material during hot processing and the effect on the molecular dynamics. Hot processing of alloys happens at very large scales in the industry. An example is the rolling of alloys after they have been cast, see figure \ref{hot}. During this process a certain amount of pressure is exerted on a exterior pint of the material causing two types of deformations. First there are the deformations that disappear after the force is released, the so called elastic deformations. Second there are the deformations that are permanent and stay after the force has been released, the so called plastic deformations. Although plastic deformations are those wanted during hot processing of alloys, I focused on elastic deformations as this behavior is more easily modeled and still can give significance information on the influence of hot processing on the molecular behavior of the alloy. a) The undeformed cylinder b) The deformed cylinder Figure 2 Wiskunde The behavior of alloys on a molecular level can best be described by considering a quasi-binary alloy, e.g. an alloy consisting of two or more elementary elements, such as Cu-Co (copper-cobalt) or Al-Mg-Si (aluminum-magnesiumsilicon). This alloy can be seen as a solidified solution of the solute element, e.g. Co or Mg+Si, in the solvent element, e.g. Cu or Al. In a certain temperature range, which can vary from alloy to alloy, it is possible that some Co atoms or Mg2Si molecules form large groups, either due to defects in the material or spontaneously. These groups are called particles or precipitates and deform the alloy structure locally. In theory these particles can have any size, but are in most cases in the order of nanometers (10 -9 meters). The local deformation of the material due to particles can severely change, both positive and negative, the overall behavior of the material under hot processing. Therefore I focused on a model that predicts the particles present in an alloy. The alloy under I took under investigation in this project was a simplified version of the alloy AA 6082, an aluminum alloy. This alloy consist of the solvent element aluminum and the two solute atoms Magnesium (Mg) and Silicon (Si). For this alloy it is assumed that only particles consisting of Mg2Si are formed. The overall concentrations of the elements are 0.63wt% Mg, 0.9wt% Si with the remainder Al. Here wt% stands for weight percent. Figure1: Flat rolling. Image from Wikipedia. 27 Jaargang 14 • Nummer 3 • Maart 2010 Jaargang 14 • Nummer 3 • Maart 2010 Modelling particle nucleation Modelling elastic deformation In the field of metallurgy several approaches are possible to obtain information about the theoretical amount of particles in an alloy. A well-known approach is the KWN-model [1]. I compared to specific variants of this model, one by Myhr and Grong [2], and another by Robson et al. [3]. I will not state the comparison itself, but I will state the resulting model. As mentioned my Master thesis project focused solely on elastic deformations. For simplicity we assume a cylindrical region which is deformed such that rotation symmetry is maintained. This means that no forces or deformations in tangential direction are considered. Using a simple force balance, two partial differential equations are derived: The KWN-model is based on the evolution of the particle number density for spherical particles. This density is expressed as where is the amount of particles with radius per cubic meter at time . The behavior of this quantity is best described using the continuity equation , where is the rate at which a particles with radius grows or shrinks (if negative) at time and a source function predicting the number of newly formed particles with radius at time . Both and depend explicitly on the value of . . In these equations stands for the independent radial variable, for the independent axial variable and for the stress acting on region with constant and in the direction of . These stresses are related with the strain in the system by the cylindrical Hook’s Law: , which are in turn related to the deformations present in the system: From a known value of the value of several variables can be obtained, such as concentrations. The value of the growth rate can be expressed as , , where is the mean concentration in the matrix (i.e. outside the particles) of the solute, the concentration of solute inside the particle and an equilibrium concentration at the edge between the matrix and the particle. This last concentration depends explicitly on the radius of each particle. Finally is the diffusion constant of the solute in the solvent. The mean concentration can be derived from the value of . The source term can be seen as a point function [4] depending on the critical radius for which and the nucleation rate : If the deformations are known using the above equations and some set of prescribed boundary conditions, the strain energy of the system can be calculated at each point in the system, by using the formula , where is the Frobenius inner product. This value can then be used to calculate the nucleation rate as described above. energydis 0.03 . x 10 14 12 0.025 10 0.02 8 zaxis The largest difference between the two models compared was in the formula of . Using a combination of both models I assumed that the following formula holds: 4 0.015 6 0.01 4 0.005 0 0 0.5 1 1.5 etaaxis 2 2.5 3 x 10 −3 Figure 3 pnd . The energy is related to the value of the concentrations and reflect the need of the system to reach a certain stable state. In this project I focused on the other energy , the strain energy. This term is the sum of energies due to all possible strains, but we will restrict our selfs to a binary case, in which only strain energy due to misfit between the matrix and a particle with radius , and strain energy resulting from elastic deformations, . This latter term will be defined below. 28 2 0.035 0.03 time Wiskunde with a empirical constant, the gas constant, the absolute temperature, a constant related to diffusion and an energy barrier that should be overcome before nucleation happens. This energy barrier is a function of other energies: 10 3 10 2 10 1 0.025 0.02 0.015 0 0.01 10 0.03 3 0.02 2 0.01 zaxis x 10 1 0 0 Figure 4 etaaxis 0.005 −3 percent , Jaargang 14 • Nummer 3 • Maart 2010 Jaargang 14 • Nummer 3 • Maart 2010 Used numerical methods Conclusions To simulate the behavior of the combined model, two systems need to be discretized. For the model predicting the number of particles I used a combination of the familiar upwind method and an IMEX- method. These methods give an order 1 accurate approximation in both place and time. For the discretization of the elastic equations I applied a basic finite element method using linear triangles in the domain. From the various results obtained with the combined models, the conclusion can be drawn that the influence of elastic deformations on the nucleation and growth of particles can be modeled in a straightforward manner, resulting in predictable difference with the results from nucleation and growth of particles in absence of elastic deformations. Results from simulation To illustrate the effect of incorporating I simulate a so called tension test on a solid cylinder with a radius of 3 and a height of 30 . This test consists of fixing the bottom of the cylinder in both the radial and axial direction, fixing the top of the cylinder in the radial direction and applying a force of If you are interested in knowing more about the nucleation and growth of particles in alloys, elastic deformations and the application of numerical methods, this Master Thesis can be found at repository.tudelft.nl. References [1] Kampmann, R. , Eckerlebe, H. , and Wagner, R., in: Materials Research Society Symposium Proceedings, volume 57, page 525. MRS, 1987. [2] Myhr, O. R. and Grong, O., Modelling of non-isothermal transformations in alloys containing a particle distribution, Acta Materialia, 48(7):1605-1615, 2000. , in the axial direction. This specific force should physically cause plastic deformations, but for the moment we assumed only elastic deformations occur. A picture of the undeformed and deformed cylinder can be seen in Figure 2. [3] Robson, J.D. , Jones, M.J. , and Prangnell, P.B., Extension of the N-model to predict competing homogeneous and heterogeneous precipitation in Al-Sc alloys , Acta Materialia, 51(5):1453-1468, 2003. The resulting deformations caused a strain energy with the typical form as can be seen in Figure 3. The effect of these energy levels can be seen back in all variables that we can calculate from the results. A good influence can be seen from the total particle present in the system, as depicted in Figure 4. Oliebollen eten Puzzel LI Prof.dr J.M. Aarts Beschouw de open bol met straal 1, maar zonder rand. Precies gezegd: de open bol met straal 1 en middelpunt O is de verzameling van alle punten X uit de ruimte met de eigenschap dat de afstand van O tot X kleiner is dan 1: OX < 1. Daarin (in die open bol met straal 1) leg ik een configuratie van n punten met onderlinge afstand ≥ 1. Dan is n ≤ 19. Ook nu is een goede (of nog betere) oplossing weer 10 punten waard. De inzendingen kunnen tot en met 16 april naar [email protected] gestuurd worden. Oplossing puzzel L Prof.dr J.M. Aarts Er waren twee inzendingen die veel op elkaar leken, namelijk van Thijmen Krebs en van Misha Stassen. Zij ontvangen beide 10 punten voor de ladder. Hier is de oplossing. Kijk eens naar een die (open) cirkelschijf D met straal 1. Verdeel D als een taart in zes gelijke punten. Voor iedere taartpunt geldt: twee punten op die taartpunt hebben afstand kleiner dan 1. Ik beschouw nu een verzameling van n punten in D met onderlinge afstanden groter dan of gelijk aan 1. Ik zal laten zien dat n ≤ 6; dat betekent dat bij een configuratie van 7 punten er altijd 2 van die 7 punten zijn met onderlinge afstand < 1, hetgeen te bewijzen was. Welnu, als n ≥ 7 en ik dus 7 punten op 6 taartpunten moet leggen, dan zegt het pigeon hole principle (das Schubladeprinzip) me dat er twee punten op eenzelfde taartpunt terecht komen en dus onderlinge afstand kleiner dan 1 krijgen, hetgeen verboden is. Wiskunde Wie helpt me om dit te bewijzen of te weerleggen. Ik heb een tijd geprobeerd dit probleem (vind een bovengrens voor n) aan te pakken door te kijken naar ingeschreven veelvlakken en ook de truc van Van Kan te gebruiken. Ik kwam niet verder dan ik op Oudjaar al was. Als ik zo’n configuratie van n punten heb dan kan ik iedere punt van de configuratie een bolletje met straal ½ weg laten eten zonder dat die punten van elkaars oliebollendeel snoepen. Zo kwam ik op die 19. Wie kan dit bewijzen (ik had op oudejaarsavond al aardig wat op, oliebollen bedoel ik) en/of wie kan de bovengrens naar beneden bijstellen? Van Kan verslaat alles en iedereen Jos van Kan, een uiterst slimme collega, kwam met een heel knappe verbetering van de uitspraak van de puzzel. Gelukkig voor de puzzelaars doet hij buiten mededinging mee, anders maakten zij geen kans meer op een prijs. Jos van Kan bewijst dat bij een configuratie van 6 punten er altijd 2 van die 6 punten zijn met onderlinge afstand < 1. Het bovenstaand bewijs volgend moet bewezen worden dat n ≤ 5 is. Om dat te bewijzen deel je de taart niet zo maar in 6 punten, maar zorg je er ook voor dat één van de sneden door één van de punten gaat; dan blokkeert dat ene punt 2 taartpunten, en moeten de overige 5 over 4 taartpunten verdeeld worden en dat kan niet. De goede oplossers van deze week scoren geweldig op de ladder en stijgen met stip. Thijmen Krebs staat meteen weer bovenaan en ook Misha Stassen (een oude bekende) zit weer hoog in de ladder, welke door ruimtegebrek op te vragen is bij de MaCHazine. 29 Photo courtesy of Brian Hoskins. Retrieved from sxc.hu. Jaargang 14 • Nummer 3 • Maart 2010 Jaargang 14 • Nummer 3 • Maart 2010 Wiskunde en de paradox van rationele vaccinatiebeslissingen Radboud Duintjer Tebbens (Risico-en beslissingsanalyse) Vaccinaties redden wereldwijd ieder jaar ongeveer 3 miljoen levens.1 Niet alleen zijn ze duidelijk één van de meest succesvolle tools om ziektes te voorkomen, vaccinaties zijn doorgaans ook relatief goedkoop. Wiskunde Een groot aantal studies heeft aangetoond dat verschillende vaccinatieprogramma’s enorm kosteneffectief zijn, wat ruwweg wil zeggen dat de kosten per gewonnen levensjaar in goede gezondheid heel laag zijn. Sommige vaccins blijken zelfs kostenbesparend als je de besparingen van medische kosten meeneemt. Zo hebben wij laten zien dat het vaccinatiebeleid voor polio in de V.S. sinds 1955 $180 miljard (!) meer aan medische besparing dan aan vaccinatiekosten heeft opgeleverd.2 Op grond van deze argumenten lijkt het een nobrainer om te vaccineren. Toch is er groeiende beweging die zich verzet tegen vaccinaties. Het is interessant dat deze beweging zich deels manifesteert in de beter opgeleide groepen van rijkere landen, bijvoorbeeld in progressieve gemeenschappen in de V.S. en Duitsland. Ook in Nederland heeft alle ophef rond de Mexicaanse griep hevige gevoelens over vaccinaties losgemaakt en komen er zo nu en dan weer onnodige epidemieën (bijv. kinkhoest, mazelen, polio) voor in bevolkingsgroepen die zich tegen vaccinatie verzetten. Gezien de sterke argumenten vóór vaccinatie klinkt de beweging tegen vaccinaties irrationeel. Wiskundige modellen kunnen ons echter helpen om te begrijpen wat precies ten grondslag ligt aan de antivaccinatie gevoelens. Hierbij moet ik wel zeggen dat ook irrationele argumenten en foutieve informatie een rol spelen,3 en dat ik in dit stukje slechts de top van de fascinerende ijsberg van de vaccinatiepolitiek zal beschouwen. Een belangrijk aspect is hoe we omgaan met onzekerheid. Het is niet alleen onmogelijk aan te tonen dat een vaccin absoluut 100% veilig is, maar ook heel moeilijk om a priori statistisch aan te tonen dat een vaccin bijvoorbeeld 99.9% veilig is omdat dat een studie van praktisch onmogelijke (of te dure) omvang vereist.4 Hierdoor kunnen integere voorstanders vaak niets beter zeggen dan dat er geen gegevens bestaan die aantonen dat een (nieuw) vaccin niet veilig is. De juiste interpretatie van een dergelijke uitspraak is dat we op grond van resultaten in laboratoria weten dat het vaccin hoogstwaarschijnlijk heel veilig is, maar dat we geen harde gegevens hebben om de exacte veiligheid te bepalen. Het gebrek aan goede gegevens geeft echter ruimte aan allerlei 30 speculaties en angsten. Wat doorgaans beter bekend is, zijn de risico’s van niet vaccineren. Vaccinatiebeslissingen komen dus in praktijk vaak neer op een afweging tussen onzekere risico’s. In de formele beslissingstheorie is bewezen dat iemand die volledig rationeel handelt altijd zal kiezen voor die optie die het hoogste verwachte nut oplevert, waarbij het verwachte nut gebaseerd is op subjectieve kansen op verschillende uitkomsten. Dat geeft weer aan dat het effectief communiceren van de onzekerheid een belangrijke public relations kwestie is voor een overheid die vaccinaties wil doorvoeren. Wiskundige technieken zoals structured expert judgment kunnen tot de communicatie bijdragen door op wiskundig verantwoorde wijze de meningen van verschillende experts te combineren in een “consensus” verdeling, die de gezamenlijke onzekerheid van de experts weergeeft.5 Ook het doorrekenen van onzekerheid in een wiskundig model via een probabilistische gevoeligheidsanalyse of onzekerheidsanalyse, is een belangrijke manier om de uiteindelijke onzekerheid waarop we beslissingen kunnen baseren te bepalen. Maar zelfs als we volledig rationeel handelen en alle onzekerheid over kosten, baten en risico’s van vaccins in acht nemen, kan op het eerste oog irrationeel anti-vaccinatie gedrag ontstaan. Beschouw een vaccin waarmee we de kans om een ziekte te krijgen kunnen reduceren tot . Voor het gemak nemen we even aan de we het nutsverlies bij het krijgen van de ziekte in een geldbedrag van euro kunnen uitdrukken. Het vaccin kost euro en er bestaat een kans op een ernstige bijwerking waarvan het nutsverlies euro is. Volgens beslissingstheorie zouden we dus rationeel kiezen voor vaccinatie zolang het verwachte nutsverlies bij vaccinatie kleiner is dan het verwachte nutsverlies zonder vaccinatie, oftewel: We kunnen deze beslissingsregel meenemen in een zogenaamd ziekteverspreidingsmodel. Een dergelijk model verdeelt de bevolking in susceptibles (mensen die nog ontvankelijk zijn voor een ziekte), infecteds (mensen die de besmetting dragen), en removeds (mensen die niet deelnemen aan de verspreiding omdat Figuur 1: Stock-and-flow diagram van het beslissingsmodel voor vaccinaties en grafiek van de vaccinatie-belissing en jaarlijks aantal nieuwe gevallen als functie van de tijd. Het SIR-model en de waarden van variabelen zijn gebaseerd op Edmunds WJ, Medley GF, Nokes DJ. Evaluating the cost-effectiveness of vaccination programmes: a dynamic perspective. Statistics in Medicine 1999;18(23):3263-82, m.u.v. de recovery rate (y) van 12 i.p.v. 50 per jaar en het weglaten van de vaccine efficacy. Verder nemen we aan de Cv=100, Cb=Cz=20 000, en pb=0.005 Jaargang 14 • Nummer 3 • Maart 2010 Jaargang 14 • Nummer 3 • Maart 2010 ze al besmet zijn geweest of een vaccin hebben genomen).6 De verandering in omvang van deze groepen beschrijven we met een eenvoudig stelsel differentiaalvergelijkingen: (*) Hierbij is (in goed Nederlands) susceptibles, infecteds, removeds, total population, birth rate, mortality rate (we nemen voor het gemak aan dat de bevolking constant is door te stellen dat levensverwachting ), recovery rate (gelijk aan infectietijd) en transmission coefficient (geeft aan hoe snel de ziekte zich kan verspreiden). De variabele is gelijk aan als we rationeel gezien beslissen ons kind bij geboorte te vaccineren en als we beslissen dat niet te doen, en hangt volgens de ongelijkheid hierboven dus af van de subjectieve kans om ziek te worden. Die kans kunnen we uitrekenen door de jaarlijkse kans op ziek worden enigszins naïef te benaderen door het jaarlijks aantal nieuwe ziektegevallen per hoofd van de bevolking (de incidence, deze is gelijk aan als de eenheid van het model jaren is). Als we dan voor het gemak nog aannemen dat de kansen om in verschillende jaren ziek te worden onderling onafhankelijk zijn (gegeven dat je nog niet besmet was), dan is op ieder tijdstip de kans dat het kind gedurende zijn leven niet ziek wordt gelijk aan . In werkelijkheid zal men het exacte aantal nieuwe ziektegevallen per jaar op het tijdstip niet meteen kennen, maar zal men beslissingen nemen op grond van de geobserveerde ziektegevallen in het verleden, waarbij we kunnen verwachten dat observaties uit het recente verleden zwaarder meetellen dan die uit het verdere verleden. Dit kunnen we modelleren door de exponential smooth Inc* van de functie te gebruiken.7 Dit alles leidt tot de volgende vergelijking voor de perceptie van het risico : We krijgen dus als , en anders . Het stelsel vergelijkingen kan vanwege de niet-lineaire termen niet analytisch opgelost worden, maar is wel eenvoudig numeriek op te lossen door bijvoorbeeld gebruik te maken van Euler integratie. Figuur 1 geeft het model schematisch weer in een stock-and-flow diagram, met daaronder een grafiek van het aantal nieuwe ziektegevallen per jaar en de waarde van ( op de grijze gebieden en elders). Het model begint in evenwichtstoestand.8 De perceptie van het risico is in die toestand hoog, zodat men besluit kinderen te vaccineren. Door het succes van de vaccinatie wordt het risico echter spoedig kleiner, waardoor het rationeel gezien beter wordt om niet te vaccineren. Dat gaat een tijd lang goed, tot zo veel ontvankelijke kinderen geboren zijn dat er een nieuwe epidemie ontstaat. Hierdoor gaat de perceptie van het risico weer omhoog tot vaccineren opnieuw de rationele keus wordt. Zo schommelen we door naar een oscillerende evenwichtstoestand. Deze toestand komt voort uit rationele vaccinatiebeslissingen en leidt, in verwachting, tot een economisch optimale graad van vaccinatie. Maar vanuit het perspectief van de volksgezondheid is het natuurlijk zeker niet wenselijk om regelmatig wederkerende epidemieën te moeten bestrijden. In het bijzonder is deze uitkomst niet optimaal als het mogelijk is een ziekte volledig uit te roeien. Als uitroeiing voltooid is worden immers zowel de toekomstige kosten als de toekomstige ziektegevallen (bijna) gelijk aan , terwijl het resultaat uit de figuur tot in het oneindige tot ziektegevallen en kosten leidt. We zien dus dat rationeel gedrag, weliswaar gebruikmakend van een eenvoudig mentaal model voor de risico’s9 tot antivaccinatie gevoelens kan leiden en dat deze gevoelens paradoxaal genoeg een direct gevolg zijn van het succes van vaccinaties zelf. Als gevolg hiervan kunnen ziektes die we door vaccinaties onder controle hadden gekregen terugkeren en kunnen uitroei-initiatieven falen. Tot nog toe is uitroeiing van 5 menselijke ziektes ondernomen. Slechts bij één is het gelukt (pokken). Twee initiatieven zijn afgeblazen (malaria en framboesia), deels doordat de prioriteit van de initiatieven afnam na aanvankelijk succes. Twee initiatieven zijn al jarenlang dicht bij hun doel (polio en dracunculiasis) maar onder voortdurende financiële druk, onder meer vanwege de perceptie dat de kosten per vermeden ziektegeval te hoog worden.10 Wiskundige modellen kunnen een positieve bijdragen leveren op dit gebied door op het eerste gezicht onintuïtief gedrag te verklaren en beleid te identificeren dat, met inachtneming van alle onzekerheid, op de lange termijn het meest wenselijk is. Voetnoten 1 http://www.euro.who.int/features/2007/featureiw07/20070410_12 2 Het bedrag is in Amerikaanse dollars van het jaar 2002 en afkomstig uit Thompson KM, Duintjer Tebbens RJ. Retrospective cost-effectiveness analyses for polio vaccination in the United States. Risk Analysis 2006 December;26(6):1423-40 3 Als je bijvoorbeeld onder “vaccination” zoekt via google, kom je na Wikipedia op http:// www.whale.to/vaccines.html en daarna op de Vaccine Liberation Homepage (http://www.vaclib. org/). Beide barsten van de misleidende informatie, uit het verband gehaalde opmerkingen en suggestief materiaal tegen vaccinaties. 4 Om bijvoorbeeld met 80% zekerheid te kunnen vaststellen of een vaccin minder dan 0.1% Wiskunde kans heeft op ernstige bijwerkingen bij vrouwen in het eerste trimester van hun zwangerschap (met een 5% significantie niveau), moet je meer dan 12 000 bereidwillige proefpersonen uit die demografische groep in je studie zien te vinden. 5 Cooke RM. Experts in uncertainty: opinion and subjective probability in science. New York: Oxford University Press, 1991 6 Dit eenvoudige model heet het SIR model. Er bestaat een groot aantal variaties op dit model om de verspreiding van specifieke ziektes in meer detail of realistischer te simuleren. 7 De smooth volgt uit , waarbij de gemiddelde tijd is waarover we ons beeld van het aantal nieuwe gevallen vormen (de perception time, deze kiezen we voor het gemak gelijk aan 1 maand). 8 Deze is gemakkelijk uit te rekenen door de drie afgeleiden in het stelsel (*) gelijk aan stellen en 9 , en uit het verkregen stelsel op te lossen. Zo is de jaarlijkse kans om ziek te worden voor susceptibles hoger dan het jaarlijks aantal nieuwe gevallen per hoofd van de bevolking die immers ook removeds bevat. 10 te Duintjer Tebbens RJ, Thompson KM. Priority shifting and the dynamics of managing eradica- ble infectious disease. Management Science 2009 April 4;55(4):650-63 31 titel kader Jaargang 14 • Nummer 3 • Maart 2010 Jaargang 14 • Nummer 3 • Maart 2010 EFFICIENT PRECONDITIONING ON and highly expensive operate, maintain, and expand. bining thethe power of multiple computers with sophistica turbine blad putational bottleneck in parallel With the to advent of Internet, it viable to became connect geographically sep parallel computing. purpose–built With thecomputing. advent of the Internet, it became the inver candesktop be performed that perfectly engines. Ai viableman’s to connect geographically separate —exploit such as in- Computing A poor alternative to massive supercomputing isdividual to exapplications. Examples machines, local clu viable to connect geographically separate resources — algorithms, such as resources in-simulations fective, which is to refle Finding anprecond efficien ical reality. Finding an efficient effective dividual desktop machines, local clusters, space — toand tinues turbine blades, weather prgp isting non–dedicated hardware for performing parallel computations. dividual desktop machines, local clusters, and storage space — and to storage solve very large–scale computational be tope c vergence iterat of freely iterative methods. Generall on of sequent engines. Although the co solvethe very computational problems. Invergence the mid–1990s the option uselarge–scale ofproblems. cost–effective components and Traditional processing was and is would currently SETI@home project was conceived, w solve very large–scaleWith computational In thecommodity mid–1990s theparallel classical Richard isMaart the most diffic ing deman is the most difficult part to 2010 parallelise, SETI@home project wasestablished conceived, which itself as the software, cheap and powerful parallel computers can be Jaargang 14 • Nummer •ato tinues grow, fundame sophisticated supercomputers, which typically consist of prime example of3the so–called Grid c SETI@home project available was conceived, which has itself ashas theestablished cobi which environments asin f environments as found initeration, Grid computin prime example of cluster a so–called Grididentical project. currently research on sequential processing. The Beowulf technology iscurrently a good example ofItthis approcessors linked by a computational high–speed network. T prime example of a built. so–called Grid computing project. Itcomputing combines the power of having entries from bining the ing for more rea combines the power of millions ofand personal computers proach [10]. A major advantage of such technology is from that resources purpose–built highly expensive to operate, maintain Classical iteration around thedemand world search for combines the computational power ofcomputational millions of personal computers Classical iterations such as to (1) can be g that some algorithms, around theextraterrestrial world to search extraterrestrial intelligence by Choices canfrom easily be replaced and added. However, this thetoprobresearch in the field of pa called a–synchron analysing massive quantities ofinradio from around the world to search for intelligence byintroduces called a–synchronous iterative algorithm Aforpoor man’s alternative massive supercomputing is naturally result in massive quantities radio telescope data [1].hardware ical bining the power ofreality. multi lemanalysing of dealing with heterogeneity, both in non–dedicated machine architecture and nisation points anc analysing massive quantities of radio telescope dataof[1]. nisation points and therefore perfect isting for performing parallel The fact that in are Grid computing res iterations. However, algorithms, simulations in The network The problem of efficiently the However, similarca Traditional fact capabilities. that in Grid are computing resources geographically However, similar to classical iterative m With the are use often ofpartitioning cost–effective commodity componen separated implies that communicatio The fact that in Grid computing resources often geographically in most cases and it computational work isbecame an intense topic of research. ical slow to converge separated implies that expensive. As a powerful resophisticate slow to converge toreality. the solution. available software, cheap and parallel comp separated implies that communication verycommunication expensive. Asisa very result, global synchronisation is the crit identical pro Traditional proce sult, global synchronisation is the critical bottleneck operation, since The nineties the previous century ushered in the next stage ofcommunication built. The Beowulf cluster technology is parallel a are good examp this requires sult, global synchronisation is the of critical bottleneck operation, since Iterative subspace Iterative subspace methods abetween class EFFICIENT PREC purpose–bu this requires communication all [10]. the Internet, processes. particusophisticated supercompu parallel computing. the between advent the it In became proach A hibit major advantage of such is t lar,significantly Grid computing is technology naturally suite this requires communication between all With the processes. In of particuhibit significantly improved convergence Tijmen Collignon Grid computing naturally suited for so–called embarrassingly identical processors linked to connect separate resources — such as incanP.easily be replaced andapplications added. this introdu lar, Grid computingviable islar, naturally suitedgeographically for isso–called embarrassingly methods ar parallel where the proble A poor man space methods are: However, thespace Conjugate Grad Finding an efficient purpose–built and highly parallel applications the problem be broken uprequire easily and desktop machines, local clusters, and storage space —and to lem of can dealing with heterogeneity, both in interprocesso machine arcae tasks little or no parallel applicationsdividual where the problem canwhere be broken up easily and Bi–CGSTAB, and isting non– Bi–CGSTAB, the recently proposed Tijmen P. Collignon vergence of aforeme iterative tasks require littlecommunication. or no interprocessor communication. AnThe example very large–scale computational problems. In the mid–1990s the in network capabilities. ofisAnalysis efficiently pa of such an application the tasks require little orsolve no interprocessor An example developed in the Nu With Aproblem poor man’s alternative developed in the Numerical grou thetopic most difficult of anproject application is the aforementioned SETI@home project. SETI@home was conceived, which has established itself as the computational work became an intense ofhighly researc of such an application is such the aforementioned SETI@home project. nology. IDR( s isting non–dedicated hard nology. The IDR(s) method isavailable aThe effi For the numerical solution linear INTRODUCTION vector, and x is the vector ofis unknowns. environments as fou prime a so–called Grid computing project. It currently forushered solving n For example the solution of linear ofof equations, matters built. With the use oflinear cost–eff Thesystems nineties the previous century inlarge the for solving large nonsymmetric sys For the numerical solution of numerical linearof systems of equations, matters are far more complicated. One ofThe the As the demand for more realistic simulations con combines the computational power of millions of personal computers Classical iterations proach [10] available software, cheap are far more complicated. One of the main reasons is that inter–task parallel computing. With the advent of the Interne communication is both unavoidable are far more complicated. One of the main reasons is that inter–task An inherent chara An inherent characteristic of all subspac Solving extremely large sparse Solving linear systems of equations is the For the numerical solution of linear systems of equations, matters are far extremely large sparse linear systems of equations is the com- use of so–called direct methods for the solutiosa from aroundof the world tounavoidable search extraterrestrial intelligence by called a–synchronou can easily b communication is complicated. both and abundant. For this applicabuilt. The Beowulf cluste viable to connect geographically separate resources — tion, developing efficient parallel num communication unavoidable and abundant. Forfor this applicaa This large number of aincreasingly large number of global synchronisatio more One of the main reasons is that inter-task communication putational bottleneck inisa both wide range scientific and engineering becomes infeasible. leaves itera analysing massive quantities of radio telescope data [1]. nisation and tion, developing efficient parallel numerical algorithms for dedicated lem ofto deal proach [10]. A major adv dividual desktop machines, clusters, and storage tion, developing efficient parallel numerical algorithms for dedicated homogeneous systems issuitable apoints difficult pr lesseffi Gr less suitable tolocal Grid computing. We pro computational bottleneck in a wide range of scientifi c andinclude engineering isofboth unavoidable and abundant. For this application, developing cient applications. Examples simulation air flow around wind only practical alternative. However, similar toth in network can easily replaced and homogeneous systems is a becomes difficult problem, but becomes even systems more The thatpricing, in Gridand computing resources arelarge–scale often geographically solve very computational problems. In the m challenging when to heterog homogeneous is fact aoption difficult problem, but even more iterative method iterative method aapplied preconditioner in parallel numerical algorithms for dedicated homogeneous is abe diffi cult turbine blades, weathersystems prediction, Internet search The main characteristic ofasiterative methods is slow to converge to computatio challenging when applied to heterogeneous systems. In particular, separated implies that communication is very expensive. As a relem of dealing with heter SETI@home project was conceived, which has establishe the heterogeneity of the computation challenging when applied to heterogeneous systems. In particular, where the precond where the preconditioner is allowed to c applications. Examples includeengines. simulation of air fl ow around wind turbine problem, but becomes even more challenging when applied to heterogeneous Although the computing power of a single processor con- step, information from one or more previous ite theglobal heterogeneity ofsevere the computational resources and the in network capabilities. synchronisation is limitations the bottleneck operation, since prime example of a network so–called computing heterogeneity ofsult, the computational and critical the variability inof performance present nume The project ninetie By combining ato Iterative subspace msT By combining aGrid slowly converging asyn systems. In particular, the heterogeneity the variability computational resources tinues tothe grow, fundamental physical laws placeresources to find an increasingly accurate approximation computational work beca in network performance numerous algorithmic challenges. this requires communication between all the processes. In particucombines the computational power of of person in network performance present numerous amillions fast converging hibit significantly im com a fastpresent converging synchronous outer m blades, weather prediction, option pricing, and Internet search engines. and thebyalgorithmic variability inchallenges. network performance algorithmic on sequential processing. This fact accompanied anpresent ever increasmore precise, given annumerous initial guess toparallel the solutio lar, simulations Grid computing is naturally suited so–called fromforaround the world to the search for extraterrestrial space methods are: viable to ci and The nineties the prev CLASSICAL ITERATIVE benefits and awards ofbenefits both techniques challenges. ing demand for more realistic has intensely stimulated iteration forembarrassingly solving system Ax =of bMETHOD is awar parallel applications where the problem can be broken up easily and analysing massive quantities of radio telescope data [1] dividual de Bi–CGSTAB, and th CLASSICAL ITERATIVE METHODS parallel computing. Wit CLASSICAL ITERATIVE METHODS De–synchronising De–synchronising the preconditioning p Although the computing power research of a single processor continues to grow, in the field of parallel and distributed computing. By com(t) viable (t) requirewith little or no interprocessor communication. example developed in ), the Num very to connect geogra The fact that advantage in Grid computing resources are often advantage that: OurAn main goal is−1 to efficiently solve (i) the preconditioner Classical Iterative Methods ← xthat: +M (b − Axsolve tlg x(t+1) bining the power of multiple tasks computers sophisticated numerical Tijmen P. Collignon ofefficiently suchmain an application isefficiently the aforementioned SETI@home project. nology. The IDR(s) SETI@hom dividual desktop machine separated implies that communication is very expens Our goal is to solve in parallel large algebraic linear parallelised on G systems of equations Ax = b on larg main goal is tobe solve in parallel large algebraic linear parallelised on Grid computers, (ii) fundamental physical laws place severe Our limitations on sequential Our main goal is to effi ciently solve in parallel large algebraic linear systems of algorithms, simulations can performed that perfectly imitate physTijmen P. Collignon Tijmen P. Collignon −1 Tijmen P. Collignon P.solution Collignon Tijmen P.Collignon Collignon Tijmen P. prime exam for solving large non For the systems ofsynchronisation equations, very com sult, global issolve the critical bottleneck op systems of equations Ax of = blinear on large large and geographically separated tion points are where M can bematters chosen freely and serves as a systems of equations Ax =Tijmen bnumerical on large and geographically separated networks of computers. That is,(iii) we w tion points are introduced, and bin equations on and geographically separated networks oflarge–scale compuical reality. −1 −1 −1 combines tc SETI@home project wasbeff arenetworks far more complicated. One of the main is that inter–task this communication between all the processe An charact The M is called thematrix, precondition Areasons ofwe computers. That we want to obtain xAmatrix =denotes A b,the where computational denotes the coefficient matrix, networks computers. That want to performed obtain xis,= A b,requires where computational effort toinherent the precondit processing. ters. That is, we want tousing obtain ,. where coeffi cient Traditional parallelofprocessing was andis,is currently −1 −1 from prime example of a aroun so–c communication both unavoidable and abundant. For this applicalar, Grid computing suited for so–called = A would give process (1). Setting A denotes the coefficient matrix, bofrepresents the side communication aofof large number of ra ge bisconsist represents the right–hand side A denotes the coefficient matrix, communication ratio can be improved represents the right-hand side vector, andright–hand isnaturally vector unknowns. INTRODUCTION vector, and xis is the M vector unknowns. sophisticated supercomputers, which typically of thousands INTRODUCTION vector, and x is the vector of unknowns. analysing developing efficient parallel numerical algorithms forwhere dedicated combines the computatio applications the problem can be to broken less suitable Gridm single iteration step, thisrealistic would require comp TION INTRODUCTION vector, and x is the vector, vector of unknowns. This factINTRODUCTION accompanied by an everidentical increasingprocessors demand forlinked more realistic simulaAs the demand for but more simulations c INTRODUCTION vector, and xxisis the vector of unknowns. bytion, a high–speed network. They are often vector, and xvector isparallel theofvector of unknowns. INTRODUCTION vector, and isthe the vector of unknowns. and x unknowns. As the demand for more realistic simulations continues to grow, the around the world t homogeneous systems is athe difficult problem, but becomes even more tasks require little or no interprocessor communication The fact iterative method as the matrix A, which is exactly what we toth As expensive the demand for more realistic simulations continues to grow, the tions has intensely stimulated research in the fiand eld ofhighly parallel and distributed As the demand for more realistic simulations continues to from grow, the use of so-want Solving extremely large sparse linear systems of equations is the comuse of so–called direct methods for the solu purpose–built to operate, maintain, and expand. As the demand for more realistic simulations continues to grow, the As demand for more realistic simulations continues to grow, the Asthe the demand for more realistic simulations continues to grow, the As demand for more realistic simulations continues to grow, the Tijmen P. Collignon Solving extremely large sparse linear systems of equations the comuse of so–called direct methods for the solution of linear systems analysing massive quantit challenging when applied to heterogeneous systems. In particular, ofexsuch an application isthe thesolution aforementioned SETI@hom separated where the precondit mely large sparse linear systems of equations issystems thebottleneck comComputing the inverse of the matrix M should bi use of so–called direct methods for the solution of linear systems computing. By combining the power of multiple computers with called direct methods for the solution of linear systems becomes increasingly putational asophisticated wide range of scientific and engineering becomes increasingly infeasible. This leaves ite Solving extremely large sparse linear of equations is the comuse of so–called direct methods for the solution of linear systems Alinear poor man’s alternative to massive supercomputing isof to exploit Solving extremely large sparse linear systems ofin equations is the comuse so–called direct methods for of linear systems Solving extremely large sparse linear systems ofequations equations isthe thecomcomuse ofso–called so–called direct methods forthe the solution oflinear linear systems Solving extremely large sparse systems of isis use of direct methods for solution of systems Tijmen P. Collignon putational bottleneck in a wide range of scientific and engineering becomes increasingly infeasible. This leaves iterative methods as the the heterogeneity the computational resources and the variability sult, global By combining a slow The fact that in Grid com For the numerical solution of linear systems of equat ottleneck in a wide range of scientific and engineering fective, which is reflected in the different choices becomes increasingly infeasible. This leaves iterative methods as the numerical algorithms, simulations can be performed that perfectly imitate infeasible. This leaves iterative methods as the only practical alternative. applications. Examples include simulation of air flow around wind only practical alternative. putational bottleneck in a wide range of scientific and engineering becomes increasingly infeasible. This leaves iterative methods as the putational bottleneck in range a range wideofrange of hardware scientific andperforming engineering isting non–dedicated for parallel computations. becomes increasingly infeasible. Thisiterative leaves iterative methods putational bottleneck wide ofscientific scientific andengineering engineering becomes increasingly infeasible. Thisleaves leaves iterative methods the as the putational bottleneck inina awide and becomes increasingly infeasible. This methods asasthe Tijmen P. Collignon applications. Examples include simulation air flow around wind only practical alternative. in network performance present numerous this require aiterative fast converging st implies that co are faralgorithmic more Oneseparated ofof the main reasons isfor option wouldchallenges. be to choose the identity matrix Examples include simulation ofinclude airWith flow around wind only practical alternative. physical reality. turbine blades, weather prediction, option pricing, and Internet search applications. Examples include simulation of air flow around wind only practical alternative. The complicated. main characteristic methods is the use ofof cost–effective commodity components and freely applications. Examples include simulation of air flow around wind only practical alternative. applications. Examples include simulation of airflow flow around wind only practical alternative. applications. Examples simulation air around wind only practical alternative. turbine blades, weather prediction, option pricing, and Internet search The main characteristic of iterative methods isis that at each iteration lar, Grid co benefits and awards sult, global synchronisatio communication isiteration both unavoidable and abundant. Fo s, weather prediction, option pricing, and Internet search the classical Richardson iteration. Another varian The main characteristic of iterative methods ismethods that at each iteration step, The main characteristic iterative methods is that at each engines. Although the computing power ofof amain single processor conturbine blades, weather prediction, option pricing, and Internet search information from one or more previous available software, cheap and parallel computers canand be turbine blades, weather prediction, option pricing, andpowerful Internet search turbine blades, weather prediction, option pricing, andInternet Internet search The characteristic of iterative methods that at each iteration INTRODUCTION vector, x is step, the vector of unknowns. The main characteristic of iterative is that at each iteration turbine blades, weather prediction, option pricing, and search The main characteristic of iterative methods isthat that ateach each iteration The main characteristic of iterative methods is at iteration Tijmen P. Collignon engines. Although the computing power of single processor constep, information from one or more previous iteration steps isis used parallel app this requires communicat CLASSICAL ITERATIVE METHODS tion, developing efficient parallel numerical algorithms hough the computing power ofcomputing acomputing single processor conDe–synchronising th cobi which isunknowns. obtained by taking for M Traditional parallel processing was and ispower currently using sophisinformation from one or more previous iteration steps isaccurate used to fisteps nd anisto step, information one or more previous iteration steps isincreasingly used tinues to grow, fundamental physical place severe limitations engines. Although the of single processor conto find an approximation engines. Although the computing power of aprocessor single processor conbuilt. The Beowulf cluster technology isfrom alaws good example of this apengines. Although the computing power ofaaaaperformed single processor constep, information from one or more previous iteration steps used INTRODUCTION vector, and xiteration, isor the vector of step, information from one more previous iteration used engines. Although the power of single constep, information from one or more previous iteration steps is used As the demand for more realistic simulations continues grow step, information from one or more previous iteration steps is used tinues to grow, fundamental physical laws place severe limitations to find an increasingly accurate approximation to the solution. To be tasks requi lar, Grid computing is na homogeneous systems is a difficult problem, but becom having entries from the diagonal of A. w, fundamental physical laws place severe limitations advantage that: (i) ticated supercomputers, which typically consist of thousands of identical increasingly accurate approximation to the solution. To be more precise, given to find an increasingly accurate approximation to the solution. To be on sequential processing. This fact accompanied by an ever increastinues to grow, fundamental physical laws place severe limitations more precise, given an initial guess to the solu proach [10]. A major advantage of such technology is that resources tinues to grow, fundamental physical laws place severe limitations tinuestotogrow, grow, fundamental physical lawsplace placesevere severelimitations limitations find an increasingly approximation to the solution. To be INTRODUCTION vector, and xaccurate is the vector of unknowns. to find an increasingly accurate approximation to the solution. To besy tinues fundamental physical laws Solving extremely large sparse linear systems of equationstoto is the comtofind findan anincreasingly increasingly accurate approximation to the solution. Tobe belinear the demand for more realistic simulations use of As so–called direct methods for the solution ofcontinues accurate approximation to the solution. To (0) (0) when on sequential processing. This fact accompanied by an ever increas(0) ,approximate classical more precise, given an initial guess to the solution xparallel (0) (0) of such an applications wher challenging applied to heterogeneous systems. processing. This fact accompanied byfact an ever Our main goal is to efficiently solve in parallel large algebraic linear parallelised Grid processors by a high-speed network. They are often purpose-built and an initial guess tothe the solution ,, to the classical iteration for solving the Choices that in some sense the the classical more precise, given an initial guess to the solution xguess ing demand for more realistic simulations has intensely stimulated on sequential processing. This fact accompanied by an ever increasiteration for solving system = bon ismatr can easily replaced and However, this introduces probonlinked sequential processing. This fact accompanied by an ever increasonsequential sequential processing. This fact accompanied by an ever increas,the the classical more precise, given an initial guess to the solution x ,Ax the classical more precise, given an initial guess to the solution x on processing. This accompanied by an ever increasputational bottleneck inbe aincreaswide range ofadded. scientific engineering ,the the classical more precise, given an initial to the solution x(0) Solving extremely large sparse linear systems ofand equations is the becomes increasingly infeasible. This leaves iterative methods Ascomthe demand for more realistic simulations continues to grow, t use of so–called direct methods the solution of lin ,for classical more precise, given an initial guess the solution xthe ing demand for more realistic simulations has intensely stimulated iteration for solving the system Ax = require little orsystem no the heterogeneity of the resources and For are the nui for more realistic has intensely stimulated systems of equations Ax = bonly on large and geographically separated tion points intr highly expensive tomore operate, maintain, expand. system naturally in that converge to iteration for solving the system Ax = bso–called is research inlinear the of range parallel and distributed computing. By coming demand for more realistic simulations has intensely stimulated ing simulations demand for more realistic simulations has intensely stimulated lem ofand dealing with heterogeneity, both machine architecture and ing demand for more realistic simulations has intensely stimulated iteration for solving the system Ax = bbAx isisinfeasible. iteration for solving the system = b computational ismethods ing demand for realistic simulations has intensely stimulated INTRODUCTION vector, and x engineering is the vector of unknowns. iteration for solving the system Ax= =bbresult putational bottleneck in afield wide ofair scientific and applications. Examples include simulation of flow wind practical alternative. Solving extremely large sparse systems of equations isinaround the combecomes increasingly This leaves iterative me use ofis direct methods for thetasks solution of linear iteration for solving the system Ax isis −1 (t+1) (t) −1 (t) Tijmen P. Collignon research the field of parallel and distributed computing. By comofgrow, an(b application is inthe network performance present numerous algorithmic are far mor he field research of parallel and distributed computing. By comnetworks computers. That is, we want to obtain x(t) = AThis b, where computational iterations. inverting the matrix M wil ← xto +such M − Ax ),effor xHowever, bining the power of multiple computers with sophisticated numerical research in the field of parallel and computing. By cominweather network capabilities. The problem of efficiently partitioning research in the field of parallel and distributed computing. comresearch in the field of parallel and distributed computing. Bycomcominin the field of parallel and distributed computing. By turbine blades, prediction, option pricing, and Internet search putational bottleneck inExamples adistributed wide range of scientific and engineering applications. include simulation ofofBy air flow around wind only practical alternative. becomes increasingly leaves iterative methods as As the demand for more realistic simulations continues the The main characteristic of iterative methods is that at each itet (t+1) (t) −1 infeasible. (t+1) (t) −1x(t+1) (t) (t+1) (t) −1 (t) (t+1) (t) −1 (t) (t+1) (t) −1 (t) ← x + M (b − Ax ), t = 0, 1, . . . , (1) (t) −1 (t) bining the power of multiple computers with sophisticated numerical ← x + M (b − Ax ), t = 0, 1, . . . , (1) x communica For the numerical solutio wer of multiple computers with sophisticated numerical A denotes the coefficient matrix, b represents the right–hand side communication ratio A poor man’s alternative to massive supercomputing is to exploit existing (1) in most cases and it is clear that some form of tr algorithms, simulations can be performed that perfectly imitate phys← x + M (b − Ax ), t = 0, 1, . . . , (1) x bining the power of multiple computers with sophisticated numerical ← x + M (b − Ax ), t = 0, 1, . . . , (1) x computational work became an intense topic of research. ← x + M (b − Ax ), t = 0, 1, . . . , (1) bining the power of multiple computers with sophisticated numerical x bining the power of multiple computers with sophisticated numerical ← x information +M − Ax ), orof titerative = 0, 1,systems . .methods . , iteration (1) x only bining the power of multiple computers with sophisticated numerical engines. Although the computing power of a flow single processor turbine blades, weather prediction, option pricing, Internet search applications. Examples include simulation air windconpractical alternative. Solving extremely large sparse linear systems of equations is theof comusearound ofand so–called direct methods for(bcharacteristic the solution linear step, from one more previous steps The main of is that at eis −1 algorithms, simulations can be performed that perfectly imitate physwhere M can be chosen freely and serves as tion, develo mulations can be performed that perfectly imitate physare far more complicated. CLASSICAL ITERATIVE METHODS non-dedicated hardware for performing parallel computations. With the use ical reality. algorithms, simulations can be performed that perfectly imitate physalgorithms, can be performed that perfectly imitate physalgorithms, simulations can beperformed performed that perfectly imitate physThe nineties of the previous century ushered in the next stage of algorithms, simulations can be that perfectly imitate physengines. Although the computing power of a single processor continues to grow, fundamental physical laws place severe limitations turbine weather prediction, option pricing, and Internet search putational bottleneck in blades, asimulations wide range of scientific and engineering becomes increasingly infeasible. This leaves iterative methods as the step, information from one or more previous iteration to find an increasingly accurate approximation to the solution. The main characteristic of iterative is that at each iterati −1 −1 −1 −1 −1 where M be chosen freely and serves as an approximation for −1can −1 ical reality. where M can be chosen freely and serves as an approximation for (0) .and The matrix M isancalled the preconditi A communication is ,both un where M can be freely and serves as an approximation for where M can be chosen freely and serves as approximation of cost-effective commodity components and freely available cheap where can chosen serves as an approximation for where M can be chosen freely and serves as an approximation for EFFICIENT PRECONDITIONING ON GRID where M can be chosen freely and as an approximation for Traditional processing was and issevere currently performed ical reality. ical reality. ical reality. parallel computing. With advent the Internet, itand became ical reality. INTRODUCTION vector, xchosen isusing the vector ofserves unknowns. on sequential processing. This fact accompanied by anof ever increasengines. Although the computing power ofsoftware, athe single processor continues to grow, fundamental physical laws place limitations applications. Examples include simulation of airparallel flow around wind only practical alternative. the cla more precise, given an initial guess to the solution xhomogeneo step, information from one or more previous iteration steps isfor us to find an increasingly accurate approximation to the sol −1 −1 −1 −1 −1 −1the . The matrix M is called the preconditioner for the iteration A −1 −1 Traditional parallel processing was and is currently performed using . The matrix M is called preconditioner for the iteration A (0) = A would giv process (1). Setting M challenging tion, developing efficient . The matrix M is called the preconditioner for the iteration A arallel processing was and is currently performed using . The matrix M is called the preconditioner for the iteration A Our main goal is to efficiently solve in parallel large a, A . The matrix M is called the preconditioner for the iteration and powerful parallel computers can be built. The Beowulf cluster technology The matrix is called the \emph{preconditioner} for the iteThe matrix Mas isincalled the preconditioner for the iteration A sophisticated supercomputers, which consist offind thousands of Traditional parallel processing was currently performed using parallel processing was is currently performed using viable toand connect geographically separate resources — such Traditional parallel processing wasprocessing. and currently performed using ingprediction, demand for more realistic simulations has intensely stimulated on sequential This fact accompanied by an.characteristic ever increastinues to grow, fundamental physical laws place severe limitations parallel processing was and isisis currently performed using turbineTraditional blades,Traditional weather option pricing, and Internet search As the demand for more realistic simulations continues to grow, the iteration for solving the system Ax = b is more precise, given an initial guess to the solution x to an increasingly accurate approximation to the solution. To Thetypically main of iterative methods is that at each iteration −1 −1 −1 (1). −1Setting M−1 −1 −1 = A give the solution after aaaafter process −1 −1 −1the −1 would −1 sophisticated supercomputers, which typically consist of thousands of = A would give solution after a process (1). Setting M (0) single iteration step, but this would require co the heterog homogeneous systems is = A would give the solution after process (1). Setting M M = A would give the solution a process (1). Setting supercomputers, which typically consist of thousands of systems of equations Ax = b on large and geographic = A would give the solution after process (1). Setting M is a good example of this approach [1]. A major advantage of such technology ration process (1). Setting would give the solution = A would give the solution after a process (1). Setting M identical processors linked by a high–speed network. They are often Finding an efficient and effective preconditioner isa sophisticated supercomputers, which typically consist of thousands of dividual desktop machines, local clusters, and storage space — to sophisticated supercomputers, which typically consist ofcomputing. thousands of sophisticated supercomputers, which typically consist ofthousands thousands of ing for more realistic simulations has intensely stimulated research indemand the field of parallel and distributed By comonsupercomputers, sequential processing. This fact accompanied by an increasengines. Although the computing power of alinear single processor consophisticated which typically consist of of Solving extremely large sparse systems of equations isever the comusemore of so–called direct forsystem the solution systems for solving the Ax =used bofisxlinear ,ofthe classic precise, given anmethods initial guess to steps the solution step, information from oneiteration or more previous iteration is single iteration step, but this would require computing the inverse (t+1) (t) −1 (t) identical linked by aapurpose–built high–speed network. They are often single iteration step, but this would require computing the inverse of the matrix A, which is exactly what we want t in network challenging when applied single iteration step, but this would require computing the inverse of cessors linked by aprocessors high–speed network. They are often single iteration step, but this would require computing the inverse of networks of computers. That is, we want to obtain x = single iteration step, but this would require computing the inverse of is that resources can easily be replaced and added. However, this introduces after a single iteration step, but this would require computing the single iteration step, but this would require computing the inverse of and expensive to operate, maintain, and expand. vergence of iterative methods. Generally speaki identical processors linked by high–speed network. They are often identical processors linked by aplace high–speed network. They are often solve large–scale computational problems. In the mid–1990s the identical processors linked by ain high–speed network. They are often ← x + M (b − Ax ), t = 0, 1, . . . , x bining the power of multiple computers with sophisticated numerical ing demand for more realistic simulations has intensely stimulated research the field of parallel and distributed computing. By comprocessors linked by ain high–speed network. They are often tinuesidentical to grow, fundamental physical laws severe limitations putational bottleneck avery wide range ofhighly scientific and engineering becomes increasingly infeasible. This leaves iterative methods as the iteration for solving the system Axto = b is to find the an increasingly accurate approximation to the solution. To be matrix A, which exactly what we want accomplish! (t+1) (t) −1 (t) purpose–built and highly expensive to operate, maintain, and expand. the matrix A, which isthe exactly what we want to accomplish! (0) the heterogeneity of the matrix A, which exactly what want to accomplish! Computing the inverse of the matrix M should and highly expensive to operate, maintain, and expand. the matrix A, which exactly what want to accomplish! A denotes the coefficient bparallelise, represents the rig the matrix A, which isalternative. what we want to accomplish! the problem of dealing with heterogeneity, both in machine architecture and insupercomputing inverse of the matrix ,exactly which is exactly what we want to accomplish! the matrix A, which isisis exactly we accomplish! isto the most difficult part to Apower poor man’s alternative to massive isan to exploit expurpose–built and highly expensive to operate, maintain, and expand. purpose–built and highly expensive to operate, maintain, and expand. SETI@home project was conceived, which has established itself as the purpose–built and highly expensive tooperate, operate, maintain, and expand. ←we xwant +we M (b − Ax ), t especial = 0, 1, xwhat algorithms, simulations can be performed that perfectly imitate physbining the of multiple computers with sophisticated numerical research in the field of parallel and distributed computing. By compurpose–built and highly expensive to maintain, and expand. on sequential processing. This fact accompanied by an ever increasapplications. Examples include simulation of air flow around wind only practical , matrix, the classical more precise, given initial guess the solution xto Computing the inverse of matrix M should be both cheap and ef−1the (t)the −1 (t) AA poor man’s alternative to massive supercomputing to exploit exComputing inverse of matrix M should be both cheap and efin performance fective, which is reflected in different CLASSICA Computing the inverse of the M should be both cheap and efs alternative tofor massive supercomputing is exploit ex-a be capabilities. The problem of effi ciently partitioning the computational Computing the inverse of matrix M should be both cheap and ef-p( Computing the inverse ofthe the matrix M should be both cheap and efwhere Mof can be chosen freely and serves as an approximati environments as− found in Grid computing. Computing the inverse matrix M should be both cheap and efisting non–dedicated hardware for performing parallel computations. prime example of so–called Grid computing project. It currently poor man’s alternative to massive supercomputing to exploit ex← xmatrix + (b Ax ), tthe = 0, 1, . .iteration . , choice x(t+1) A poor man’s alternative toto massive supercomputing isthe toiteration exploit exalgorithms, simulations can performed that perfectly imitate physical reality. bining the power of multiple computers with sophisticated numerical ing demand more realistic simulations has intensely stimulated Apoor poor man’s alternative tomassive massive supercomputing toexploit exploit exturbine blades, weather prediction, option pricing, and Internet search Anetwork man’s alternative to supercomputing isisisisto exforthe solving the system Ax = bofis The main characteristic iterative methods isnetwork that at each fective, which is reflected in the different choices for M .and The simplest −1 −1 isting non–dedicated hardware for performing parallel computations. fective, which is reflected in the different choices for M . The simplest option would be to choose the identity matrix fective, which is reflected in the different choices for M . The simplest dicated hardware for performing parallel computations. work became an intense topic of research. Computing the inverse of the matrix should be both cheap and effective, fective, which is reflected in the different choices for M . The simplest fective, which is reflected in the different choices for M . The simplest . The matrix M is called the preconditioner for the itef A where M can be chosen freely serves as an appro fective, which is reflected in the different choices for M . The simplest With the use of cost–effective commodity components and freely combines the computational power of millions of personal computers Classical iterations such as (1) can be generalise isting non–dedicated hardware for performing parallel isting non–dedicated hardware forcomputing. performing parallel computations. algorithms, simulations can be performed perfectly imitate physical reality. research in the field of parallel and distributed By comisting non–dedicated hardware for performing parallel computations. engines. Although the computing power ofthat acomputations. single processor conTraditional parallel processing was and iscomputations. currently performed using isting non–dedicated hardware for performing parallel step, information from one or more previous iteration steps is used option be to choose the identity matrix for ,,which which results in −1for −1 Richardson −1MCLASSICAL −1 (t+1) (t) −1 (t) With the use of cost–effective commodity components and freely option would be to the identity matrix M , which results in the classical iteration. Another var ITERATIV option would be to choose the identity matrix for M which results in Our main e bining of cost–effective commodity and freely option would be to choose the identity matrix for M , which results in which iswould refl ected in the different choices for . The simplest option would be option would be to choose the identity matrix for M which results in A would give the solution process (1). Setting M . The matrix M is called the preconditioner for A where M can be chosen freely and serves as an approximation option would be to choose the identity matrix for M , results in available software, cheap powerful parallel computers can be from around the world to search for extraterrestrial intelligence by called a–synchronous iterative algorithms, which With the use of cost–effective commodity components and freely ← x + M (b − Ax ), t = 0, 1, . . . , (1) x With the use ofcomponents cost–effective commodity components and freely ical reality. the power of multiple computers with sophisticated numerical With the use ofcost–effective cost–effective commodity components and freely tinues to grow, fundamental physical laws place severe limitations Traditional parallel processing was and isfreely currently performed using sophisticated supercomputers, which typically consist ofchoose thousands of With the use of commodity components and to find an increasingly accurate approximation to the solution. To beag the classical Richardson iteration. Another variant isisis the classical Ja−1 −1 −1 available software, cheap and powerful parallel computers can be the classical Richardson iteration. Another variant is the classical Ja(0) cobi iteration, which is obtained by taking for systems of the classical Richardson iteration. Another variant the classical Jatware, cheap and powerful parallel computers can be The nineties of identical thecan previous century ushered in next stage ofradio parallel to choose the identity matrix for ,Another results in the classical the classical Richardson iteration. Another variant is the Jathe classical Richardson iteration. Another variant the classical Ja=isrequire A would give the solu process (1). Setting M single iteration step, but this would computing inve . ofof The matrix M iswhich called the preconditioner for theclassical iterati A classical Richardson iteration. variant the classical Jabuilt. The Beowulf cluster technology isthe a be good example this apanalysing massive quantities of telescope data [1]. nisation points and are therefore perfectly suited available software, cheap and powerful parallel computers can be available software, cheap and powerful parallel computers can algorithms, simulations beprocessing. performed that perfectly imitate physavailable software, cheap and powerful parallel computers can be on sequential This fact accompanied by an ever increasprocessors linked by athe high–speed network. They are often Traditional parallel processing was and is currently performed using sophisticated supercomputers, which typically consist of thousands available software, cheap and powerful parallel computers can be , classical the more precise, given an initial guess to the solution xRichardson cobi which is obtained by taking for M the diagonal matrix −1 −1 −1iteration, built. The Beowulf cluster technology is a good example of this apcobi iteration, which is obtained by taking for M the diagonal matrix having entries from the diagonal of A. cobi iteration, which is obtained by taking for M the diagonal matrix networks of Our main goal is to effici eowulf cluster technology is a good example of this apcobi iteration, which is obtained by taking for M the diagonal matrix computing. With the advent of the Internet, it became viable to connect iteration. Another variant is the classical Jacobi iteration, which is obtained cobi iteration, which is obtained by taking for M the diagonal matrix the matrix A, which is exactly what we want to accomplish! =Ax A= give the solution after process (1). Setting Mtaking single iteration step, but this would require computing t where M can be chosen freely and as an approximation for cobi iteration, which is obtained by for M the diagonal matrix proach [10]. Agood major advantage ofof such technology isoften thatfor resources However, similar to classical iterative methods, built. The Beowulf cluster technology is aagood example this apThe fact that in Grid computing resources are often geographically built. The Beowulf cluster technology isby ato example of this apical reality. built.The The Beowulf cluster technology isalinked good example ofthis this apingBeowulf demand for supercomputers, more realistic simulations has intensely stimulated purpose–built and highly operate, maintain, and expand. identical processors agood high–speed network. They are sophisticated which typically consist thousands ofiteration built. cluster technology isexpensive example ofof apsolving theserves system bwould is having entries from the diagonal of A. −1 the proach [10]. A major advantage of such technology is that resources having entries from diagonal of A. having entries from diagonal of A. Choices that in some sense approximate the ma A denotes systems of equations Ax ATraditional majorproach advantage of such technology is that resources having entries from the diagonal of A. geographically separate resources -such as individual desktop machines, by taking for the diagonal matrix having entries from the diagonal of . having entries from the diagonal of A. the matrix A, which is exactly what we want to accomp single iteration step, but this would require computing the inverse . The matrix M is called the preconditioner for the iteration A having entries from the diagonal of A. can easily be replaced and added. However, this introduces the probComputing inverse of the matrix M should be both cheap a slow to converge to the solution. proach [10]. A major advantage of such technology is that resources that isto very expensive. proach [10]. A major advantage of such technology isresources that resources proach [10]. A major advantage ofsuch such isthat that research in the field of parallel and distributed computing. compurpose–built and highly expensive to operate, maintain, andexexpand.As a reidentical processors linked byimplies atechnology high–speed network. They are often parallel was separated and currently performed using [10]. Aprocessing major advantage ofis technology iscommunication resources A poor man’s alternative to massive supercomputing isBy exploit Choices that some sense approximate the matrix A more accurately −1 −1 (t) −1 (t) can easily be replaced and added. However, this introduces the probChoices that in some sense the matrix more accurately naturally result in methods that tc replaced and added. However, this introduces the probnetworks of1, computers. T local clusters, and space -to solve very large-scale computational Choices that in some sense the matrix A more accurately the matrix A, exactly what we want to accomplish! = Awhich would give solution after process (1). Setting M Choices that in some sense approximate the matrix A more accurately Choices that in some sense approximate the matrix Amore more accurately lem of dealing with heterogeneity, both in machine architecture and fective, which isA reflected in the different choices for M . The sim Computing the inverse of the matrix M both can easily be replaced and added. However, this introduces the probChoices that inin some sense approximate the matrix accurately can easily bepower replaced and added. However, this introduces the probsult, global synchronisation issupercomputing the critical bottleneck operation, since ← xapproximate +is M (b −the Ax ),A tare = 0, . .converge . be ,of (1) x(t+1) can easily be replaced and added. However, this introduces the probIterative subspace methods ashould class iterati bining thestorage of multiple computers with sophisticated numerical purpose–built and highly expensive to operate, maintain, and expand. can easily be replaced and added. However, this probsophisticated supercomputers, which typically consist ofintroduces thousands of A poor man’s alternative massive is toapproximate exploit existing non–dedicated hardware for performing parallel computations. naturally result in methods that converge to the solution in less lem of dealing with heterogeneity, both machine architecture and naturally result in methods that converge to the in less iterations. However, inverting the matrix M A denotes the gidentical with lem heterogeneity, both in machine and problems. InAthe mid-1990s SETI@home project was which has Choices that in some sense approximate the matrix more accurately naturally result in methods that converge to the solution in less naturally result inthe methods that converge to the solution in less single iteration step, but this would require computing the inverse naturally result in methods that converge to the solution in less network capabilities. The problem of efficiently partitioning option would be tosolution choose the identity matrix for M , coefficient which res fective, which is reflected in different choices for M .w Computing the inverse of the matrix M should beof both cheap and naturally result methods that converge to the solution in less lem of dealing with heterogeneity, both in machine architecture and this requires communication between all the processes. Inin particulem ofpoor dealing with heterogeneity, both inconceived, machine architecture and hibit significantly improved convergence speeds. lem ofdealing dealing with heterogeneity, both in machine architecture and algorithms, simulations can be performed that perfectly imitate physprocessors linked by athe high–speed They are often of with heterogeneity, both inin machine architecture and With the use ofinarchitecture cost–effective commodity components and freely man’s alternative tonetwork. massive supercomputing is to exploit existing non–dedicated hardware for performing parallel computations. iterations. However, the matrix M will be more expensive −1 inverting in network capabilities. The problem of efficiently partitioning the iterations. However, inverting the matrix M will be more expensive in most cases and it is clear that some of apabilities. The problem of efficiently partitioning the established itself as the prime example of a so-called Grid computing project. It naturally result in methods that converge to the solution in less iterations. iterations. However, inverting the matrix M will be more expensive the matrix A, which is exactly what we want to accomplish! However, inverting matrix Mbe will more where M classical can beRichardson chosen freely and serves asmore anbe approximation for computational work became an intense topic of iterations. research. iterations. However, inverting thebe matrix M will expensive option would choose the identity matrix for M ,met wh the iteration. Another variant is theform classic fective, which is reflected intothe the different choices for M . expensive The simple network capabilities. The problem of efficiently partitioning the inverting the matrix M will be more expensive lar, Grid computing naturally suited so–called embarrassingly in network capabilities. The of is efficiently partitioning thecan space methods are: the Conjugate Gradient innetwork network capabilities. The problem ofefficiently efficiently partitioning theforiterations. ical reality. purpose–built and highly expensive to operate, maintain, and expand. inin capabilities. The problem of partitioning available software, cheap and powerful parallel computers beHowever, With the use ofproblem cost–effective commodity components and freely isting non–dedicated hardware for performing parallel computations. most cases and itthe is clear that some form of trade–off necessary. −1some computational work became an intense topic of research. incurrently most cases and it isin clear that form of trade–off is more necessary. alAwork became an intense topic of in most cases and ititeration, is clear that some form of trade–off isisnecessary. necessary. currently combines the computational power of millions of personal computers However, inverting the matrix will be expensive in most cases and ititeration in most cases and it is clear that some form of trade–off is necessary. .and The M issome called the preconditioner for, the the A in most cases and itstage isclear clear that some form oftrade–off trade–off necessary. cobi which is obtained by taking diagonal option would be to choose the identity matrix for M which results the classical Richardson iteration. Another variant is them Computing the inverse ofit matrix M should be both cheap and efThe nineties of the previous century ushered in the next ofthat computational work became an intense topic of research. in most cases ismatrix form of isis computational work became an intense topic of parallel applications where the problem can be broken up easily and computational work became an intense topic of research. Bi–CGSTAB, and the recently proposed IDR(s) work became an intense topic of research. Traditional parallel processing was and is performed using available software, cheap and powerful parallel computers can be built. The Beowulf cluster technology is aresearch. good example of this apWith the use ofresearch. cost–effective commodity components and freely poorcomputational man’s alternative to massive supercomputing is to exploit ex−1 −1 The nineties of the previous century ushered in the next stage of of the The previous century ushered the next stage of from around the world to search for extraterrestrial intelligence by analysing is clear that some form of trade-off ischoices necessary. EFFICIENT PRECONDITIONING ON =diagonal would the solution after process (1). Setting M having entries from the A.give cobi iteration, which is obtained by taking M the diaaJ the classical Richardson iteration. Another variant is for the classical fective, which reflected the different for M .ofThe simplest parallel computing. With the advent of the Internet, itinbecame tasks require little or no interprocessor communication. An example The nineties of the previous century ushered in the next stage developed inAthe Numerical Analysis group at GRI Delf The nineties of the previous century ushered in the stage of Thenineties nineties of the previous century ushered insuch the next stage of sophisticated supercomputers, which typically consist of thousands of beis [10]. Aperforming major advantage of technology isof that resources available software, cheap and powerful parallel computers can built. The Beowulf cluster technology is anext good example of this apofproach the previous century ushered in the next stage of isting non–dedicated hardware forin parallel computations. EFFICIENT PRECONDITIONING ON GRID COMPUTERS parallel computing. With the advent of the Internet, it became EFFICIENT PRECONDITIONING ONthe GRID COMPUTERS massive of radio telescope data [2]. puting. With the advent ofproach the Internet, it became single iteration step, but would require computing the inverse of EFFICIENT PRECONDITIONING ON GRID COMPUTERS having from diagonal of A. iteration, which isthis obtained by taking for M the diagonal mat option would be tocobi choose identity matrix forthe M , which results EFFICIENT PRECONDITIONING ON GRID viable to connect geographically separate resources — such as inEFFICIENT PRECONDITIONING ON GRID COMPUTERS Choices that inentries some sense approximate theCOMPUTERS matrix A efficient more accu of such an application isand the aforementioned project. nology. The IDR(s) method is a in highly n parallel computing. With the advent of the Internet, ititexample became PRECONDITIONING ON GRID COMPUTERS parallel computing. With the advent of the Internet, it are became parallel computing. With the advent ofadvantage theInternet, Internet, became identical processors linked by acomponents high–speed network. They often can easily becommodity replaced and added. However, this introduces the prob[10]. A major such technology isSETI@home that resources built. The Beowulf cluster technology is aof good ofEFFICIENT this apWith parallel the use quantities of cost–effective freely computing. With the advent of the it became viable to connect geographically separate resources — such as innnect geographically separate resources — such as inEffi preconditioning on grid computers the matrix A, which isFinding exactly what we want accomplish! an efficient and to effective preconditione having entries from the diagonal ofnonsymmetric A. the classical Richardson iteration. variant is the classical Jadividual desktop machines, local clusters, and storage space — toAnother naturally result in methods that converge to solution Choices that in some sense approximate thethe matrix A mo viable to connect geographically separate resources — such as infor solving large linear systems [9]i For the numerical solution of linear systems ofcient equations, matters viable to geographically separate resources — such as inviable to connect geographically separate resources — such as inpurpose–built and highly expensive to operate, maintain, and expand. can beadvantage replaced and added. However, this introduces the problemconnect of dealing with heterogeneity, both in machine architecture and proach [10]. Aeasily major of such technology is that resources available software, cheap and powerful parallel computers can be viable to connect geographically separate resources — such as inFinding an efficient and effective preconditioner crucial for fast condividual desktop machines, local clusters, and storage space — to Finding an efficient and effective preconditioner isand crucial forin fast contop machines, local and storage space — to The fact that inclusters, Grid computing resources areThe often geographically separated Finding an effi cient and effective preconditioner is crucial for fast conververgence of iterative methods. spea cobi iteration, which isan obtained by taking M the diagonal matrix Computing the inverse of the matrix M should be both cheap and efsolve very large–scale problems. In the mid–1990s the Finding an efficient and effective preconditioner crucial for fast connaturally result methods that converge tofast the solu iterations. However, inverting the matrix M will be more exp Choices that in some sense approximate the matrix AGenerally more accurat Finding efficient effective preconditioner is crucial for condividual machines, local and storage space — to Finding an efficient and effective preconditioner is crucial for fast condividual desktop machines, local clusters, and storage space — to are far more complicated. One of the main reasons is that inter–task dividual desktop machines, local and storage space — to An inherent characteristic of all subspace metho Finding an efficient and effective preconditioner isisis crucial for fast conin network problem ofthis efficiently partitioning the can easily bealternative replaced added. However, this introduces the problem ofcapabilities. dealing with heterogeneity, both in machine architecture and dividual desktop machines, local clusters, and storage space to built. The Beowulf cluster technology isand aclusters, good example ofcomputational apAdesktop poor man’s toclusters, massive supercomputing is— to exploit exvergence of iterative methods. speaking, aaform preconditioner solve very large–scale computational problems. In the mid–1990s the vergence of iterative methods. Generally speaking, aGenerally preconditioner ge–scale computational problems. In the mid–1990s the implies that communication iswith very expensive. aproblems. result, synchronisagence ofvergence iterative methods. Generally speaking, aofpreconditioner the most is the most difficult part toofis parallelise, having entries from the diagonal ofinand A. fective, which is reflected inis the different choices for .M The SETI@home project was conceived, which has established itself as the vergence of iterative methods. Generally speaking, preconditioner inthe most cases it clear that some trade–off isespec nece naturally result methods that converge to the solution in iterations. However, inverting matrix willsimplest be mole of iterative Generally speaking, aM preconditioner solve very large–scale computational problems. In the mid–1990s the vergence of iterative methods. Generally speaking, apreconditioner preconditioner communication isis both unavoidable and For this applicasolve very large–scale computational In the the vergence of iterative methods. Generally speaking, athe solvevery very large–scale computational problems. Inthe the mid–1990s theabundant. amethods. large number global synchronisation points, computational work became an intense topic research. in network capabilities. The problem ofmid–1990s efficiently partitioning lem of dealing heterogeneity, both inglobal machine architecture and proachsolve [10]. A major advantage of such technology that resources large–scale computational problems. In mid–1990s the isting non–dedicated hardware forAsperforming parallel computations. the most difficult to parallelise, especially heterogeneous SETI@home project was conceived, which has established itself as the isso–called the most difficult part to parallelise, especially in heterogeneous project was conceived, which has established itself as the tion is the critical bottleneck operation, since this requires communication diffi cult part to parallelise, especially inand heterogeneous environments as more found environments asmatrix found in Grid computing. option would be to choose the identity matrix for Minform , be which results in prime example of aan Grid computing project. It currently is the most difficult part to parallelise, especially in heterogeneous inpart most cases itespecially is clear that some ofpropose trade–off iterations. However, inverting the will expens Choices that in some sense approximate the matrix A more accurately is the most difficult part to parallelise, especially heterogeneous SETI@home project was conceived, which has established itself as the tion, developing efficient parallel numerical for dedicated isalgorithms the most difficult part to parallelise, especially inM heterogeneous SETI@home project was conceived, which has established itself as the SETI@home project was conceived, which has established itself as the less suitable to Grid computing. We usi isisfreely most difficult part to parallelise, inin heterogeneous computational work became intense topic of research. inproject network capabilities. The problem of efficiently partitioning the can easily be replaced and added. However, this introduces the probSETI@home was conceived, which has established itself as the With the use of cost–effective commodity components and The nineties of the previous century ushered in next stage of environments as found in Grid computing. prime example of a so–called Grid computing project. It currently environments as found in Grid computing. lelem of of a prime so–called Grid computing project. It currently between all the processes. In particular, Grid computing is naturally suited in Grid computing. the Richardson iteration. Another variant is the classical Jacombines the computational power millions of personal computers environments as found in Grid computing. Classical iterations such as (1) can be most cases and itcomputing. clearmethod that some trade–off necessa naturally result ininclassical methods that converge to the solution inGRID less environments asin found inis Grid computing. prime example aaso–called so–called Grid computing project. currently environments as found in Grid computing. prime example of nineties a so–called Grid computing project. It ofcurrently homogeneous systems is a of difficult problem, becomes even more EFFICIENT PRECONDITIONING ONof COMPUTER primeexample example ofasoftware, so–called Grid computing project. currently iterative as aform preconditioner inisagenerali flexibl environments as found Grid computational work became an intense topic ofItIt research. ofof Grid computing project. It currently dealing with heterogeneity, both in machine architecture and available cheap powerful parallel computers can be The ofand the previous century ushered in the next stage of parallel computing. With the advent the Internet, itbut became combines the computational power of millions of personal computers Classical iterations such as (1) can be generalised quite easily to so– computational power of millions personal Classical iterations such asHowever, (1) can be generalised quite easily tobe so– for so-called embarrassingly parallel applications where the problem caniterations. be iteration, which iscan obtained by taking for Measily the diagonal matrix from around world topersonal search for extraterrestrial intelligence by called a–synchronous iterative whic inverting the matrix M will be more expensive combines the computational power of millions of personal computers Classical iterations such as (1) can be generalised quite easily to so– challenging when applied heterogeneous systems. In particular, EFFICIENT PRECONDITIONING ONalgorithms, GRID COMP combines the computational power ofthe millions of computers Classical iterations such as (1) can generalised quite easily to so– combines the computational power ofcomputers millions of computers where the preconditioner is allowed to change in Classical iterations such as (1) can be generalised quite easily to so– in network capabilities. The problem of efficiently partitioning the combines the computational power of millions of personal computers built. The Beowulf cluster technology isseparate apersonal good example of— this apClassical iterations such as (1) be generalised quite to so– viable to connect geographically resources such as inThe nineties ofof the previous century ushered in the next stage of parallel computing. With the advent of the Internet, itcobi became from around the world to search for extraterrestrial intelligence by called a–synchronous iterative algorithms, which lack global synchrothe world toaround search for extraterrestrial intelligence by called a–synchronous iterative algorithms, which lack global synchrobroken up easily and tasks require little or no interprocessor communication. having entries from the diagonal of A. analysing massive quantities of radio telescope data [1]. nisation points and are therefore perfectly suit in most cases and it is clear that some form of trade–off is necessary. from around the world to search for extraterrestrial intelligence by called a–synchronous iterative algorithms, which lack global synchrothe heterogeneity of the computational resources and the variability from around the world to search for extraterrestrial intelligence by EFFICIENT PRECONDITIONING ON GRID COMPUTERS called a–synchronous iterative algorithms, which lack global synchrofrom around the world to search for extraterrestrial intelligence by By combining a slowly converging asynchronou called a–synchronous iterative algorithms, which lack global synchroFinding an efficient and effective preconditioner is crucial for fas computational work became an intense topic of research. from the world to search for extraterrestrial intelligence by proach [10]. A major advantage of such technology is that resources called a–synchronous iterative algorithms, which lack global synchrodividual desktop machines, local clusters, and storage space — to viable to connect geographically separate resources — such as inparallel computing. With the advent of the Internet, it became analysing massive quantities of radio telescope data [1]. nisation points and are therefore perfectly suited Grid computing. ssive of radio telescope data [1]. nisation points and are therefore perfectly suited Grid computing. An example of such an application is the aforementioned SETI@home project. However, similar toto classical iterative method The fact that indata Grid computing resources areinoften analysing massive quantities of radio telescope data [1]. Choices that in some sense approximate the matrix AGrid more nisation points and are therefore perfectly suited to Grid computing. analysing massive quantities of radio telescope data [1]. in network performance present numerous algorithmic challenges. nisation points and are therefore perfectly suited to computing. analysing massive quantities of radio telescope data [1]. ato fast converging synchronous outer method, nisation points and are therefore perfectly suited toGrid Grid computing. vergence of iterative methods. Generally speaking, aaccurately Finding an efficient and effective preconditioner isprecondi crucialw analysing massive quantities of radio telescope [1]. can easily be replaced and added. this introduces the probnisation points and are therefore perfectly suited computing. dividual desktop machines, local clusters, storage space —geographically to solve very large–scale computational problems. In and the mid–1990s the viable to connect geographically separate resources — such as The quantities nineties of the previous century ushered inHowever, the next stage of However, similar to classical iterative methods, they are The fact that in Grid computing resources are often geographically However, similar to classical iterative methods, they are extremely t parallel in Grid computing resources are often geographically slow toand converge to the solution. separated implies that communication is very expensive. As a in re-difficult naturally result methods that converge to the solution in However, similar to classical iterative methods, are extremely The fact that in Grid resources are often geographically EFFICIENT PRECONDITIONING ON GRID COMPUTERS However, similar to classical iterative methods, they are extremely benefits awards ofthey both techniques [4, 5,aless 6]. The fact that incomputing Grid computing resources aregeographically often geographically However, similar to classical iterative methods, they are extremely vergence of iterative methods. Generally speaking, pr isthe the most part to parallelise, especially in heteroge Finding an efficient and effective preconditioner isextremely crucial for fast co The fact that inGrid Grid computing resources areoften often geographically lem ofin dealing with heterogeneity, both in machine architecture and similar to classical iterative methods, they are extremely SETI@home project was conceived, which has established itself as the dividual desktop machines, local clusters, and storage space — to solve very large–scale computational problems. In However, the mid–1990s The fact that computing resources are computing. With the advent of the Internet, it became to converge to the solution. separated implies that communication expensive. As reslow converge to slow the solution. plies that communication is very expensive. As avery result, global synchronisation isAs the bottleneck operation, since iterations. inverting matrix M will be expensive slow to converge to solution. Iterative subspace aremore aa class ofinitera separated implies that communication very expensive. As reslow toenvironments converge to the solution. separated implies that communication is very expensive. As aslow reCLASSICAL ITERATIVE METHODS slow to converge toHowever, the solution. as found inthe Grid computing. vergence of iterative methods. Generally speaking, precondition isthe the most difficult part to methods parallelise, especially separated implies that communication isvery very expensive. As reinimplies network capabilities. problem of efficiently partitioning the De–synchronising the preconditioning phase inhet to converge to the solution. prime example of aThe so–called Grid computing project. It currently SETI@home project was conceived, which has established itself as the solve very large–scale computational problems. In mid–1990s the separated that communication isisis expensive. aaaacritical reviable to connect geographically separate resources — such to as insult, global synchronisation is the critical bottleneck operation, since Iterative methods are class iterative methods that exynchronisation issult, the critical bottleneck operation, since Iterative subspace methods a and class of iterative methods that exthis requires communication between all the processes. In particuinsubspace most cases and itare isare clear that form of trade–off isheterogeneo necessary. hibit significantly improved convergence speed sult, global synchronisation isis the critical bottleneck operation, since Iterative subspace methods are aaclass class of iterative methods that exglobal synchronisation is the critical bottleneck operation, since environments as found in Grid computing. is the most difficult to parallelise, especially in quite Finding an effective preconditioner issome crucial for fast consult, global synchronisation the critical bottleneck operation, since Iterative subspace methods are aof class of iterative methods that excomputational work became an topic of — research. advantage that: (i) the preconditioner can be e prime example of aintense so–called Grid computing project. Itare currently combines theis computational power of millions of since personal computers Iterative subspace methods class of iterative methods that exSETI@home project was conceived, which has established itself asefficient the dividual desktop machines, local clusters, and storage space to Classical iterations such as (1) can be generalised easily sult, global synchronisation the critical bottleneck operation, Iterative subspace methods aapart of iterative methods that exthis requires communication between all the processes. In particuhibit significantly improved convergence speeds. Some popular subcommunication between allaround the processes. Inall particuhibit significantly improved convergence speeds. Some sublar, Grid computing isextraterrestrial naturally suited for so–called embarrassingly space methods the Gradient m this requires communication all the processes. particuhibit significantly improved convergence speeds. Some popular subthis requires communication between all the processes. In particuenvironments as found inpopular Grid computing. vergence of iterative methods. Generally speaking, aare: preconditioner thislarge–scale requires communication between all the processes. In particuhibit significantly improved convergence speeds. Some popular subOur main goal is processes. to efficiently solve inofIt parallel large linear parallelised on Grid computers, (ii) noquite add from world to search for intelligence byalgebraic hibit significantly improved convergence speeds. Some popular subprime example ofthe abetween so–called Grid computing project. currently combines the computational power ofInIn millions personal computers called a–synchronous iterative algorithms, which lack global syn this requires communication between the particusolve very computational problems. In mid–1990s the Classical iterations such as (1) canConjugate be generalised The nineties of the previous century ushered in next stage ofsignificantly hibit improved convergence speeds. Some popular sublar, Grid computing isisisnaturally naturally suited for so–called embarrassingly space methods are: the Conjugate Gradient method, GCR, GMRES, mputing islar, naturally suited for so–called embarrassingly space methods the Conjugate Gradient method, GCR, GMRES, parallel applications where problem can bemethods broken up easily and Bi–CGSTAB, and the recently proposed IDR( Grid computing naturally suited for so–called embarrassingly EFFICIENT PRECONDITIONING ON GRID COMPUTERS space methods are: the Conjugate Gradient method, GCR, GMRES, lar, Grid computing is naturally suited so–called embarrassingly lar, Grid computing naturally suited forso–called so–called embarrassingly space methods are: the Conjugate Gradient method, GCR, GMRES, isare: the most difficult part to parallelise, especially in heterogeneous systems ofworld equations Ax = bofthe on large and geographically separated tion points are introduced, and (iii) bylack devoti analysing massive quantities of telescope data space methods are: the Conjugate Gradient method, GCR, GMRES, around the toradio search for extraterrestrial intelligence by nisation points and are therefore perfectly suited to Grid comp combines the computational power offor millions personal computers lar, Grid computing isfrom suited for embarrassingly SETI@home project was conceived, which has established itself as the called a–synchronous iterative algorithms, which Classical iterations such as (1) can be generalised quite easily toglos parallel computing. With the advent of the Internet, it[1]. became space are: the Conjugate Gradient method, GCR, GMRES, parallel applications where the problem can be broken up easily and Bi–CGSTAB, and the recently proposed IDR(s) method, which was −1 cations where the problem can be broken up easily and Bi–CGSTAB, and the recently proposed IDR(s) which was tasks little or no interprocessor communication. An example developed in the Numerical Analysis group at Dt parallel applications where the problem can be broken up easily and Bi–CGSTAB, and the recently proposed IDR(s) method, which was parallel applications where the problem can be broken upand easily and environments in Grid computing. parallel applications where the problem can bebroken broken upeasily easily and Bi–CGSTAB, and themethod, recently proposed IDR(s) method, which was networks of computers. That is, we want to obtain x found = A b, where computational effort towhich the preconditioner, analysing massive quantities of radio telescope data [1]. Bi–CGSTAB, and the recently proposed IDR(s) method, which was from around thethe world torequire search for extraterrestrial intelligence prime parallel example of a so–called Grid computing project. Itresources currently nisation points and are therefore perfectly to Grid However, similar to classical iterative methods, they are extr called a–synchronous iterative algorithms, lacksuited global synchr applications where problem can be up viable to connect geographically separate — such as in- byas The fact that in Grid computing resources are often geographically Bi–CGSTAB, and the recently proposed IDR(s) method, which was tasks require little or no interprocessor communication. An example developed in the Numerical Analysis group at Delft University of Techlittle ortasks no interprocessor communication. An example developed in the Numerical Analysis group at Delft University of Techof such an application is the aforementioned SETI@home project. nology. The IDR(s) method is a highly efficient tasks require little or no interprocessor communication. An example developed in the Numerical Analysis group at Delft University of Techtasks require little or no interprocessor communication. An example tasks require little orThe nointerprocessor interprocessor communication. An example developed in the Numerical Analysis group at Delft University of TechA denotes the coefficient matrix, b represents the right–hand side communication ratio can be improved significa Finding an efficient and effective preconditioner is crucial for fast condeveloped in the Numerical Analysis group at Delft University of Techanalysing massive quantities radio telescope data [1]. slow to converge to the solution. nisation points and are therefore perfectly suited to Grid computin require little or no communication. An example combines the computational power of millions of personal computers However, similar to classical iterative methods, they a dividual desktop machines, local clusters, and storage space — to Classical iterations such as (1) can be generalised quite easily to so– separated implies that communication is very expensive. As a refact that in Grid computing resources are often geographically developed in the Numerical Analysis group at Delft University of Tech- Fast Iterative Solution of Large Fast Iterative Solution of Large Linear Systems on Grid Comp Linear Systems on Grid Computers Fast Iterative Solution of LargeonLinear Systems on Grid Com Fast Iterative Solution of Large Linear Systems Grid Computers Fast Iterative Solution of Solution Large Linear Systems on Grid Computers Fast Iterative Solution ofLarge Large Linear Systems onGrid Grid Computers Fast Iterative Solution of Large Linear Systems on Grid Computers Fast Iterative of Linear Systems on Computers Fast Iterative Solution of Large Linear Systems on Grid Computers Fast Iterative Solution of Large Linear Systems on Grid Computers Fast Iterative Solution of Large Linear Systems on Grid Computers Fast Iterative Solution of Large Linear Systems on Grid Computers Fast Iterative Solution of Large Linear Systems on Grid Computers Wiskunde 33 x = b is 2200 2200 synchronous Tmax = 5 Tmax 2000 = 10 Tmax = 15 Tmax 1800 = 20 2000 1800 1600 1200 1000 800 600 1400 1200 1000 800 400 600 200 400 0 synchronous Tmax = 5 Tmax = 10 Tmax = 15 Tmax = 20 1600 1400 total time (in seconds) total time (in seconds) −1 M serves as an approximation for Ax(t)can ), be tchosen = 0, 1,freely . . . , and (1) The matrix M is called the preconditioner for the iteration −1 = A−1 would s (1). Setting and serves as anM approximation for give the solution after a step, butfor thisthe would require computing the inverse of eteration preconditioner iteration 1 atrix A, which is exactly what we awant to accomplish! would give the solution after d require computing thematrix inverse uting the inverse of the Mofshould be both cheap and efat we want to accomplish! , which is reflected in the different choices for M . The simplest be to be choose identity matrix for M , which results in ixwould M should boththe cheap and efssical Richardson iteration. Another variant is the classical Jafferent choices for M . The simplest eration, which by taking ntity matrix for is Mobtained , which results in for M the diagonal matrix entries from theisdiagonal of A.JaAnother variant the classical ys taking M sense the diagonal matrixthe matrix A more accurately that infor some approximate f A.result in methods that converge to the solution in less lly ons. the matrix M will be more expensive mateHowever, the matrixinverting A more accurately tconverge cases andtoit is that some form of trade–off is necessary. theclear solution in less matrix M will be more expensive ome form of trade–off is necessary. IENT PRECONDITIONING ON GRID COMPUTERS 0 20 200 0 40 0 60 number of nodes 20 80 40 100 60 120 80 100 120 Figure 2: The red line is (standard) synchronous preconditioning, number of nodes while blue lines are the (new) a–synchronous preconditioning. The 2: Thered red line line is asynchronous (standard) different valuesFigure for Figure T max2:indicate how much precondi- preconditioning, The is (standard) synchronous synchronous preconditioning, while bluelines linesare arethe the(new) (new)a–synchronous a–synchronous preconditioning. tioning is performed. while blue preconditioning. The The NG GRIDand COMPUTERS Figure 1: DAS–3: five clusters, one system. for Thefast physical g anON efficient effective preconditioner is crucial con-locations the clusters is indicated by the stars. different much asynchronous preconditioning Figure 1: DAS–3: five clusters, one system. The physical locations ce of iterative of methods. Generally speaking, a preconditioner differentvalues valuesforforTmax T maxindicate indicatehow how much asynchronous precondiis performed. of the clusters is indicated byone the system. stars. The physical locations tioning is performed. 1: conDAS–3: five clusters, most difficultis part toFigure parallelise, especially in heterogeneous econditioner crucial for fast References of the clusters is indicated by the stars. nments found ina Grid computing. nerally as speaking, preconditioner the number of expensive (outer) synchronisations considerably. [1] David Concluding P. Anderson, Jeff Cobb, Eric Korpela, Lebofskyreading , and lelise, especially in heterogeneous al iterations suchiterations as (1) can quite easilyquite to so– Classical suchbeasgeneralised (1) can be generalised easily to so-called remarks andMatt further References Dan Werthimer. SETI@home: an experiment in public–resourc e mputing. a–synchronous iterative algorithms, which lack global synchroa-synchronous iterative which lack global synchronisation pointscomputing. Designing efficient algorithms for Grid computing is a complex EXPERIMENTS ON algorithms, THE DAS–3 MULTI–CLUSTER Commun. ACM , numerical 45(11):56–61, 2002. the number of expensive (outer) synchronisations considerably. points andareare therefore perfectly Grid computing. nnbe generalised quite easily to so– [1] that David brings P. Anderson, Jeff Cobb, Korpela, Matt Lebofsky , and and therefore perfectly suitedsuited to Gridtocomputing. However, similar to clasprocess together manyEric different scientifi c disciplines. By [2] Dimitri P. Bertsekas and John N. Tsitsiklis. Parallel and DisOur target hardware is methods, the ASCI Supercomputer (DAS– er, similar toiterative classical iterative they are rithms, which lack global synchroDan Werthimer. SETI@home: an experiment in public–resourc e sical methods, they aredistributed extremely slow to extremely converge to3the solution. tributed using an asynchronous iterative method as a preconditioner in a fl exiComputation: Numerical Methods. Prentice–Hall, EnONgeographically THE DAS–3 MULTI–CLUSTER 3), iscomputing. a cluster of five separated clusters, located computing. Commun. ACM , 45(11):56–61, oerfectly converge to the solution. suited towhich GridEXPERIMENTS N.J., 1989. republished by Athena glewood ble Cliffs, iterative method, an algorithm is Scientific obtained,2002. that has the potential at four academic institutions in the Netherlands [8]. The DA S–3 is 1997. tive methods, they are extremely ve subspace methods are a class of iterative methods that ex[2] Dimitri P. Bertsekas and John N. Tsitsiklis. Parallel andcomputing. DisIterativedesigned subspace methods are a class of iterative methods that exhito reap the benefi ts and awards of both cluster and Grid for dedicated parallel computing and although eac h sepaOur target hardware is the distributed ASCI Supercomputer 3 (DAS– Numerical Methods. Prentice–Hall, En[3] Rob H. Bisseling.tributed Parallel Computation: Scientific Computation: A Structured gnificantly convergence speeds. Some popular subhomogeneous, the system as a whol e can ratecantly cluster is relatively bit improved signifi improved convergence speeds. Some popular subspace 3), which is a cluster of five geographically separated clusters, located Approach Usingglewood BSP and MPI . Oxford University Press, 2004.by Athena Scientific , Cliffs, N.J., 1989. republished beare: considered heterogeneous. Figure 1GCR, showsGMRES, the locations fo Bi-CGSTAB, the methods are: the Conjugate Gradient method, class of methods iterative methods that ex- Gradient the Conjugate method, GMRES,[8]. For the interested reader, the book by Dimitri Bertsekas and John Tsitsiklis conat four academic institutions in the GCR, Netherlands The DA S–3 is 1997.and Martin B. van Gijzen. Solving lar ge clusters in the Netherlands, as well as the number of nodes ineach [4] Tijmen P. Collignon method, which STAB, and recently proposed IDR(s) gence speeds. Some popular subdesigned for dedicated parallel and developed although eac h sepaand the thecluster. recently proposed IDR tains a wealth of information on parallel asynchronous iterative algorithms for method,computing which was was in Since the five clusters are geographically separated, global sparse linear[3]systems onParallel Grid computers using an Rob H. efficiently Bisseling. Scientific A Structured homogeneous, the system as a whol e can rate cluster isexpensive. relatively ped in the Analysis at at Delft University of TechGradient method, GCR, GMRES, various applications [8].asFurthermore, moreComputation: extensive on various theNumerical Numerical Analysis group Delft University of Technology. Theasynchronous synchronisation is group very iterative method a preconditioner. Techni cal discussions Approach Using BSP and MPI . Oxford University Press, 2004. be considered heterogeneous. Figure 1 shows the locations f o the .posed The IDR(s) is a highly efficient new subspace method method, which was IDR(s) aspects of parallel scientifi c computing may be found in the excellent book by Rob IDR method method is a highly effi cient new subspace method for solving large Figure 2 shows total computing times on the DAS–3 for a realistic report, Delft University of Technology, Delft, the Netherl ands, clusters in the the Netherlands, well as the number of nodes 2008. ineach [4] Tijmen Collignon and Martin B. van Gijzen. Solving testlinear problem. Here, equations per node isfixed ving large nonsymmetric linear systems [9]. of as DUT report 08–08. s group at Delft3D University of TechBisseling [9]. ForP.a comprehensive discussion on iterative methodslarforge solving nonsymmetric systems [3]. number cluster. Since thesize fivegrows clusters arethegeographically separated, global sparse linear systems efficiently on Grid computers using an so that the total problem with number of nodes. ghly new subspace method methods erentefficient characteristic ofsynchronisation all subspace is that they have [5] Tijmen P. Collignon and Martin B. van Gijzen. Fast iterat ive solinear systems, the classic book by Gene Golub and Charles van Loan is greatly is verybetween expensive. asynchronous iterative method as sep a apreconditioner. cal The nodes are divided equally the five clusters. In this systems onthe geographically ratedby Henk vanTechni lutionrecommended ofl arge sparse linear as ear systems [9]. number global synchronisation which makes them [10], well as more recent book der Vorst Anofinherent characteristic ofasynchronous allpoints, subspace methods is that they have for a large experiment, our 2new preconditioning h (blue Figure shows total computing times onapproac the DAS–3 a realistic report, ofTechnolog Technology, Delft, the Netherl ands, [11]. clusters. Technical report,Delft DelftUniversity University of y, Delft, itable Grid computing. Weproblem. propose using asynchronous bspacetonumber methods that have of isglobal synchronisation points, makes them less lines) is compared to (standard) synchronous preconditioning (red 3D they test Here, theanwhich number of equations persuitable node the isfixed 08–08. Netherlands,2008. 2009. DUT DUT report report 09–12. Theso results clearly thatan for largergrows number of nodes (or ve method as aline). preconditioner in total ashow flexible subspace method, isation points, which makes The work presented here hasand been performed under supervision to Grid computing. We them propose using asynchronous iterative method as nodes. that the problem size with the number of [5] Tijmen Collignon Martin B. van Gijzen.the Fast iterat ive of so-Martin [6] Tijmen P. Collignon and P. Martin B. van Gijzen. Parallel sc ientific equivalently, for a to larger problem synchronous preconditioning is vanonGijzen. The aresubspace divided equally between the five clusters. iscomputing In thB. thepropose preconditioner allowed in size), each iteration step. We using anis asynchronous a preconditioner in anodes flexiblechange method, where the preconditioner loosely coupled networks of computers. In B. Kosystems on geographically sep a rated lution ofl arge sparse linear is outperformed considerably by asynchronous preconditioning. experiment, our newstep. asynchronous preconditioning approac hren(blue mbining a slowly converging asynchronous inner method and ner in a allowed flexible and C. Vuik,clusters. editors, Technical Advanced report, Computational Methods of in Technolog y, Delft, tosubspace change inmethod, each iteration By combining a slowly converging Delft University lines)outer is step. compared to we (standard) synchronous preconditioning (red and Engineering, Science volume 2009. 71, pages Springer synchronous method, aim to reap the dconverging to change in each iteration the Netherlands, DUT79–106. report 09–12. asynchronous inner method and a fast converging synchronous outer method, References CONCLUDING REMARKS AND FURTHER READING line). The results clearly show that for larger number of nodes Berlin(or Heidelberg, 2010. [1] Thomas Sterling, Ewing Lusk, and William Gropp, editors. Beowulf Cluster Computing with and awards both techniques [4, 5, 6]. of both techniques [4, 5, 6]. gs asynchronous method and we aim of toinner reap the benefits and [6] Tijmen Collignon Linux. MIT Press,P.Cambridge, MA,and USA,Martin 2003. B. van Gijzen. Parallel sc ientific equivalently, for awards a larger problem size), synchronous preconditioning [7] Gene H. Golub and Charles Loan. Matrix Computations Designing efficient algorithms for Grid computingis a comuter method,thewe aim isto reap numerical the nchronising preconditioning phase in this manner has the preconditioning. computingF.onVan loosely coupled networks of computers. In B. Kooutperformed considerably by asynchronous Johns and Dan Werthimer. SETI@home: (Johns Hopkins Studies in Mathematical Sciences) . TheLebofsky, plex preconditioner process that bringscan together many different scientific disciplines. [2] David Anderson, Jeff Cobb, Eric Korpela, Matt renP. and C. Vuik, editors, Advanced Computational Methods in iques [4,De-synchronising 5,(i) 6].the age that: be phase easily the preconditioning inand thisefficiently manner has the advantageHopkins University Press, October 1996. anexperiment in public–resource computing. Commun. ACM, 45(11):56–61, 2002. By using an asynchronous iterative method as a preconditioner in Science and Engineering, volume 71, pages 79–106. Springer lised onthat: Grid computers, (ii) no additional synchronisaing phase in(i) this manner has the the preconditioner can be easily and effi ciently parallelised on Grid REMARKS AND FURTHER READING a flexibleCONCLUDING iterative method, an algorithm is obtained that has the [8] Frank J. SeinstraBerlin and Kees Verstoep.2010. DAS–3: The distribu ted Heidelberg, [3] Peter Sonneveld and Martin B. van Gijzen. IDR(s): a family of simple and fast algorithms for oints arecomputers, introduced, and devoting thepoints bulk ofcluster the and Gridand (iii)ASCI supercomputer ioner can be easily efficiently (ii)and no additional synchronisation are introduced, potential to reap(iii) the by benefits and awards of both 3, 2007. http://www.cs.vu.nl/das3/ . solving large nonsymmetric linear systems. SIAM J. Sci. Comput., 31(2):1035–1062, 2008. [7] Gene H. Golub and Charles F. Van Loan. Matrix Computations computing. tational to the theDesigning preconditioner, the computation to (ii) nobyeffort additional synchronisaefficient numerical algorithms forpreconditioner, Grid computingis a comdevoting bulk of the computational effort to the [9]thePeter Sonneveld and Martin B. van Gijzen. IDR ( s) : a family of Johns (Johns Hopkins Studies Mathematical Sciences) . The theto interested the book by be Dimitri Bertsekas and cantly, John while Tijmen P. Collignon Martin B. in van Gijzen. Solvingilnear large sparse linear systems efficiently plex process brings together many different scientific disciplines. unication ratio For canthe be improved significantly, while reducing (iii) by computation devoting bulk of reader, thethat simple and[4]fast algorithms for and solving large nonsymmetric communication ratio can improved signifi on GridHopkins computersUniversity using an asynchronous iterative method Press, October 1996. as a preconditioner. Technical report, Tsitsiklis contains a an wealth ofi nformation on parallel asy nchronous By using iterative method as a precondition er in SIAM systems. J. Sci. Comput. , 31(2):1035–1062, 2008. conditioner, the computation toasynchronous reducing the number of expensive (outer) synchronisations considerably. University of Technology, Delft, the Netherlands, 2008. DUT report 08–08. iterative algorithms for variousmethod, applications [2]. Furthe rmore, more that has the Delft a flexible iterative an algorithm is obtained [8] Frank J. Seinstra and Kees Verstoep. DAS–3: The distribu ted oved significantly, while reducing extensive discussions on various aspects of parallel scientific comput- [10] Thomas Sterling, Ewing Lusk, and William Gropp, editor s. Bepotential to reap the benefits and awards of both cluster and GridCluster [5] Tijmen Collignon Martin3, B.2007. van Gijzen. Fast iterative solution of large ASCIP. supercomputer http://www.cs.vu.nl/das3/ owulf Computing withand Linux. MIT Press, Cambridge, For a excellent book by Rob Bisseling [3]. ing may be on found in the Experiments the DAS-3 multi-cluster computing. sparse . linear systems on geographically separated clusters. Technical report, Delft University of Technology, MA, USA, 2003. [9] Peter Sonneveld and Martin B. van Gijzen. IDR ( s) : a family of Wiskunde comprehensive discussion on iterative methods for solvinglinear sys-(DAS-3), Delft, the Netherlands, 2009. DUT report 09–12. Our target hardware isinterested the distributed ASCI Supercomputer~3 thebook the book by andHenk John A. van der simple Vorst. Iterative Methods Large Linear tems, theFor classic by Genereader, Golub and Charles vanDimitri Loan is Bertsekas greatly [11] and fastKrylov algorithms forforsolving large nonsymmetric ilnear which isrecommended a cluster of fi ve geographically separated clusters, located at [6] Tijmen P.University Collignon and B. van Gijzen. scientific computing Tsitsiklis wealth nformation on parallel Press, 2003. systems. Cambridge [7], contains as well asathe more ofi recent book by Henk van de r asy nchronous systems. SIAM J.Martin Sci.Cambridge, Comput. , Parallel 31(2):1035–1062, 2008.on loosely coupled four academic institutions in the for Netherlands [7]. The DAS-3 is designed iterative algorithms various applications [2]. Furthe rmore, more networks of computers. In B. Koren and C. Vuik, editors, Advanced Computational Methods in Vorst [11]. Science and Engineering, volume 71, pages 79–106. Springer Berlin Heidelberg, [10] Thomas Sterling, Ewing Lusk, and William Gropp, editor 2010. s. Beextensive discussions on various aspects parallel scien tific computfor dedicated computing and although each ofthe separate cluster is The workparallel presented here has been performed under supervi sion owulf Cluster Computing with Linux. MIT Press, Cambridge, excellent book by Rob Bisseling [3]. Fo r a ing may be found in the of Martin B. van Gijzen. [7] Frank J. Seinstra and Kees Verstoep. DAS–3: The distributed ASCI supercomputer 3, 2007. relatively homogeneous, the system as a whole can be considered heteroMA, USA, 2003. discussion on iterative methods for solvinglinear sys- http://www.cs.vu.nl/das3/. geneous. Figurecomprehensive 1 shows the locations of the clusters in the Netherlands, tems, the classic book by Gene Golub and Charles van Loan is greatly [11] Henk A. van der Vorst. Iterative Krylov Methods for Large Linear [8] Dimitri P. Bertsekas and John N. Tsitsiklis. Parallel and Distributed Computation: Numerical as well as the number of nodes in each cluster. Since the five clusters University Cambridge, 2003.Scientific, 1997. systems. Cambridge recommended [7], as well as the more recent book by Henk van de r Methods. Prentice–Hall, Englewood Cliffs, N.J., Press, 1989. republished by Athena are geographically separated, global synchronisation is very expensive. Vorst [11]. The work presented here has been performed under the supervi sion Figure 2 shows total computing of Martin B. van times Gijzen.on the DAS-3 for a realistic 3D test problem. Here, the number of equations per node is fixed so that the total problem size grows with the number of nodes. The nodes are divided equally between the five clusters. In this experiment, our new asynchronous preconditioning approach (blue lines) is compared to (standard) synchronous preconditioning (red line). The results clearly show that for larger number of nodes (or equivalently, for a larger problem size), synchronous preconditioning is outperformed considerably by asynchronous preconditioning. 34 [9] Rob H. Bisseling. Parallel Scientific Computation: A Structured Approach Using BSP and MPI. Oxford University Press, 2004. [10] Gene H. Golub and Charles F. Van Loan. Matrix Computations (Johns Hopkins Studies in Mathematical Sciences). The Johns Hopkins University Press, October 1996. [11] Henk A. van der Vorst. Iterative Krylov Methods for Large Linear systems. Cambridge University Press, Cambridge, 2003. Jaargang 14 • Nummer 3 • Maart 2010 Vehicle Routing Problems with time-dependent travel times Ester Stegers Congestion creates a substantial variation in travel speeds during morning and evening rush hours. This is problematic for all vehicle routing models that rely on a constant value to represent vehicle speeds. Darwin’s principle of natural selection. From a population of solutions, a new generation will be created. Like in the evolution theory, the idea is that the better solutions will survive. However, there are a lot of other techniques to handle the VRP. Problem investigation Urban route designs that ignore these significant speed variations result in inefficient, unrealistic and suboptimal solutions. These poorly designed routes that lead freight vehicles into congested urban traffic, result in some cases in a waste of valuable time, and customers have to wait unreasonably long without having any reliable information about the actual arrival times of the vehicles. In these circumstances, it becomes difficult to satisfy the time windows during which the customers must be visited. This increases supply chain and logistics cost. In order to obtain a more realistic solution for the VRP, a method should be created that deals with time-dependent travel times. Van Rijswijck [2] reported on the need for complex optimisation algorithms and the need for time dependent measurement data. This research focuses on the first. Not only does the optimisation algorithm need to calculate a low cost feasible solution, it also has to do this efficiently. Efficiency becomes critical for the large problems often occurring in a logistics company. The Vehicle Routing Problem From a literature review, interesting algorithms are explored to handle the VRP with time-dependent travel times. It turns out that the evolution strategy is not so efficient any more. The most promising solution method, a Construction and Route Improvement Algorithm (CRIA), based on the work of Figliozzi [3] is chosen for further investigation. The advantage of this method is that improvements are done on route level. In the evolution strategy, local improvement heuristics are used, where orders will be interchanged. Without timedependencies this is no problem, since interchanging two orders has no effect on the rest of the route. However, with time-dependencies, the whole route after the changed order may have been affected and has to be recalculated. TNO Business Unit Mobility and Logistics has designed a logistics optimisation model to handle VRPs, called RESPONSE TM. The objective of this model is first to minimise the number of vehicles and secondly to minimise the total route durations. The model is based on an evolution strategy proposed by Homberger and Gehring [1]. The evolution strategy is a technique inspired by Wiskunde The Vehicle Routing Problem (VRP) is one of the most challenging combinatorial optimisation problems. It consists of designing the optimal set of routes for a fleet of vehicles parked at a central depot in order to service a given set of customers with a fixed demand within given time windows. The VRP belongs to the category of NP-hard problems, meaning that the computational effort required to solve this problem increases exponentially with the problem size in the worst case. A small VRP (up to 100 customers) is solvable with exact algorithms, but for a large VRP (more than 100 customers) it is desirable to obtain approximate solutions using heuristics. These methods often give routes of sufficient quality within reasonable computation time when exact algorithms are not fast enough. Solution method To handle time-dependent travel times, time-zones are introduced, periods that classify the day (morning rush hours, off-peak hours, evening rush hours). Every time-zone has its own speeds over the network. Note that the use of 1 time-zone equals using no timedependent travel times. The more time-zones used, the better the model reflects reality. 35 Jaargang 14 • Nummer 3 • Maart 2010 (a) (a) (b) (b) (c) (d) Figure 1: Solution of a VRP created by the CRIA. a: first solution created by the Construction Algorithm; b: improvement on the first solution; c: improvement on the second solution; d: final solution. The CRIA is integrated with a self developed time-dependent shortest path algorithm that will be executed during the VRP calculation. Due to varying travel times, paths (with different distances) may result in a shorter path (in time) between customers at different times of the day. Using the timedependent shortest path algorithm, these shorter paths may be found. In practise, this approach allows for the creation of routes that avoid congested areas during rush hours. No other published work using a similar algorithm is known to exist. Most researchers execute Dijkstra’s shortest path algorithm before the start of the VRP calculation using average speeds. The computational complexity of the CRIA is analysed and experimental results indicate that the computation time increases proportionally to the number of time-zones, as well as to the square of the number of customers. The use of the timedependent shortest path algorithm gives more realistic solutions, but for large problems (more than 100 customers and 5 time-zones) the computation time becomes a critical factor. Wiskunde The CRIA integrated with the time-dependent shortest path algorithm is implemented and tested on one of the Solomon’s benchmark problems (R103) proposed by Solomon [4]. Figure 1 gives an example of how CRIA finds a solution. A first solution, created by the construction algorithm can be like Figure 1(a), where each coloured line indicates a route. The next step is to take orders of several routes together and optimise only these orders. As can be seen in Figure 1(b), the two routes at the bottom remain the same, but the three other routes are reordered, such that all orders can now be served in merely two routes. Next, all orders of the two most right routes can be reordered leading to the more efficient solution shown in Figure 1(c). Finally, improvement of each individual route is tried, and this gives the final solution as represented in Figure 1(d). Results real-life problem urban agglomeration The developed solution method is also tested on a real-life problem. This problem contains a part of The Netherlands, i.e., the urban agglomeration that stretches from Rotterdam to Amsterdam with a surface of about 60 km2. The network contains 1,000 links and the problem contains 1 depot and 35 customers. Because there is no dynamic traffic data available (yet) that can be read by the model, the travel 36 Figure 2: Results real-life problem urban agglomeration. a: calculated using 1 time-zone; b: calculated using 5 time-zones. speed variations are simulated. As can be seen in Table 1, the solution method gives a quite good solution. When the average speed of the single time-zone is split into five time-zones with peak and off-peak speeds, the solution becomes better, i.e. less vehicles and less travel time. Figure 3 gives a visualisation of the solution, by drawing the travelled links. The preference for highways is clear for the solution created with one timezone as well as for the solution created with five timezones, but for the five time-zones solution also the avoidance of congested areas can be seen. A part of the Dutch highways A1 and A4 are avoided and secondary roads, which are less congested are use. Conclusions and recommendations This research shows that when dealing with time dependent scenarios, the solutions generated by a non time-dependent algorithm may become infeasible. Moreover there is a possibility to find solutions that are better than the single time-zone solutions. The advantages of the developed solution method is clear: the possibility to generate good quality solutions of the VRP that better reflect reality. With the development of the CRIA, it will be easier to extend the VRP model in other related areas, like optimising for minimal cost by taking kilometre-pricing into account. When time-dependent measurement data connected to the developed model becomes available, the model can be used in practise. Then, by taking into account varying traffic situations, companies can reduce their logistics cost. References [1] J. Homberger and H. Gehring, Two evolutionary metaheuristics for the vehicle routing problem with time windows, INFOR, 1999. [2] H. van Rijswijck, Dynamisch netwerk RESPONSETM, TNOReport, TNO Built Environment and Geosciences, Business Unit Mobility and Logistics, the Netherlands, 2008. [3] M.A. Figliozzi, A route improvement algorithm for the vehicle routing problem with time dependent travel times, Paper under review for journal publication and also available in the proceedings of the 88th Transportation Research Board annual meeting, Washington DC, USA, 2009. [4] M. Solomon, Solomon’s benchmark, http://web.cba.neu.edu/~msolomon/problems.htm, 1983. Jaargang 14 • Nummer 3 • Maart 2010 Historisch Persoon Figuur 1: Kurt Gödel, 1962 Supplementair Kurt Gödel Michiel van Dam Kurt Gödel was een Oostenrijks-Amerikaanse logicus, wiskundige en filosoof, die in de twintigste eeuw een enorme invloed heeft gehad in de wetenschap en het filosofisch denken. In de tijd dat hij leefde waren andere wiskundigen het gebruik van logica en verzamelingenleer aan het verkennen, om daarmee de basis van de wiskunde te kunnen begrijpen. Ein Österreicher im Exil in der Tschechoslowakei Kurt Friedrich Gödel werd op 28 april 1906 geboren in Brno, een stad in het zuiden van Tsjechië, destijds Oostenrijk-Hongarije. Hij was de zoon van Rudolf en Marianne Gödel en zijn vader was bedrijfsleider bij een textielfabriek. Hij groeide op met de Duitse taal omdat zijn stad een kleine meerderheid Duitstalige inwoners had. Volgens zijn broer leed Kurt op jonge leeftijd aan reuma, wat later volledig is genezen. Toch heeft hij altijd gedacht dat er daardoor blijvende hartschade is ontstaan. Op het moment dat Oostenrijk-Hongarije ophield te bestaan, aan het einde van de Eerste Wereldoorlog, werd hij automatisch Tsjecho-Slowaaks staatsburger, waar hij niet blij mee was. Hij voelde zich als een “verbannen Oostenrijker in Tsjecho-Slowakije.” (“ein Österreicher im Exil in der Tschechoslowakei”) Toen hij 23 was koos hij er daarom voor om Oostenrijks staatsburger te worden. Toen aan het begin van de Tweede Wereldoorlog Oostenrijk geannexeerd werd door Duitsland, werd hij daarmee automatisch Duits staatsburger, toen hij 32 was. 10 jaar later, na de Tweede Wereldoorlog, werd hij ook nog Amerikaans staatsburger. Hij trouwde in 1938 met Adele Nimbursky, waar hij geen kinderen mee gekregen heeft. theorie, maar nadat hij een cursus van Moritz Schlick gevolgd had, die het boek ‘Introduction to Mathematical Philosophy’ van Betrand Russell behandelde, raakte hij geïnteresseerd in wiskundige logica. In 1928 publiceerde Hilbert en Wilhelm Ackermann ‘Grundzüge der theoretischen Logik’, een inleiding tot de logica van de eerste orde, waarin het volledigheidsprobleem aan de orde werd gesteld: Zijn de axioma’s van een formeel systeem voldoende om daar elke bewering uit af te leiden, die waar is in alle modellen van het systeem? Dit was het onderwerp dat Gödel koos voor zijn In zijn jonge jaren stond Kurt bekend in zijn gezin als Herr Warum, vanwege zijn onverzadigbare nieuwsgierigheid. Van 1912 tot 1916 ging Gödel naar de Evangelische Volksschule in Brno, een Lutherse school, en van 1916 tot 1924 ging hij naar het Deutsche Staats-Realgymnasium waar hij over de hele linie uitblonk, in het begin vooral in talen en godsdienst, maar later kreeg hij meer belangstelling voor geschiedenis en wiskunde. Zijn belangstelling voor wiskunde nam nog meer toe toen zijn oudere broer Rudolph in 1920 naar Wenen vertrok om medicijnen te gaan studeren aan de Universiteit van Wenen. Tijdens zijn tienerjaren bestudeerde Gödel al de Gabelsberger stenografie, Goethe’s kleurenleer, de kritieken van Isaac Newton en de geschriften van Immanuel Kant. Wiener Kreis Studie Eenheid Toen Kurt 18 geworden was, ging hij net zoals zijn broer naar de universiteit van Wenen, hoewel hij het universitaire wiskundeniveau op dat moment al meester was. Hij was aanvankelijk van plan om theoretische natuurkunde te gaan studeren, maar ging ook naar wiskunde- en filosofiecolleges. In de tijd dat hij daar studeerde verdiepte hij zich in wiskundig realisme, hij las Kants ‘Metaphysische Anfangsgründe der Naturwissenschaft’ en deed mee met de ‘Wiener Kreis’ met Schlick, Hahn en Carnap. Gödel bestudeerde toen ook getal- De Wiener Kreis was een groep filosofen en wetenschappers die logisch positivisme of logisch empirisme propageerde. Deze groep hanteerde hierdoor een tweetal regels: 1.Ervaring is de bron van alle kennis. 2.Logische analyse door middel van symbolische logica is de beste manier om filosofische problemen op te lossen. Het belangrijkste en laatste doel van de Wiener Kreis was om de wetenschap te unificeren, een basaal systeem op te zetten waarbinnen elke geldige uitspraak teruggebracht wordt naar een lager niveau, waarbinnen die uitspraak direct op ervaring terug te voeren valt. Onderdeel hiervan was een zoektocht naar verduidelijking en een symbolische taal die niet onderhevig was aan alle onduidelijkheden van natuurlijke taal. 37 Jaargang 14 • Nummer 3 • Maart 2010 Onvolledigheid Gödels onvolledigheidsstellingen bouwen op een vrij eenvoudig idee. In de stelling wordt een formule geconstrueerd die van zichzelf zegt dat hij onbewijsbaar is. Op het moment dat die stelling bewijsbaar zou zijn, zou hij zichzelf tegenspreken en een paradox opleveren. Hierdoor weet je zeker dat de stelling waar is, maar desondanks nooit bewezen kan worden. Dat vertaalde zich in een meer algemene stelling: voor elke berekenbare optelbare groep axioma’s voor de rekenkunde, bestaat er een formule die geldig is in die rekenkunde, maar niet bewijsbaar is. Principia Mathematica De Principia Mathematica is een boekwerk over de absolute basis van wiskunde, gepubliceerd door Whitehead en Russel in 1910, 1912 en 1913. Het probeert alle wiskundige waarheden af te leiden van een gedefinieerde en beperkte set axioma’s, door middel van inferentie en symbolische logica. Het bleek echter, dankzij Gödels werk, dat de Principia Mathematica onmogelijk consistent en compleet tegelijk kon zijn. Er zal altijd een uitspraak zijn die waar is binnen het systeem, maar niet binnen het systeem bewezen kan worden. Volledigheid Supplementair Desondanks heeft Gödel in zijn ‘volledigheidsstelling’ aangetoond dat semantische waarheid en syntactische bewijsbaarheid samengaan in predikaatanalyse van de eerste orde. Dit houdt in dat het mogelijk is om alle logisch geldige consequenties van een predikaatstelling te vinden, simpelweg door alle mogelijke afleidingen af te gaan, gebruikmakend van axioma’s in de theorie. Deze volledigheidsstelling kan bestaan naast de onvolledigheidsstelling, doordat de onvolledigheidsstelling over de predikaatstelling zelf gaat en de volledigheidsstelling slechts over alle logische gevolgen van deze stelling. Alle logische gevolgen zijn dus in dit geval bewijsbaar, de stelling zelf hoeft dit niet te zijn. 38 promotie in 1929. Hij voltooide zijn dissertatie onder begeleiding van Hans Hahn. Hierin bepaalde Gödel zijn volledigheidsstelling en hij behaalde hierna zijn doctorstitel in 1930. Gödel bleef werken in Wenen, en in 1931 publiceerde Gödel zijn beroemde onvolledigheidsstellingen in ‘Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme’. In dat artikel bewees hij voor elk berekenbaar axiomatisch systeem, dat krachtig genoeg is, dat het systeem niet tegelijkertijd consistent en volledig kan zijn, maar ook dat de consistentie van axioma’s niet bewezen kan worden binnen het systeem. Deze stellingen zorgden ervoor dat een halve eeuw aan inspanningen vergeefs bleken te zijn, waaronder het werk van Gottlob Frege, de Principia Mathematica van Whitehead en Russel en Hilberts formalisme. Deze stellingen houden ook in dat niet alle wiskundige vraagstukken berekenbaar zijn. Gödel behaalde in 1932 zijn habilitatie aan de Universiteit van Wenen, waardoor hij zich vanaf dat moment privaatdocent mocht noemen. In 1933 kwam Adolf Hitler aan de macht en kregen de Nazi’s steeds meer invloed in Oostenrijk en bij de Weense wiskundigen. Toen in juni 1936 Moritz Schlick vermoord werd door een pro-Nazi student, kreeg Gödel een ernstige zenuwcrisis en werd hij paranoïde. Vanaf dat moment was hij altijd bang om vergiftigd te worden en verbleef hij een aantal maanden in een sanatorium voor zenuwziekten. Internationale carriere In 1933 ging Gödel voor het eerst naar de VS en hield daar een toespraak op de jaarlijkse bijeenkomst van de American Mathematical Society. Tijdens dat jaar kreeg hij ook zijn ideeën over de berekenbaarheid en recursieve functies, en het idee waarheid. Dit werk werd daarna in de getaltheorie verder ontwikkeld, gebruikmakend van Gödelnummering. In 1934 gaf Gödel een serie lezingen in Princeton, New Jersey, Over onbeslisbare stellingen van formele wiskundige systemen. Het verslag van die lezingen bij het Institute for Advanced Study (IAS) is later gepubliceerd. In 1935 wilde hij nog een keer naar het IAS, maar het reizen en harde werken putte hem dusdanig uit, dat hij daarna een jaar niet heeft gewerkt, maar uitrustte. In 1937 ging hij verder met zijn college en werkte hij ook aan het bewijs van de consistentie van het keuzeaxioma en van de continuümhypothese (CH), hij ging aantonen dat deze hypothesen niet weerlegd kunnen worden binnen het gebruikelijke systeem van axioma’s van verzamelingenleer. Gödelnummering Gödelnummering is een manier om een uniek getal aan ieder symbool of iedere formule toe te kennen, binnen een formele taal. Aan ieder symbool wordt een getal toegekend, waardoor elke serie uitspraken gerepresenteerd kan worden als een reeks natuurlijke getallen. Gödel zelf gebruikte een systeem van Gödelnummering met ontbinding in priemfactoren. Hij kende aan elk symbool een opeenvolgend getal toe. In de wiskundige uitspraak nummerde hij de opeenvolgende symbolen met de priemgetallen, en verhefte die priemgetallen tot de macht van het getal dat dat type symbool eerder gekregen. Bij a als 1, b als 2 en = als 3, wordt de uitspraak a = b dus 2^1 3^3 5^2, dus 1350. Door ontbinding in priemfactoren kan de oorspronkelijke berekening teruggekregen worden. Jaargang 14 • Nummer 3 • Maart 2010 econoom Morgenstern dat ‘zijn eigen werk niet veel meer betekende, maar dat hij nog alleen maar naar het instituut ging... om het voorrecht te hebben samen met Gödel naar huis te kunnen lopen.’ Gödel werd in 1947, bij zijn Amerikaans burgerschapsexamen, vergezeld door Einsten en Morgenstern als getuigen. Gödel had aan hen meegedeeld dat hij een tegenstrijdigheid in de grondwet had gevonden die ervoor kon zorgen dat de VS een dictatuur werd. Toen Gödel gevraagd werd of hij dacht dat een dictatuur zoals het Nazi regime mogelijk zou zijn in Amerika, begon hij zijn ontdekking uit te leggen, waarmee Einsteins en Morgensterns zorgen over het onvoorspelbare gedrag van Gödel uit bleken te komen. Gelukkig kende de rechter Einstein, en dus werd Gödel snel de mond gesnoerd en werd er overgegaan naar andere vragen. Gödel heeft in 1951 Einstein voor zijn 70e verjaardag de uitwerking gegeven van het bestaan van paradoxale oplossingen van diens veldvergelijkingen in de algemene relativiteitstheorie. Dit zou tijdreizen mogelijk maken en hierdoor ging Einstein twijfelen aan zijn eigen theorie. Overlijden Figuur 2: Kurt Gödel en Albert Einstein bij Princeton De zomer van 1942 bracht hij door in Blue Hill, in Maine, toen hij bij het IAS vakantie had opgenomen. Hij had echter een zeer productieve zomer, want uit zijn werkschriften blijkt dat tijdens het verblijf in Blue Hill Gödel een bewijs ontdekte voor de onafhankelijkheid van het keuze-axioma vanuit de eindigetype-leer. Het bewijs wordt in zijn werkschriften niet gegeven, maar alleen een uitgebreide behandeling van het probleem. In 1946 werd Gödel een vast lid van de IAS en in 1953 kreeg hij een volledig hoogleraarschap aan het instituut. Tenslotte werd hij in 1976 emeritushoogleraar. Door zijn werk heeft hij in 1951 de eerste Albert Einstein Prijs gekregen, en in 1974 kreeg hij tevens de National Medal of Science. Einstein Bij zijn eerste reis naar de VS leerde Gödel Einstein kennen, en ze ontwikkelden een legendarische vriendschap. Wat er besproken werd tijdens de vele gezamenlijke wandelingen van en naar het IAS was voor andere leden van het instituut een geheim. Einstein vertelde aan het eind van zijn leven tegen de Gödel was zijn hele leven christen. Hij verwierp het idee van een onpersoonlijke God, waar Einstein in geloofde. Hij geloofde in een leven na de dood en stelde: “Ik ben overtuigd van een hiernamaals, onafhankelijk van de theologie. Als de wereld rationeel in elkaar zit, moet er een leven na de dood zijn.” Supplementair In 1938 bracht hij opnieuw een bezoek aan het IAS, en het voorjaar van 1939 bracht hij door aan de Universiteit van Notre Dame. Doordat Nazi Duitsland de titel privaatdocent afschafte, moest Gödel solliciteren naar een andere baan in de nieuwe orde. Hierbij vermoeilijkte zijn vroegere omgang met Joodse leden van de Wiener Kreis de procedure, waardoor de universiteit van Wenen zijn sollicitatie afwees. Het werd nog erger toen het Duitse leger hem opriep voor militaire dienst. Daarom vertrok Gödel in 1939, kort na het begin van de Tweede Wereldoorlog, met als bestemming Princeton. Om de blokkades te omzeilen reisde Gödel via de trans-Siberische spoorweg en Japan naar San Francisco, en reisde binnen de VS vervolgens per trein door naar Princeton, waar hij een baan kreeg bij het IAS. Aan het eind van zijn leven was Gödel geestelijk instabiel en ziek. Zijn paranoïa had zich ontwikkeld tot een obsessieve angst om vergiftigd te worden en hierdoor at hij niks meer, tenzij zijn vrouw het voorgeproefd had. In 1977 werd zijn vrouw Adele zes maanden in het ziekenhuis opgenomen, en in die tijd hongerde Gödel zichzelf dood. Hij overleed op 14 januari 1978 aan ‘ondervoeding en uitputting’. 39 Arjan Kooistra. Software engineer Java/J2EE. Kan niet koken. Ook zin in een succesweekend met een privé-kok? Als je bij Quinity komt werken, werk je mee aan het ontwikkelen van eBusiness-applicaties. Dat doen we voor grote, financiële organisaties en met goede resultaten. En boeken wij succes, dan boek jij ook succes. Sterker nog: we garanderen je een carrière waarin je veel successen op je naam kunt zetten. Ook als je nog maar net bent afgestudeerd. En om je daarvan alvast te laten proeven, krijg je van ons een geweldig succesweekend naar keuze aangeboden als we het met elkaar eens worden. Kijk meteen op www.werkenbijquinity.nl voor alle details en mogelijkheden. En ontdek dat je bij Quinity net zo succesvol kunt worden als je ambities reiken. Upload meteen je cv. Quinity zoekt software engineers Java/J2EE, projectleiders, functioneel ontwerpers en consultants/informatie-analisten. Als je zo’n baan én een succesweekend wilt, upload dan snel je cv. Ook al heb je nog geen ervaring. Op www.werkenbijquinity.nl vind je uiteraard ook alle andere informatie en wetenswaardigheden over een baan bij ons bedrijf. Quinity B.V. – Maliebaan 50 – Postbus 13097 – 3507 LB Utrecht Telefoon +31(0)30 2335999 Werken bij Quinity. Succes gegarandeerd. Jaargang 14 • Nummer 3 • Maart 2010 CTO TomTom Rijn Buve In 1985 was het zover. Er moest een belangrijke keuze worden gemaakt. Wat zou ik na mijn Gymnasium doen? Afgezien van een grote persoonlijke interesse in muziek, was ik ook altijd al door techniek gefascineerd en ik zag hoe computers de wereld zouden veranderen en zelfs nieuwe werelden zouden kunnen creëren. Mijn keuzepalet van studiekeuzes had ik daarmee gereduceerd tot Conservatorium of Informatica. Het werd Informatica Supplementair Alumnus Na mijn studie kwam de volgende grote beslissing: wat nu? Zoals ik al eerder zei, zag ik al vroeg hoe computers niet alleen de wereld zouden veranderen, maar ook hoe ze eigen werelden zouden kunnen creëren. Tegenwoordig worden miljoenen mensen meegesleurd door de virtuele 3D wereld van Avatar en worden miljarden verdiend in de vele werelden die in platforms als de Xbox en PlayStation huizen, maar 20 jaar geleden kreeg een aantal mensen, waaronder ikzelf, al kippenvel als ze ”You are in a narrow damp tunnel whose walls are fungi encrusted. Enter command?” lazen bij het starten van de text adventure Dungeons. Toch kon dat beter. Visueler. Ik ging daarom werken bij een klein bedrijf in Amsterdam dat destijds zeer geavanceerde 3D programmatuur ontwikkelde. Drie jaar lang ben ik toen met niets anders bezig geweest dan “rendering” en tools maken om virtuele werelden te creëren. Totdat onverwacht iets totaal anders op mijn pad kwam. In 1995 had het bedrijf CMG (later Logica) de opdracht van Rijkswaterstaat gekregen om de besturingssoftware voor de in aanbouw zijnde stormvloedkering in de Nieuwe Waterweg bij Hoek van Holland te ontwikkelen. Die stormvloedkering was het sluitstuk van het Deltaplan na de watersnoodramp in 1953 en was één van de meest prestigieuze softwareprojecten van die tijd, vooral door de enorm hoge faalkanseisen die eraan werden gesteld. De naam van het project was: “BOS”: Beslis- en Ondersteunend Systeem van de Stormvloedkeringen in de Nieuwe Waterweg en het Hartelkanaal. met de stille belofte aan mezelf om toch vooral de creatieve kant daarvan te bedrijven. De realiteit van de studie Informatica aan de TU Delft bleek wat anders dan ik me aanvankelijk had voorgesteld. In plaats van het bezig zijn met computertechniek en programmeren, bestond een groot deel van de studie uit wiskunde en theoretische informatica: twee vakken die op het eerste gezicht zeer ver van het destijds zo lonkende toetsenbord afstonden. “Op het eerste gezicht” zeg ik, want ik weet nog goed hoe docenten als Ruud Sommerhalder en Cees Witteveen keer op keer hun uiterste best deden deze vakken tot leven te laten komen bij de daarvoor ontvankelijke student. Probleem-complexiteitsklassen P en NP, symboolmanipulatie en het ruimte-tijd spanningsveld werden gekoppeld aan alledaagse situaties en actuele politieke problemen om de stof te kunnen relateren aan wat minder abstracte zaken dan de doorgaans Griekse symbolen waarin deze gespecificeerd worden. Helaas waren de examenresultaten stille getuigen van het feit dat niet alle studenten hiervoor ook inderdaad even ontvankelijk waren. Vele studenten, waaronder ik, konden zich verheugen op een zware onvoldoende voor het eerste tentamen, als bleek dat de stof niet alleen gehoord, maar ook nog begrepen diende te worden. Was dat even pech. Het deed me denken aan de eerste week van het Gymnasium, waarin ik nog naïef hoopte dat als ik het Griekse alfabet eenmaal kende, ik ook daadwerkelijk Grieks kon lezen. Toch ging dat werkelijk begrijpen van de stof me hoe langer hoe meer boeien. Deze docenten waren buitengewoon intelligent. Er moest toch een reden zijn dat ze erin volhardden studenten dermate abstracte stof bij te willen brengen? En langzaam aan werd me duidelijk dat echte revolutionaire technische doorbraken vrijwel altijd gebaseerd zijn op het begrip en de toepassing van deze, soms uiterst abstracte, basiskennis. Je kunt bestaande oplossingen van problemen vaak lange tijd incrementeel verbeteren, maar wil je echt een grote stap maken, dan zul je de basis volledig moeten beheersen om tot nieuwe oplossingen te komen. Met die mooie gedachte heb ik me de theorie eigen gemaakt en daarna besloten dat ik me toch vooral wilde toeleggen op de concrete toepassing ervan. Ik nam compilerbouw in mijn vakkenpakket. Dat bleek later een zeer gelukkige keuze te zijn. De projectleider van het BOS-project kende ik goed en ik vond het intrigerend te horen hoe ze dachten deze klus te gaan klaren. Er was een high-level design gemaakt en het echte werk, het volledig op detailniveau ontwerpen en bouwen van alle subsystemen kon bijna beginnen. In het hart van het systeem was een interpreter bedacht, voor een taal die nog ontworpen moest worden. En hoewel dit nog van voor de tijd van Java en virtual machines was, leek het concept er achteraf gezien wel een beetje op. Deze nieuwe taal voor de besturing van de kering, de “Procedure scripttaal” genaamd, diende twee doelen. Ten eerste was het op dat moment nog niet bekend hoe de exacte procedures en draaiboeken voor het sluiten en openen van de keringen eruit zouden zien. Daar zou Rijkswaterstaat nog zeker anderhalf jaar voor nodig hebben. En ten tweede waren de faalkanseisen aan de besturingssoftware zo hoog, dat gemeend werd dat men deze procedurescripts in een taal zou moeten kunnen specificeren die inherent veiliger is dan talen als C of C++. Er was alleen één probleem. Ze hadden nog niemand voor het projectteam kunnen vinden, die een dergelijk taal kon ontwerpen en bouwen. De eerdere keuze voor het vak compilerbouw kwam me nu goed van pas en ik besloot de uitdaging aan te gaan. Zowel het ontwerp van de nieuwe taal als het ontwerp en de bouw van de compiler, de Figuur 1: 3D Rendering 41 Jaargang 14 • Nummer 3 • Maart 2010 Tijdens dit project, en later tijdens een vergelijkbaar project voor de vernieuwing van de besturing van de stormvloedkering Oosterschelde in Zeeland, werd voortdurend duidelijk hoe belangrijk het is om bij kritieke software ontwikkeling niet alleen te letten op de functionaliteit van het systeem (“wat moet het doen?”), maar ook vooral op de niet-functionele aspecten van het systeem (“hoe goed moet hij het doen?”). En dat geldt ook bij minder kritieke software. Immers, tijdens de life cycle van een systeem wijzigen de functionaliteiten die het systeem moet bieden doorgaans veel vaker dan de eisen die aan de kwaliteit van het systeem worden gesteld. Figuur 2: Stormvloedkering Oosterschelde interpreter (die feitelijk de taak van virtual machine op zich nam) en later een debugger werden mijn deel in dit mission critical systeem. En dat werd een zeer leerzaam traject. Supplementair Bij de ontwikkeling van het BOS-systeem draaide alles om faalkansen. Een belangrijke politieke afweging voor wel of geen kering, was destijds ofwel te kiezen voor het verzwaren van de dijken over vele tientallen kilometers lengte, met alle kosten en landschapsvervuiling die daarmee gepaard zouden gaan, ofwel het bouwen van een stormvloedkering met gelijkwaardige beschermingseigenschappen voor het achterland. In Nederland bouwen we al eeuwen dijken en alle veiligheidsaspecten van dijken zijn tot in de puntjes gespecificeerd. Een dijk in Nederland heeft een faalkans van 1 op 1.000. Dat wil zeggen dat op elke 1.000 stormen (van een welgedefinieerde sterkte), een dijk maximaal eenmaal kan bezwijken. Bij een geschatte frequentie van optreden van dergelijke stormen van eens in de 10 jaar, komt dat neer op maximaal één dijkbreuk in 10.000 jaar. Dat was dus ook het uitgangspunt voor de veiligheid en de faalkans van de stormvloedkering. De stormvloedkering bestaat uit veel, en vooral grote en imposante hardware, zoals de enorme kerende wand, de armconstructies en het kogelgewricht waar de arm om scharniert. Maar daarnaast bestaat hij dus ook uit software. De faalkans van de kering moest derhalve verdeeld worden over deze twee aspecten van het systeem, hardware en software, die beide de betrouwbaarheid beïnvloeden. Faalkanstechnisch geldt dat twee seriegeschakelde componenten gezamenlijk een faalkans hebben die een orde slechter is dan de faalkans elk component afzonderlijk. Hierdoor werd gesteld dat zowel de hardware als de software aan een faalkans moest voldoen die nog een orde hoger was: 1 op 10.000 dus, wat neerkomt op een betrouwbaarheid van 99,99%. Maar daarmee was men er nog niet voor de software. Want deze bevat zowel een component die de kering sluit in geval van storm, als een component die hem weer opent, als de storm voorbij is. En falen de kering te openen na een storm is nog erger dan deze niet te kunnen sluiten. Door de kering niet tijdig weer te openen zou het achterland namelijk alsnog vollopen, maar dan met zoetwater, waarna de kering het uiteindelijk zou begeven en het achterland onbeschermd zou laten liggen voor een volgende storm. De faalkans voor dit scenario werd daarom aangescherpt en gesteld op 1 op 100.000, oftewel een betrouwbaarheid van 99,999%, vergelijkbaar met eisen aan software voor kerncentrales en de Space Shuttle. 42 Een andere belangrijke les was hoe je software betrouwbaar en voorspelbaar binnen budget kunt ontwikkelen. Hoe weet je of een systeem inderdaad zo betrouwbaar is als geëist werd? En hoe voorkom je dat je eindeloos blijft testen bent om dat te halen of aan te tonen? Bij “normale” faalkansen kom je een aardig eind met uitgebreid testen, maar bij een systeem met een betrouwbaarheid van 99,999% is dat per definitie onmogelijk. Dat zou veel te veel testtijd vergen. De crux ligt dan in het voorkomen van het injecteren van problemen in het systeem door het toepassen van zeer strikte ontwikkelprocessen. Verificatie en formele validatie van het ontwerp spelen daarin onder meer een belangrijke rol. Zo is het ontwerp van het BOS systeem gespecificeerd in ongeveer 2.000 regels Promela en 20.000 regels Z, zeer compacte valideerbare formele talen. Deze specificatie werd uiteindelijk handmatig, aan de hand van strikte vertaalregels, omgezet in ongeveer 600.000 regels C++ code, met vrijwel 100% testcoverage van alle code. Zo konden we uiteindelijk de zo belangrijke basiskennis van herschrijfsystemen en verzamelingenleer toepassen in het behalen van de betrouwbaarheid van de software voor de stormvloedkering. Tegenwoordig ben ik nog steeds met software architectuur en ontwikkelprocessen bezig, maar nu op een totaal ander vlak. Bij TomTom maken dagelijkse miljoenen mensen gebruik van onze navigatiesystemen, navigatie gerelateerde diensten en location based services. En die diensten moeten niet alleen zeer betrouwbaar zijn, voortdurende innovatie is ook ongelofelijk belangrijk. Als een van de grootste en meest vernieuwende navigatiebedrijven ter wereld, moeten we niet alleen inspelen op wensen uit de markt, we moeten op de markt vooruitlopen. Ook hier wordt weer teruggegrepen op die abstract basiskennis, in dit geval om methoden te ontwikkelen om aan de hand van de enorme hoeveelheid informatie, zoals anonieme GPS posities, die we ontvangen van miljoenen gebruikers, nieuwe nuttige en aantrekkelijke diensten te ontwikkelen. Een mooi voorbeeld daarvan is HD Traffic: de beste verkeersdienst ter wereld. Onze systemen genereren op basis van bewegingen van TomToms en miljoenen mobiele telefoons real-time verkeersinformatie. Een ander voorbeeld is IQ Routes: een zeer complex systeem dat de triljarden snelheidsmetingen, die we in de loop der tijden verzameld hebben, gebruikt om voor iedere steegje, straat of weg ter wereld te bepalen hoe snel daar op ieder tijdstip van elke weekdag gereden wordt, of zal worden; statistisch bepaald en door het enorme aantal datapunten zeer betrouwbaar. Met die informatie kunnen we zelfs daar waar geen real-time verkeersinformatie voorhanden is, toch zeer betrouwbaar de beste routes bepalen en het verkeersbeeld voorspellen, niet alleen nu, maar ook over een paar uur of een aantal dagen. Het kunnen beschikken over dergelijke informatie en het bij TomTom mogen bouwen aan systemen die daar gebruik van maken, heeft voor mij weer een hele nieuwe wereld van mogelijkheden geopend. Al met al is mijn keuze voor Informatica een mooie geweest. Muziek blijft mijn dierbare hobby. Achtergrond: GPS posities (1 pixel = 1 datapunt), TomTom Jaargang 14 • Nummer 3 • Maart 2010 Jaargang 14 • Nummer 3 • Maart 2010 Stage bij de Schotten Supplementair Reizen tijdens je studie Marjon Ruijter Vorig jaar heb ik van eind juli tot begin november stage gelopen in Glasgow, Schotland. Dat was een hele leuk tijd en het was een bijzondere ervaring om zomaar een aantal maanden ergens anders te wonen en te leven. Ik zal jullie vertellen over mijn belevenissen en hoop jullie daarmee aan te moedigen om ook een deel van je studietijd in het buitenland door te brengen. En dat hoeft niet per se Glasgow te zijn hoor, er zijn genoeg stagemogelijkheden over de hele wereld! Dat ik stage wilde lopen in het buitenland stond voor mij al langere tijd vast. Ruim een half jaar voordat het zover was ben ik begonnen met me te oriënteren. Stagecoördinator Jan de Vries wist precies te vertellen wat de mogelijkheden waren en wie waar contacten heeft. Hij vertelde me dat Hans van der Weide contact heeft met Tim Bedford van de University of Strathclyde in Glasgow. Dat sprak me aan en een stageplek was via Hans met één mailtje geregeld. Begin augustus zou mijn stage beginnen. Daarvoor ben ik met mijn vriend twee weken op vakantie geweest in Schotland om het land beter te leren kennen. Nadat we waren aangekomen in Glasgow kon ik wat spullen droppen bij m’n stageafdeling. Zo had ik alvast kennis gemaakt met de universiteit en stad waar ik 3,5 maanden zou blijven. en Mull zijn geweest, waar we hebben gewandeld en gefietst. In het pittoreske vissersstadje Tobermory staat een van de vele whiskydistilleerderijen van Schotland, waar we een korte rondleiding en kleine proeverij (om 12 uur ‘s middags) hebben gehad. Gedurende de zomer worden er, verspreid over Schotland, vele Highland games georganiseerd. Dit is een echte aanrader om heen te gaan. Wij zijn naar de Highland Games in het dorpje Taynuilt geweest. Hier waren onder andere Highland dansen, hamerwerpen, steenstoten en boomstam gooien te zien. Alle mannen natuurlijk in geruite kilt en met op de achtergrond de hele dag doedelzakmuziek! Na twee weken zijn we terug gegaan naar Glasgow. Deze grote stad vormt een groot contrast met het dunbevolkte noordelijke Schotland dat we hebben gezien. Boomstammen gooien Glasgow is de grootste stad van Schotland. Het is een oude industrie- en handelsstad, maar de laatste jaren is er veel gerenoveerd en is het meer toeristisch geworden. Heel veel musea en kerken in Glasgow zijn gratis te bezichtigen en verder kun je heel vaak studentenkorting krijgen. Een greep van wat er aan toeristische dingen te zien is: de Barony Hall, het oudste huis van Glasgow Provand’s Lordship, St Mungo’s Museum of Religious Life&Art, een horrorfilmachtige Necropolis (begraafplaats), de Glasgow Cathedral, het veel te grote Kelvingrove Art Gallery & Museum en de stiekem veel mooiere gebouwen van de University of Glasgow (de andere grote universiteit van Glasgow). Maar als je naar Schotland gaat, kom je niet echt voor de steden, maar meer voor het landschap van de Highlands. We zijn met de trein naar het kleine stadje Oban gegaan, aan de westkust van Schotland. Het openbaar vervoer is buiten de steden een stuk beperkter dan in Nederland, maar je kunt een heel eind komen. Vlakbij Oban zijn verschillende eilanden, waarvan wij op Kerrera 43 Jaargang 14 • Nummer 3 • Maart 2010 En toen begon mijn stage aan de University of Strathclyde, aan het Management Science department. Ik heb hier gewerkt aan twee verschillende opdrachten. De eerste maand was ik bezig met een opdracht over de onderhoudskosten van vliegtuigen en helikopters, dit was vooral statistiek. Ik heb regressiemodellen voor de onderhoudskosten onderzocht en gekeken wat de invloed is van variabelen zoals gewicht, complexiteit en bouwjaar. De tweede opdracht ging over stoombuizen die gebruikt worden bij de stroomopwekking van een energiebedrijf. Ze willen beter inzicht krijgen in hoe vaak en wanneer bepaalde buizen kapot gaan en hier betere voorspellingen over doen, reliability and maintenance dus. Ik heb een soort vooronderzoek gedaan en heb informatie verzameld over modellen en processen om de toestand van de buizen te beschrijven. Er kwam hier wel minder wiskunde bij kijken dan bij m’n eerste opdracht. Het was erg toegepast, ik moest rekening houden met wat het bedrijf zou willen en het wiskundig niet te moeilijk voor ze maken. Wel wat anders dus dan wat ik meestal bij de studievakken te zien krijgen en daarom ook wel interessant. De kamer op mijn afdeling deelde ik met twee promovendi. De promovendi en afstudeerders daar doen regelmatig dingen samen. Zo gaan ze bijna iedere week een keer naar de bioscoop en we zijn een aantal keer uit eten geweest of naar een pub. Het was een echte “vrouwenafdeling”, wel iets anders dan ik in Delft gewend ben, maar erg leuk. Zo gingen we met de meiden tijdens de National Chocolat Week lekker chocoladetaart eten en een romantische komedie kijken. Meestal lunchten we ook samen. Het was erg leuk om te zien hoe verschillend iedereen luncht. Een Hollandse lunch met brood is wel erg simpel eigenlijk en het kruidige warme eten van de Thaise Noh rook veel lekkerder. Voor internationale studenten werden er regelmatig activiteiten in het weekend georganiseerd. Daarnaast wordt er iedere woensdagavond een pub uitgekozen om elkaar te ontmoeten. De eerste weken dat ik er was, was het collegejaar nog niet begonnen en waren we met ongeveer 30 studenten. Maar toen het collegejaar begon waren er maar liefst 500 studenten. Dat maakte het erg makkelijk om veel mensen te leren kennen. Supplementair Eén van de trips die ik met de internationale studenten heb gemaakt was naar de opening van het Edinburgh Fringe Festival. Edinburgh is dus hoofdstad van Schotland en er zijn gedurende de zomer veel grote festivals, de Fringe is de grootste daarvan. Tijdens dit bijna vier weken durende festival zijn overal op straat artiesten te vinden, goochelaars, dansers, acrobaten, karikaturisten, muzikanten, … Dat was heel speciaal en de stad was daardoor ook erg gezellig. De week daarna was er in Glasgow een groot festival: de hele week was er het International Piping Festival, inclusief de World Pipe Band Championships 2009, oftewel een heel groot Doedelzak-festival! Nu denk je misschien “International? Ik dacht dat de doedelzak alleen in Schotland voorkomt.” Maar dat blijkt niet zo te zijn, daar kwam ik ook achter toen ik naar het Nationale Doedelzak Museum ging. In de stad, met name op het plein George Square, waren de hele week optredens te zien en ook op de campus van de universiteit werd overal muziek gemaakt! Accommodatie in Glasgow moest ik zelf regelen, maar dat is gemakkelijk gegaan. De eerste vier weken kon ik terecht op de studentencampus. Dat was ongeveer 5 minuten lopen naar m’n stageplaats, maar het waren wel ongeveer 100 traptreden op en af. De universiteit ligt op een heuvel en daar moest ik overheen. Op een aantal steile heuvels na is de stad verder redelijk vlak. Na die vier weken kon ik voor de rest van mijn verblijf terecht bij een andere studentenaccommodatie. Deze lag niet in het centrum van de stad, maar er reden veel bussen naar toe. En met mijn mountainbike, die ik op een beetje rare bazaar had gekocht voor 20 pond, was het ook goed te doen. Eerst woonden we er met z’n drieën, later met 6 internationale studenten. Naast mij twee studenten uit Litouwen, twee Duitse wiskundestudenten en een meisje uit Slowakije. Vanuit 44 Huisgenoten mijn kamer kon ik het rugbystadion van de Glasgow Warriors zien. Met twee rugbyfanaten van m’n afdeling ben ik naar een wedstrijd geweest. Als er een wedstrijd was kon ik de supporters altijd goed horen, het was leuk om het ook een keer gezien te hebben. In Delft ben ik lid bij een hardloopvereniging en ik had snel uitgezocht dat er ook een leuke studenten-hardloopvereniging in Glasgow is. In de stad kwamen we altijd veel stoplichten tegen, maar eenmaal bij de rivier of het Glasgow Green Parc aangekomen viel het verkeer mee. Iedere zaterdag werd er in een ander park een hardloopwedstrijd georganiseerd. Daar heb ik een paar keer aan gedaan. De eerste keer werd ik als Nederlander gewaarschuwd dat het parcours wel erg heuvelachtig zou zijn, het is daar nou eenmaal niet zo vlak als bij ons. Glasgow ligt op ongeveer een uur vliegen van Nederland. Zo konden mijn ouders, Jeroen en drie vriendinnen uit Delft makkelijk een weekend langs komen. Zij hadden lekker stroopwafels en drop meegenomen, die ik ook had uitgedeeld op mijn afdeling. De stroopwafels vielen in de smaak, maar drop vonden enkelen vies en medicijnachtig smaken. Met Lieke, Annegreet en Dorien hebben we een bustour naar de Highlands gemaakt. Via Loch Lomond en Fort William reden we naar het beruchte Loch Ness. Tijdens een boottocht hebben we Nessie helaas niet gezien, wel apart om te zien hoe dat monster het toerisme daar zo heeft doen opbloeien. De Schotten hebben een mooi accent, wat het wel eens lastig maakte om te communiceren. Vooral buschauffeurs en mijn hardlooptrainster daar kon ik moeilijk verstaan. Op de universiteit en met studenten gaf dit gelukkig geen problemen. Het laatste wat ik kwijt wil over Schotland is dat de mensen er bijzonder vriendelijk en behulpzaam zijn. Als je met een kaart op straat staat om de weg te vinden, word je spontaan geholpen. En bij een Ceidlidh-avond (Schotse volksdans) wordt je gewoon de dansvloer op meegenomen en worden de pasjes geleerd. Mijn tijd in Glasgow is snel voorbijgegaan en ik zal er nog vaak aan terug denken. Symposium Tuesday 27 April 2010 MustSee - Delft 10:00 - 18:00 Distributed systems P2P Cryptology Law and Privacy Lunch & Drinks included More information & Registration at symposium2010.nl Cloud your Identity, Distribute your Life Quantum Cryptography & Identity Access Management Siemens OV-chipkaart Beveiliging & Privacy Brenno de Winter Secure Multi-party Computations Prof. dr. R. Cramer Angle: 4th generation P2P Dr. Ir. J.A. Pouwelse Pseudonimisering van Persoonsgegevens Prof. dr. E.R. Verheul RFID Guardian Dr. M. Rieback Computations on Graphics, Game & Intel multi-core processors Prof. dr. W.P. Petersen Policy Laundering Jérémie Zimmermann And more... Become part of a learning adventure SHAPING leading-edge technology THALES NEDERLAND Toonaangevend in de sectoren Defence en Security. Met circa 2.000 gedreven medewerkers de topaanbieder van hightechbanen. Onze primaire focus is het innoveren van onze producten en het ontwikkelen van de nieuwste technologieën. Spraakmakende voorbeelden van onze cutting edge technologieën zijn radar-, communicatie- en command & controlsystemen voor marineschepen en communicatie-, beveiligings- en betaalsystemen voor het bedrijfsleven. Thales Nederland (hoofdkantoor in Hengelo) is onderdeel van de internationale Thales Group. OuR cAREER fEATuRES EATuRES HiGHTEcH Je werkt aan unieke en zeer complexe producten. By courtesy of Royal Schelde Group MuLTiDiScipLiNAiR Je werkt als specialist in gevarieerde, multidisciplinaire teams. iNTERNATiONAAL Je werkt voor opdrachtgevers over de hele wereld door systemen te ontwikkelen, te verkopen, te installeren, te testen en te onderhouden. DyNAMiScH Je werkt in de dynamiek van de multinational Thales. Onze vestigingen vind je overal ter wereld. Je internationale doorgroeikansen dus ook. uiTDAGEND Je werkt aan je persoonlijke ontwikkeling in een omgeving die je constant uitdaagt. EMbARk ON A Engineer THALES ADvENTuRE iN “Als Software bij Thales in binnenen buitenland THE NETHERLANDS werken aan uiteenlopende projecten op software- en hardHeb je een afgeronde opleiding in Informatica, Elektrotechniek, ware gebied. In multidisciplinaire teams ontwikkel je Technische Natuurkunde, of vergelijkbaar dan kan jouw & applicaties voor radar-, communicatie- en command loopbaan zich in verschillende richtingen ontwikkelen. controlsystemen voor marineschepen. Uiterst geavanceerde Bijvoorbeeld een bij specialistische functie als Software toepast.” Engineer, producteninwaar je de allernieuwste technieken Radar Engineer, System Engineer of Software Architect. Erik Schepers, Software Engineer. Ambieer je een Managementfunctie dan is je volgende carrièrestap Projectover Manager, Manager of Meer weten een Commercial functie binnen Software Program Manager bij metThales? mogelijk een doorgroei naar Engineering Executive Management. Mail dan naar [email protected] of kijk op www.thalesgroup.com/netherlands. Daar tref je tevens meer dan 100 stage- en afstudeeropdrachten. Direct solliciteren kan ook door je brief en cv te zenden Apply away naarstraight Thales Nederland t.a.v. Recruitment, Postbus 42, Thales komt in contact met jou@om samen jouw mogelijk7550 GD graag Hengelo of e-mail: jobs nl.thalesgroup.com heden te bekijken en je carrièrepad uit te stippelen. Ook bieden wij studenten met een technische achtergrond meer dan 100 uitdagende stage- en afstudeeropdrachten. Vraag onze gids aan of bezoek onze website. Je kunt daar ook solliciteren. www.thalesgroup.com/netherlands Tactical Display Area (TDA) Onderdeel van de user interface. Geeft een grafische weergave Worldwide: with 68.000 (in 2D of 3D) van de omgeving. Toont met iconen schepen, employees, a waar presence in vliegtuigen, onderzeeërs et 50 countries, Thales is a cetera zich bevinden. global leader in aerospace, defence and security.