Analyse ASML deelt concurrent Nikon mokerslag uit ...
Analyse ... en moet concurrentie Mapper verwelkomen
7
Maandelijks magazine voor de hightechindustrie // 14 september - 19 oktober 2012 // www.bits-chips.nl
Wegwijs in het multicoremoeras
BrainEvents@ICT, Woensdag 10 oktober 2012
Get Smart! Windows Embedded
Een ‘intelligent system’ maakt het mogelijk om data te ontsluiten en te gebruiken binnen organisaties en (bedrijfs)processen. Deze data staat verspreid over verschillende apparaten en wordt verzameld om vervolgens op een back-end server te worden opgeslagen. Van hier uit kunnen de gegevens worden vertaald en worden gebruikt om de ‘business value’ te verhogen. Onze sprekers nemen je mee in hoe dit met behulp van Windows Embedded technologie kan worden gerealiseerd en welke extra mogelijkheden het Windows Embedded platform kan bieden. Time to get smart?! Meld je aan.
Programma woensdag 10 oktober 2012 (presentaties worden in het Engels gegeven) 18:00 uur - Inloop/Lopend buffet 19:00 uur - Opening 19:15 uur - Presentatie John Koot, MVP Windows Embedded bij ICT Automatisering Nederland BV 20:15 uur - Pauze 20:30 uur - Presentatie Oliver Niedung, OEM Lead Accountmanager bij Microsoft 21:30 uur - Afsluiting met borrel Locatie:
Koningshof, Locht 117 te Veldhoven
Aanmelden: Er is een beperkt aantal plaatsen beschikbaar. Toewijzing gebeurt op volgorde van aanmelding. Schrijf je dus snel in! Stuur een e-mail naar
[email protected]. Aanmelden kan tot uiterlijk 1 oktober a.s. Vragen:
Neem contact op met Jiska van Herpen of Tjitske Hartman, telefoon 040 266 91 00
Opinie Redactioneel
Scherp
W
Paul van Gerven is redacteur van Bits&Chips.
im van der Leegte mocht als reddende engel van Nedcar eind augustus zijn stokpaardje uitventen in NRC Handelsblad. We moeten weer tariefmuren optrekken om de Europese maakindustrie te beschermen, zei de VDL-topman, die er geen kwaad in ziet een vleugje chauvinisme door kille economische theorieën te roeren. Velen in de hightech zullen zich in zijn sentiment kunnen inleven. Juist in deze sector voelt concurreren tegen opkomende landen wel eens als voetballen op een veld dat schuin omhoog loopt, en echt niet alleen maar vanwege de lagere lonen. Een recent rapport van de Europese Commissie zelf constateert nota bene dat het aantal protectionistische maatregelen buiten Europa aanmerkelijk is gestegen. Dat is voor het vierde jaar op rij. Van der Leegte heeft dus een punt: Europa laat zich de kaas van het brood eten. Terwijl ‘wij’ dogmatisch vastklampen aan het vrijhandelsideaal, smokkelt de rest van de wereld met regels en afspraken. De standaard reactie van de EU – praten, protesteren en procederen – zijn niet bepaald een effectief antwoord gebleken. Het wordt tijd dat Europa stopt het braafste jongetje van de klas te zijn en eens een keer zijn tanden laat zien. Toch is protectionisme niet het ultieme antwoord, en Wim van der Leegte is oud genoeg om te hebben gezien waarom. Dertig jaar geleden spande de onlangs overleden Philips-topman Wisse Dekker zich eveneens in voor een beschermde Europese interne markt (zie pagina 20). Ook hij had te maken met buitenlandse concurrenten die de hand boven het hoofd werd gehouden, maar in de luwte van beperkte concurrentie en conservatieve markten was zijn eigen Philips in slaap gesust en obees en zelfgenoegzaam geworden. Het concern ging hier begin jaren negentig bijna aan ten onder. Wat met Philips is gebeurd, kan ook hele landen overkomen. Japan, dat destijds de grootste dreiging vormde voor Dekker, ondergaat nu een vergelijkbaar lot. In 1985 hadden de Japanners 85 procent van de DRammarkt in handen, anno 2012 heeft de laatste Japanse DRam-maker faillissement aangevraagd. Met andere halfgeleiderfabrikanten gaat het al niet veel beter, noch met de Japanse economie, die al jaren muurvast zit. Protectionisme is dus een kortetermijnoplossing, die op den duur leidt tot verlies van scherpte en concurrerend vermogen. Als dat nog geen overtuigende argumenten tegen protectionisme zijn, dan wellicht de trans-
formatie die onze handelspartners hebben ondergaan. Honderden miljoenen Aziaten en Zuid-Amerikanen leiden dankzij de wereldhandel een betrekkelijk comfortabel bestaan in de middenklasse, terwijl zij nog geen halve eeuw geleden in bittere armoede leefden. Dat is pas ontwikkelingshulp. De rekening voor deze charitas wordt echter wel heel eenzijdig op het bordje van de industrie gelegd. Speciale aandacht van overheden, buiten het opwerpen van handelsbarrières, is ter compensatie dan ook gerechtvaardigd. Een snackbar hoeft niet te concurreren met China (wel met Chinezen), een hightechbedrijf wel. Wie de verkiezingscampagne nauwgezet heeft gevolgd, zou zomaar het idee kunnen krijgen dat deze gedachte een zachte landing heeft gemaakt in Den Haag. Na de
Europa laat zich de kaas van het brood eten deconfiture van de financiële sector heeft de politiek ontdekt dat Nederland nog een industrie heeft. Premier Rutte maakte bij herhaling gewag van ASML’s spectaculaire samenwerking met Intel, TSMC en Samsung (zie pagina 14). Over dat soort dingen hoorde je politici vroeger nooit. Gevreesd moet worden dat het na de stembusgang weer oorverdovend stil wordt. Het topsectorbeleid was een goede aanzet om specifieke noden van specifieke sectoren te bedienen, maar de invoering ging hand in hand met een forse bezuiniging op onderzoek. Welk kabinet gaat dat gat dichten? Alleen de uiterste flanken hebben geen sadomasochistische begrotingsinstincten. Over een langstudeerboete à een avondje minder zuipen per week wordt tot laat in de avond gedebatteerd, maar afschaffing van collegegeld voor bèta’s is nog geen vijf minuten waard. Laten we vooral blijven denken dat Nederland ook echt slimmer wordt van steeds meer studenten die vrijblijvend door steeds verder afgeknepen universiteiten worden gejast. Nee, de industrie is nog lang niet het troetelkindje van de politiek. Ach, waarde lezers, u moet maar denken: dan blijft u scherp. En trouwens nog gefeliciteerd met de vijfde plaats in de ranglijst van het World Economic Forum.
7|3
Inhoud Deze keer in Bits&Chips
11
14
Nieuws
Nieuws
ASML profiteert mee van succes Mapper
ASML en Mapper worden vaak als concurrenten voorgesteld, maar voorlopig hebben ze vooral gedeelde belangen.
Deal tussen Intel en ASML luidt nieuw IC-tijdperk in
De miljarden die Intel in ASML investeert, zijn een logische consequentie van de wet van Moore.
signaalanalyzer en -generator Atomen als 13 To:
[email protected] 24 NIin ééncombineert 29 programmeerbare module elektronen Nieuws
7 8 11 14
In 140 woorden Overzicht ASML profiteert mee van succes Mapper Deal tussen Intel en ASML luidt nieuw IC-tijdperk in 20 Wisse Dekker (1924-2012): Charismatische topman die naliet te hervormen 22 Mathworks komt met ‘grootste update in 21 jaar’ 24 NI combineert signaalanalyzer en -generator in één programmeerbare module
4|
7
Opinie
3 Scherp – Paul van Gerven 13 To:
[email protected] – Marcel Pelgrom 17 Testplan of schelmenroman – Derk-Jan de Grood 23 Hoe programmeer je de multi-mens? – Albert Mietus 25 De headhunter – Anton van Rossum 59 Bankieren in een massively multi-core parallel universe – Joost Backus
Tech-kiek
26 Elektronica
Achtergrond
29 Atomen als elektronen 30 Minder vertraging door virtuele tunnel
In bedrijf
32 Vitronics Soltec
En verder
60 61 64 67
Trainingen Events Wegwijzer Colofon
Thema Multicore
36
50
Interview
Achtergrond
Na bijna vijf jaar schaven is de FPGA-programmeertool van Bart Kienhuis en zijn bedrijfje Compaan klaar voor de markt.
Voor zijn afstudeerwerk bekeek Niek Linnenbank hoe het Minix-OS over 48 kernen kan worden verspreid.
FPGA’s ontsluiten voor de softwaregeneratie
Wie wijst de programmeur de 34 weg in het multicoremoeras? Analyse
34 Wie wijst de programmeur de weg in het multicoremoeras?
Interview
36 Bart Kienhuis (Compaan) FPGA’s ontsluiten voor de softwaregeneratie
Opinie
41 Vele handen maken licht werk zwaar – Wim Hendriksen
De toekomst van besturingssystemen is gedistribueerd
GPU-rekenen: bezint eer ge begint 54 (maar doe het daarna wel)
Achtergrond
42 Parallelliseren is geen kinderspel 46 Makkelijkste weg naar multicore loopt via besturingssysteem 49 Multicore stelt nieuwe eisen aan debuggers 50 De toekomst van besturingssystemen is gedistribueerd 54 GPU-rekenen: bezint eer ge begint (maar doe het daarna wel) 56 Multicore als wapen tegen ruimtestraling
7|5
How do you reposition a wafer, nanometer accurately, every 50 μs? Join ASML as a Software Engineer and help to push the boundaries of what’s possible. At ASML we bring together the most creative minds in physics, electronics, mechatronics, computer science, software and precision engineering to develop lithography machines that are key to producing cheaper, faster, more energy-efficient microchips. Our machines need to image billions of structures in a few seconds with an accuracy of a few silicon atoms. But our customers constantly need faster machines. And they constantly need to make smaller, more energy-efficient chips. That’s why we have developed a revolutionary wafer-repositioning system. But we were only able to do this by using an extremely diverse set of software languages and tools – harnessed by an equally diverse and talented team of Software Engineers. If you’re a team-oriented Software Engineer who sees a challenge in complex technical problems, expert in programming and modeling for critical real-time applications and capable of working to demanding deadlines, you’ll find working at ASML a highly rewarding experience. Per employee we’re Europe’s largest private investor in R&D, giving you freedom to experiment and a culture that will let you get things done.
www.asml.com/careers
Analyse In 140 woorden
Vergeven en vergeten Je moet het maar durven: om een zak geld vragen als iedereen de broekriem moet aanhalen. Toch is dat precies wat werkgevers en onderzoeksorganisaties deden een week voor de verkiezingen. Om te beginnen maar eens 375 miljoen euro erbij ter compensatie van de vijfhonderd miljoen aardgasbaten die na een overgangsperiode in de staatskas worden gestort in plaats van in onderzoek te worden gestoken. Maar ei-
200
150
100 Automotive Identificatie Draadloze infrastructuur, verlichting en industrieel Mobiel, consumenten en computing
50
K2-’12
K1-’12
K4-’11
K3-’11
0
K2-’11
Het bloed kruipt ... Toen Nokia in 2008 honderd miljoen euro neertelde voor het opensource Qt-programmeerraamwerk, moest dat dé uniforme aanpak worden voor het ontwikkelen van toepassingen op smartphones, tablets en pc’s van het bedrijf en van anderen – zowel het Symbian-smartphone-OS als de op smartphones gerichte Linux-variant van Nokia was als opensource beschikbaar en moest een rijk ecosysteem opleveren. Nokia bleef echter dralen en toen het vorig jaar een draai maakte richting Windows Mobile, kwam er een eind aan de smartphone- en
250
K1-’11
Innovatie
Mobiel
300
K4-’10
Bron: WEF
derland was natuurlijk te danken aan zijn topsectorbeleid. Dat is dan een klein wonder, want zijn magnum opus als minister van Economische Zaken, Landbouw en Innovatie draait pas een paar maanden en nog altijd niet op volle toeren. Daags voor de WEF-lijst bekend werd gemaakt, meldde Verhagen de Tweede Kamer dat hij op de valreep nog wat had gesleuteld aan de opzet van de Topconsortia voor Kennis en Innovatie (TKI’s). PvG
Echte mannen hebben fabs Is het fabless businessmodel aan slijtage onderhevig? Wanhopig op zoek naar gegarandeerde capaciteit zouden Apple en Qualcomm TSMC meer dan een miljard hebben aangeboden voor een eigen dedicated fab, maar de Taiwanezen wezen het bod van de hand. Het door Bloomberg in de wereld gebrachte bericht volgt op een periode waarin verschillende fabless bedrijven, waaronder Qualcomm, steen en been klaagden over het capaciteitstekort bij foundry’s, en dan met name bij TSMC. Apple had daar als klant van Samsung minder last van, maar de relatie met de Koreanen is op een dieptepunt door de geruchtmakende patentzaak in de Verenigde Staten. Hebben Apple en Qualcomm dan toch spijt dat ze hun productie niet in eigen hand hebben? PvG
K3-’10
Nederland is Duitsland en de Verenigde Staten gepasseerd in concurrentiekracht.
Halfgeleiders
K2-’10
Zwitserland Singapore Finland Zweden Nederland Duitsland Verenigde Staten Groot-Brittannië Hongkong Japan
Draadloos
Samenwerken blijft moeilijk Eind 2010 zei marktonderzoeker dat 2012 het make or break-jaar zou zijn voor NFC. Wie een blik op de laatste cijfers van NXP werpt, ziet de weegschaal voorzichtig naar make overhellen. De Identificatie-business van het bedrijf vertoont de laatste twee kwartalen een groeispurt en is nu bijna de grootste van de vier mixed signal-lijnen. Steeds meer smartphones, tablets en zelfs enkele pc’s worden met de technologie uitgerust. Er is echter een probleem: bijna niemand weet nog wat ze ermee
K1-’10
Land
K4-’09
Rang 2011-2012 1 2 4 3 7 6 5 10 11 9
K3-’09
Rang 2012-2013 1 2 3 4 5 6 7 8 9 10
tablettoekomst voor Qt. Afgelopen maand verkochten de Finnen het raamwerk voor een appel en een ei aan hun landgenoten van Digia. Dit bedrijf beloofde gelijk vaart te maken met ondersteuning voor Android en IOS, de twee smartphoneplatforms die ertoe doen, naast de brede reeks platforms waarop het al werkt. Nokia’s toekomstvisie voor Qt kan dus alsnog werkelijkheid worden – maar dan zonder Nokia. PE
K2-’09
Tien meest concurrerende economieën
genlijk moet er 1,2 miljard euro per jaar bij. Weinig kans natuurlijk dat de wens wordt ingewilligd, maar het goede nieuws is dat werkgevers en de onderzoekswereld het kennelijk weer hebben bijgelegd. Kennisinstellingen hadden namelijk het idee dat werkgevers twee jaar geleden hadden gebroken met de vertrouwde ‘kenniscoalitie’ en voor eigen gewin waren gegaan met het topsectorbeleid. Een misverstand, volgens VNO-NCW-voorman Bernard Wientjes. Die ombuiging van de aardgasbaten had hij Den Haag blijkbaar niet ingefluisterd. PvG
K1-’09
Dromen en bedrog Nederland is dit jaar de op vier na meest concurrerende economie op de ladder van het World Economic Forum – de eerst topvijfnotering sinds 2000. Minister Verhagen was er als de kippen bij om de oude politieke droom als zijn succes te claimen: de opmars van Ne-
Miljoenen dollar
Economie
aanmoeten. Het blijft wachten op een breed gedragen initiatief voor een draadloze portemonnee waar consumenten en winkeliers mee aan de slag durven te gaan – een van de grootste projecten op dat vlak, de Nederlandse alliantie van ABN Amro, ING, KPN, Rabobank, T-Mobile en Vodafone, spatte afgelopen zomer uit elkaar. Een herhaling van 2011 is niet ondenkbaar. PE
7|7
Nieuws Overzicht Halfgeleiders René Penning de Vries stopt als NXP-CTO Na een loopbaan van 27 jaar bij Philips en NXP Semiconductors
is René Penning de Vries half juli gestopt als CTO en directeur van NXP Nederland. Hans Rijns neemt de positie van technologiebaas waar, terwijl Guido Dierick de leiding krijgt over de Nederlandse activiteiten van de chipmaker. PE /penningdevries ItoM wint in patentenstrijd tegen Broadcom en Qualcomm Eind juli heeft chipbedrijf ItoM een schikking bereikt met enkele grote Amerikaanse bedrijven, waaronder Broadcom en Qualcomm. Zij worden niet verder vervolgd in de patentenrechtszaak die de chipmaker vorig jaar aanspande tegen een aantal Amerikaanse multinationals. In ruil zou ItoM miljoenen dollars ontvangen, hoewel hierover officieel niks is bekendgemaakt. PE /itom
Verkeer en vervoer Nieuwe eigenaar knapt AutomotivecampusNL voor miljoenen op De AutomotivecampusNL in Helmond krijgt een flinke opknapbeurt, aldus Eindhovens Dagblad. Kersverse eigenaar Van de Ven Bouwgroep uit Veghel trekt zes miljoen euro uit
om de onderkomens van APTS componenten sluiten hier goed en Benteler Engineering Ser- bij aan, vindt Bruco. PE vices te vernieuwen en auto- /fast technologische onderwijsvoorzieningen toe te voegen voor Onderzoek Fontys en ROC’s. NR /automotivecampus Duitse topfunctie voor R&D-baas Holst Lithografie Wetenschappelijk directeur Paul Blom van het Holst Centre Topman EUV-bronmaker heeft een vergelijkbare positie XTreme doet stap opzij aanvaard bij het prestigieuze Marc Corthout heeft de leiding Max Planck Institute for Povan EUV-bronontwikkelaar lymer Research. In het Duitse XTreme Technologies ‘in goed Mainz gaat hij een team opzetoverleg’ overgedragen aan Tatsu- ten dat zich richt op materialen shi Igarashi, afkomstig van voor organische elektronica. XTremes Japanse moederbedrijf Blom blijft parttime als adviUshio. Volgens Corthout lagen seur betrokken bij Holst. PvG pragmatische financiële over- /holst wegingen ten grondslag aan de managementsreductie. Hij blijft Dienstverlening voorlopig op consultancybasis in dienst van XTreme. PvG /xtreme Bankzitters ICT springen bij in Duitsland ICT Automatisering heeft NeElektronica derlandse en Poolse bankzitters naar Duitse klanten geOvername geeft Neways stuurd om een handje te helpen. voet aan de grond in Twente Ondanks verwoede wervingsNeways heeft de ontwikkelacti- pogingen komt de dienstverviteiten overgenomen van IACS lener in Duitsland nog altijd uit Rijssen, specialist in elektro- technici tekort, zoals het hele nische besturingen. De acquisitie bedrijfsleven daar. In Nederbetreft tien ontwikkelaars, ac- land heeft ICT momenteel juist tiva en enkele nieuwe klanten in mensen over. NR verschillende sectoren. Neways /bankzitters vestigt de verworven activiteiten op korte termijn op of nabij de Logica definitief in Canadese handen hightechcampus van de UT. NR /neways De CGI Group heeft de inlijving van Logica afgerond. De CanaHerstart voor Fast Benelux dese aanbieder van IT- en busina overname door Bruco nessprocesservices betaalt onIC-ontwerper Bruco uit Borne geveer 2,1 miljard euro voor de heeft de activiteiten van de fail- Brits-Nederlandse dienstverleliete elektronicadistributeur Fast ner en neemt diens nettoschuld Benelux uit Hengelo overgeno- van zo’n 411 miljoen euro op zich. men. De aankoop komt onder Als gevolg van de overname heeft Bruco Components te hangen, Logica-topman Andy Green zijn het bedrijfsonderdeel dat logis- koffers mogen pakken. NR tieke diensten in de IC-ontwerp- /logica keten regelt. De Fast-activiteiten rond lastig te vinden of obsolete
Chipontwerp Eindhovense starter werkt aan eenchipradar Start-up Omniradar uit Eindhoven ontwikkelt een complete radar met antennes en analoog-digitaalconversie voor de 60-GHz-band op één chip. Het IC biedt verschillende programmeerbare functies, bijvoorbeeld voor de basisband. De oplossing vereist geen complex microgolf- of RF-bordontwerp, maar eenvoudige laagfrequente componenten volstaan om de applicatie af te bouwen. NR /omniradar
Consumentenelektronica TUE-spin-off bouwt trainingssysteem voor voetballers De Eindhovense start-up Smartgoals heeft een slim trainingssysteem gelanceerd voor voetballers. De oplossing bestaat
uit draadloos communicerende pylonen, die paarsgewijs poortjes vormen waar de bal of speler doorheen moet. De kegels zijn uitgerust met verlichting om het eerstvolgende ‘doel’ te markeren. VDL tekent voor de productie. NR /smartgoals
Medisch John Lapré aan het hoofd van Nucletron John Lapré heeft sinds kort de leiding over Nucletron. Officieel is hij daarmee vicepresident brachytherapie van het Zweed-
De volledige artikelen zijn te vinden op www.bits-chips.nl/nr7 gevolgd door het label bij het betreffende stuk.
8|
7
se Elekta, dat de Veenendaalse onderneming vorig jaar overnam. Lapré was R&D-directeur bij Nucletron. Zijn voorganger Jos Lamers vond het afronden van de integratiefase een mooi moment om op te stappen. PE /nucletron Medische technostarter uit Delft in Limburgse handen Ingenieursbureau Kleeven uit Horst, dat apparatuur ontwikkelt, produceert en vermarkt voor de eerste- en tweedelijns gezondheidszorg, neemt Maxam Medical over. De TU Delft-spinoff specialiseert zich in een betere analyse van bekkenbodemproblemen bij vrouwen, die incontinentie en andere klachten kunnen veroorzaken. Fysiotherapeuten kunnen hiermee hun training beter afstemmen. PE /maxam Salusion rolt RF-incontinentiesensor uit Salusion heeft zijn RFID-gebaseerde incontinentiewaarschu-
wingssysteem commercieel uit- Sensoren gerold in drie zorginstellingen. Het Sensotive-systeem is be- Sensornetwerken doeld voor mensen die zelf niet krijgen vorm in Europees kunnen aangeven dat hun in- miljoenenproject continentiemateriaal toe is aan Devlab, NXP, Philips en de drie vervanging. Het bestaat uit een TU’s partneren mee in het Eusensorsticker voor in het ver- ropese Demanes-onderzoeksband en een draagbare scanner project naar grootschalige gedie aangeeft wanneer het tijd is distribueerde systemen die zich aanpassen aan de situatie. Onvoor verschoning. PE /salusion derdeel zijn twee proeven met sensoren in Assen: om het energieverbruik van straatverlichBeveiliging ting te optimaliseren en om het vrachtvervoer in de binnenstad Loyaltek mengt te verminderen. PE /demanes zich in Belgische betaalterminalmarkt De Belgische markt voor betaalterminals is een nieuwe speler Testen en meten rijker. Met een eigen product opent Loyaltek de aanval op de Meet- en regelspecialist gevestigde namen Atos World- Hotraco lijft line uit Brussel, CCV uit Ieper branchegenoot in en Keyware uit Zaventem. De Systeemhuis Hotraco uit Heeveneens in de hoofdstad zete- gelsom heeft Electro Damenlende nieuwkomer mikt vooral Koster uit Belfeld overgenomen. Dit bedrijf is gespecialiseerd in op mobiele betalingen. NR /loyaltek computergestuurde meet- en
regeltechniek voor industriële toepassingen en gecertificeerde verdeelinrichtingen. Onder de nieuwe eigenaar gaat EDK verder als zelfstandige productmarktcombinatie. NR /hotraco
Zonnecellen Failliet Q-Cells vindt koper Hanwha lijft het sinds april in surseance van betaling verkerende Q-Cells in. De Koreaanse industriegroep neemt een schuld van 272 miljoen dollar over en betaalt vijftig miljoen dollar voor wat ooit ’s werelds grootste zonnecelfabrikant was. Q-Cells blijft grotendeels intact: 1250 van de 1550 werknemers behouden hun baan. PvG /q-cells
Meest geklikt in onze nieuwsbrief 1 Innovatie
Van der Leegte stelt vrijhandel ter discussie VDL-topman Wim van der Leegte heeft in NRC gepleit voor herinvoering van invoerrechten in de EU: ‘Als wij gaan heffen en China gaat niet meer leveren, gaan we hier weer zelf spullen maken. Of: China blijft leveren en we gaan er veel op verdienen.’ PvG /vanderleegte
2 Lithografie
Experts prefereren e-beam boven EUV Deelnemers van IEEE’s 2012 Lithography Workshop werd gevraagd zich te verplaatsen in de positie van research-
directeur en tweemaal honderd dollar te verdelen over kortetermijn-R&D (25-nanometerchips in 2014) respectievelijk langetermijn-R&D (13-nanometerchips in 2020). In de laatste categorie zouden zij e-beamlithografie meer geld geven dan EUV. PvG /euv
3 Medisch
Eerste order voor digitale microscoop Philips Philips heeft de eerste commerciële order binnen voor zijn pathologiescanner, waarmee microscopische monsters zijn te digitaliseren en via een digitale workflow te bekijken. Het Erasmus Medisch Centrum schaft het systeem aan voor onderzoeks- en onderwijsdoel-
bedrijf: hoewel een van ’s werelds grootste zonnecelmakers heeft het vier kwartalen op rij geen winst geboekt en ruim twee miljard dollar schuld. PvG /suntech
5 Energie einden. De order is onderdeel van het Cyttron II-project naar digitale gegevensuitwisseling tussen ziekenhuizen. PE /pathologie
4 Zonnecellen
Solarcrisis bereikt China Oprichter Zhengrong Shi is gestopt als CEO van Suntech. Algemeen wordt aangenomen dat de onverwachte manoeuvre te maken heeft met de financiële problemen van zijn
Draagvlak voor slimme meter in België brokkelt af De vijf beheerders van het Belgische stroomnet hebben zich uitgesproken tegen de grootschalige uitrol van de slimme meter voor huishoudens die slechts stroom consumeren; alleen als ze ook terugleveren door bijvoorbeeld zonnepanelen is zo’n systeem interessant. Voor geen van de spelers is de meter rendabel, concluderen ze uit onderzoek. PE /slimmemeter
7|9
Hardware Support includes Agilent, Tektronix, LeCroy, Rohde & Schwarz, National Instruments, Anritsu, Keithley, Yokogawa, Tabor, Pickering, and more
®
Protocols and Standards supported include GPIB, LXI, IVI, PXI, AXle, TCP/IP, VISA, USB, UDP, and RS-232
CONNECT MATLAB TO YOUR TEST HARDWARE with INSTRUMENT CONTROL and DATA ACQUISITION TOOLBOXES
® ®
Connect your test equipment directly to MATLAB using standard communication protocols and instrument drivers that support thousands of instruments. You’ll be able to analyze and visualize your results as you collect them, using the full power of MATLAB.
Find it at
www.mathworks.nl/connect supported hardware list trial request
MATLAB is a registered trademark of The MathWorks,Inc. Other product or brand names may be trademarks or registered trademarks of their respective holders. ©2012 The MathWorks, Inc.
MathWorks Benelux Now hiring for technical and sales positions www.mathworks.nl/contact
Analyse
Halfgeleiderindustrie
ASML profiteert mee van succes Mapper Demcon ontwikkelde voor Mapper een waferpositioneringssysteem.
N
a het nieuws dat Mapper tachtig miljoen euro had opgehaald bij investeerders (zie kader) waren analisten en financiële media er als de kippen bij om te benadrukken dat het Delftse bedrijf voorlopig geen bedreiging vormt voor ASML. ‘Introductie van nieuwe technologie kost in deze markt veel tijd. Het is niet mogelijk om vandaag op morgen direct impact te hebben’, aldus Peter Olofsen van Kepler in de Telegraaf. Jos Versteeg van Theodoor Gilissen noemde de e-beamtechnologie uit Delft tegenover persbureau ANP zelfs een ‘project voor de verre toekomst’. Aan de vergelijking tussen EUV en e-beam is blijkbaar niet te ontkomen, hoe graag CEO Bert Jan Kampherbeek van Mapper dat ook anders zou zien. Hij positioneert e-beam liever als op zichzelf staande lithooplossing, die zich in bepaalde markten kan invechten, afhankelijk van het product (aantal chiplagen en maskers, complexiteit van de patronen), de markt (marges, volume) en de eigenschappen van de EUVen e-beammachine (doorvoer) die ASML respectievelijk Mapper uiteindelijk weten te realiseren. Als directe concurrentie met EUV al aan de orde is, dan duurt dat nog minimaal tot het einde van het decennium. In plaats van over bedreigingen te spreken, is het beter om de zegeningen aan te halen die Mapper voor ASML én de Nederlandse maakindustrie betekent.
Knabbelen ASML is druk doende om meer verantwoordelijkheden bij zijn leveranciers te leggen. Door naast productie ook R&D en ontwikkeling van (sub)modules uit te besteden, kunnen de Veldhovenaren hun handen vrijmaken voor kerncompetenties. Er mogen bovendien lagere doorlooptijden en kostenbesparingen van worden verwacht, terwijl toeleveranciers aan innovatief vermogen en slagkracht winnen,
ASML en Mapper worden vaak als concurrenten voorgesteld, maar voorlopig hebben ze vooral gedeelde belangen. Paul van Gerven
die zij ook voor andere klanten kunnen aanwenden. Voor ASML betekent dat stabielere partners, die een downturn in de halfgeleiderbusiness makkelijker kunnen doorstaan. Mapper heeft het Veldhovense bedrijfsmodel grotendeels gekopieerd, en draagt dus bij aan de versterking van het Nederlandse hightech-ecosysteem, waar ook ASML op leunt. De Delftenaren beschouwen de ontwikkeling van hun elektronenkanon als corebusiness en hebben toeleveranciers ingeschakeld voor productie en ontwikkeling van ‘de rest’. Aan een datacorrectiesysteem en een waferstagemodule hebben bijvoorbeeld Technolution respectievelijk Demcon een interessante business. Beide bedrijven werken zonder problemen ook voor ASML. De uitbreiding van farm-out (in de gebruikelijke terminologie) of virtuele integratie (in de terminologie van ASML) is bovendien geen gemakkelijk proces. Bij OEM’s schrikken managers ervoor terug om taken uit handen te geven, uit angst voor
vertragingen of door een gevoel van trots. Toeleveranciers op hun beurt kunnen niet van de ene op de andere dag alles doen dat ASML van hen vraagt. Ze moeten nieuwe afdelingen opzetten, geschikte mensen vinden en leren hoe zij hun bedrijfsprocessen moeten inrichten. Hoe meer bedrijven het voorbeeld van ASML volgen, hoe sneller toeleveranciers kunnen lopen. Met de transitie naar 450 millimeter wafers en de volgende generatie EUV voor de deur (zie pagina 14) kan ASML voorlopig alleen maar blij zijn met het succes van Mapper. En mochten de Delftenaren aan het Veldhovense marktaandeel gaan knabbelen, dan ligt er – ondanks stellige uitspraken van tegenovergestelde strekking vorig jaar – vast een plan B klaar. Bert Jan Kampherbeek verzorgt op 8 november de keynote op Bits&Chips 2012 Embedded Systems. Hij zal daarbij ook ingaan op de rol die hij Mapper toedicht in het Nederlandse ecosysteem.
Mapper haalt 80 miljoen op Mapper heeft met een gang langs investeerders tachtig miljoen euro opgehaald. De machinebouwer gaat het kapitaal gebruiken om de eerste e-beamtoestellen uit te leveren en om de productiecapaciteit op te schroeven van zes naar twintig machines per jaar in 2014. Het leeuwendeel van de nieuwe kapitaalinjectie – veertig miljoen euro – komt op naam van Rusnano, een investeringsfonds van tien miljard dollar opgezet door de Russische overheid om de nanotechnologie-industrie in Rusland te stimuleren. Van de Delftenaren werd dan ook verwacht dat het in ruil voor de financiële ruggensteun een activiteit in Rusland zou ontplooien. Deze voorwaarde is afgedekt door een productiefaciliteit op te zetten voor het Mems-gebaseerde lenssysteem dat Mapper gebruikt om zijn elektronenbundels te focussen. De andere helft van de investering is afkomstig van bestaande aandeelhouders, waaronder het investeringsvehikel van Arthur del Prado, investeerder Parcom Capital en vermogensbeheerder Hoving & Partners. Ook toeleveranciers Demcon en Technolution, enkele privé-investeerders en Agentschap NL (via een innovatiekrediet) doen een duit in het zakje.
7 | 11
BANKGARANTIE? BAANGARANTIE!
Welke crisis? FEEL THE LOL! Crisis of geen crisis, werk moet volgens Nspyre altijd leuk en uitdagend zijn. Intens in je nopjes zijn met wat je doet kun je niet uitleggen, dat moet je voelen. Daarom: FEEL THE LOL. Nspyre heeft op dit moment zoveel te doen, dat we een baangarantie geven. Altijd voldoende opdrachten en projecten om aan je carrière te werken. En het gevoel te hebben dat je LOL in je werk hebt. We zoeken nieuwe collega’s op het gebied van technische automatisering. Die een goed gevoel willen ervaren door bezig te zijn met uitdagende opdrachten en het toepassen van moderne technologie. Kijk eens op onze carrièrepagina naar de specifieke vacatures of stuur je CV voor een open sollicitatie. LET’S FEEL THE LOL TOGETHER! KIJK OP WWW.NSPYRE.NL/CARRIERE/FEEL-THE-LOL
Opinie Innovatie
To:
[email protected]
E
Marcel Pelgrom
xcuses, maar ik was te druk met klanten om op jouw laatste twee mails te reageren. Klanten zijn net kiezers: eerst een beetje paaien en dan pas de rekening presenteren. Het verschil is dat wij direct moeten leveren; kiezers mogen vier jaar wachten. Je doet een aantal leuke observaties over die Haagse babbelaars. Een paar van jouw inzichten zouden Den Haag doen schudden alsof er al jaren aardgas opgepompt wordt. Maak je geen zorgen dat deze correspondentie op straat komt. Dit land is opgedeeld in volstrekt losstaande zuilen. Een lek van mijn zuil naar de jouwe is onmogelijk. Jaren geleden zijn de christelijke, socialistische en liberale zuilen omgevallen. Uit de brokstukken zijn nieuwe zuilen opgetrokken: een financiële zuil, een landbouwzuil, een regentenzuil, een onderwijszuil en een industriezuil. Elke zuil heeft zijn eigen infrastructuur met wetenschappelijke opvoeding, een eigen medianetwerk en bij voorkeur een paar Haagse babbelaars. Kijk naar de oudste beroepsgroep (nee, niet die): de landbouw. De boeren hebben het prima voor elkaar in Nederland en Europa. Hun voormannen zitten overal aan tafel, want als ze met hun vingers knippen, staan jullie tot de knieën in de gedumpte melk, appels of stront. Met de kleinste universiteit in Nederland en een welgezinde redacteur bij het NOS-journaal lijkt het wel of er alleen in Wageningen relevant onderzoek gebeurt. Het onderwijs was ooit de krachtigste zuil: de helft van de volksvertegenwoordiging kwam uit het onderwijs. Jarenlang heersten ze en kregen ze de hoogste budgetten. De onderwijszuil raakte volledig afgesloten van de wereld. Ze keuvelen over hun pedagogische hobby’s, maar wat er na de opleiding met mensen gebeurt, weten ze niet. Zo verdwenen het beroepsonderwijs, de ouderwetse middelbare school en onze academische toppositie. Zet de zaak eens op zijn kop net als de Finnen: alleen zwaar geselecteerde kandidaten opleiden tot leraar. Scherpe selectie bij de ingang van de universiteit vervangt de rendementsoptimalisatie. En verwijder alle management uit het onderwijs: dat heeft alle cement uit de voegen van deze zuil geschraapt. Gelukkig wil de gezondheidszorgzuil er nog wel een laag bovenop bouwen. ‘Ik weet niet waar die dertien miljard gebleven zijn, maar het is echt goed besteed’, kraaide een gezondheidsbabbelaar. Dat is toch een bekentenis van verduistering die strafrechtelijk vervolgd kan worden?
Meer strafbare zuilen: de financiële zuil. Wat hebben ze de rest in de tang! Via de financiële wetgeving controleren ze alle geldstromen. Die ‘financiële crisis’ ontstond compleet binnen de financiële zuil. Niemand op jouw niveau had iets in de gaten of wilde wat doen (wat is erger?). Van Wognum tot Wall Street wisten ze allemaal hoe ze rommelden en dat ultimo de belastingbetaler de scherven mocht opruimen. Na de eerste schrik zijn ze gewoon weer terug op het oude pad. Met als grootste concessie dat bonusjes vervangen zijn door grove salarisverhogingen. Waarom heb je die rommelende zakenbanken niet losgemaakt van de spaarpotbanken? Of bederf je dan je eigen oudedagsvoorziening, in gezelschap van je voorgangers Wouter, Gerrit en Wim? Onze industriezuil zou er een voorbeeld aan kunnen nemen. Ons imago stinkt harder dan die onderwijsbeerput. Bij ‘de schoorsteen moet roken’ denkt een Duitse politicus aan geld verdienen, maar Haagse babbelaars denken meteen aan nieuwe
Verwijder alle management uit het onderwijs milieumaatregelen. Een ingenieur is in de media een nerd en geen innovatieve held. ASML haalt de krant als het relevant is voor de financiële zuil, maar je leest geen woord over EUV-lithografie. Is dat vreemd? De vorige industrieminister had praktijkervaring in het kleuteronderwijs, de huidige heeft met kamerbrede steun meteen alle bedrijfsgerichte innovatiesubsidie geschrapt. Het is diep triest dat alle babbelplannetjes van links tot rechts ter discussie staan, behalve deze ene waar onze toekomstige voorspoed van afhangt. Een nieuwe formatie brengt nieuwe kansen. Zet nou eens de Nederlandse industriële toekomst op de formatieagenda met echt innovatiebeleid, behoud van innovatieve Nederlandse bedrijven, gerichte stimulering van initiatieven tussen kennisinstellingen en industrie en een visionair antwoord op de snel stijgende Aziatische productiekosten, oplopende transportuitgaven en grondstoffenschaarste. Maar vooral: zorg dat Nederland weer trots wordt op zijn industrie. Als je daarover wilt mailen, maak ik tijd voor je!
7 | 13
Analyse Halfgeleiderindustrie
Deal tussen Intel en ASML luidt nieuw IC-tijdperk in De spectaculaire miljarden die Intel in ASML investeert, zijn een logische consequentie van de wet van Moore en de bijzondere rol die lithografie daarin speelt. Uiteindelijk kan er maar één fotolithospecialist overleven. Nikon heeft het nakijken. Paul van Gerven
D
e bondscoach hoeft een speler maar te noemen, zonder er iets wezenlijks over te zeggen, om toch de aandacht van heel voetbalminnend Nederland te trekken. Zo begon het getouwtrek om 450 millimeter wafers ook. Als een Intel- of TSMC-afgevaardigde ook maar iets over het grotere formaat plakken mompelde, spitste de hele industrie de oren. Luider en duidelijker gingen Intel en andere toptienspelers de afgelopen tijd over het onderwerp spreken, maar het publiek waarvoor de boodschap bedoeld was, gaf geen kik. Hooguit pruttelden een paar toehoorders iets over roadmapdiscussies, een enkeling wees megawafers bij voorbaat resoluut van de hand. Never gonna happen. Machinebouwers en materiaalleveranciers kijken wel link uit; ze hebben het drama van tien jaar geleden nog haarscherp op het netvlies. Zij hadden de ontwikkeling van 300-millimetertechnologie uit eigen zak betaald, maar toen zij die bij hun klanten op de stoep zetten, deden die de deur niet open. Sorry jongens, dotcomcrisis. Volgens Mike Splinter van Applied Materials heeft het vervolgens tot ongeveer het heden geduurd om de twaalf miljard dollar terug te verdienen die in 300-millimeterontwikkeling is gestopt. Dat nooit meer, dachten de toeleveranciers, en ze zetten hun hakken in het zand. De impasse werd vorig jaar doorbroken. Globalfoundries, IBM, Intel, Samsung en TSMC startten in Albany een consortium voor 450-millimeterontwikkeling, met een open uitnodiging voor iedereen om zich daarbij aan te sluiten. Dat was naast een staaltje spierballenvertoon vooral een handreiking: wij, de chipfabrikanten, zijn bereid mee te betalen. Vervolgens begon het gekissebis over wie er binnen G450C aan de touwtjes trekt en of de investering
14 |
7
wel groot genoeg is, maar het balletje was in ieder geval gaan rollen. Toch bleef ASML de kaarten ook toen nog op de borst houden, terwijl deze machinebouwer de meest delicate stap in het chipfabricageproces onder zijn hoede heeft – zonder lithoscanners gaat het hele 450-mm-feestje niet door. Op Bits&Chips 2011 Embedded Systemen, eind vorig jaar, sprak CEO Eric Meurice van een kip-of-eisituatie, die pas doorbroken zou worden als alle betrokkenen voldoende naar elkaar toe waren bewogen. Deze zomer werd duidelijk wat de topman daar precies mee bedoelde: hij bleef zelf stokstijf staan en liet het loopwerk bijna helemaal over aan Intel. Als ’s werelds grootste chipfabrikant (omzet: 54 miljard dollar) wil dat ASML 450-millimetermachines gaat ontwikkelen, dan graag boter bij de vis. En neem gelijk maar een stemrechtloos aandeel in ons, dan is ons lot ook een beetje jullie lot. Oftewel: dat gehannes met consortia is leuk en aardig, maar deze keer willen wij als individueel bedrijf cofinanciering én commitment van jullie. Als sleutelspeler was ASML de enige die zich deze harde opstelling kon veroorloven. Intel zag ook wel in dat als het over 450 millimeter plakken wilde kunnen beschikken (zie kader), het van tevoren geld moest ophoesten. In een niet eerder vertoonde constructie maakt het de komende vijf jaar ruim 550 miljoen euro over naar Veldhoven voor 450-millimeterontwikkeling en neemt het bovendien voor 2,2 miljard euro een aandeel van tien procent in ASML. Voortaan zijn de twee bedrijven innig met elkaar verstrengeld. De spectaculaire deal toont in de eerste plaats de sleutelpositie die ASML inneemt
in het halfgeleiderlandschap: geen enkele chipmaker kan om de technologische suprematie in Veldhoven heen, ook Intel niet. Nikon heeft het nakijken, terwijl de Japanners in het Amerikaanse bedrijf juist altijd een belangrijke bondgenoot hadden. In het recente verleden gunde Intel zijn 32-nanometerbusiness nog helemaal aan Nikon, bijvoorbeeld. Op 22 nanometer schijnen ASML en Nikon de buit te delen. Volgens een Japanse zakenkrant onderhandelt Intel met Nikon over een vergelijkbare deal, maar het lijkt onwaarschijnlijk dat de chipgigant bereid is om dezelfde ontwikkelstappen bij twee verschillende bedrijven te financieren, alleen maar om een monopolie te vermijden. Geavanceerde procestechnologie en chipproductie, met daarin een hoofdrol weggelegd voor lithografie, gaat dit decennium nog zo duur worden dat er geen ruimte meer in de markt is voor twee concurrerende lithobedrijven. Wat dat betreft, vloeit de ASML-Intel-constructie op natuurlijke wijze voort uit de wet van Moore. Chipfabricage is tegenwoordig zo complex dat alle schakels in het IC-ecosysteem nog dichter op elkaar moeten zitten. De investering van Intel in ASML – dat als huidige marktleider aan het langste eind trekt – is een eerste signaal dat de halfgeleiderindustrie een nieuw tijdperk in gaat.
Geen wonder Een tweede reden dat Intel Nikon waarschijnlijk laat vallen, is de essentiële rol die EUV speelt bij het realiseren van de kostenbesparingen die een transitie naar grotere wafergroottes moet opleveren. Waar de meeste processtappen grofweg evenveel tijd in beslag nemen ongeacht het waferop-
pervlak, geldt dat niet voor de belichting, omdat deze de wafer stukje bij beetje afwerkt en een grotere plak meer tijd in beslag neemt. Sterker: het is bij een overgang naar grotere en dus zwaardere wafers al een hele klus om de verwerkingssnelheid per oppervlakte-eenheid gelijk te houden.
Mede doordat de lithografie niet profiteert van een wafervergroting, is het aandeel ervan in de totale productiekosten van een chip bij iedere wafergeneratie steeds groter geworden. Elke volgende transitie levert daarom in principe minder op, omdat de besparing over een steeds kleiner deel
Waarom wil Intel 450 millimeter wafers? In bedrijfspresentaties claimt Intel dat transities naar grotere wafergroottes in het verleden kostenbesparingen van dertig tot veertig procent hebben gerealiseerd. De chipgigant verwacht net als veel onafhankelijke analisten vergelijkbare voordelen van de transitie naar naar 450 millimeter wafers. Niet iedereen deelt die mening, omdat zij de onderliggende aannames betwisten. Het vraagt heel wat complexe engineering om de grotere en zwaardere plakken in een tempo te verwerken dat geen afbreuk doet aan de oppervlaktevergroting. Iedere seconde die het langer duurt om een 450 millimeter plak te verwerken, reduceert in principe de relatieve kostenbesparing. Maar niemand weet eigenlijk welk tempo mogelijk is, dus ook niet of de eindbalans voldoende gunstig uitpakt om de moeite waarde te zijn. Sceptici twijfelen eveneens aan de verwachtingen die de grootste chipmakers hebben ten aanzien van het volume dat zij moeten zien te verstouwen. Een 450-millimeterfab krijgt naar verwachting een twee keer zo grote capaciteit als een moderne 300-millimeterfabriek. Dat zijn een hoop chips, waar natuurlijk wel vraag naar moet zijn. Met een aanloopprijs van zo’n tien miljard dollar trekt onderbenutting een evenredig zware wissel op de rendabiliteit van een superfab. De langjarige groeitrend in de IC-industrie geeft echter weinig reden tot zorg over de vraag naar chips. Voorstanders van 450 millimeter zouden ten slotte ook nog tamelijk sinistere bedoelingen hebben. Als zij inderdaad een voldoende grote kostenreductie weten te realiseren, nemen ze met 450 millimeter plakken definitief afstand van de subtop, die zich de gigantische investeringen niet kan permitteren maar ook niet op 300 millimeter kan concurreren. De geavanceerde chipproductie komt dan in handen van een zeer select groepje chipfabrikanten: Intel, Samsung en TSMC, wellicht gecompleteerd door IBM, Globalfoundries en Toshiba. Sommigen vrezen dat dit clubje zijn machtspositie zal misbruiken. De transitie heeft hoe dan ook grote implicaties voor de achterblijvers. Onvoldoende kapitaalkrachtige bedrijven zullen samen verder moeten om voldoende schaalvergroting te realiseren, of anders fabless moeten gaan. 300-millimeterontwikkeling stopt natuurlijk op den duur.
van de kosten wordt verkregen. Lithogoeroe Chris Mack rekent op zijn blog voor dat de kostenreductie van de overgang naar 450 millimeter op zijn best twintig procent bedraagt – al een stuk lager dan bij 200 en 300 millimeter het geval was. Macks extrapolatie gaat alleen op als de lithografische procesparameters niet dramatisch veranderen. Als het bijvoorbeeld noodzakelijk blijkt om meerdere belichtingsstappen per laag te doen, dan is de kostenreductie aanzienlijk lager en misschien zelfs niet eens de moeite waard. Daarom is EUV essentieel om 450 millimeter wafers kosteneffectief te maken. In de industrie wordt alleen EUV als reële optie gezien om op korte termijn sub-20-nanometerchips te kunnen fabriceren zonder multipatterning-technieken. Niet voor niets hebben ASML en Intel daarom een tweede deal in de steigers staan, waarin de Amerikanen nog eens 1,1 miljard euro in ASML steken ten behoeve van EUVontwikkeling. De overeenkomst, die nog door de aandeelhouders moet worden goedgekeurd, beslaat overigens uitsluitend de tweede generatie EUV-machines. Voor wat betreft de eerste serie ligt ASML op schema om in 2014 te leveren, verzekerde de machinebouwer onlangs nog maar eens. Het is geen geheim dat Nikon mijlenver achterligt op ASML wat betreft EUV, dus ook geen wonder dat Intel eerst in Veldhoven aanklopte en niet in Japan. De grootste winst met 450 millimeter wafers is te boeken in combinatie met EUV, en hoe eerder Intel over beide kan beschikken, hoe eerder het gaat besparen. TSMC en Samsung willen niet achterblijven en hebben eveneens een R&Dbijdrage opgehoest en ingetekend op een aandeel van vijf respectievelijk drie procent.
7 | 15
Perpetuum Mobile Ook in tijden van stijgende energiebehoefte reageert men met scepsis op een ontwerp voor een perpetuum mobile. We weten immers dat een dergelijk apparaat, dat energie opwekt uit niets, niet kan bestaan. Daar staat tegenover dat de vraag waaróm het ontwerp niet werkt best interessant kan zijn. Neem nu het diagram hiernaast van een perpetuum mobile. Het werkt met een verticaal opgehangen lopende band van willekeurige lengte, waaraan een willekeurig aantal cylinders is opgehangen. De cylinders zijn aan één kant afgesloten met een uitrekbaar rubber. In de cylinder bevindt zich een zware knikker. Het gehele apparaat staat onder water. Het totale gewicht van de cylinder en knikker is zo gekozen, dat de dichtheid van die twee samen net iets groter is dan die van water. De cylinders aan de rechterzijde zullen dus zinken. Aan de linkerzijde echter ligt de knikker op de rubberen afsluiting, die daardoor uitrekt. Hierdoor is het volume van deze cylinders iets groter, is de dichtheid iets lager dan die van water, en zullen deze cylinders drijven. Netto staat er dus een kracht op de lopende band, die deze in de richting van de klok doet draaien.
Stuur je antwoord uiterlijk 9 oktober a.s. naar:
[email protected]. Onder de inzenders verloten we een kadobon t.w.v. E 50,=. De uitslag wordt via onze website op 12 oktober a.s. bekend gemaakt.
Kun jij aangeven waarom precies dit ontwerp niet zo goed werkt als hierboven wordt voorgesteld? Wat wordt er hier over het hoofd gezien?
www.alten.nl Linie 544 7325 DZ Apeldoorn 055-5486200
Bezoek ook eens: http://techcorner.alten.nl
Puzzel: Mathijs Romans / consultant Alten PTS
Beukenlaan 44 5651 CD Eindhoven 040-2563080 Rivium 1e straat 85 2909 LE Capelle a/d IJssel 010-4637700
Opinie Groods greep
Testplan of schelmenroman Waarin een jeugdherinnering bijdraagt aan het vinden van het juiste antwoord en Derk-Jan stelt dat de vorm van onze deliverable minder belangrijk is dan het beantwoorden van de relevante vragen.
H
Derk-Jan de Grood helpt organisaties meer grip te krijgen op hun (test)project.
et is dinsdagmorgen. De teamleiders hebben zich verzameld voor hun reguliere overleg. Vandaag staat er een nieuw onderwerp op de agenda: discussie over de generieke testtemplates. Generieke templates ontwikkelen is een complexe activiteit, waarbij de discussies vaak hoog oplopen. Het lijkt zo eenvoudig: je neemt de template die je altijd al gebruikt, pakt een standaard template uit een methodiek of vraagt collega’s of ze nog wat hebben liggen. Genoeg voorbeelden, een overvloed aan keuzes, maar wat is het beste voor de organisatie? Ik hoor de discussie aan. Een van de teamleiders heeft een voorstel gemaakt, maar niet iedereen is even enthousiast. De andere teams werken op een andere wijze en al snel klinkt de verzuchting dat het document veel te dik wordt. Zes paar ogen kijken mijn kant uit. ‘Derk-Jan, jij weet toch veel van testen. Wat is een goed testplan? Vind jij dat de definitie van de testsoorten in het testplan hoort en mogen we sectie 3.4 weglaten?’ Ik heb niet direct een antwoord klaar. Logisch want er is geen eenduidig antwoord. ‘Het hangt ervan af’, probeer ik nog, maar dat wordt natuurlijk niet zonder meer geaccepteerd. Mijn ervaring is dat templates vaak worden ontwikkeld vanuit de methodiek of vanuit de voorradige voorbeelden. Hierdoor ontstaan er vaak discussies over de inhoud die moeilijk te beslechten zijn. Verschillende teams hebben immers verschillende aanpakken, producten, leveranciers en stakeholders. Het is daarom logisch dat ze andere eisen stellen aan hun deliverables en dus hun templates. Ineens herinner ik me de schelmenromans die ik in mijn jeugd wel eens las. Ik bedoel die jongensavonturenboeken uit de jaren vijftig. Kenmerkend hieraan is dat elk hoofdstuk begint met een korte aanhef, à la ‘Hoofdstuk 6 – waarin ridder Bertrand een belangrijke ontdekking doet, zijn schild verliest en moet overnachten in de gevangenis’.
De generieke-templatediscussie is te beslechten door een soortgelijke aanhef te bedenken voor de deliverables in het testproces. Die zet namelijk het doel van de deliverable centraal en triggert tot verder lezen. In plaats van over hoofdstukken en paragrafen zou de discussie moeten gaan over het waarom. Waarom maken we bijvoorbeeld een testplan? Willen we onszelf dwingen goed na te denken over onze aanpak, willen we de belanghebbenden laten zien dat we hun zorgen en risico’s serieus nemen of schrijven we het alleen omdat we bij een audit moeten aantonen dat we de
Een aanhef zet het doel van de deliverable centraal en triggert tot verder lezen procedure volgen? Genoeg redenen om een testplan te maken, waar welke reden(en) is (zijn) het belangrijkst? De inhoud is een afgeleide van het doel dat we met het document willen bereiken. Zetten we dit centraal, dan migreert de template naar een checklist die aangeeft welke vragen na het lezen van het document moeten zijn beantwoord. In het geval van een testplan: is duidelijk omschreven hoe de input van de belanghebbenden is verwerkt in de testaanpak en kan de projectmanager vaststellen op welke onderdelen de tests dekkend zijn en waar risico’s worden genomen? Kom je in een discussie over de template, bespreek dan eerst het doel van de deliverable. Dit vaststellen is op zich al moeilijk genoeg. Om het goed te doen, zul je je stakeholders moeten kennen en begrijpen wat voor hen belangrijk is. Je zult merken dat de verschillende documenten met elkaar samenhangen en elk document om een eigen reden wordt geschreven. Heb je dit eenmaal duidelijk, dan zul je zien dat je een evenwichtige set van templates krijgt. Huiver je voor een dergelijk traject, maar wil je toch eens het doel van je deliverable centraal stellen, neem dan ridder Bertrand als voorbeeld en plaats eens een korte aanhef op het titelblad.
7 | 17
In cooperation with
Featuring
HIGH-TECH PRODUCT LINES www.hightech-events.nl/hpl
Industrial keynote
Gold sponsor
8 November 2012 1931 Congrescentrum Brabanthallen ’s-Hertogenbosch the Netherlands
Scientific keynote
Cosponsors
Coffee sponsor
Lunch sponsor
Registration now open
Bert Jan Kampherbeek
Jo De Boeck
CEO Mapper Lithography
Participate as a sponsor or exhibitor Are you interested in participating as a sponsor or exhibitor? Please contact
[email protected] or go to www. embedded-systems.nl to look into the sponsor and exhibitor possibilities.
Entrance fee is € 125 by preregistration until 6 November. This includes entrance to the exhibition, conference programme, lunch, coffee and tea, and drinks at the end of the day. Visit www.embedded-systems.nl/visitors and register now.
CTO Imec
Exhibitors > ACAL BFi Nederland > Alten PTS > Altran > ARM > ASML > CIMSOLUTIONS > DSP Valley > Embedded Systems Institute > emlix > ENTER Mbedded > Fourtress > Green Hills Software > GuruScan > The High Tech Institute > Hotraco i Solutions > IBM > ICT Automatisering > INDES-IDS > Intemo > Klocwork > Kontron > Logic Technology > MathWorks > Mithun Training & Consulting > MonkeyProof Solutions > Nspyre > Parasoft > Philips Innovation Services > Point-One > PragmaDev > Prodrive > Programming Research > PROMEXX Technical Automation > Remedy IT > Sioux > Sogeti > Sorama > TASS technology solutions > Technolution > TMC Embedded > USoft > Verum Software Technologies > Wibu-Systems > Wind River > Yacht Embedded Systems > Yrz
Programme 8:45
Opening
9:00
Industrial keynote Bert Jan Kampherbeek (Mapper)
9:45
Break HIGH-TECH PRODUCT LINES
10:30
11:15
High-Tech Product Lines
Model-driven development
Software quality
Data analysis
Data processing
Sensors
Dirk Muthig (Lufthansa Systems) Integrated optimisation of developing and maintaining a large number of software products
Marleen Boonen (Methods2Business) Handling a double paradigm shift: virtual prototyping plus formally proven model-driven software generation
Jorg van Daelen (NXP Itec) & Frits Vaandrager (Radboud University) Analysing strip handling in a die-bonder strip glue machine using model checking
Wil van der Aalst (TUE) Process mining: how are my systems used and when do they fail?
Harry van Engelen (Technolution) Practical use of GPU in embedded systems
Valer Pop (Imec/Holst) Energy harvesting for Human++ and automotive applications – from heart to tire beat monitoring
Patrick Heymans (University of Namur)
Willie Aarnink (Panalytical) Using formal methods for the development of a service tool for an X-ray area detector
Wouter Smeenk (Radboud University) Applying model learning to complex industrial software
Peter van den Hamer (ASML) Equipment diagnostics at ASML
Rick Scholte (Sorama) Sound camera design: multi-channel Mems data acquisition to 3D sound images
Fred Dijkstra (XSens) Inertial sensor fusion – from professional to consumer-grade applications
12:00
Ceremony HTSP Action Award
12:30
Lunch HIGH-TECH PRODUCT LINES
High-Tech Product Lines
Model-driven development
Software quality
Remote diagnostics
Embedded Android
Middleware
Jürgen Müller (Anderis Software Testing)
Thomas Kuhn (Fraunhofer IESE) Early validation of system concepts through virtual prototypes
Paul Jansen (Tiobe) What code quality metrics do I need to measure?
Kristof Smits (Sioux) How to solve service requests remotely even before they arise? – a case study on the remote service of electron microscopes
Wolfgang Mauerer (Siemens) Android as an industrial building block
Pepijn Noltes (Thales) SOA in real-time embedded systems with Apache Celix
Ina Schäfer (TU Braunschweig)
Lou Somers (Océ) Using machine models to develop and test embedded software
Markus Völter (Itemis) Improving C code quality using language extension
Egbert Touw (NSpyre) Remote diagnostics in medical systems
Martijn van Rheenen (ICT) Android in automotive systems
Johnny Willemsen (Remedy IT) A real-time middleware and component model for fractionated spacecraft
14:00
14:45
Break and ceremony Passion for Technology Award
15:30 HIGH-TECH PRODUCT LINES
16:00
High-Tech Product Lines
Model-driven development
Software quality
Tracking and tracing
Multicore Android
Solar
Christa Schwanninger/ Michael Kircher (Siemens) Combining systematic reuse with Agile development
Marcel Verhoef (Chess) Destecs: connecting disciplines through co-simulation
Johan van den Muijsenberg (Alten PTS) Managing dependencies between software modules using DSM
Ger Schoeber (Hotraco) Which chocolate ate my ham? – any data, anywhere
Jos van Eijndhoven (Vector Fabrics) Application parallelisation for multicore Android devices
Peterjan Peeters & Boudewijn Sarens (Umicore Solar Team) Internals of a solar car
16:45
Scientific keynote Jo De Boeck (Imec)
17:30
Drinks Subject to changes
www.embedded-systems.nl/programme
In memoriam Wisse Dekker (1924-2012)
Charismatische topman die naliet te hervormen Wisse Dekker gaf het ingeslapen Philips in de jaren tachtig nieuw elan en stond aan de wieg van de Europese interne markt, maar hij zocht de oorzaken van de malaise bij zijn bedrijf te veel buiten de deur. Paul van Gerven
W
isse Dekker was een echte selfmade man. Zonder afgeronde vooropleiding – de oorlog zat in de weg – begon hij in 1948 zijn carrière bij Philips in Indonesië, om in een kleine twintig jaar tijd op te klimmen tot algemeen directeur Verre Oosten. Via Groot-Brittannië bereikte hij in 1976 de raad van bestuur, waar hij met het binnenhalen van Philips’ grootste order tot dan toe voorsorteerde voor de hoogste functie die het concern had te vergeven. Dekker was president-directeur van 1982 tot 1986 en schoof daarna door naar de stoel van president-commissaris, zoals in die tijd nog gebruikelijk was bij Philips. In 1994 zei hij het bedrijf definitief vaarwel. Als topman zwaaide Dekker de voordeur van het gesloten Eindhovense bolwerk wagenwijd open. Anders dan zijn voorgangers zocht hij de media graag op. Met een kenmerkende air van zelfbeheersing en autoriteit dwongen zijn optredens respect af. Zijn charisma zette het wat suffige Philips – en in het kielzog de hele Nederlandse industrie – weer op de kaart. Dekkers stokpaardje in zijn mediaoptredens was industriebeleid. In het verlengde van zijn intensieve lobbywerk in Den Haag en Brussel om de industrie te beschermen, liet hij geen gelegenheid onbenut om het belang daarvan te benadrukken. Het was kenmerkend voor het Philips van toen om de oorzaak van tegenvallers buiten het bedrijf te zoeken, maar de eerlijkheid gebiedt te vermelden dat de sterk opgekomen Japanse concurrentie beslist profiteerde van dergelijke maatregelen in eigen land. De lobby van Dekker en andere Europese topmannen hadden effect: er kwamen indus-
20 |
7
triële onderzoeksprogramma’s. De huidige Europese programma’s voor IC-onderzoek, Catrene en Eniac, zijn daar bijvoorbeeld nazaten van. Permanente tariefmuren zijn er nooit gekomen, maar de inspanningen van Dekker en andere industriëlen droegen wel bij aan de totstandkoming van de Europese interne markt in 1992.
Laconiek Intern ging de Eindhovenaar met Zeeuwse wortels heel wat minder voortvarend te werk, schetst ‘Philips-biograaf’ Marcel Metze in zijn bestseller ‘Kortsluiting’. Dekker was opgegroeid in gouden jaren van vette marges, beperkte concurrentie en conservatieve markten. Op dat momentum kwam Philips topzwaar de jaren tachtig binnenvaren, toen aan de royale naoorlogse groei allang een einde was gekomen. Smadelijke nederlagen als die met de technisch superieure, maar niet op de behoefte van consumenten ingespeelde V2000-videorecorder was het concern niet gewend. Hoewel Dekker de eerste topman sinds Anton Philips was met een commerciële achtergrond, bleef Philips onder zijn bewind die blinde vlek houden voor de markt. De van oudsher door technologie gedreven firma zocht oplossingen in technisch vernuft, niet in klantoriëntatie. Het kwam voor dat Eindhovense salesmensen klanten uitlegden waarom hun wens onzinnig was en Philips’ oplossing superieur. In plaats van zijn mensen naar buiten te jagen, koos Dekker voor de vlucht naar voren. Hij stond aan de wieg van monsterjoint ventures, die bijna allemaal mislukten. De chronisch verliesgevende computerdivi-
sie hield hij de hand boven het hoofd, ervan overtuigd dat zijn bedrijf het aan zichzelf verplicht was in alle markten actief te zijn. En als bolwerk van bipolaire transistoren spendeerde het ‘analoge’ Philips binnen het Mega-project miljarden om de achterstand in digitale CMos-technologie in te halen, maar aan een doortimmerd plan om die te gelde te maken, ontbrak het. Omdat Dekkers opvolger, de in januari overleden Cor van der Klugt, goeddeels uit hetzelfde hout was gesneden, kwam de doorbraak bij Philips pas toen Jan Timmer in 1990 het roer overnam. Het traumatische Centurion-project was evenzeer een levensreddende afslankoperatie als een inspanning om de zelfingenomenheid in de Philips-cultuur uit te roeien. Metze neemt het Dekker (en Van der Klugt) bijzonder kwalijk dat hij deze ingrepen niet zelf voor zijn rekening heeft genomen. ‘Hij is er niet in geslaagd om te doen wat elke ondernemer moet doen: het bedrijf werkelijk concurrerend maken’, aldus de onderzoeksjournalist in ‘Kortsluiting’. Dekker zelf duidde de analyse van Metze, die de industrieel ook beticht van zonnekoninggedrag en verlammende machtsspelletjes, laconiek als al te ‘persoonlijk gespeeld’ en ‘soms wat kort door de bocht’. In de biografie ‘Levenslang Philips’ zet Dekker zijn eigen visie uiteen, maar hij zal naast zijn aanstekelijke energie toch vooral worden herinnerd om wat hij niet heeft gedaan. Wisse Dekker overleed 25 augustus toen hij bij het Zeeuwe Zoutelande onwel werd in zijn auto en van de weg raakte. Hij is 88 jaar geworden.
In cooperation with
Passion for Technology Award Call for hobby projects Are you a student with a passion for technology? Present your own technical solution at Bits&Chips 2012 Embedded Systems!
Deadline: 19 October 2012
Enthusiasm and passion are the main drivers for the most creative and innovative technical solutions. That is why we organise the Passion for Technology Award. Do you spend your spare time tinkering with software, electronics or programmable logic and would you like to present your hobby project to industry experts? Then send in a proposal that proves that you have a passion for technology. The best contenders will demo their solution at Bits&Chips 2012 Embedded Systems.
Interested? Fill out the form at www.embedded-systems.nl/ programme/passionaward. Your proposal has to cover: • the project (problem, technique and solution); • who you are and why you have a passion for technology. Submission deadline: 19 October 2012. Conditions for participation: • you are a technology student (third year or higher); • you can present your solution at Bits&Chips 2012 Embedded Systems on 8 November.
HTSP Action Award 2012 Call for nominations Each year, the High-Tech Systems Platform (HTSP) presents its Action Award to the company that, in the opinion of the expert judges, has made the most exceptional achievement in the high tech sector. Alongside technological innovation, the contest is concerned with successful cooperation between the private sector and the research field. Both criteria carry equal weight in the assessment. The HTSP Action Award is not a monetary prize. Rather, it is the high tech industry’s own recognition of outstanding performance by one of its members. The objective is to remind each other, and the general public, of the exceptional achievements being made within our industry. The winner will receive a special trophy designed by the renowned sculptor
Hans van Eerd. The award ceremony will take place on 8 November during the Bits&Chips 2012 Embedded Systems conference and trade fair, to be held at 1931 Congrescentrum Brabanthallen in ’s-Hertogenbosch. Anyone can nominate a company or business unit Go to www.embedded-systems.nl/actionaward, download the nomination form, complete it and return it by e-mail to Jos van Erp (
[email protected]). Include a full description of the achievement you think warrants the HTSP Action Award. An independent panel of experts will review all entries and compile a shortlist of three to go forward to the final selection. Closing date is 5 October 2012.
Deadline: 5 October 2012 Award ceremonies at
In cooperation with
www.embedded-systems.nl
#BCES12
Productnieuws Tooling
Innovatieve ingietmassa‘s Bondexpo Stuttgart /Duitsland oktober 8 – 11 stand 7408
Mathworks komt met ‘grootste update in 21 jaar’ Release 2012b van de Mathworks-toolkit introduceert belangrijke vernieuwingen in het gebruik van en de navigatie door modellen. Nieke Roos
xxxx
T
Nieuwe compounds voor het beschermen van elektronische chips: Snelle uitharding bij lagere temperaturen Homogene constante dosering Uitstekende standvastheid Zeer hoge chemische en temperatuurbestendigheid Bezoek onze website! www.DELO.de/en/encapsulants
Industrial Adhesives Phone +31 53 4316968 www.DELO.de
[email protected]
22 |
7
wee keer per jaar geeft Mathworks zijn modelgebaseerde ontwikkelgereedschappen een opfrisbeurt: in de lente brengt het een nieuwe a-versie uit en in het najaar een b-versie. Doorgaans zijn de veranderingen slechts klein, maar met de kersverse septemberupdate zet de toolleverancier naar eigen zeggen de grootste stap in 21 jaar. ‘A big deal’, stelt Mathworks-fellow Jim Tung. Op het eerste gezicht lijken de wijzigingen puur kosmetisch; volgens Tung gaat het echter om veel meer dan alleen een opgepoetste userinterface. ‘Release 2012b biedt significante verbeteringen in het gebruik en de navigatie. Zo is het bouwen, beheren, doorlopen en simuleren van modellen een stuk eenvoudiger geworden.’ De grootste veranderingen zitten in de nieuwe Simulink Editor. Waar gebruikers voorheen slechts één view van een model tegelijk konden bekijken in een window, kunnen ze nu verschillende views naast elkaar openen én bewaren in tabbladen. En waar ze vroeger al dubbelklikkend op blokken de diepte in moesten, met het risico de weg kwijt te raken, heeft de opgepoetste editor een explorer bar die snelle navigatie mogelijk maakt door de boomstructuur van een model en daarbij het pad naar de actuele view toont. ‘Modellen worden steeds groter en steeds complexer’, verklaart Tung. ‘Deze nieuwe functionaliteit maakt het veel gemakkelijker om daarmee om te gaan.’ Modellen worden ook steeds vaker gebruikt om ontwerpspecificaties te maken en te communiceren. Dat vereist een heldere presentatie. Met de toegenomen modelomvang en -complexiteit is dat echter geen sinecure meer, weet Tung. ‘Bij honderden blokken kan al snel een brij aan verbindingslijnen ontstaan.’ Daarom heeft Mathworks de editor uitgebreid met smart signal routing. Bij het verbinden van blokken zorgt deze functionaliteit automatisch voor een optimale vorm en positionering van de lijntjes, zodat het model schoon en overzichtelijk blijft. Een betere integratie met de editor van de Stateflow-add-on stroomlijnt bovendien het gebruik van toestandsdiagrammen in Simulink. Een volgende belangrijke verbetering betreft de simulatiefunctionaliteit. ‘Die wordt steeds meer gebruikt om ontworpen systemen te verifiëren en inzicht te krijgen in wat er precies gebeurt’, vertelt Tung. ‘Om dat beter te ondersteunen, hebben we de onderliggende wiskundige motor van onze simulator stevig op de schop genomen.’ Waar gebruikers eerst alleen maar vooruit konden stappen in de tijd, kunnen ze nu ook terug. Daarnaast kunnen ze breakpoints zetten voor condities waarop ze de simulatie willen stoppen om de systeemstatus op dat moment te bekijken. Noemenswaardig vindt Tung verder de uitgebreidere mogelijkheden om samen te werken en om low-cost targethardware te gebruiken. Release 2012b maakt het eenvoudiger om binnen teams modellen te delen en samen te voegen, met koppelingen naar versiebeheersystemen. Gebruikers van goedkope ontwikkelplatforms als Arduino, Beagleboard, Lego Mindstorms Nxt en Pandaboard hoeven niet langer een Coder-product van Mathworks aan te schaffen om code te genereren voor hun hardware; met de nieuwe support packages kunnen ze dat gelijk vanuit Simulink doen. Belangrijkste verandering in de Matlab-omgeving is de introductie van een tool strip: in plaats van via pull-downmenu’s of sneltoetsen zijn de meest gebruikte functies nu direct beschikbaar in een speciale strook boven aan de Matlab Desktop. Nieuw is ook het plot-tabblad, dat snel en context-aware toegang biedt tot toepasbare diagrammen en grafieken. Daarnaast heeft de Desktop een apps gallery gekregen, een verzamelplaats voor handige Matlab-programmaatjes van Mathworks, andere gebruikers en eigen makelij.
Opinie Software-engineering
Hoe programmeer je de multi-mens?
C
Albert Mietus
[email protected]
omputers zijn net mensen. Dit geldt zeker bij een gemiddeld software-engineeringproject: sequentieel werk gaat redelijk efficiënt maar parallellisme vraagt om samenwerken, wat lastig is en overheadkosten geeft. Toch is dat vaak nodig. Anders zou een project van honderd mensjaar een eeuwigheid duren. Of we willen of niet, we moeten het leren: werk opdelen in steeds kleinere brokjes en die brokjes razendsnel en efficiënt verdelen. Zowel in onze programma’s als bij onze programmeurs. Er zijn, technisch, vele manieren om parallellisme te organiseren. Elk met hun eigen voor- en nadelen. Zoals de klassieke keuze: multithread versus multiproces. Toen ik nog programmeerde, prefereerde ik processen. Elk stukje functionaliteit in een eigen, stabiel proces met expliciete interfaces in plaats van in threads die ad hoc kunnen verschijnen en verdwijnen. Inmiddels lijken de thread-adepten echter aan de winnende hand. Maar welke vorm van ‘multi’ we ook hebben, de vraag hoe we het werk efficiënt organiseren, staat centraal. Mijn uitdaging is inmiddels verschoven van techniek naar projecten. Ik heb echter nog steeds dezelfde vraag. Bij projecten spreken we niet over threads of cores, maar over teams en mensen. Die ‘verwerken’ features en taken tot een bruikbaar product. Om de time-to-market laag te houden, zijn ‘multimensen’ nodig. Die moeten efficiënt samenwerken, zowel in als tussen de teams. Ook hier zien we een verschuiving van zware processen naar lichte, zelfsturende teams. Agile-teams zijn niet alleen goedkoper, telkens weer blijkt dat het hun beter lukt om projecten op tijd af te ronden. Momenteel lijkt de Agile-aanpak om productkenmerken aaneen te rijgen efficiënter dan het klassieke V-proces. Processen lijken dus op hun retour; ze geven al gauw te veel overheadkosten. Als (ex-)programmeur vind ik dat jammer, als projectleider een vooruitgang. Natuurlijk zijn computers geen mensen. Computers doen nu eenmaal wat je vraagt. En mensen wat je bedoelt. Althans met een beetje geluk. Natuurlijk doen ze ook wel eens iets fout. Daarom zijn testers zo belangrijk in het team. Zij vinden fouten die de programmeurs maken. Slechts door samen te werken, krijgen we een werkend geheel. Dit zit impliciet in hun vakmanschap en het is daarom niet nodig om het expliciet vast te leggen in het proces.
Dit geldt ook technisch. Iedereen is gewend aan web-apps, waarbij samenwerken tussen browser en server essentieel is. Toch werken ze ook onafhankelijk. Doordat de samenwerking impliciet is, is dit allemaal heel logisch. Dit geldt telkens weer: waar er een logische, impliciete manier van samenwerken is, is het niet nodig om dat expliciet vast te leggen. Dat is overbodig en dus te duur. Maar soms is die impliciete, natuurlijke manier van samenwerken niet voorhanden. Zo leid ik nu een project waar een aanzienlijk stuk code geïsoleerd en verplaatst moet worden. Daarvoor moeten ook twee domein-
Processen lijken op hun retour; ze geven al gauw te veel overheadkosten modellen geüniformeerd worden. Inclusief testen is dit een kleine honderd mensdagen werk. Voor een project met 25 mensen is dat minder dan één week. Toch zal het niet lukken in een week. Sterker nog: het leek onmogelijk om met meer dan twee of drie mensen parallel te werken, wat zou betekenen dat het niet in één sprint past. In dit soort gevallen is het toch handig om het samenwerken expliciet te maken. Voor bovenstaande feature gebruik ik Ganttcharts, die we nog kennen uit het klassieke projectmanagement. Daarmee moduleren we parallelle brokken werk en maken we afhankelijkheden expliciet. Die hebben we vervolgens doorgerekend met algoritmes uit realtime-schedulers, zoals earliest deadline first, om inzicht te krijgen in de minimale sprintlengte. Vervolgens gaan we op de Agilemethode verder. Dit blijkt te werken. Diverse mensen van één team werken nu samen aan deze klus, zonder continu te moeten overleggen met de andere teams. En toch is de sprint kort en kunnen de meeste mensen efficiënt zelfstandig werken. Door de opties voor parallellisme expliciet te maken, leren de programmeurs om ook bij lastige gevallen efficiënt samen te werken. Hoe we dat ook kunnen leren aan computers en programma’s, leest u elders in dit nummer.
7 | 23
Productnieuws Testen en meten
NI combineert signaalanalyzer en -generator in één programmeerbare module Met de RF-vectorsignaaltransceiver PXIE-5644R zegt National Instruments de volgende stap te hebben gezet in testinstrumentatie. Hart van de module is een FPGA die de gebruiker zelf kan programmeren om het systeem volledig aan te passen aan zijn eigen wensen. Nieke Roos
D
raadloze communicatietechnieken worden steeds complexer. Waar 802.11a/b/g ruim dertig kanalen, twintig verschillende datasnelheden, één bandbreedte en één ruimtelijke stroom telt, zit 802.11n al op ruim vijftig kanalen, 28 datasnelheden, twee bandbreedtes en vier ruimtelijke stromen en 802.11ac zelfs op ruim honderd kanalen, 38 datasnelheden, vier bandbreedtes en acht ruimtelijke stromen. Dit betekent een toename in het aantal te testen combinaties van meer dan honderd naar meer dan tienduizend. Steeds krachtigere instrumenten zijn nodig om dat in dezelfde of zelfs kortere tijd te kunnen doen. Veel bedrijven gebruiken nog altijd traditionele scopen en signaalgeneratoren voor dit soort tests. Ze hebben de apparaten toch staan en moeten de investering terugverdienen. Al die losse kasten nemen echter veel plek in beslag en hun gezamenlijke stroomverbruik telt aardig op. Upgraden in het veld is er bovendien niet bij, zodat de technologie snel veroudert. Alternatief is het gebruik van een chassis waar de verschillende instrumenten als modules zijn in te steken. Dit bespaart ruimte en energie en opwaarderen kan eenvoudig door een module te vervangen door een nieuwere. Bekend voorbeeld van zo’n systeem is het PXI-platform (PCI Extensions for Instrumentation) van National Instruments. Het modulaire en open karakter van PXI biedt al een heleboel flexibiliteit. Met zijn nieuwste paradepaardje doet NI daar nog een schepje bovenop. Op zijn jaarlijkse gebruikersevenement NIWeek, begin augustus in Austin, Texas, onthulde het Amerikaanse bedrijf de RF-vectorsignaaltransceiver (VST) PXIE-5644R. Dit systeem combineert een vectorsignaalanalyzer (VSA) en -generator (VSG) met digitale I/O en een door de gebruiker programmeerbare FPGA in één PXI-module. Het resultaat neemt niet alleen minder ruimte in dan twee losse (PXI-
24 |
7
gebaseerde) instrumenten, het verbruik ligt ook lager – onder de zestig watt – waardoor er minder hitte vrijkomt en metingen nauwkeuriger zijn. Door de FPGA aan boord is de VST bovendien nog eenvoudiger up-to-date te houden en meer dan tien keer sneller dan traditionele oplossingen (zie kader).
Mimo De PXIE-5644R heeft een zend- en ontvangstbereik van 65 MHz tot 6 GHz, bij een bandbreedte van 80 MHz. Op 1 GHz is de faseruis -112 dBc/Hz. De ingebouwde zeroIF-ontvanger gebruikt geen tussenliggende frequentie (intermediate frequency, IF) maar zet de inputsignalen gelijk om naar de basisband. De absolute amplitudenauwkeurigheid ligt tussen de 0,35 en 0,55 dB en de gemiddelde ruisdrempel is -161 dBm/Hz. De zender van de PXIE-5644R converteert
Tweehonderd keer sneller testen Qualcomm-dochter Atheros maakt al jaren gebruik van NI-instrumenten om zijn draadloze-netwerkchips aan de tand te voelen. Bij de 802.11a/b/gproducten van kort na de millenniumwisseling bestond de testopstelling nog uit de traditionele bakbeesten, gestapeld in 19 inch rekken. Voor de 802.11n-chips is het bedrijf in 2007 overgegaan op het PXI-platform. De testtijd ging hierbij met een factor tien omlaag, vertelde directeur engineering Doug Johnson van Qualcomm Atheros op de NIWeek. Sinds dit jaar gebruiken zijn mensen de PXIE-5644R-VST voor de nieuwste draadloostandaard 802.11ac. Dat heeft nog eens een factor twintig aan tijdwinst opgeleverd, aldus Johnson, zodat het testen nu tweehonderd keer sneller gaat dan tien jaar geleden.
het basisbandsignaal direct omhoog van DC naar RF op de geconfigureerde oscillatorfrequentie. Het outputvermogen is maximaal +10 dBm en minimaal -168 dBm/Hz. De tuningtijd bedraagt 380 microseconden. Hart van de PXIE-5644R is een Virtex-6 LX195T-FPGA. Deze Xilinx-chip verzorgt de systeemconfiguratie, de digitale dataverplaatsing en de digitale signaalverwerking. Hij is verbonden met de AD- en DAconverters van de module, zodat hij kan beschikken over alle ruwe data. Daarnaast lopen er rechtstreekse lijntjes van de FPGA naar de PCI Express x4-bus die de verschillende kaarten in het PXI-chassis aan elkaar knoopt, naar de PXI-triggers, naar de PFI 0-connector voor externe triggers, naar het DRam- en SRam-geheugen en naar de digitale I/O, die directe communicatie met het device under test mogelijk maakt. NI levert de PXIE-5644R voorgeprogrammeerd met standaard VSA- en VSGfunctionaliteit en inclusief Labview-voorbeeldprojecten en een default virtueel instrumentarium, zodat gebruikers gelijk aan de slag kunnen. Typische toepassing is het testen van de nieuwste draadloosstandaarden, zoals 802.11ac en LTE. Met de FPGAmodule van Labview is de code van de Virtex-6 echter naar eigen wens aan te passen. Dat kunnen kleine wijzigingen zijn, bijvoorbeeld om de prestaties te optimaliseren, maar ook grote ingrepen, zoals een compleet herontwerp om een kanaalemulator, een softwaregedefinieerde radio of een andere embedded toepassing te realiseren. NI spreekt van een ‘software-designed instrument’. In één chassis zijn meerdere PXIE5644R’s te steken. De verschillende modules zijn daarbij te synchroniseren door gemeenschappelijke starttriggers, referentieklokken en oscillatoren te gebruiken. Zo zijn eenvoudig complexere configuraties te creëren, zoals multiple input multiple output(Mimo-) en parallelle testopstellingen.
Opinie De headhunter
T.J. vraagt:
Anton van Rossum
[email protected]
Na een reorganisatie kwam er een einde aan mijn dienstverband van 25 jaar bij een grote toeleverancier in de technische branche. Ik heb een achtergrond als bedrijfseconoom en heb in totaal 32 jaar werkervaring. Bij mijn laatste werkgever ben ik opgeklommen van marketingmanager tot manager business development en CEO bij een onderdeel van het bedrijf. Anderhalf jaar geleden tekende ik in goed overleg een beëindigingsovereenkomst en sindsdien heb ik geen betaald werk meer verricht. Het punt is dat de industrie waar ik tot voor kort werkte langzaam maar zeker verdwijnt naar landen met lagere lonen. Een managementjob ligt dus niet meer voor het oprapen. Ik ben wel genegen om ook naar andere branches en soorten bedrijven te kijken, bij voorkeur in een sector met een wat meer innoverend karakter. Bij de industrietak waar ik vandaan kom, miste ik dat aspect wel eens. De afgelopen maanden heb ik een paar gesprekken gehad bij potentieel geïnteresseerde bedrijven op mijn werkterrein, maar dat leverde nooit een concreet aanbod op. Aan mijn cv kan het niet liggen, want dat is uitgebreid. Logisch, gezien mijn werkervaring. Helaas hoor ik vaak dat ik overgekwalificeerd ben voor de banen waarvoor ik interesse heb. Misschien ligt het ook wel aan mijn leeftijd, of wellicht schrikt mijn veronderstelde salaris af. Ook ervaar ik mijn gebrek aan netwerk buiten de specifieke branche waarbinnen ik de afgelopen 25 jaar heb gewerkt als een groot nadeel. Hoewel ik me financieel nog geen zorgen hoef te maken, wil ik graag weer aan het werk. Hoe kom ik uit deze impasse?
De headhunter antwoordt: Eerlijk gezegd, verbaast het mij wel dat je nog geen nieuwe functie hebt gevonden in de anderhalf jaar dat je nu bij je vorige werkgever weg bent. Je hebt immers een dijk van een cv en ervaring waar menig bedrijf van zou kunnen profiteren. Daarom heb ik je een aantal vragen gesteld over de aanpak die je hebt gehanteerd in je zoektocht naar werk.
Je vertelde vooral in het buitenland contacten te hebben binnen jouw branche. Deze heb je benaderd en daaruit is een enkel gesprek voortgevloeid. Daarnaast heb je een enkele headhunter aangezocht, maar daar kreeg je weinig tot geen respons. De facto zijn je activiteiten hiertoe beperkt gebleven. Ik vind dat mager. In jouw situatie hoef je je ten eerste niet te beperken tot je eigen branche, en ten tweede kun je contact opnemen met vele (internationale) headhunters om je interesse voor een nieuwe functie en je beschikbaarheid bekend te maken. Verder kun je je via beurzen en symposia oriënteren op ontwikkelingen op de markt – en dan bedoel ik niet alleen het specifieke deel
Om te weten wat je netwerk is, moet je het eerst in kaart brengen waarbinnen jij 25 jaar hebt vertoefd. Je ervaring is volgens mij zeer interessant voor veel bedrijven in de (elektro)technische industrie, zowel voor grote concerns als voor mkb’ers of start-ups. Je hebt immers een schat aan ervaring met internationaal zakendoen in Europa, de VS en Azië. Je gebrek aan netwerk buiten je ‘eigen’ industrie is ook zo’n punt. Je zegt dat er sprake is van verregaande consolidatie in je bedrijfstak. Dan zul je ook wel collega’s hebben gehad die deze tak vaarwel hebben gezegd. Wat doen zij nu? Neem eens contact met hen op! Om te weten wat je netwerk nu werkelijk is, zul je dit eerst in kaart moeten brengen. Neem dit letterlijk. Vervolgens: in welke richting zou je jouw netwerk willen uitbreiden? Denk daar eens over na en ga daarna aan de slag. Ook voor jou geldt: oriënteer je, bepaal je koers en zet zeil. In jagerstermen: pak je geweer, zet je hoed op en ga op jacht.
7 | 25
Tech-kiek Elektronica
Het Holst Centre en Imec hebben een platform gemaakt om de bouw van nieuwe devices en de evaluatie van losse bouwstenen te versnellen. De Monocerus-oplossing bestaat uit een moederbord met ontwikkelondersteuning en een set dochterborden voor de afzonderlijke componenten, met voldoende ruimte voor eigen meetpunten en extra testelektronica. Door deze scheiding is er niet elke keer een compleet herontwerp nodig wanneer er een nieuw onderdeel beschikbaar komt; gebruikers hoeven slechts een bijbehorend insteekkaartje te ontwikkelen en bij te prikken. Het Monocerus-platform maakt het mogelijk om verschillende combinaties van componenten uit te proberen, bijvoorbeeld een experimentele chip van Holst en een commercieel verkrijgbaar IC, of om bouwstenen te hergebruiken vanuit andere projecten. Dit geeft sneller een beeld van de werking, waardoor eerder de stap is te zetten naar een definitieve printplaat. De foto toont dochterborden van verschillende Holst- en Imec-afdelingen: een biomedisch signaalanalysebord met ecg-front-end, een biomedisch signaalverwerkingsbord met Coolbio-processor, een bord met een commerciële microcontroller en radio en een bord met een body area network-radio (van links naar rechts). Foto: Imec
Ontdek de eerste Vector Signal Transceiver VSA + VSG + zelf programmeerbare FPGA = nieuwe definitie voor RF testen
Combineer een vector signal analyzer en een vector signal generator met een zelf te programmeren FPGA voor real-time RF signaalverwerking en respons. De vector signal transceiver biedt verder aanzienlijk kleinere afmetingen en lagere kosten vergeleken met traditionele oplossingen. Belangrijker is dat de NI PXIe-5644R het eerste met software te ontwerpen instrument is. Met NI LabVIEW systeemontwerpsoftware, kunt u de software en firmware wijzigen om een instrument te creëren dat aan uw behoeften voldoet.
>> Leer meer op ni.com/vst
0348 433 466 ©2012 National Instruments. Tutti i diritti riservati. LabVIEW, National Instruments, NI and ni.com sono marchi registrati di National Instruments. Altri prodotti e nomi aziendali citati sono marchi commerciali delle rispettive aziende. 07006
DRAADLOZE TECHNOLOGIEËN National Instruments ondersteunt een breed scala aan draadloze standaarden, waaronder:
802.11a/b/g/n/ac CDMA2000/EV-DO WCDMA/HSPA/HSPA+
LTE GSM/EDGE Bluetooth
Achtergrond Atoomtronica
Atomen als elektronen
Atomen zijn in een toestand te brengen die als twee druppels water lijkt op een elektronenzee in een halfgeleider, compleet met bandenstructuur. Tijd om de elektronica vaarwel te zeggen? Paul van Gerven
S
inds de jaren tachtig dromen fysici over een betere basis dan lading om informatie te encoderen en te manipuleren. In de spintronica speelt opnieuw het elektron de hoofdrol, maar dankzij een andere eigenschap: zijn spin. Door deze ‘magnetische’ grootheid te temmen, hopen onderzoekers spintronica te maken, die sneller en energieefficiënter belooft te zijn dan elektronica. Spintronica is nog lang niet aan praktische toepassing toe, maar een paar jaar geleden is er alweer een volgende paradigmaverschuiving voor het voetlicht gebracht: de atoomtronica. Deze vooralsnog goeddeels theoretische tak van wetenschap tracht componenten en circuits te vervaardigen waarin atomen de rol van elektronen hebben overgenomen. Omdat atomen tot een aanzienlijk veelzijdiger palet kunstjes in staat zijn, zou atoomtronica nieuwe manieren kunnen opleveren om informatie te manipuleren, complementair aan en in het verlengde van kwantumcomputers.
Vacante plekken Onder een tweetal voorwaarden kan een verzameling atomen in een toestand worden gebracht die opmerkelijk veel lijkt op de elektronenzee in een halfgeleider, compleet met bandenstructuur. In de eerste plaats moeten ze worden gekoeld tot een fractie boven het absolute nulpunt, zodat ze een Bose-Einstein-condensaat vormen. In deze ‘vijfde aggregatietoestand’ worden kwantumeffecten die zich normaal gesproken uitsluitend op subatomair niveau manifesteren zichtbaar op macroscopisch niveau. Tweede essentiële ingrediënt is de optical lattice, een kristalrooster van licht gevormd uit het interferentiepatroon van lasers. Atomen voelen deze fluctuaties in het elektrische veld en nestelen zich in de minima van dit patroon. Ze kunnen echter wel van het ene naar het andere minimum tunnelen en zich dus net als elektronen door het het rooster bewegen. Maar waar elektronen zich laten opjagen door een
elektrische potentiaal, hebben ongeladen atomen een andere drijvende kracht nodig: een chemische potentiaal. De bandenstructuur vloeit voort uit het feit dat atomen alleen tegen een energetische boete hetzelfde dal in het optische rooster kunnen innemen. Zolang er meer vrije plekken zijn dan atomen, kunnen de atomen zich verplaatsen en is het ‘materiaal’ een geleider. Zijn er evenveel van beide, dan is het een isolator. Is er één atoom meer dan er vrije plekken zijn, dan wordt het weer een geleider. Dit atoom resideert dan in de ‘conductieband’. Door het energieniveau op individuele locaties in het rooster te veranderen, is het zelfs mogelijk om energieniveaus in de bandgap te introduceren – om te doteren dus. Een n-dotering bestaat uit een potentiaalputje iets onder de conductieband; atomen hierin hebben maar een klein zetje nodig om zich te gaan bewegen in die band. Een p-dotering resideert net boven de valentieband en trekt atomen daaruit aan. Zo zorgen ze ervoor dat vacante plekken in die band – gaten dus – zich door het rooster kunnen verplaatsen.
Bescheiden Onderzoekers van de University of Colorado hebben aangetoond dat bovenstaande conceptuele basis afdoende is om basiscomponenten als batterij, diode (of pn-overgang) en bipolaire transistor (npn- of pnp-overgang) na te maken met atomen. Functioneel althans, want op detailniveau zijn er kleine verschillen in werking. Het meest interessante aan deze atoomtronische componenten is dat ze in een aantal opzichten superieur zijn aan het origineel. Imperfecties in het kristalrooster kunnen volledig worden geëlimineerd en er zijn geen trillende atoomkernen (fononen) die de beweging van elektronen verstoren. Atoomtronica biedt dus voor het eerst in de geschiedenis gelegenheid om perfecte halfgeleidersystemen experimenteel te bestuderen. Zeker nu elektrongebaseerde transistoren
de ultieme atomaire grenzen beginnen te benaderen, levert atoomtronisch onderzoek daarom mogelijk nieuwe inzichten op waar conventionele elektronica van kan profiteren. Wat verder vooruitkijkend, zouden in licht gevangen atomen ook een nuttige bijdrage aan kwantumberekeningen kunnen leveren. Om in kwantumtoestanden gecodeerde informatie zo lang mogelijk vast te houden, dienen de dragers ervan zo goed mogelijk geïsoleerd te zijn van hun omgeving. Tegelijkertijd is het voor verstrengeling – een basisingrediënt van iedere kwantumcomputer – nodig om verschillende dragers in elkaars nabijheid te brengen. Met het optische rooster en de atoomtronische gereedschapskist vallen deze tegenstrijdige eisen te verenigen. Atomen zijn ten slotte tot gedrag in staat dat elektronen boven de pet gaat. Elektronen vallen onder de fermionen, deeltjes die niet dezelfde kwantumtoestand kunnen aannemen. Atomen kunnen als samengestelde deeltjes niet alleen optreden als fermionen maar ook als hun tegenhanger bosonen, met allerlei consequenties voor de sterkte, polariteit en reikwijdte van interacties die ze aangaan met hun buren. Dat biedt op zijn beurt geheel nieuwe ingangen voor zowel conventionele als kwantuminformatieverwerking. Vooralsnog blijft het echter bij theorie. Pas zeer recentelijk hebben de onderzoekers uit Colorado een artikel aan preprintsite Arxiv aangeboden dat de eerste experimentele metingen aan een component presenteert. Ze beschrijven daarin een atoomtronische oscillator, die materiegolven in plaats van elektromagnetische uitzendt. Radio was natuurlijk een van de eerste in een lange rij elektronische toepassingen die de wereld voorgoed hebben veranderd. Gezien de weinig praktische omstandigheden waaronder atoomtronica opereert, zal deze techniek dat voorbeeld waarschijnlijk niet volgen, maar een meer bescheiden bijdrage aan de technologische vooruitgang valt zeker niet uit te sluiten.
7 | 29
Achtergrond Verkeer en vervoer
Minder vertraging door virtuele tunnel NSpyre werkt aan een concept om meer simulatie toe te passen bij de realisatie van Nederlandse tunnels. De ontwikkelde ‘virtuele tunnel’ maakt het mogelijk onvolkomenheden nog voor de bouw te traceren en op te lossen. Daarnaast geeft hij in 3D inzicht in het integrale gedrag van het totale systeem en de afzonderlijke onderdelen. De virtuele variant moet er zo voor zorgen dat de echte tunnel eerder klaar is en daarna minder lang dicht hoeft bij wijzigingen. Ferdinand Cornelissen
D
e recente tunnelprojecten in Nederland hebben veelvuldig het nieuws gehaald, meestal niet positief. Een te late oplevering zorgde ervoor dat de bouwwerken niet op tijd open konden. Dergelijke uitloop heeft grote gevolgen voor de weggebruiker en de omgeving. Uiteraard heeft de vertraging ook geen gunstig effect op de totale kosten. Een belangrijke oorzaak van de uitloop is dat
Maarte Oerlemans
de deelsystemen van de veelal complexe verkeer- en tunneltechnische installatie (VTTI) onvoldoende op elkaar zijn afgestemd. Ze worden pas laat in het project ingebouwd en onderling gekoppeld. Daardoor is het moeilijk om de juiste functionele werking en het vereiste veiligheidsniveau aan te tonen. Op basis van expertise uit de ruimtevaartindustrie hebben we een concept bedacht
waarbij we de tunnel en zijn omgeving simuleren om de impact van de integratie te verlagen en zo de openstelling te bespoedigen. De resulterende ‘virtuele tunnel’ is te gebruiken als ondersteuning van de verschillende fasen in de ontwikkeling van de VTTI. Inmiddels hebben we een proof of concept geïmplementeerd, aan de hand waarvan we onze ideeën staven en verder uitwerken.
TRACE32 for AMP TRACE32 for AMP
TRACE32 for SMP
Debug & Trace
Application Core
30 |
7
DSP Core
SoC
Accelerator Core
Eurosim-framework Bij de ontwikkeling van de virtuele tunnel is het team uitgegaan van de landelijke tunnelstandaard. Deze heeft Rijkswaterstaat opgesteld met de gedachte dat ontwikkeling, bouw en beheer daardoor beter onder controle zijn te houden. De standaard beschrijft alle (sub)systemen en functies die bij een tunnel van belang zijn. Conform de tunnelstandaard hebben we eerst een functionele decompositie gemaakt van een standaard tunnel. Op basis daarvan hebben we deelcomponenten gedefinieerd, die we allemaal hebben vastgelegd in aparte modellen. De decompositie legt ook hun onderlinge relaties vast, en wel zo dat er een consistent en coherent geheel ontstaat. De specificaties van de technische installaties in de tunnelstandaard beschrijven de logische functievervullers, de opbouw in lagen en het gedrag van ieder element. Deze informatie hebben we omgezet in een UML-klassediagram, met attributen en operaties voor iedere klasse. Hieruit hebben we de code gegenereerd voor de implementatie. Gedurende het hele proces hebben we de naamgeving en eisen uit de standaard aangehouden, zodat de interface herkenbaar is en de requirements traceerbaar tot op codeniveau. Een tunnel moet het verkeer op een veilige en efficiënte wijze van de ene naar de andere kant leiden. Voor een beheersbare vervulling van deze welhaast triviale functionaliteit bestaan operationele scenario’s die de tunnel en de interactie met de systeemcontext beschrijven. Deze hebben we eveneens gemodelleerd: behalve de functionaliteit van de VTTI simuleert de virtuele tunnel ook het fysieke bouwwerk, inclusief de onderdelen van de verschillende installaties, het verkeer dat erdoorheen rijdt en overige omgevingsfactoren. Daartoe hebben we drie soorten modellen gemaakt: voor de tunnel, voor de technische installatie en voor de omgeving. De tunnelmodellen beschrijven de karakteristieken van de infrastructuur, zoals opgelegd door de bouw. Dit zijn voornamelijk statische modellen die invloed hebben op de technische-installatiemodellen. Deze modellen implementeren het gedrag van de VTTI. Hierbij valt te denken aan afsluitbomen, brandblussystemen, telecommunicatie en ventilatie. In de omgevingsmodellen, ten slotte, leggen we vast wat er zich in en om de tunnel afspeelt, zoals de verkeersstromen en gebeurtenissen die kunnen leiden tot een calamiteit.
De modellen zijn eenvoudig aan te passen of zelfs helemaal te vervangen, bijvoorbeeld door exemplaren met een hogere nauwkeurigheid of een andere implementatie. Zo kan de simulator meegroeien gedurende de project life cycle; de benodigde nauwkeurigheid voor een haalbaarheidsstudie is van een andere orde dan voor verificatie en validatie. Ook is het mogelijk om nieuwe concepten van VTTI-deelsystemen uit te proberen of om een model in te wisselen voor een werkelijke installatie. Hierdoor zijn gerealiseerde systemen vollediger te testen ter voorbereiding op de integratie. Voor een beter inzicht van de bediening en besturing, het gedrag van de systemen en de functionaliteit koppelt de virtuele tunnel de modellen aan een grafische 3Dengine, die zorgt voor de visualisatie van de tunnel en zijn omgeving. Zo kan iedere belanghebbende zien hoe de systemen zich zullen gedragen. De visualisatie is belangrijk voor de acceptatie en om eigenschappen van het tunnelsysteem snel te kunnen begrijpen. De virtuele tunnel draait op het Eurosim-framework voor realtime simulatie. Dit platform biedt uitgebreide configuratieopties, waaronder de mogelijkheid om gesimuleerde systemen te vervangen door echte hardware. Bovendien zijn er verschillende mens-machine-interfaces (MMI’s) aan te koppelen. Dat kan een MMI zijn voor testdoeleinden maar ook de daadwerkelijke MMI voor de operator.
Eerder aan het licht Door zijn opzet is de tunnelsimulator toepasbaar in het hele traject van concept tot oplevering, en zelfs daarna. Bij haalbaarheidsstudies kunnen we hem gebruiken om zogeheten Uniforme Primaire Processen/Procedures (UPP’s) en specifieke operationele scenario’s uit te werken en te valideren en om problematiek inzichtelijk te maken. Gedurende de systeemontwikkeling is inzet als testharnas mogelijk. Tijdens de integratie simuleert de virtuele tunnel de nog niet beschikbare installaties. In de operationele fase is hij inzetbaar voor opleiding en training, bijvoorbeeld van operators. In de onderhoudsfase kunnen we er wijzigingen mee testen en bedieningen en processen mee valideren. Verregaande simulatie zoals met de virtuele tunnel maakt het mogelijk in een vroeg stadium van het project te starten met verificatie en validatie. Belangrijk daarbij is dat we het gehele systeem simuleren, en niet enkel een subset. Al tijdens
het ontwerp kunnen we een begin maken met de validatie op systeemniveau en van bedrijfsprocessen en met de verificatie van interfaces en functies van deelsystemen. Hierdoor komen onvolkomenheden en problemen heel snel boven water en kunnen we de noodzakelijke aanpassingen doorvoeren nog voordat de VTTI is gebouwd. De wijzigingen zijn ook veel minder omvangrijk dan wanneer de problemen pas opduiken na constructie in de tunnel. Toegeleverde systemen zijn dankzij de virtuele tunnel beter door te lichten. Door de nog ontbrekende onderdelen te simuleren, kunnen we de interfaces al bij afname testen. Verschillen in implementatie kunnen we zo oplossen voordat alles naar de site gaat. Zeker voor de centrale besturing, die raakvlakken heeft naar alle tunnelsystemen en de verkeersdienst, is dit een belangrijk aspect. Vroegtijdige verificatie van de interfaces voorkomt vele wijzigingen en engineeringuren on-site in de laatste fase van het project. De beoogde gebruikers, zoals operators en hulp- en onderhoudsdiensten, krijgen met de simulator vroeg inzicht in het gedrag en de functionaliteit van het totale systeem. De processen en procedures zijn eerder af te stemmen op de techniek en sneller te valideren doordat eventuele fouten en afwijkingen eerder aan het licht komen. De training van tunneloperators kan vroegtijdig starten, zonder verstoring van de werkzaamheden on-site, waardoor er opgeleide mensen beschikbaar zijn om de tunnel te bedienen bij de openstelling. De voordelen van eerdere verificatie en validatie zijn evident. De hogere kwaliteit van de specificaties, zowel van de functionaliteit als van de raakvlakken, verkleint de kans op fouten tijdens de integratie. De uitgebreidere tests bij de afname van de systemen beperken de risico’s nog verder. De virtuele tunnel maakt de doorlooptijd en kosten van de ontwikkel- en realisatiefase betrouwbaarder te schatten en de totale doorlooptijd korter, waardoor oplevering en openstelling volgens planning kunnen gebeuren. De mogelijkheid om vooraf off-site te testen, zal er in de gebruiksfase daarna voor zorgen dat de tunnel bij wijzigingen minder lang hoeft te worden afgesloten. Ferdinand Cornelissen is technology officer bij NSpyre. Maarte Oerlemans werkt als projectmanager en consultant bij de dienstverlener. Redactie Nieke Roos
7 | 31
In bedrijf Vitronics Soltec
Bij golfsolderen zijn vooral de hoogte en de stabiliteit van de golf van belang. Deze moet het bord raken, maar mag niet zo hoog zijn dat het hele bord onder de soldeer zit.
® mini Express ™ M O C : W NE Dual Atom now with
® ini xpress m™ E M O C : NEW m Dual Ato now with
Who keeps COM Express® available the longest? Ask Kontron!
I
COMe-mCT10 84 X 55 mm
COM Express® mini Consistently developed for graphics-intensive applications in the smallest form factor.
COM Express® is a trademark of PICMG.
www.asm-muenchen.de
COMe-mCT10 with Intel® Atom™ Dual Core Technology N2xxx and D2700 up to 2x 2.13 GHz, Intel® SCH NM10, DisplayPort, HDMI, FullHD-Decode and Blu-ray Support. The most powerful COM Express® mini module with Pin-out Type 10!
Learn more about long-term availability at www.kontron.com/mysafechoice
If it’s embedded, it’s Kontron.
32 |
7
17_en_95x235_UpdateJuni2012_Bits&Chips.indd 1
03.08.2012 11:17:4
n mei dit jaar kondigde soldeermachinebouwer Vitronics Soltec aan dat het van plan is de productie van zijn XPM-reflowsystemen te verhuizen. Op dit moment gebeurt dat nog in het Amerikaanse Camdenton. Voor 2013 moet de productie zijn verplaatst naar het Chinese Suzhou, waar het al langer reflowmachines en golfsoldeerders fabriceert. Begin 2011 verplaatste het bedrijf al een deel van de productie uit het Amerikaanse Stratham naar Oosterhout. Toen ging het om de soldeermachines uit de Selective-familie, waarvoor Nederland nu het wereldwijde competentiecentrum is. Met de verschuivingen komt Vitronics Soltec in wat rustiger vaarwater. ‘We hebben de afgelopen jaren inderdaad roerige tijden doorgemaakt’, zegt Ton Colijn, die het als directeur van de Nederlandse vestiging allemaal van dichtbij meemaakte. Jarenlang was zijn bedrijf onderdeel van Dover. In 2006 besloot die Amerikaanse multinational om zich minder te gaan focussen op de technologiemarkt. Samen met zusterbedrijven Universal – een concurrent van Assembléon – en Hover-Davis kwam Vitronics Soltec in de etalage. Colijn: ‘Wij waren het meest succesvol en werden ook gezien als de krent in de pap. Met z’n drieën zijn we eigendom geworden van Francisco Partners, een private-equityfirma. Francisco bepaalde dat de productie in Nederland zou stoppen en dat die moest worden overgeheveld naar China en de VS. Op zich kon ik dat nog wel begrijpen omdat het grootste deel van onze klanten daar zit. De tijdspanne waarin het moest gebeuren, was niet reëel. Uiteindelijk is het in 2007 wel in gang gezet. Alleen engineering, verkoop en service bleven in Nederland.’ Vlak daarna kreeg Vitronics Soltec een nieuwe eigenaar: ITW. Dat bedrijf lichtte de organisatie door en kwam tot de conclusie dat het verstandiger was om de productie van de ingewikkeldere Selectivelijn toch te centraliseren in Oosterhout. Helaas voor Vitronics Soltec werden in 2008 de eerste tekenen van een recessie zichtbaar. Colijn: ‘Dat was een lastige situatie. We moesten operationele mensen, monteurs en magazijnbeheerders aannemen maar tegelijk kosten besparen. Dat was een spagaat. Als je naar de lange termijn kijkt, moet je jezelf technologisch differentiëren. Daarom produceren we de Reflow- en de Wave-lijnen niet meer in Oosterhout. Die commo-
In de Selective-machine is het mogelijk om verbindingen punt voor punt te solderen. Die aanpak is handig als je maar een paar componentjes hoeft te verbinden en je een grote mix aan producten hebt.
Nederland centrum voor selectieve soldeermachines
De vestiging in Oosterhout is het wereldwijde competentiecentrum van Vitronics Soltec voor de Selective-familie van selectieve soldeermachines.
Na een aantal roerige jaren is er rust bij Vitronics Soltec. De productie van zijn reflowen golfsoldeermachines heeft het samengebracht in China omdat het prijskaartje in die markten meestal de doorslag geeft. De ontwikkeling en assemblage van de meer geavanceerde apparaten voor selectief solderen gebeuren in Nederland. Bits&Chips kreeg een rondleiding in het Oosterhoutse pand, pal aan de A59. Alexander Pil
ditysystemen hebben we allemaal naar China gebracht. Hier richten we ons nu volledig op high-end selectief solderen.’
Nokia In de Oosterhoutse showroom annex testruimte staan niet alleen Selective-machines maar ook voorbeelden uit de reflow- en golfsoldeerfamilies. Colijn leidt Bits&Chips rond: ‘Reflow is in de basis niet veel meer dan een verwarmde conveyor. Je zou er bij wijze van spreken ook een pizza in kunnen bakken. De truc is alleen dat de temperatuurgevoeligheid hoog is. De smelttemperatuur van de soldeertin en de temperatuur waarbij de componenten beschadigd raken, liggen behoorlijk dicht bij elkaar. Dat komt erg nauw.’ ‘We zijn groot geworden met golfsolderen’, vertelt Colijn bij de volgende machine. Fluxen, het opbrengen van chemicaliën die het product zuiveren, is net als in de reflowmachine de eerste stap in het proces. Daarna verwarmt de machine het bordje voor. Dan zijn de chemicaliën in de flux actief en ervaart het bordje geen temperatuurschok van de soldeergolf waar het doorheen wordt getrokken. Voor welke toepassing zijn de soldeertechnieken het meest geschikt? Colijn: ‘Reflow is typisch voor surface mount-technologie waarbij je de componenten boven op het bord plaatst. Die aanpak kwam in de jaren tachtig opzetten. Daarvoor gebruikte iedereen golfsolderen voor zogenaamde through-hole componenten. Die waren groot en lastig te plaatsen omdat het nogal eens gebeurt dat er een pootje is verbogen. Op
dit moment gaat tachtig tot negentig procent van de verbindingen met SMT, maar dat wil niet zeggen dat through-hole geen bestaansrecht meer heeft. De mechanische verbinding is bijvoorbeeld veel sterker. Voor kleine chipjes maakt dat niet zo veel uit, maar bij een connector wel. De oudste Nokia-telefoontjes hadden er last van. Dat was allemaal SMT, maar de connector aan de onderkant ging slechts drie maanden mee. Dan was hij losgetrokken van het bordje.’
Footprint Vooral gedreven door de automotive-industrie ging Vitronics Soltec op zoek naar een alternatief. ‘In auto’s zitten heel veel printjes die met connectoren en kabels aan elkaar zijn verbonden’, vertelt Colijn. ‘Die connectoren mogen natuurlijk niet losraken. Autofabrikanten kiezen daar dus voor through-hole componenten. We hebben een machine ontwikkeld die selectief kan solderen, alleen op die plekken waar het nodig is. Het grootste deel van het bord doe je met reflow. Daarna stop je hem in onze Selective, die alleen de connector soldeert en de rest ongemoeid laat.’ De hoofdlijnen van het proces zijn vergelijkbaar met die in de golfsoldeermachine: fluxen, verwarmen, solderen. ‘Fluxen doen we hier alleen op de plek waar we ook gaan solderen’, legt Colijn uit. ‘Verwarmen doen we niet selectief. Het gaat maar tot ongeveer 120 graden, dus dat is niet kritiek.’ Een robotkop pakt het bordje vervolgens op en brengt het naar een soldeerstation.
Vitronics Soltec biedt twee mogelijkheden. De eerste is Multiwave, een bak tin met daarin een bordspecifieke plaat met nozzles die precies op de goede plaats een soldeerfonteintje vormen en met beschermingsstukken voor de andere componenten. Het alternatief is om punt voor punt te solderen met een enkele nozzle: de Selectwave-technologie. De eerste methode is sneller, maar heeft als nadeel dat de productspecifieke platen relatief duur zijn. Colijn: ‘Dat is alleen interessant voor high volume, low mix zoals in de automotivewereld. Selectwave is handig als je maar een paar componentjes hoeft te solderen en je juist een grote mix aan producten hebt.’ De eerste editie van de Selective stamt al uit 2000. Inmiddels heeft Vitronics Soltec kleinere versies gemaakt die alleen Multiwave- of alleen Selectwave-technologie in zich hebben. ‘De engineering doen we wel allemaal zelf’, zegt Colijn. ‘In het verleden hebben we wel eens geprobeerd om de engineering voor een submodule buiten de deur te doen. Dat is niet altijd even succesvol geweest. Waarschijnlijk hebben we te weinig de vinger aan de pols gehouden. We zijn nu druk bezig met de ontwikkeling van de volgende generatie selectieve soldeermachines, waarbij we de nadruk leggen op snelheid, kostprijs, nauwkeurigheid en footprint. Graag zou ik daar toeleveranciers bij betrekken, maar er hangt een prijskaartje aan. Gezien de huidige economische onzekerheid kunnen we er helaas geen geld voor vrijmaken.’
7 | 33
Analyse Multicore
Wie wijst de programmeur de weg in het multicoremoeras? Een uniforme aanpak voor heterogene multicore is er nog niet. TI bracht zelfs een ‘for dummies’-boek uit rond zijn aanpak voor de Omap-processoren.
O
penCL, OpenACC, OpenMP, OpenMPI, OpenHMPP, C++ AMP, PThreads, Renderscript, Threading Building Blocks, Array Building Blocks, ISPC, Go, Cilk (Plus), Cuda, Directcompute, Erlang, HSAIL, WebCL ... Ziet u door de bomen het bos nog? Dit lijstje is een greep uit de vele aanpakken die een oplossing moeten leveren voor het programmeren van multicore processoren. Er zijn er nog veel meer. Het illustreert mooi de worsteling die de industrie heeft met multicore. Of liever gezegd: met het efficiënt parallelliseren van code, iets wat in één adem wordt genoemd met multicore, maar feitelijk breder is. Dat vraagstuk is wellicht al zo oud als de informatica zelf en zeker ‘aan de randen’ van het vakgebied zoals in embedded systemen en supercomputers welbekend. Vanaf halverwege het vorige decennium is het echter een mainstream onderwerp geworden waar steeds meer programmeurs mee te maken krijgen. En de situatie wordt er alleen maar ingewikkelder op. Destijds begonnen processormakers serieuze problemen te ondervinden om op de traditionele manier de wet van Moore uit te buiten voor het maken van steeds snellere CPU’s. Zoals David Patterson van de universiteit van Californië in Berkeley het beschreef, liepen ze tegen maar liefst drie grenzen op. Traditioneel was kloksnelheid de belangrijkste – in ieder geval vanuit marketingoogpunt – methode om processoren sneller te maken. Kleinere structuren betekent dat elektronen kortere afstanden afleggen en de bewerkingen elkaar sneller kunnen opvolgen. Met de oplopende schakelfrequentie van een transistor nemen echter het stroomverbruik en
34 |
7
Betekende multicore een paar jaar geleden nog dat de programmeur min of meer op de oude voet verder kon met twee of vier dezelfde cores, tegenwoordig moet hij ook rekening houden met DSP’s, GPU’s en zelfs FPGA’s. Voorstellen zat hoe hij daarmee om moet gaan, maar dé oplossing is er nog niet bij. Pieter Edelman
de geproduceerde warmte toe. Dat was nooit echt een issue, want de voedingsspanning kon steeds een beetje worden teruggeschroefd en daarmee werd het probleem netjes gecompenseerd. Maar dit bereikte zijn fysische limieten. Hoewel IBM de processoren in zijn allernieuwste mainframes tot 5,5 GHz heeft weten op te voeren, draaien de meeste CPU’s vandaag de dag niet sneller dan die in 2005 – dus zeker niet op de twintig gigahertz die tien jaar geleden werd beoogd. De tweede hindernis was dat processormakers niet heel veel méér konden met al die extra transistoren die dankzij kleinere procestechnieken beschikbaar kwamen. Tot dan toe werden ze ingezet voor steeds complexere logica om de instructiestroom efficiënter te verwerken, vooral door te kijken hoe instructies parallel verwerkt kunnen worden en door te speculeren wat de volgende stap zou zijn. Het maximale optimalisatieniveau was echter wel zo’n beetje bereikt: het toevoegen van veel complexere circuits leverde steeds minder extra performance op. De laatste hindernis was dat de snelheid van het externe geheugen niet meegroeit met die van de processor. De processor moet bij geheugenoperaties dus steeds meer kloktikken staan niksen tot de relevante data binnengehengeld is. Multicore biedt een manier om nog wel van Moore te profiteren. Door meerdere processoren – in welke vorm dan ook – tegelijk te laten rekenen op een ‘matige’ kloksnelheid worden toch alle transistoren nuttig gebruikt, blijft het stroomverbruik binnen de perken en wordt het snelheidsverschil met het geheugen niet groter. Dat betekende echter een aardverschuiving voor
de software. De dominante basisgedachte is al decennia dat de processor stapje voor stapje verteld krijgt wat hij moet doen, en bij snellere processoren worden de stapjes sneller achter elkaar gezet. Maar nu moeten er ineens meerdere stapjes tegelijk gezet gaan worden, een compleet ander paradigma.
Allerminst irrelevant Een paar jaar geleden ging het bij multicore vooral nog over twee of misschien vier dezelfde processorkernen naast elkaar geplaatst, met een overkoepelende pool cachegeheugen. Dat bleek voor de markt al lastig. Exotischere modellen bleven vooral academische spielerei, pogingen tot marktintroductie, zoals bij de Cell-processor van IBM, Sony en Toshiba, moesten hun eigenwijze programmeeraanpak bezuren met geweeklaag van ontwikkelaars en tegenvallende resultaten. Alleen de domeinen die traditioneel aan multicore gewend waren, gingen gewoon hun gang. Terugkijkend, was het leven toen nog simpel. Met name toepassingen die allerlei min of meer onafhankelijke taken moeten uitvoeren, zijn heel aardig uit te smeren over een symmetrische multicore processor. Meestal kan het besturingssysteem dit voor zijn rekening nemen. Voor zware applicaties, die normaliter op een enkele processorkern draaien, kan de programmeur de verschillende deelprogramma’s onderbrengen in meerdere threads. Embedded toepassingen hebben die luxe meestal niet. Daar moeten de meerdere cores zich gezamenlijk door dezelfde hoeveelheid data heen eten. Bovendien schieten de coreaantallen omhoog, beginnen geheu-
Het hart van de Playstation 3, de Cellprocessor, moest Sony een voorsprong geven op de concurrentie, maar veel programmeurs wisten zich geen raad met het sterk asynchrone processorontwerp en konden de rekenkracht niet goed benutten. Onderzoeksinstellingen, zoals hier de Amerikaanse luchtmacht, werden echter grootverbruikers.
genarchitecturen te veranderen en worden DSP’s, GPU’s en zelfs FPGA’s steeds vaker meegenomen in het plaatje. Met name grafische processoren staan op dit moment volop in de belangstelling. Honderden identieke eenvoudige cores kunnen daar gezamenlijk een grote dataset aanvallen, mits op elk datapunt dezelfde databewerking moet worden uitgevoerd. Dit is een nieuwe aanpak van single instruction, mulitple data (SimD), dat eerder in DSP-versnellers of media-extensies zoals Intels SSE en Arms Neon naar voren kwam. Deze zijn allerminst irrelevant geworden. Intel, dat tot nog toe geen vuist wist te maken tegen het oprukken van GPU-rekenen, zoekt zijn antwoord juist in veel krachtigere SimD-instructies in een standaard CPU-core – waarvan er dan weer tientallen op een chip geplaatst zijn om de zaak nog een beetje te compliceren.
Jonge hippe internetbedijfjes De hamvraag is hoe dit allemaal te programmeren. Het zijn voornamelijk de chipmakers die mogelijke oplossingen naar voren schuiven, sommigen van hen zelfs meer dan een, sommigen zelfs véél meer. In combinatie met de verschillende uitgangspunten en situaties levert dat een wirwar van aanpakken op. In het ideale geval heeft de programmeur natuurlijk slechts te maken met één raamwerk voor alle soorten hardware en doelgebieden – van embedded tot supercomputers en van SimD-extensies tot GPU’s en FPGA’s. De tooling zorgt dan voor de optimale mapping zonder overhead toe te voegen, voor zowel programmeur als systeem. En dat systeem zou onderdeel zijn van een goed ondersteund en open ecosys-
teem. Vooralsnog lijkt het aloude adagio echter op te gaan: pick any two. Ook de aanpakken vertonen grote verschillen. Sommige proberen parallellisatie te retrofitten op good old C, C++, Fortran of Java. Dat kan via bibliotheken met bouwblokken of complete geparallelliseerde functionaliteit. Het kan ook gaan om aanwijzingen over wat er wel en niet veilig kan worden geparallelliseerd; voor compilers is dat erg lastig om te bepalen, maar met dergelijke aanwijzingen is het toch te doen. Ideaal voor bestaande code, zeggen de voorstanders: hier en daar versier je je software met een pragma en voilà: de boel draait efficiënt op je multicore processor. De praktijk is doorgaans weerbarstiger, maar het is natuurlijk altijd beter dan de software opnieuw implementeren. Natuurlijk zijn er ook toolketens om bestaande code om te zetten naar parallelle code. En er gaan stemmen op om de oude talen nu echt een keertje te vervangen door iets wat meer toegesneden is op de hedendaagse situatie – zoals multicore. Ook academici hebben eindelijk weer een goede reden om hun geliefde functionele programmeermethodes naar voren te schuiven. Het mag geen verbazing wekken dat vooral de gevestigde bedrijven er niet heel happig op zijn om een jonge onbewezen methode te omarmen, maar jonge hippe internetbedrijfjes zijn er dol op. Om begrijpelijke redenen spitsen de meeste aanpakken zich toe op een specifieke manier van multicore, zoals symmetrische multiprocessoren, SimD-extensies, DSP’s of GPU’s. Vaak kan de programmeur zijn software optimaliseren voor een specifieke hardwareconfiguratie en bijvoorbeeld aangeven
over hoe veel compute units de taak moet worden verdeeld, of juist de tooling de beste verdeling laten uitvogelen – in dat laatste geval is de optimalisatie wellicht minder goed, maar is de software weer makkelijker over te zetten naar andere systemen. Langzaam komen er echter ook geluiden op om één gezamenlijke aanpak voor alle situaties te ontwikkelen. OpenCL lijkt hierin de beste kaarten te hebben: het is een open standaard voor zowel homogene als heterogene multicore, wordt ondersteund vanuit een brede reeks traditionele talen en de belangrijkste halfgeleiderspelers hebben er al hun steun aan gegeven. Die ondersteuning is echter niet per se exclusief en voor bijvoorbeeld Intel en NVidia lijkt het meer een verplicht nummertje terwijl ze verder zoeken naar iets beters. Met OpenCL is het de programmeur die parallelliseert, met aardig wat overhead voor hemzelf. Hiermee vergeleken is een pragma-gebaseerde aanpak zoals OpenMP (Intel) of OpenACC (NVidia) een ware verademing. Het zou goed zijn als de industrie om de tafel zou gaan zitten en zich daadwerkelijk achter één aanpak schaart. Tot die tijd, of totdat de markt een groep ‘winnaars’ kiest, is het onderwerp een grote puzzel voor de programmeur, zoals u kunt lezen op de volgende pagina’s. Maar als u goed kijkt, zal ook blijken dat multicore mogelijkheden biedt voor de software-engineer: eindelijk is hij verlost van vertragingen door context switching en circuits kunnen zonder extra kosten zuinig en robuust worden gemaakt. De generatie programmeurs die nu opgroeit en straks niet anders gewend is, zal zich wellicht afvragen hoe we ooit zonder hebben gekund.
7 | 35
Interview Bart Kienhuis (Compaan)
FPGA’s ontsluiten voor de softwaregeneratie Programmeurs kunnen vandaag de dag kiezen uit CPU’s voor complexe bewerkingen en GPU’s voor simpele parallelle vraagstukken. Maar als ze FPGA’s konden programmeren, zouden ze in zo’n beetje elke situatie brute rekenkracht tentoon kunnen spreiden. Bart Kienhuis van de Universiteit Leiden ontwikkelde hier een methode voor. Na bijna vijf jaar schaven is zijn spin-off Compaan klaar voor de markt. Pieter Edelman
H
et is op de Leidse universiteitscampus even zoeken naar Compaan, het softwarebedrijfje dat Bart Kienhuis in 2007 startte. Op de opgegeven locatie prijken op de gevels bedrijfsnamen als TI Pharma, Hal Allergy en Biopartner – de universiteitsincubator waar spin-offs in de biologie, medicijnen en aanverwante bedrijfsgebieden kunnen opgroeien. Verstopt in een van die Biopartner-panden blijkt het vierkoppige Compaan-team te zitten. ‘Tja, biologen hebben vandaag de dag ook heel veel rekenkracht nodig voor genetisch onderzoek, vergis je daar niet in’, zegt Kienhuis. Hij voelt zich dan ook geen vreemde eend in de bijt. Integendeel: Compaan is net na enkele jaren onderdak bij compilerexpert Ace in Amsterdam weer terug bij zijn Leidse roots. Want: ‘Onze technologie is af. Wat we nu realiseren, dat is een product. We moeten nu de stap maken naar de markt.’ Dat product is tooling om C-code efficiënt parallel af te beelden op een FPGA. Of zoals het Compaan-team het zelf liever beschouwt: om de FPGA toegankelijk te maken voor de softwareprogrammeur. Want daar zit nu een gat: ‘Er gebeurt van alles op processorgebied. Je ziet bedrijven als Intel die al hun kracht achter de processoren zetten, bedrijven als NVidia en Imagination die met GPU’s komen én de FPGA-markt die zeer agressief is. Maar ondertussen heb je de softwareman, en die zit in zijn cubicle en die denkt alleen maar: ‘Ik heb meer performance nodig.’ Hij heeft zijn applicatie geschreven in C, of misschien Matlab of Java, hij kijkt naar de markt en hij ziet dit aanbod. Het eerste dat hij probeert, is toch naar die multicore Intel te gaan. Die zit het dichtst bij hem. En Intel levert allemaal Api’s om te
36 |
7
zorgen dat dat kan. Maar de programmeurs komen vast te zitten in de interlocking tussen de cores door de handmatige partitionering van de code. En dan hebben we het alleen nog maar over L1-, L2- en L3-cache misses, want hun hele probleem is niet meer rekenen maar de geheugenbottleneck.’ ‘Als dat dus niet lukt’, vervolgt Kienhuis, ‘gaan ze naar GPU’s. Die zijn waanzinnig goed in dataparallellisme. Er zit ongelofelijke performance in die kaarten. En het is een oplossing voor softwaremensen: je koopt een kaart bij je lokale computerwinkel, je installeert de driver die NVidia
‘Programmeurs komen vast te zitten in de interlocking tussen de cores’ op een cd’tje meelevert en dan kun je in principe Cuda-code gaan schrijven. Je kunt dus vrij snel beginnen om te proberen performance te halen uit die GPU. Maar al vrij snel merk je dat die architectuur redelijk restrictief is, dat er vrij complexe structuren achter zitten en het relatief moeilijk is om op die performancecurve te komen. Je bent als programmeur bezig met de hand de code te parallelliseren. Dat is ontzettend lastig. Je memoryprobleem is ook nog vrij groot; het is een apart systeem, dus je zit voortdurend data heen en weer te schuiven en dat kun je alleen compenseren door heel veel dataparallellisme te doen. Er is maar een beperkt aantal applicaties waar die rekenkracht echt tot zijn recht komt.’
‘Als je daarentegen kijkt naar wat FPGA’s kunnen, dan is dat ongelooflijk in termen van power en rekenkracht. Ze zijn fantastisch in staat om de wet van Moore te volgen want ze zijn heel regelmatig, dus ze worden alleen maar groter. Als er meer dan alleen maar dataparallellisme is, dan is een FPGA gewoon beter dan een GPU. En zuiniger. Die GPU kost je driehonderd watt, een FPGA doet dezelfde berekening in drie watt.’ ‘FPGA’s beginnen steeds meer echte compute platforms te worden. En wie moet die gebruiken? Dat moet die softwareman zijn. Maar FPGA’s zijn de exotics, en die stap is voor hem echt te groot. Het is een heel andere manier van denken, met een heel andere programmeeromgeving. Softwaremensen zijn er helemaal niet in geïnteresseerd dat je PCI Express op dertig verschillende manieren kunt configureren; die willen gewoon PCI Express met de beste performance out of the box op hun FPGA gebruiken. Je ziet de rekenkrachtmarkt bijvoorbeeld hier in Leiden verschijnen binnen de bio-informatica. Nu gebruiken die bedrijven nog GPU’s omdat die FPGA’s moeilijk te programmeren zijn. Als je dat makkelijker maakt, en dat is wat wij doen, dan is een FPGA een heel interessant alternatief.’
Drie maanden klooien Compaan komt voort uit een gelijknamig project dat bij het Leiden Institute of Advanced Computer Science (Liacs) werd uitgevoerd tussen 2000 en 2006. Oorspronkelijk richtte dit project zich nog op Matlab – de afkorting stond voor Compilation of Matlab to Process Networks. De geschiedenis erachter gaat echter terug tot het promotietraject dat Kienhuis in 1994 bij Philips Re-
‘Als er meer dan alleen maar dataparallellisme is, dan is een FPGA gewoon beter dan een GPU’
search startte. Op dat moment werd er hard gewerkt aan de Trimedia, een geavanceerde en prestigieuze programmeerbare DSP-architectuur. ‘Tv’s werden toen nog gemaakt onder het mom: nieuwe feature, nieuwe chip erbij. Op een gegeven moment zaten er wel twintig chips in een tv en konden ze vanwege de oplopende kosten steeds minder goed concurreren met Azië. Toen is er een discussie gekomen om alles softwarematig te doen met de Trimedia. Dus Philips moest zichzelf transformeren van chipjesmaker tot een bedrijf dat dingen gaat programmeren.’
‘Ik heb toen een concept gepresenteerd dat we de Y-chart noemen.’ Kienhuis loopt naar het whiteboard en tekent een ‘Y’. Bij de linkerpootje schrijft hij het woord ‘architectuur’, bij het rechterpootje ‘software’ en onderaan komt ‘performance’ te staan. Waar de drie pootjes samenkomen, schrijft hij het woord ‘mapping’. ‘Een Y-chart zegt dat de performance van een systeem altijd afhankelijk is van drie dingen: hoe goed is je architectuur, hoe goed is je software geschreven en hoe goed ben je in staat om je software af te beelden op je architectuur.
Als je performance nou niet genoeg is, dan kun je dus drie dingen doen: proberen een nieuwe architectuur te bouwen, de applicatie herschrijven of je mapping beter doen. In die tijd zette Philips gerust vijfentwintig man op het ontwikkelen van een nieuwe architectuur terwijl de software er niet was. Maar als je alleen energie steekt in dit stuk’ – Kienhuis wijst naar het linkerpootje – ‘en je vergeet dit en dit stuk’ – de stift tikt ‘software’ en ‘mapping’ aan – ‘dan verlies je eigenlijk twee derde van je potentie.’ ‘Je had destijds van die mooie voordrachten bij Philips Research. Die begonnen altijd met plaatjes van bolletjes en lijntjes, en dat was dan de applicatie. Als je vroeg waar die applicatie vandaan komt, dan was meestal het antwoord: ‘Ja, we hadden een intern en die heeft er drie maanden aan zitten klooien. Het werkt nu, dus niet veranderen en we gaan weer gauw terug naar de architectuur.’ Chiptechnologie was hun natuurlijke habitat, daar snapten ze precies hoe ze het verschil konden maken. Dat daar software op moest gaan draaien, was een heel grote stap en dat die software een bepaalde structuur moest hebben, was ook een heel grote stap. Applicaties werden geschreven in sequentiële C-code met een globaal geheugenconcept, terwijl die nieuwe processor een multithreaded, multimemory architectuur was. En dat botst!’
7 | 37
Interview Bart Kienhuis (Compaan)
Dat vraagstuk – hoe de sequentiële softwarebeschrijving kan worden vertaald in de bolletjes-en-lijntjes-representatie – hield Kienhuis bezig toen hij inging op een uitnodiging vanuit Berkeley om aan het Ptolemyproject te werken, dat verschillende rekenmodellen onderzocht voor het realiseren van systemen. Hij bedong bij de hoogleraar aldaar, Edward Lee, dat hij mocht werken aan een eigen project: een compiler die dataflow kan ontdekken in Matlab-code. Maar die twee dingen kwamen al snel samen. ‘Professor Lee werkte aan KPN’s, Kahn Process Networks. Voor mij was het de grote ontdekking dat dat een heel mooi model was om de dataflow in uit te drukken. De vraag werd toen eigenlijk of we die stap van Matlab naar KPN niet automatisch konden doen. Ik heb daar in Berkeley aan gewerkt met Ed Deprettere van de TU Delft. Rond 1999 is hij naar Leiden gegaan en hij heeft daar met vier aio’s een researchgroep opgezet rond embedded systemen. Daarmee hebben we dit concept helemaal uitgeakkerd, die hele technologie om automatisch van Matlab naar KPN naar hardware te gaan.’
Allemaal autonoom In een Kahn Process Network wordt een bewerkingstaak opgedeeld in een aantal afzonderlijke en zelfstandige processen, die via Fifo-communicatiekanalen met elkaar worden verbonden (zie Bits&Chips 13, 2007). Processen verwerken gegevens stromend: wat er als eerste binnenkomt, wordt als eerste verwerkt en de resultaten worden als eerste op de uitgaande lijn gezet. Als er even geen data voorhanden is, blijven ze rustig wachten totdat er weer wat binnenkomt. Zo stromen gegevens van knooppunt naar knooppunt door het netwerk. Dat model leent zich van nature goed voor parallelle uitvoering op taakniveau. ‘Dat is een beetje een verwarrende term omdat je ook bijvoorbeeld OS-tasks hebt. Bij Compaan bedoelen we met een taak echt een operatie als optellen of vermenigvuldigen tot een complete FFT-filter aan toe. Die taken of processen draaien allemaal autonoom en vormen samen een pijplijn waar je elke kloktik een waarde in kunt sturen. Stel dat er in zo’n proces tien stadia zitten en er zijn vier processen, dan realiseert het netwerk een parallellisme van veertig – dat is massively parallel. En we kunnen er ook vierhonderd van maken of vierduizend, dat maakt ons niet uit. Het blijkt dat KPN’s heel goed op FPGA’s te realiseren zijn en heel goed schalen.’
38 |
7
Processormakers voerden de prestaties van hun chips aanvankelijk ook steeds verder op door langere pijplijnen aan te leggen, maar halverwege het vorige decennium bleef de teller steken op enkele tientallen stadia; het lukte ze niet om die pijplijn goed gevuld te houden, en hoe meer stadia, hoe groter het prestatieverlies bij missers. Compaan heeft dat probleem niet, want de pijplijnen worden voor een zeer specifieke taak aangelegd. De voorwaarde is wel dat er een constante stroom data door de pijplijn komt; als er slechts één berekening wordt uitgevoerd, dan is de architectuur net zo sequentieel als een CPU. ‘Maar heel veel rekentaken zijn streaming, of dat nou in de financiële dienstensector is, de bio-informatica, de netwerkmarkt, security of beeldverwerking’, werpt Kienhuis tegen. De aanpak leent zich ook voor een andere manier van parallel rekenen, namelijk da-
‘Heel veel rekentaken zijn streaming, of dat nou in de financiële dienstensector is of de bio-informatica’ taparallellisme. ‘Je kunt zo’n procesknooppunt ook opsplitsen. Een producer krijgt dan meerdere consumers’, legt Kienhuis uit. Er is dus geen reden waarom daar per se een GPU voor ingezet zou moeten worden. Maar Kienhuis wijst ook naar een openliggende systeemkast waarin een FPGA-kaart én een zware GPU te zien zijn. ‘In de toekomst willen we nog verder ontwikkelen aan heterogene computing. Wat is er eigenlijk logischer dan dat je afhankelijk van je KPN kijkt welke processen het beste draaien op een FPGA en welke op een GPU? De tooling kan dat automatisch beslissen.’
Typisch geen software Maar dat is toekomstmuziek. In 2007 is Compaan via een STW-subsidie uitgesponnen uit de universiteit. ‘We zijn van Matlab naar C overgestapt omdat er goede C-frontends bestaan en omdat C in de embeddedwereld nog het meest wordt gebruikt. Eerst hebben we vrij innig samengewerkt met Ace vanwege hun compilertechnologie, die je nodig hebt om te begrijpen hoe de data door
de C-code stroomt. Toen die integratie stabiel was, zijn we teruggegaan naar Leiden. De meeste mensen wonen hier en we hebben nog steeds regelmatig contact met Todor Stefanov, die het embedded-onderzoek aan de universiteit nu als assistent professor leidt. Ik begeleid ook nog steeds twee promovendi. Doordat ze half tussen Compaan en half tussen het Liacs zitten, vloeit er ook kennis over. Een aio is nu bezig met GPU’s. Daar leren wij heel veel van.’ Het afgelopen jaar heeft Compaan de laatste technische puzzelstukjes gelegd om de tool rijp te maken voor professioneel gebruik, 4,5 jaar na de oprichting. Een lange tijd, geeft Kienhuis toe, maar dat is niet zo gek als het lijkt: ‘Je hebt drie soorten investeringen voor startende bedrijfjes: software, hightech en biotech. Software heeft typisch een tot anderhalf jaar nodig om volwassen te worden; mensen verwachten dat je in vrij korte tijd iets hebt dat je kunt verkopen aan een klant. Maar de technologie waar wij aan werken, is typisch geen software maar hightech. Die heeft echt vijf jaar nodig om van idee tot een industrieel product te komen waar een bedrijf wat aan heeft en waarmee het je serieus neemt. Het begint eigenlijk met de hele opzet van je infrastructuur voor testen en validatie. We moesten de infrastructuur bouwen om regressietests te doen. Nieuwe functionaliteit mag natuurlijk nooit bestaande dingen kapotmaken.’ Die tijd wist Compaan te overbruggen door mee te doen aan een aantal Artemisen Catrene-projecten. Binnen Nederland was Philips Healthcare een belangrijke ‘klant’ en in Frankrijk speelde Thales een grote rol. Maar nu moet het bedrijf dit soort bedrijven zien te overtuigen om de tooling ook in te zetten voor producten. Een heel lastige stap, denkt Kienhuis. ‘Wij doen geen kleine verbeterslag, wij hebben ideeën over hoe je deze zaken beter kunt doen en dat is echt wel een andere manier van denken. Grote partijen hebben echter vaak al hun productlijnen, waarin ze de risico’s zo klein mogelijk willen houden. Er kleven risico’s aan als je innovaties meeneemt in productontwikkeling. Daar kom je als kleine speler heel lastig tussen. We moeten echt uitleggen dat er een plan B is voor het bedrijf als Compaan omvalt. Dat is een groot contrast met research: daar worden dit soort innovaties juist heel makkelijk meegenomen en willen ze graag kleine mkb’ers hebben omdat die heel goed zijn in innovatie.’
Geen regel VHDL De Compaan-gereedschappen analyseren de C-code, construeren het KPN en creëren de VHDL-code die nodig is om alles in de FPGA te gieten. Het geheel is geïntegreerd met de voor programmeurs vertrouwde Eclipse-IDE. Toch is het in eerste instantie niet de bedoeling om de tooling direct te verkopen; het bedrijf volgt in eerste instantie het dienstverlenermodel. ‘Het is denk ik wel de intentie dat dit ooit bij de eindklant terechtkomt, maar als we dit nu aan een bedrijf geven, dan kan het er niks mee. Het is te complex; ze hebben ons nodig om er wat mee te bereiken’, legt Kienhuis uit. ‘Bovendien moeten we de code eerst herschrijven of vertalen uit Java of Matlab. Je moet je ook realiseren dat bijvoorbeeld het early fail-concept er bij softwareontwikkelaars heel diep in zit. Softwaremensen proberen altijd zo snel mogelijk uit een ifstatement te komen zodat de processor iets anders kan doen. Bij de hardwareaanpak gaat het veel sneller om gewoon alles helemaal uit te rekenen en aan het eind het resultaat op te pakken. We moeten dus vaak eerst allerlei optimalisaties uit de software halen en herschrijven tot arrays en loops’, verklaart Kienhuis. ‘Maar daarna kunnen we razendsnel een vertaalslag maken. Als bedrijven eenmaal een implementatie hebben en zien dat het werkt, en er komen maintenancevragen, dan zou het wel kunnen dat ze de tooling overnemen. Daarvoor moeten we meer projecten doen en de tooling nog gebruikersvriendelijker maken.’ Daarnaast maakt de KPN-aanpak iets mogelijk wat in de softwarewereld gemeengoed is maar in de hardwarewereld ongebruikelijk: unittests. ‘De partitionering maakt dat elk proces echt als een unit te beschouwen
is, met goed gedefinieerde input en output en onafhankelijk van de rest van het systeem. Je zou de specificatie van een proces in principe naar India kunnen sturen en als het gebouwde blokje terugkomt naadloos integreren in een KPN.’ Wat de Compaan-tooling overigens niet voor zijn rekening neemt, is de implementatie van de procesknooppunten in VHDL. ‘Daar gebruiken we de AutoESL-tooling van Xilinx voor, of Vivado HSL zoals het tegenwoordig heet’, vertelt Kienhuis. ‘Daarmee kun je een rekenprobleem specificeren in C en volledig omzetten naar VHDL. Je zou zeggen: dat is ook wat jullie doen, maar wij doen het procesnetwerk en de integratie met peripherals zoals PCI Express, Ethernet en geheugen. Dat is dus een andere C-naar-VHDLconversie. Doordat AutoESL per proces alleen maar naar een enkele functie hoeft te kijken, krijgen we daarmee geweldig goede resultaten. Met die combinatie kunnen we systemen realiseren op FPGA’s zonder een regel VHDL te schrijven, precies zoals software-engineers verwachten. Het back-end is overigens heel flexibel. We werken ook samen met Polycore om KPN’s om te zetten naar software uitgedrukt in de gestandaardiseerde MCapi. Dan kun je het heel makkelijk naar allerlei typen multicore processoren mappen.’ Net als bij het gebruik van een compiler in plaats van assembly is de gegenereerde oplossing niet even efficiënt als de handgeschreven implementatie van de hardware-engineer. ‘In een project met Philips Healthcare hebben we laten zien dat de overhead minder dan twintig procent is. Maar we hebben een derde van de tijd nodig en kunnen complexere designs realiseren met minder fouten. Dat is een enorme productiviteitsboost’, stelt Kienhuis.
‘We moeten vaak eerst allerlei optimalisaties uit de software halen’ Wat dat betreft, is Compaan zijn tijd vooruit. FPGA-marktleiders Altera en Xilinx beginnen nu ook met het idee te spelen om een FPGA te koppelen aan een CPU en brengen allebei hun eigen hybride devices op de markt. Maar ook zij moeten nog erg wennen aan de gedachte dat deze platforms voor een groot deel door softwareontwikkelaars geprogrammeerd moeten worden. Pas afgelopen anderhalf jaar hebben ze hun eerste pasjes gezet in tooling voor de softwareengineer: Altera via OpenCL, Xilinx via de overname van AutoESL. ‘Je ziet dat er een splitsing komt in de klantenkring van FPGA-makers’, denkt Kienhuis. ‘Vroeger werden die chips ingezet voor glue logic. Klanten namen er gelijk heel veel af en daardoor kon Xilinx de software gratis weggeven. Maar er verschijnt een nieuw soort klant: die wil helemaal niet veel chips kopen, maar als-ie ze koopt, wil hij de allergrootste en de allersnelste.’ Hij laat een kast zien met vier high-end FPGA’s, tien Gigabit Ethernet-poorten en bakken geheugen – maar zonder CPU. ‘Kijk, dit past gewoon in een datacentrum. Dat nieuwe type klant wil geen tienduizend FPGA’s maar vier van dit soort bakken van veertigduizend euro per stuk. Die FPGA’s moeten dan wel gemakkelijk geprogrammeerd kunnen worden door softwaremensen. We staan aan het begin van een heel interessante markt.’
7 | 39
Tim Groeit En jij? Persoonlijke groei, dat vinden wij belangrijk. Groeien
professionals werken voor en bij klanten zoals ASML,
als mens, groeien als professional. Wij bieden jou als
Océ, Philips en TomTom. Op dat allerhoogste niveau
embedded software of hardware expert de ruimte en de
kun jij je talent en ambities optimaal ontwikkelen. Op dat
®
mooiste merken. Zodat jij Groeit .
®
niveau kun je wérkelijk groeien. Als professional en als ®
mens. Wij bieden je de kans. Zodat jij Groeit . Onze arbeidsvoorwaarden en ons Employment Benefit Program zijn uitstekend. Zeker zo belangrijk is dat je bij
TOPIC zoekt Software- & Hardware-engineers.
TOPIC een unieke kans krijgt om jezelf te ontwikkelen
Interesse?
in de top van de markt. Onze software en hardware
Kijk snel op www.topic.nl voor onze vacatures.
Topic. Blijf groeien
Opinie Multicore
Vele handen maken licht werk zwaar
E
Wim Hendriksen is lector bij Fontys Hogeschool ICT.
en CPU met een klokfrequentie van 3 GHz moet binnen de klokcyclus van 1/3 nanoseconde zijn werk hebben gedaan. Alle transistoren moeten de tijd hebben gehad om te schakelen en alle spoortjes tussen de transistoren moeten de tijd hebben gehad om het elektrische signaal door te geven. Elektriciteit stroomt met de lichtsnelheid van de ene transistor naar de volgende. Dat is 10 cm per 1/3 nanoseconde. Dus bij een 3 GHz chip van 8 bij 8 millimeter beginnen die transporttijden van een paar keer heen en weer over de chip behoorlijk mee te tellen ten opzichte van de schakeltijden van de transistoren. Daarom komen de klokfrequenties van CPU’s al een paar jaar niet voorbij de grens van 3 GHz. Snellere processoren van deze maat kunnen we gewoon niet maken totdat we de lichtsnelheid hebben opgekrikt. De oplossing? Multicores! Een aantal kleine processoren op één chip die intern synchroon maar onderling asynchroon hun sommen maken en via snelle communicatiepaden en geheugens met elkaar communiceren. Dan kunnen we weer iets sneller en kunnen er weer meer transistoren op een chip. Gelukkig, de wet van Moore kan weer een tijdje vooruit. Het feit dat er multicores zijn, is dus puur technologiegedreven en niet marktgedreven. De marketingmannetjes van de halfgeleiderindustrie hebben de komst van multicores slim gebracht en vertellen dat meer cores beter is voor ons, maar dat valt nog te bezien. Wat schieten we er als gebruiker van al die multicores eigenlijk mee op? Als consument merk ik er nog helemaal niks van. De software die ik draai op mijn pc is nog steeds strak sequentieel geprogrammeerd. Mijn eigen hoofd doet trouwens ook maar één ding tegelijk. Als ik kijk naar de performancemeter van mijn pc tijdens mijn werk, dan zie ik dat over het algemeen hooguit twee cores van de vier iets nuttigs aan het doen zijn. De andere twee zijn diep in slaap gevallen, omdat ze niets te doen hebben. Alleen bij het coderen van een vakantiefilmpje heb ik er drie zien werken. Voordat we meer cores nodig hebben, moeten we eerst nog een hoop wetenschappelijk denkwerk van de afgelopen vijftien jaar omzetten in praktisch werkende algo-
ritmes met bijbehorende praktische tooling om sequentieel werk slim te verdelen in een aantal parallelle processen. Die algoritmes zullen trouwens nooit efficiënter kunnen worden dan single processoren. ‘Vele handen maken licht werk zwaar’, zei mijn gewaardeerde ex-collega Eric Loopstra jaren geleden al. Een waarheid als een koe voor projectteams, maar ook voor multicores. De wet van Moore gaat dan wel op voor het aantal transistoren, maar niet voor de performance die de gebruiker ziet. In systemen die maar één kunstje doen, zijn multicores natuurlijk heel goed in te zetten. Als de ontwerper zelf ook de breedte van de datapaden en de grootte van de geheugens kan kiezen, dan zijn zeer snelle oplossingen mogelijk met een pijplijn van pro-
Wat schieten we er als gebruiker van al die multicores eigenlijk mee op? cessoren. FPGA-programmeurs weten dit al jaren. Cisco en Astron kunnen niet zonder. Ondanks bovenstaande bedenkingen denk ik dat singlecore passé is. Multicore is een echte paradigmaverschuiving, en we zullen ons moeten aanpassen, of we willen of niet. Een van de zaken die volgens mij nog niet helemaal lekker geregeld is: de kennis in de hoofden van de huidige en aankomende ingenieurs. Informatici hebben verstand van goed programmeren, maar weten niks van multicores. Elektrotechnici weten alles van parallel denken, maar kunnen eigenlijk niet goed programmeren. Wat de wereld nodig heeft, zijn ingenieurs die de voordelen van beide vakgebieden combineren. Er ligt dus nog een schone taak voor universiteiten en hogescholen om multicores efficiënt te kunnen gebruiken in de echte wereld door te zorgen voor goede opleidingen van de huidige en aankomende ingenieurs.
7 | 41
Achtergrond Programmeren
Parallelliseren is geen kinderspel Multicore kent vele vormen: homogeen, heterogeen, AMP, SMP, cachecoherent of niet, en ga zo maar door. Het raakt aan zowel oude informaticaprincipes als nieuwe innovaties. Klaas van Gend wijst de weg in multicoreland en legt uit waar de pijn zit voor de programmeur. Klaas van Gend
M
et hedendaagse processoren is multicore bijna een vaststaand gegeven geworden. Er zijn nu zelfs al kleine microcontrollers met een dubbele CortexM3 te krijgen. Velen zien multicore als middel om nog prestaties uit een processor te persen nu de klokfrequentie nauwelijks meer toeneemt. Helaas schaalt bestaande software niet lekker mee. Software is meestal geschreven voor single-threaded uitvoer. Zulke toepassingen draaien op een systeem met twee cores lukt nog wel: de oude applicatie werkt op de eerste kern en alle andere taken verhuizen naar de tweede. Die wordt weliswaar niet optimaal gebruikt, maar voor de applicatie is er nog wel winst. Maar om meer snelheid te behalen, of voor meer dan twee cores, zal de software moeten worden aangepast zodat er delen parallel gaan draaien. Helaas geldt dat programmeurs kennis zullen moeten hebben van de onderliggende hardware voor correcte parallellisatie. De multicorewereld kan worden opgedeeld in twee typen processoren: de homogene processoren hebben meerdere exemplaren van dezelfde core aan boord, terwijl de heterogene processoren verschillende typen rekenkernen hebben. Bij de meeste gangbare homogene processorarchitecturen wordt al het geheugen tussen de verschillende cores gedeeld. Dan ontstaat meteen het volgende probleem: hoe worden schrijfacties naar het geheugen gesynchroniseerd zodat een core niet een half-geüpdatete versie leest uit zijn lokale cache? Bij sommige architecturen zoals TI’s Keystone (8-core DSP) en de meeste GPU’s wordt er niets gesynchroniseerd; het is daar de taak van de programmeur om ervoor te zorgen dat er niets mis kan gaan. Voor de bekendste ar-
42 |
7
chitecturen (Intels en AMD’s pc- en serverprocessoren, Freescales QorIQ, de Arm Cortex-A9-Socs) is er een cache-infrastructuur voor synchronisatie aanwezig. Deze cachecoherentie zorgt ervoor dat een schrijfactie naar het geheugen meteen bekend wordt bij geïnteresseerde andere caches/cores. Sommige architecturen zijn van nature geheel symmetrisch (symmetrische multiprocessoren ofwel SMP): alle cores werken altijd samen. Bij andere architecturen zoals Freescales QorIQ en Caviums Octeon kunnen kernen bij het opstarten afzijdig worden gehouden zodat ze zelfstandig eigen besturingssystemen kunnen draaien, het zogenaamde bare metal. Deze aanpak wordt wel AMP genoemd, omdat de cores ‘asymmetrisch’ worden gebruikt. Ook asymmetrisch, maar dan op processorniveau, zijn de heterogene architecturen. Bekende voorbeelden zijn de oude tv-chips van NXP (Mips plus Trimedia), TI’s Omap (Arm plus DSP), maar ook een gewone laptop met GPU heeft gedeeld geheugen en kan gezien worden als een heterogeen systeem. Vaak is er geen cachecoherentie tussen heterogene componenten. Bij bijvoorbeeld de Tegra3 van NVidia is er wel cachesynchronisatie tussen de Arm-cores onderling maar niet tussen de Arm-cores en de grafische processor.
Creativiteit Wat betreft parallellisatie zijn er verschillende vormen, die bij de verschillende architecturen anders tot hun recht komen. Bij taakparallellisatie nemen verschillende cores afwijkende taken op zich. Bij dataparallellisme voeren meerdere cores dezelfde taak uit, maar op verschillende data. Hier zijn met name GPU’s sterk in. Een iets an-
dere vorm van dataparallellisme werd al in de jaren zestig opgeschreven: het idee om met één instructie tegelijkertijd meerdere datavelden te bewerken. Dit is de basisgedachte achter Intels MMX en SSE, PowerPC’s Altivec en Arms Neon. Compilerspecialisten dachten ooit dat compilers de geschikte loops zelf zouden herkennen en zouden vectoriseren. Helaas is daar weinig van terechtgekomen. Dit komt deels doordat het moeilijk is gebleken om via statische analyse het gedrag van code te voorspellen. Voor triviale loops is dat nog wel mogelijk, maar zodra het wat moeilijker wordt, is er nog steeds niets dat de menselijke creativiteit verbetert. Er is nog een ander probleem met vectorisatie: het is platformafhankelijk. Eigenlijk zijn het allemaal assembly-instructies, en die hangen nou eenmaal aan een processorarchitectuur. In sommige gevallen (SSE2, Neon) bestaat er ook een C-achtige functieaanroep die hetzelfde doet. Deze intrinsics worden rechtstreeks door de compiler in de assemblyopcode vertaald. Hoewel met vectorisatie op interessante loops snel veel kan worden gewonnen – een lokale viervoudige verbetering is redelijk normaal – is het nadeel dus dat je jezelf ophangt aan een processor.
Pseudo-random Zowel bij vectorisatie als bij parallellisatie heeft de programmeur een probleem: hij moet de geschikte code hiervoor eerst vinden in de applicatie. Er wordt ook code toegevoegd, bijvoorbeeld overhead voor semaforen en het starten of wakker maken van threads. Dat stelt nog zwaardere eisen aan de daadwerkelijke winst. Profilen is een must – het magische oog van de programmeur schiet vaker naast dan raak.
Eens waren ze puur bedoeld voor grafische bewerkingen, maar tegenwoordig brengt NVidia al GPU-kaarten uit speciaal voor het zware rekenwerk.
Anders dan vectorisatie heeft parallellisatie een extra probleem, dat nog groter is dan het lokaliseren van de geschikte code: schijnbaar ongerelateerde softwaredelen kunnen invloed hebben. Stel dat een loop de functie rand() toepast – een standaard pseudo-randomgenerator. Deze functie wordt veel gebruikt en testscripts vertrouwen er vaak op dat rand() altijd dezelfde reeks ‘willekeurige’ waardes oplevert. Als delen uit de loop met rand() ineens parallel worden uitgevoerd, kan de volgorde van functieaanroepen veranderen en daarmee de uitkomst – en gaan de testscripts ineens fouten vertonen. Natuurlijk is dit een vrij onschuldig voorbeeld, maar het maakt duidelijk dat een programmeur eerst van alle code moet bewijzen dat er geen aanroepen naar functies met een interne toestand zijn voordat hij kan parallelliseren. Om deze volgorde correct te houden, kan locking worden ingezet, doorgaans via semaforen. Deze Api’s, die in de meeste besturingssytemen zijn ingebouwd, kunnen ervoor zorgen dat een stukje code maar door één thread tegelijkertijd kan worden uitgevoerd of dat een gegevensveld maar door één thread tegelijkertijd kan worden beschreven. Het nadeel van semaforen is dat ze tijd kosten, en als een semafoor daadwerkelijk gelockt is en dus de executie van de tweede thread onderbreekt, gaat de efficiëntie (en dus de snelheidswinst) van het parallelle algoritme weer omlaag. Om code te kunnen onderzoeken op parallellisatiemogelijkheden moet dus eerst worden geprofiled en vervolgens moet de onderliggende code worden geanalyseerd voor de afhankelijkheden tussen de hotspots en gegevenstoestand in andere delen van de code. Bekende tools als Oprofile of Intels VTune kunnen het eerste deel van deze
analyse uitvoeren, maar daarna blijft een nauwgezette analyse van de flessenhalzen en de ervaring en inventiviteit van de programmeur belangrijk. Daarom moet performanceoptimalisatie meestal worden overgelaten aan zeer ervaren programmeurs. Met Vector Fabrics proberen we deze afhankelijkheid te doorbreken. Onze Pareontool speurt de afhankelijkheden op door elke geheugentoegang te observeren tijdens het draaien van de software. Door geheugentoegang te koppelen aan de locatie in de code kunnen patronen van toegang worden herkend en de afhankelijkheden worden gecategoriseerd. Deze informatie geeft de programmeur inzicht in mogelijke toekomstige racecondities en het performanceverlies dat ontstaat omdat locking de code stiekem toch weer serieel maakt. Met de verworven kennis kan Pareon ook een voorstel doen over hoe de code met zo weinig mogelijk locking te parallelliseren én een schatting afgeven over de te verwachten snelheidswinst.
Overhead Het implementeren van multicore is in een homogene SMP-situatie nog redelijk simpel: maak een tweede executiethread in je programma en laat deze het rekenwerk uitvoeren. Het besturingssysteem zorgt er wel voor dat het dan parallel gebeurt. Op heterogene systemen kan dit niet zomaar. Code gecompileerd op een Intel-processor werkt niet op een AMD-GPU. Natuurlijk is dit op te lossen door als programmeur specifieke delen opnieuw te compileren en wat glue code te schrijven, maar dat levert al snel een behoorlijke hoeveelheid werk op en is helaas specifiek voor dat platform. Apple zag dit in 2007 ook al in en begon aan een project dat naar buiten kwam als
OpenCL. Er werd een standaardisatiegroep voor opgericht onder auspiciën van de Khronos-groep, ook bekend van onder meer OpenGL. Met OpenCL is het makkelijker om C-achtige code te laten draaien op andere processoren in het systeem. Dit kunnen andere kernen van dezelfde processor zijn, maar ook GPU’s, DSP’s of FPGA’s. OpenCL-code wordt vlak voor het moment van uitvoeren gekruiscompileerd voor het platform waarop hij gaat draaien – de compiler wordt dus meegeleverd met het apparaat. Daarna wordt de binaire code met de data naar het betreffende device gestuurd om zijn taken uit te voeren. Hier zit dus ook overhead in. Helaas worden er nog wel eisen gesteld aan de C-code die voor een dergelijke versneller is toegestaan: er mag geen recursie in zitten, functiepointers zijn niet toegestaan en alle data moeten van tevoren begrensd zijn. Verder zijn de meeste standaard C-headerfiles taboe. Gelukkig definieert OpenCL zelf een heleboel mathematische en logische functies. Belangrijk is ook dat OpenCL-jobs niet te groot zijn. Met honderden kleinere jobs is het makkelijker om alle GPU-cores parallel aan het werk te houden. OpenCL heeft ook mogelijkheden voor vectorisatie. Arrays van twee, drie, vier, acht of zestien waardes zijn in één keer te bewerken: er iets bij optellen, met iets vermenigvuldigen of van allemaal tegelijkertijd de wortel berekenen. Deze manier van vectoriseren heeft niet het probleem van hardwareafhankelijkheid, maar voegt wel de OpenCL-overhead toe. Hoewel OpenCL in het begin best veel publiciteit heeft ontvangen, lijkt de ontwikkeling niet al te vlotjes te gaan – daadwerkelijk echt gebruik lijkt nog minimaal. De inzet van OpenCL in Apple-tablets en -telefoons lijkt logisch, want daar zijn di-
7 | 43
Innovatief! Hoe hightech ben jij?
Wil jij bij ICT Automatisering werken aan innovatieve oplossingen? Innovatie is een mooie graadmeter voor ambitie. De vertical Machine & Systems van ICT Automatisering wil het verschil maken door de best mogelijke softwareoplossingen voor de hightech industrie te bouwen. Zonder de passie van onze medewerkers kunnen wij het verschil niet maken. Daarom biedt ICT Automatisering je een baan waarin je niet alleen software ontwikkelt, maar ook jezelf. Kijk op werkenbijict.nl voor de mogelijkheden of neem contact op met Tjitske Hartman, telefoon 06 270 873 58 of
[email protected].
Achtergrond Programmeren
Met de Pareon-tool zijn de codeafhankelijkheden inzichtelijk te maken, in dit geval (links) tussen de loop die bovenin donkerblauw wordt weergegeven (Loop_8) en de rest van de code. Pareon kan ook een andere loop parallelliseren (rechts). Aan het einde van de code is een afhankelijkheid tussen iteraties gevonden. Hier is dus synchronisatie nodig. Vandaar dat de iteraties niet netjes recht onder elkaar staan.
verse heterogene componenten voorhanden, maar helaas wordt dat door Apple dan weer niet aangeboden. Sinds juni 2012 is er de HSA Foundation, waarin AMD, Arm, Imagination, Mediatek en Texas Instruments proberen wat meer voortgang in de OpenCL-ontwikkeling te krijgen. Grote ontbrekende in dit lijstje is NVidia, dat samen met Apple wel de oorspronkelijke spec heeft opgeschreven en bij alle videokaarten OpenCL-drivers meelevert maar verder vooral lijkt in te zetten op Cuda – een vergelijkbaar maar wat volwassener strategie specifiek voor zijn eigen GPU’s.
#pragma omp Op symmetrische multiprocessoren zullen programmeurs dus nog wel even handmatig blijven parallelliseren via threads. Gewoonweg wat locking toevoegen aan code is zelden een goed idee. Het waarschijnlijk bekendste voorbeeld van slechte locking is de Linux-kernel: in de aloude 1.3-versie werd door Alan Cox code toegevoegd waarmee het OS ook op een SMP-systeem kon draaien. Vanaf ruwweg de 2.5-editie hebben programmeurs hard gewerkt om deze ‘Big Kernel Lock’ weer weg te poetsen. Zeven jaar later, met versie 2.6.37, was de BKL eindelijk vervangen door correcte, veel fijnmazigere locking, en waren veel algoritmes herschreven om helemaal geen locking meer nodig te hebben. Deze hele BKL removal heeft meerdere manjaren werk gekost. De moeder van alle threading-bibliotheken voor C is PThreads. Deze Posix-library bevat abstracties van semaforen en threads, maar is in het dagelijks gebruik niet altijd even handig omdat de hoeveelheid code nogal toeneemt. Daarom zijn er diverse abstrac-
ties in omloop. Pareon gebruikt de VFTasksbibliotheek, die we zelf hebben ontwikkeld maar onder een opensourcelicentie hebben vrijgegeven. Programmeurs die zelf gaan parallelliseren zullen echter sneller naar andere mechanismen grijpen. Een bekende abstractie van PThreads is OpenMP, een set compilerextensies die met aanwijzingen voor de compiler (pragma’s) aangeeft hoe code geparallelliseerd kan worden. Via deze #pragma omp-instructies kun je aangeven dat van de volgende loop iteraties parallel kunnen worden uitgevoerd, welke variabelen daarvoor per thread lokaal zijn en welke variabele na afloop het resultaat van bijvoorbeeld een optelling moet bevatten. OpenMP helpt dus om parallellisatie kort en netjes te formuleren. Diverse compilers ondersteunen het, waaronder Microsoft Visual C, de Intel-compiler, CLang/LLVM en GCC. OpenMP is erg elegant, maar geen officiële compilerextensie en daarom voor veel projecten niet toegestaan. Sinds 2011 zijn er nieuwe Iso-standaarden voor zowel C als C++. Beide standaarden bevatten extensies voor multithreading en gebruiken interoperabele mogelijkheden. In C zijn er functies als thrd_create(), thrd_join() en mtx_unlock() bijgekomen. Voor C++ is er een std::thread-class, maar ook een heel mooie hoogniveau-implementatie std::future, die het parallelliseren van een functieaanroep echt versimpelt. Op dit moment is er helaas nog geen enkele compiler die alles uit de standaarden ondersteund, maar bijvoorbeeld atomics, mutexen en std::thread en std::future zijn al in GCC en CLang aanwezig. Intels Threading Building Blocks (TBB) is een C++-templatebibliotheek met mogelijkheden als parallel_for() om de iteraties van
een for()-loop te verspreiden over meerdere threads. Daarnaast heeft TBB implementaties van een aantal container-classes die geoptimaliseerd en beveiligd zijn voor parallelle uitvoering. Qua aanpak lijkt TBB deels op OpenMP, alhoewel het nieuwe calls toevoegt terwijl OpenMP alles met pragma’s doet. In de laatste revisies voor TBB wordt al gewag gemaakt van gebruik van C++11-primitieven. Het ligt voor de hand dat de bouwblokkendoos zichzelf zal vormen naar deze standaard. TBB wordt helemaal als broncode geleverd en is niet specifiek voor Intel-processoren, maar omdat de bibliotheek helemaal door de chipmaker wordt gespecificeerd is er van een volledig open oplossing geen sprake. De wereld van multicore processoren en het programmeren daarvan is duidelijk in beweging, waardoor in ieder geval het programmeerwerk in de toekomst netter en overzichtelijker wordt. Het écht goed opzetten van een nieuwe, netjes parallelliseerbare architectuur is echter nog steeds werk voor goede softwarearchitecten. Het omvormen van bestaande code om beter gebruik te maken van multicoremogelijkheden vereist veel geduld en kennis omdat er een groot aantal problemen op de loer ligt. Met de goede tools is deze taak duidelijk lichter te maken. Klaas van Gend (
[email protected]) is field application engineer voor Vector Fabrics. De 25 mensen sterke Eindhovense startup heeft Pareon gemaakt om bestaande C- of C++-software te analyseren en te parallelliseren. In zijn vrije tijd schrijft Van Gend artikelen voor tijdschriften en werkt hij aan enkele opensourceprojecten. Redactie Pieter Edelman
7 | 45
Achtergrond Besturingssystemen
Makkelijkste weg naar multicore loopt via besturingssysteem Met een paar ingrepen aan het besturingssysteem kan veel bestaande software al redelijk efficiënt worden uitgesmeerd over een symmetrische multiprocessor. John Carbone van Express Logic legt uit waar de valkuilen zitten bij het geschikt maken van een RTos voor een SMP-systeem. John Carbone
V
andaag de dag zien we Soc-architecturen met meerdere cores of processoren steeds meer doordringen in een brede reeks embedded consumenten- en communicatiesystemen. Software die verschillende taken tegelijkertijd moet uitvoeren, kan met de multicoreaanpak betere prestaties halen zonder het verkwistende stroomverbruik van een singlecore processor die tot zijn maximale kloksnelheid wordt opgezweept. Dan gaat het bijvoorbeeld om settopboxen die verschillende televisiezenders opnemen en tegelijkertijd filmpjes via internet delen, of een autocomputer die tegelijkertijd de navigatie verzorgt voor de bestuurder en computerspelletjes voor de kinderen op de achterbank. Maar multiprocessoren introduceren allerlei extra complexiteit voor programmeurs. Zij hebben hier betere softwareondersteuning voor nodig, onder meer van het besturingssysteem. Voor zowel de commerciële RTos-aanbieders als de grofweg vijftig procent van de ontwikkelaars die nog steeds hun eigen realtime kernels bouwen, zijn dit forse uitdagingen. Nu er chipontwerpen met zes, zeven of zelfs meer rekenelementen opduiken, wordt het duidelijk dat het ontwikkelproces flink op de schop genomen zal moet worden. Op dit moment kan er echter al een aanzienlijke groep embedded toepassingen binnen de consumentenelektronica profiteren van multicore, via de symmetrische multiprocessingaanpak (SMP) die oorspronkelijk werd ontwikkeld voor serverclusters en uitgebreide rekentoepassingen. Programmeurs kunnen hiermee nagenoeg volledig werken met hun oude vertrouwde sequentiële, procedurele programmeermodel. Met voldoende aandacht voor realtimeprestaties, multi-
46 |
7
threading en realtime interruptafhandeling zijn zelfs bestaande RTos’en hiervoor in te zetten. Het is weliswaar niet mogelijk om versnellingen te halen van honderd procent per core, maar significante verbeteringen van tussen de twintig en negentig procent liggen zeker binnen bereik.
Microseconde Multiprocessoren zijn er in verschillende configuraties, variërend van grids met processoren die losjes gekoppeld zijn via internet tot aan symmetrische multiprocessoren waarin de cores (doorgaans in koppels of groepjes van vier) het geheugen en andere bronnen met elkaar delen. Dit SMP-model kan in het voordeel werken van de programmeur, met name doordat alle processoren bij hetzelfde geheugen kunnen en doordat een proces of thread dus vanuit dezelfde geheugenlocatie op elke processor kan draaien. Dit is de sleutel tot het aanpassen van een toepassing voor een SMP-architectuur. Arms MPCore is een voorbeeld van zo’n architectuur. MPCore-multiprocessoren kunnen tot vier cores in een SMP-configuratie bevatten en implementeren adaptive shutdown en Arms Intelligent Energy Manager-technologie, waarmee stroombesparingen tot 85 procent zijn te behalen. Idealiter kan een applicatie net zo goed overweg met een, twee, drie of vier cores zonder rekening te houden met het specifieke aantal. Dit zou het een stuk makkelijker maken om de implementaties over te zetten en codehergebruik sterk verbeteren – met de nodige resultaten voor de time-to-market. Met de juiste configuratie kan ook een traditioneel RTos de multiprocessortoepassing al op verschillende manieren helpen. De taken van een RTos zijn traditioneel het
afhandelen van interrupts en het beheren van threads: op zichzelf staande stukken code die een specifieke rol vervullen. Een deterministische realtime applicatie bestaat in de regel uit meerdere threads. Het RTos bepaalt aan de hand van hun prioriteit en externe gebeurtenissen (interrupts) welke thread er aan de beurt is om te draaien. Een multiprocessor-RTos dat zich richt op de multimedia-intensieve mobiele of consumententoepassingen moet – of het nu om commerciële of zelf geschreven versies gaat – op zijn minst interrupts met responstijden onder de microseconde kunnen afhandelen. Daarnaast moet het een ongelimiteerd aantal threads met dezelfde of verschillende prioriteiten aankunnen, met deterministische scheduling. Voor de beste prestaties moet het ook klein genoeg zijn om in het onchip geheugen te passen, doorgaans tussen de 32 en 128 kB aan Rom of flash. Het RTos moet verder kunnen inspelen op variaties in de hoeveelheid rekenwerk, zodat alle cores ingezet worden als de vraag hoog is en het systeem de kloksnelheden kan aanpassen als de vraag laag is. De threads moeten ook niet specifiek worden toegewezen aan een bepaalde core; de applicatie moet hardwareagnostisch blijven. Als het het RTos bovendien een mechanisme heeft voor realtime interprocescommunicatie (IPC) zijn de threads over cores heen te synchroniseren. De programmeur kan zich dan richten op het algoritme en hoeft zich niet te bemoeien met details over waar zijn code draait.
Wachtstand Een typisch applicatiedomein waarin een RTos met SMP-capaciteiten een verschil kan maken, is streaming multimedia. Hier-
Core 1
Core 2
Gedeeld geheugen Interrupt 1
Inputbuffer 1 Interrupt 2
Thread 1 Inputbuffer 2 Thread 2
bij moet op al dan niet gelijktijdige datastromen aanzienlijke rekenkracht worden losgelaten voor compressie en decompressie, encryptie en de-encryptie, renderen, filteren, vergroten of verkleinen, enzovoorts. In een doorsnee systeem wordt een afgemeten hoeveelheid data voor het beeldscherm of een bewerking via een DMA-opdracht in een geheugenbuffer geladen. Zodra die vol is, wordt er een interrupt gegenereerd als seintje voor de applicatie, die de gegevens bewerkt terwijl een nieuwe buffer wordt gevuld. Dit model beschrijft een dataflow die weliswaar continu is, maar varieert in intensiteit. Realtime reacties op het arriveren van data zijn hier belangrijk en de totale throughput is het doel, maar programmeergemak is het sleutelwoord. Een van de meest intrigerende aspecten van een SMP-RTos is de load balancing zonder tussenkomst van de programmeur. Dit maakt het leven van de ontwikkelaar makkelijker, maar belangrijker nog: het wordt mogelijk om legacycode zonder al te veel aanpassingen te draaien op een SMPsysteem. Om deze benadering te kunnen gebruiken, moet de programmeur meerdere (identieke) threads opzetten met gelijke prioriteit en elke thread toewijzen aan een deel van de datastroom. De prioriteiten zijn een belangrijk aspect. Een prioriteitgebaseerde pre-emptive scheduler kan meerdere cores gebruiken om de klaarstaande threads te draaien. Daarbij worden de threads met een hoge prioriteit uitgevoerd vóór die met een lagere prioriteit. Ze kunnen er dus op vertrouwen dat er geen code met lagere prioriteit draait terwijl ze bezig zijn. Het RTos moet deze regel ook bij een SMP-systeem doorvoeren, anders
Bij multimediastromen genereert een buffer doorgaans een interrupt wanneer hij is gevuld met de juiste hoeveelheid gegevens, waarna een thread wordt gestart om de data te verwerken terwijl de volgende buffer volloopt. Het SMP-systeem verdeelt deze draaiende programmatuur over de beschikbare cores.
kan de logica die ten grondslag ligt aan een legacytoepassing in de mist lopen. Na initialisatie bepaalt de RTos- scheduler welke thread de hoogste prioriteit heeft, om vervolgens de context ervoor te creëren en hem uit te voeren. Daarna kijkt de scheduler of er nog een thread klaarstaat met gelijke prioriteit en start hij die op de tweede processorcore als die er is, en zo gaat het door. Als er geen threads meer klaar staan, zet de scheduler zichzelf in wachtstand totdat er een externe gebeurtenis of service-request binnenkomt. Een thread mag daarbij alleen starten als hij dezelfde prioriteit heeft als de threads op de andere cores. En als er een thread klaar wordt gezet terwijl een andere thread met een lagere prioriteit draait, volgt er een pre-emption: de laaggeplaatste thread wordt stilgelegd samen met alle lager ingeschaalde threads op andere cores. Dit is essentieel om de prioriteitshiërarchie te waarborgen. Binnen deze automatische load balancing kunnen er extra features zijn om de prestaties verder te optimaliseren. Er kan bijvoorbeeld één core verantwoordelijk worden gemaakt voor de afhandeling van alle externe interrupts, zodat de andere cores nagenoeg zonder overhead van interruptafhandeling werken. Ook als er intensieve interruptactiviteit is, kunnen ze zich zo volledig op de applicatie focussen.
Triviaal Multicore en multiprocessing worden de komende tijd veel complexer en RTos’en zullen zich hier veel meer aan moeten aanpassen dan nu het geval is. Voor SMP-omgevingen hoeven we echter geen radicaal andere OSarchitectuur te gebruiken. Met een aantal ingrepen aan de onderliggende interrupt-
Applicaties die verschillende onafhankelijke taken moeten uitvoeren, profiteren het makkelijkst van multicore: het besturingssysteem verdeelt de taken steeds netjes over de beschikbare cores.
en threadmechanismes kunnen we het RTos inzetten voor multiprocessing-omgevingen zonder het welbekende programmeermodel te hoeven aanpassen. Vooral de onderliggende datastructuur van het RTos zullen we op de schop moeten nemen naarmate processoren ingewikkelder worden dan de relatief eenvoudige dualcores. Voor load balancing moeten we wellicht een gedimensionaliseerde datastructuur gebruiken om de meerdere arrays te beheren. Bij een enkele processor zijn de mutexen, geheugenpools, eventtags, semaforen en queues al niet geheel triviaal om te managen. In een dualcore processor worden dat er al twee keer zo veel en in een quadcore vier keer zo veel. Ironisch genoeg is het hierbij niet van belang om het meest geavanceerde RTos met de meeste features te gebruiken, maar juist het kleinste met de beste realtime interruptafhandeling. Een dergelijke gedimensionaliseerde datastructuur vereist – afhankelijk van de implementatie – tussen de tien en vijftig procent meer coderuimte en heeft een vergelijkbare impact op de interruptafhandeling. Dat is voor een OS met submicrosecondeafhandeling en een codegrootte van enkele tientallen kilobytes niet zo’n heel groot probleem. Maar een Linuxgebaseerd ontwerp, met responstijden van tientallen microseconden en een omvang van een à twee megabyte, wordt bij een toename van slechts tien procent al buitenspel gezet voor veel multimedia-intensieve consumententoepassingen. John Carbone is vicepresident marketing bij Express Logic en heeft 35 jaar ervaring in realtime computersystemen en software. Redactie Pieter Edelman
7 | 47
2012
Al 25 jaar ontwikkelen wij oplossingen met behulp van de nieuwste technologieën. Door onze ervaring en interne R&D weten we wanneer we welke techniek moeten inzetten; op het juiste moment en op de juiste plaats. Nieuwsgierig naar hoe wij dit doen voor image processing?
www.technolution.eu/ imageprocessing
1987
Achtergrond Tooling
Multicore stelt nieuwe eisen aan debuggers
Debugprobes moeten weer een beetje slimmer worden voor multicore processoren.
Debuggen en tracen wordt met de introductie van multicore processoren ingewikkelder. Andrea Martin legt uit hoe de tooling kan helpen en wat de verschillen in aanpak zijn tussen symmetrische en asymmetrische systemen. Andrea Martin
Z
oals het woord ‘multiprocessing’ impliceert, werken meerdere cores samen in een embedded systeem. Voor debugging is het cruciaal hoe de taken worden verdeeld tussen de individuele kernen. We maken hierbij onderscheid tussen asymmetrische en symmetrische multiprocessing (AMP en SMP). In AMP-systemen wijst de systeemontwerper tijdens de ontwikkelfase elke core toe aan een specifieke taak en hebben de rekenkernen doorgaans geen gezamenlijk geheugen. Vaak zijn dergelijke systemen gebaseerd op een standaard controller (veelal Risc) gekoppeld aan versnellers zoals DSP’s of maatwerk-cores. In een SMP-systeem hebben alle kernen dezelfde architectuur en adresseren ze een gezamenlijke geheugenruimte, en verdeelt het OS de taken runtime over de beschikbare cores naargelang de systeemtoestand. Afhankelijk van de gebruiksmodus zijn er verschillende debug- en traceconcepten van toepassing. Bij een AMP-systeem verwerkt elke core een afzonderlijk gedeelte van de applicatie en kan het zelfs om verschillende core-architecturen binnen één systeem gaan. Bij het debuggen hiervan wordt daarom voor iedere kern een individueel systeem gestart. De meerderheid van de symbolische en debuginformatie is immers exclusief toegewezen aan de corresponderende core. Omdat bij de werking van het systeem echter alle rekenkernen moeten worden beschouwd, moet het mogelijk zijn de cores tegelijkertijd te starten en te stoppen. Dit is de enige manier om hun onderlinge interactie te testen en de gehele applicatie te monitoren en te besturen. Idealiter ondersteunt de multicore processor dit met interne logica. Wanneer die ontbreekt, kunnen debuggers het
synchronisatieproces vaak overnemen. Een ingebouwd algoritme berekent dan de opeenvolgende JTag-commando’s om alle cores zo nauwkeurig mogelijk te besturen. In SMP-omgevingen wordt er juist maar één debuggersysteem geopend voor alle cores. De ontwikkelaar is in eerste instantie geïnteresseerd in het debuggen van een enkele taak en debuggers zijn doorgaans rond dit principe georganiseerd. De gebruikersinterface kan de toestand van het systeem weergeven vanuit het perspectief van deze taak of vanuit het perspectief van de core waarop die draait. En wanneer er een breakpoint wordt gezet, zorgt de debugger ervoor dat deze in alle cores wordt doorgevoerd. Het is immers niet duidelijk waar de bewuste programmacode dan zal draaien. Wanneer een core bij een breakpoint stopt, stoppen alle andere kernen ook automatisch en schakelt de weergave in de debugger naar de taak of core die verantwoordelijk is voor het breakpoint. Wanneer het programma wordt herstart, starten alle cores weer tegelijkertijd. Voor de ontwikkelaar lijkt het alsof hij met een enkele kern werkt.
Gemeenschappelijke tijdbasis Een goede debugger geeft ook (realtime) trace-informatie weer. Ook hier is er verschil tussen AMP en SMP. Bij AMP-systemen gebeurt de traceanalyse grotendeels op iedere core onafhankelijk, bij SMP-systemen wordt de trace-informatie geanalyseerd op taak-, core- of systeemniveau. Omdat het debuggen van individuele cores van een AMP-systeem wordt uitgevoerd door afzonderlijke subsystemen, wordt trace-informatie ook weergegeven in deze individuele gebruikersinterfaces en apart geanalyseerd.
AMP-systemen kunnen uit verschillende typen kernen bestaan, dus het kan nodig zijn verschillende traceprotocollen te gebruiken. Om de interactie tussen de cores te testen en om snel complexe systeemfouten te lokaliseren moet de relatie in tijd tussen de traces zichtbaar worden gemaakt. Tools bieden vaak een gemeenschappelijke tijdbasis waarmee ontwikkelaars in het trace-window kunnen zien welke commando’s de andere cores op ongeveer die tijd uitvoeren. Bij een SMP-systeem wordt alle informatie over de uitgevoerde programma’s opgeslagen in een gedeeld tracegeheugen voor alle rekenkernen. Een voordeel hiervan is dat het systeem verschillende mogelijkheden biedt om deze informatie zichtbaar te maken. Voor fouten in een taak of voor taakspecifieke runtime metingen, kan trace-informatie specifiek worden geformatteerd. Om vragen te beantwoorden als ‘Welke cores hebben mijn taak uitgevoerd?’ of ‘Wat is de runtime belasting van mijn cores?’ kan het handig zijn de trace-informatie voor alle cores tegelijkertijd zichtbaar te maken. Debuggerfabrikanten zullen doorgaan met uitbreidingen en verbeteringen in de weergave van trace-informatie van SMPsystemen. Hierbij gaat het onder meer om nieuwe analysefunctionaliteit naar aanleiding van terugkoppeling van bestaande gebruikers en nieuwe concepten die momenteel in ontwikkeling zijn. Andrea Martin is afgestudeerd computerwetenschapper aan de Technische Universtiteit München en werkt meer dan tien jaar bij Lauterbach als verantwoordelijke voor opleiding. Redactie Pieter Edelman
7 | 49
Achtergrond Besturingssystemen
De toekomst van besturingssystemen is gedistribueerd Processormakers blijven steeds meer cores aansluiten op dezelfde geheugenpool, met steeds meer schaalbaarheidsproblemen tot gevolg. Voor toekomstige generaties manycore processoren zouden principes uit rekenclusters een oplossing kunnen bieden, maar dan verkleind naar een enkele chip. Niek Linnenbank bestudeerde voor zijn afstudeerwerk hoe het Minix-besturingssysteem op een experimentele Intel-processor met 48 kernen verspreid kan worden – een ideale omgeving voor een microkernel-OS. Niek Linnenbank
S
ymmetrische multicore (SMP) werd een paar jaar terug grootschalig uitgerold als de meest voor de hand liggende manier om nog prestatieverbeteringen uit de wet van Moore te persen: in plaats van de extra transistoren te steken in steeds complexere CPU-ontwerpen legden chipmakers simpelweg twee uitvoeringen van hun core naast elkaar. Het aantal rekenkernen in dergelijke SMP-processoren is daarna gestaag opgekrikt van twee naar vier, acht en in sommige modellen zelfs zestien. Zowel hardware als software krijgt steeds meer schaalbaarheidsproblemen naarmate het aantal cores toeneemt. In een standaard SMP-systeem zijn alle kernen aangesloten op een gedeelde interne databus. Hierover worden gegevens uitgewisseld met externe apparaten zoals het geheugen, videokaarten, netwerkkaarten en opslagmedia. In een SMP-systeem kunnen alle cores hetzelfde geheugen benaderen, dus een softwareprogramma ‘ziet’ altijd hetzelfde geheugen ongeacht de kern waarop hij op dat moment draait. Het gedeelde geheugen maakt het voor de softwaredesigner iets eenvoudiger om met deze processoren te werken, maar voor niks gaat de zon op. Om de gegevens in het gedeelde geheugen consistent te houden, kan er maar één core tegelijk naar gedeelde datastructuren in het geheugen schrijven. Vaak wordt dit opgelost door middel van een locking-mechanisme: één rekenkern kan het sleuteltje pakken om een gedeeld stuk geheugen te beschrijven.
50 |
7
Daarnaast hebben cores in een SMP-systeem vaak een eigen privé-cache waar ze een deel van het geheugen tijdelijk naartoe kopiëren om leestoegang tot het relatief slome geheugen enigszins te versnellen. Een probleem hiermee is dat de ene kern het zo niet merkt als de data in het gedeelde geheugen door een andere core wordt gewijzigd – die ziet alleen zijn eigen kopie. Zonder maatregelen zullen softwareprogramma’s op verschillende cores dus mogelijk andere gegevens lezen uit het gedeelde geheugen. In de meeste moderne SMP-systemen wordt dit probleem opgelost door een cachecoherentieprotocol dat op de achtergrond in de hardware draait: wanneer een kern naar een gebied van het gedeelde geheugen schrijft dat andere cores nog in hun cache hebben, zorgt het protocol in de hardware ervoor dat hun privé-caches worden bijgewerkt. Cachecoherentie is veelal aanwezig in de nieuwste SMP-processoren van Intel, zoals de Xeon- en I5-productlijnen. Dit gecentraliseerde geheugenontwerp van SMP-systemen blijkt een hindernis te zijn voor de schaalbaarheid van de software die erop draait. Naarmate het aantal cores en daarmee het verkeer op dezelfde gedeelde databus groeit, vormt de contentie een steeds grotere beperking voor de prestaties. Met name de onderlinge afstemming van de caches speelt hierin een grote rol; het cachecoherentieprotocol moet immers ‘onder water’ steeds meer synchronisatieverkeer versturen. Ook het locking-mechanisme kan leiden tot contentie. Rekenker-
nen zullen steeds vaker op elkaar moeten wachten om een gedeelde datastructuur te beschrijven naarmate er meer cores in het systeem aanwezig zijn.
Valkuil In een poging een nieuw type microprocessor te bouwen dat verder schaalbaar is, zijn fabrikanten begonnen met systemen die afwijken van de centrale SMP-architectuur. De nieuwste trend is om de cores zelfstandiger te maken. Een goed voorbeeld is Intels single-chip cloud computer (SCC), een experimenteel prototype met 48 Pentium-cores (P58C) aan boord. In de SCC zijn alle rekenkernen verbonden via een on-chip meshnetwerk waarmee ze databerichten naar elkaar kunnen sturen en naar externe apparaten zoals het geheugen. Deze interconnect kan met een bandbreedte van 256 GB/s data uitwisselen tussen twee componenten. In tegenstelling tot de gedeelde databus in een SMP-systeem kunnen meerdere datapakketten op het meshnetwerk prima tegelijk worden verstuurd, mits ze niet over dezelfde lijn tussen twee cores gaan. In de SCC zijn vier DDR-geheugencontrollers met in totaal maximaal 16 GB aangesloten op het meshnetwerk. Via software is instelbaar welk deel van het geheugen iedere core krijgt. De SCC heeft geen hardware voor cachecoherentie aan boord. Dat maakt het mogelijk de hardware zonder problemen verder op te schalen. Voor het besturingssysteem is dit echter nog een grote uitdaging. Een standaard
Intels single-chip cloud computer (SCC) integreert op een enkele chip 48 Pentium-cores, die in tegenstelling tot gebruikelijke multicore processoren hun geheugenruimte niet hoeven te delen.
Linux-kernel met SMP-ondersteuning gaat ervan uit dat al het systeemgeheugen direct beschikbaar is vanuit alle cores, waarbij gedeeld geheugen altijd dezelfde data moet afleveren aan alle kernen. Onderzoekers van de ETH Zürich en Microsoft Research hebben een interessante manier gevonden om besturingssystemen te herontwerpen voor manycore systemen zonder cachecoherentie. Het idee achter hun zogeheten multikernel is om de computerarchitectuur te beschouwen als een gedistribueerd systeem. In plaats van het OS te ontwerpen als één groot programma in gedeeld geheugen stellen de onderzoekers voor om de kernel te verdelen in meerdere instanties. Elke kernelinstantie draait op een eigen core en heeft zijn eigen lokale geheugen dat niet fysiek gedeeld is met de andere instanties. Om informatie uit te wisselen, sturen de OSinstanties elkaar berichten. Een groot verschil tussen een multikernelen een standaard SMP-kernelarchitectuur is dat alle OS-datastructuren standaard lokaal zijn. Alleen informatie die noodzakelijkerwijs moet worden gedeeld met andere instanties, zoals de procestabel, wordt gesynchroniseerd, en dit gaat via expliciete berichten in plaats van met intrinsiek gedeeld geheugen. Dit maakt het moeilijk schaalbare locking-mechanisme overbodig. Het repliceren van toestandsinformatie en het synchroniseren van die informatie door middel van message passing is geen nieuw mechanisme; bij gedistribueerde systemen in een netwerk wordt dit al langer
toegepast. Nu wordt het echter ook ingezet in een OS. Een subtiele valkuil hierbij is wel dat het uitwisselen van berichten via gedeeld geheugen gaat, wat weer kan leiden tot cachinggerelateerde problemen.
Hot topic Voor mijn afstudeerscriptie aan de Vrije Universiteit Amsterdam (VU) hebben we het multikernelprincipe toegepast op het Minix-besturingssysteem. Minix is een experimenteel OS dat in de jaren tachtig door Andrew Tanenbaum op de VU is gebouwd voor onderzoeks- en onderwijsdoeleinden. Vanaf de eerste regel code is het geschreven met enkele kernwaarden in het achterhoofd. Ten eerste is isolatie een fundamenteel ontwerpprincipe. Alle softwarecomponenten in Minix, zoals bestandssystemen en devicedrivers, zijn een geïsoleerd proces. Het grote voordeel is dat mogelijk fatale fouten binnen een softwarecomponent geen invloed hebben op de andere componenten, wat het OS fouttolerant maakt – de tweede kernwaarde. De Minix-microkernel zorgt ervoor dat de processen razendsnel informatie kunnen uitwisselen door middel van message passing. Zo kan het proces van het bestandssysteem bijvoorbeeld een bericht naar het diskdriverproces sturen om data te lezen of te schrijven. Een ander voordeel van isolatie is dat softwarecomponenten eenvoudiger on-the-fly geüpdatet kunnen worden – de derde kernwaarde van Minix: OS-software kan worden bijgewerkt zonder dat het complete systeem herstart hoeft te
worden, iets wat Windows-gebruikers waarschijnlijk als muziek in de oren klinkt. Voor Minix is het dus belangrijk om isolatie van onderdelen zo strikt mogelijk te houden. Daarom krijgt elke softwarecomponent slechts minimale toegang tot systeemhardware voor uitvoering van zijn functie. De toepassing van het least privilege-principe – de vierde kernwaarde – beperkt de impact van fouten tot een minimum. Als vijfde en laatste kernwaarde streven de Minix-designers ernaar om het OS zo veel mogelijk conform de Posix-specificatie te houden, zodat het een groot aantal bestaande applicaties kan draaien. De microkernelarchitectuur is in de geschiedenis van computersystemen vaak onderwerp geweest van soms heftige discussies. Voorstanders benadrukken de betrouwbaarheidsvoordelen zoals beschreven in de kernwaarden. Tegenstanders brengen daartegen in dat microkernels complexer zijn en een hoop overhead introduceren, met prestatieverliezen van dien. De CPU moet namelijk voortdurend van proces wisselen, het zogenaamde contextswitchen – Minix bestaat typisch uit tien tot twintig aparte processen. Beide partijen hebben terechte argumenten, maar de strijd is nog niet gestreden. Microkernels, en met name Minix, hebben van nature een aantal eigenschappen die ze geschikt maakt voor manycore machines. Op dit moment is het een hot topic bij onderzoekers. Doordat softwarecomponenten maximaal geïsoleerd zijn als aparte proces-
7 | 51
Electronics
EMC-DT
Electromagnetic compatibility design techniques Electromagnetic compatibility (EMC) often lies on the critical path of the product creation process. In this training course, guidelines and tools are given to achieve a systematic and cost-effective integration of EMC technology into new electronic products. In this way, we can prevent delayed market introduction because of EMC problems. The course is intended for electronic designers and EMC quality engineers working in product development, research, production automation and system engineering. During lectures, exercises and a workshop (day 5) an introduction will be given to electromagnetic emission and susceptibility in products and systems: problems, analysis methods, measures. Location: Eindhoven Price: 2250 euros Duration: 5 consecutive days Dates: 24 - 28 September 2012
Electronics
DTSP
Discrete-time signal processing Discrete-time signal processing (DTSP) is a key technology for numerous systems and services. For example, the enhancement, transmission and storage of audio and video signals and speech recognition would be unthinkable without DTSP. This workshop gives the basic theory for this fascinating area. The workshop is intended for designers working in research, product development or electrical production mechanisation. Basic knowledge in mathematics and a technical bachelor or master is a prerequisite. Location: Eindhoven Price: 2450 euros Duration: 17 weekly evening sessions, an exam and a closing session Dates: commences 5 November 2012
Electronics
CoE
Cooling of electronics To prevent expensive redesigns and a delayed market introduction, thermal management needs to be part of the design process right from the start. This course introduces thermal design and cooling of electronic components, modules and systems from an industrial point of view. This view is relevant for many applications, such as semiconductors, power electronics and, recently, lighting through the accelerated introduction of LEDs. Two very experienced lecturers teach the participants to solve the thermal problems they encounter during all levels of the product creation process. Real-life cases obtained from the participants themselves and prepared by the lecturers are used to demonstrate the application of the course principles during the final day. Location: Eindhoven Price: 1650 euros Duration: 3 consecutive days Dates: 7 - 9 November 2012
www.hightechinstitute.nl
Achtergrond Besturingssystemen sen met hun eigen lokale data, is er weinig behoefte aan gedeeld, coherent geheugen. En elke component kan op een eigen core draaien, waardoor parallelliseren en opschalen vrij makkelijk gaan. De overhead van het contextswitchen wordt daarmee verdeeld over alle kernen in het systeem, waardoor de prestatieverliezen afnemen. Sterker nog: met voldoende rekenkernen kan elke component zelfs zijn eigen dedicated core krijgen en is er helemaal geen contextswitch meer nodig.
Belangrijke stappen De potentiële schaalbaarheid van een microkernel als Minix in manycore machines hebben we aangetoond door het OS te implementeren op Intels SCC. Daarbij hebben we het multikernelprincipe toegepast: elke core draait een eigen Minix-microkernel, die processen op de kern beheert en het uitwisselen van berichten verzorgt. Om het OS te kunnen booten op de SCCcores hebben we eerst de Minix-opstartcode moeten herschrijven. De SCC-kernen missen een aantal belangrijke hardwarecomponenten die wel in een standaard multicore pc aanwezig zijn: Bios, ACPI, Uart, Pic, Pit, IOApic, Ata/IDE-disk, keyboard en muis. Daarnaast verwacht de SCC een speciaal geformatteerd geheugenimage waarmee het OS dient op te starten. Fundamenteler is de aanpassing aan het message passing-mechanisme van Minix. De SCC biedt hier aparte hardware voor, de message passing buffer (MPB). Dit is een supersnel stukje geheugen van 8 kB op elke core dat vanaf elke andere rekenkern kan worden beschreven. Een van de technische uitdagingen was om de message passing-Api in Minix zodanig te hergebruiken dat bestaande softwarecomponenten niet aangepast hoefden te worden, maar dat er in de adressering wel onderscheid kan worden gemaakt tussen processen op dezelfde core en processen op andere cores. Hiervoor hebben we verschillende alternatieven geëvalueerd. Uiteindelijk hebben we ervoor gekozen om in de procestabel op elke kern stubs te introduceren voor remote processen: een proces stuurt gewoon met de standaard message passing-Api berichten naar de processen, maar als de kernel ziet dat er een stub staat, levert hij het bericht af bij de andere core middels de MPB. Voor een correcte message passingimplementatie zijn er twee fundamentele mechanismen noodzakelijk: aflevering en notificatie. De aflevering is op verschillen-
TILE R
TILE R
TILE MC
R
TILE R
TILE R R
R
R
R
R
R
R
TILE
TILE
Bus to PCI
P54C (16KB each L1)
TILE TILE
TILE
TILE R
Traffic gen Mesh I/F
P54C (16KB each L1)
R
R
TILE 256KB L2
MC
R
R
R
TILE R
TILE
TILE
TILE R
TILE R
TILE
TILE
TILE R
TILE R
TILE
TILE
TILE MC
TILE R
256KB L2
Message buffer
MC
De cores op de SCC zijn in een grid-netwerk geplaatst en communiceren door elkaar berichten te sturen.
de manieren te implementeren. Als eerste poging hebben we in alle MPB’s voor elke andere core een eigen geheugengebiedje gereserveerd. Hierdoor kan iedere rekenkern altijd berichten afleveren op elke andere core, zonder last te hebben van het overige verkeer. De ruimte voor berichten is echter beperkt: een zevenenveertigste van de totale MPB, ofwel 174 bytes. De tweede manier is om de MPB te zien als een wachtrij, ook wel circulaire queue genoemd. Om hier berichten aan toe te voegen, moet een core eerst de MPB-specifieke lock bemachtigen om racecondities te vermijden. Een kern heeft dan echter wel veel meer ruimte beschikbaar voor berichten en kan ook meerdere berichten tegelijk in de wachtrij zetten. Uit performanceresultaten is deze methode daarom als beste naar voren gekomen. De locking-overhead voor het beschrijven van de MPB vormt in de Miniximplementatie nog geen probleem. Naast een mechanisme voor de aflevering moet er ook een manier zijn om de software te informeren over de berichten. De beste manier voor notificatie in de SCC bleek door middel van interprocessor interrupts (IPI): elke core in de SCC kan een interrupt veroorzaken op een willekeurige andere kern. Die stopt dan tijdelijk met het huidige programma om het binnenkomende bericht te verwerken. Een alternatief voor notificatie is polling, waarbij de software zelf op geregelde tijdstippen kijkt of er wat nieuws is. Het systeem heeft daarmee minder last van de vertraging die IPI’s veroorzaken. Toch bleken de prestaties met dit mechanisme meestal lager dan bij notificatie. Bij het versturen van berichten moet namelijk niet alleen de ontvanger worden ingeseind dat er een nieuw bericht is, maar moet ook de verzender we-
ten dat zijn bericht is aangekomen. Met polling moet een kern dus voortdurend via de mesh in de MPB van de ontvanger kijken of zijn verstuurde berichten zijn aangekomen, terwijl er bij notificatie slechts één IPI wordt gegenereerd. Wanneer een rekenkern communiceert met veel andere cores wordt de mesh daardoor te veel belast. Alleen bij eenop-eenverkeer tussen kernen levert polling een snelheidswinst op ten opzichte van IPI’s. Al staat het onderzoek naar besturingssystemen voor manycore machines nog in de kinderschoenen, de eerste belangrijke stappen zijn al gezet. Mijn werk legt een stevige basis voor verder onderzoek naar Minix als manycore besturingssysteem op de SCC. Het message passing-mechanisme is efficiënt, betrouwbaar en schaalbaar gebleken. Toekomstig werk zal meer inzicht geven in de mogelijkheden die een microkernel biedt voor manycore systemen. De experimenten met multi- en microkernels op manycore systemen tonen aan dat de toekomst van besturingssystemen gedistribueerd van aard is. Zolang hardwareleveranciers doorgaan met het verbeteren van parallellisme in microprocessoren zullen wij softwaredesigners telkens de lat hoger leggen met het opschalen van besturingssystemen, zodat manycore systemen uiteindelijk kunnen ontwikkelen in kwalitatief hoogwaardige producten. Niek Linnenbank (
[email protected]) voerde zijn onderzoek uit in het kader van een mastertraject Parallel Distributed Computer Systems aan de Vrije Universiteit Amsterdam (pdcs.vu.nl), onder begeleiding van Tomas Ruby, Dirk Vogt en Andrew Tanenbaum. Vandaag de dag werkt hij als software-engineer bij ICT Automatisering. Redactie Pieter Edelman
7 | 53
R
Achtergrond Testen en meten
GPU-rekenen: bezint eer ge begint (maar doe het daarna wel) GPU’s worden soms gezien als de ultieme oplossing voor het versnellen van grote berekeningen, maar zo simpel ligt het niet. De manier van implementeren bepaalt in belangrijke mate het succes en de keuze van het algoritme kan zelfs een nog grotere impact hebben, zo bleek bij een project rond het simuleren van ultrasone golven in metalen objecten. De voortplanting van het ultrageluid wordt in 2D-doorsnedes van het model gesimuleerd. De driehoek is de doorsnede van de lasnaad.
S
cientific computing is het vakgebied dat zich bezighoudt met het uitvoeren van grootschalige berekeningen met behulp van de computer. Een vakgebied dat sinds 1940 een ongelooflijke ontwikkeling heeft doorgemaakt, waar voorlopig geen eind aan lijkt te komen. Op het terrein van hardware zien we een ontwikkeling in het parallel inzetten van specifieke rekenkernen, zoals GPU’s, DSP’s en FPGA’s. Door hun relatief lage prijs komt high-performance computing opeens heel dichtbij voor allerlei toepassingen. Dit soort hardware heeft echter ook zijn beperkingen, want niet alle algoritmes zijn geschikt voor parallellisatie. Daarnaast zijn er beperkingen zoals een gelimiteerd lokaal geheugen per rekenunit. Om de rekenkracht ten volle te benutten, zullen de algoritmes daarom sterk getuned moeten zijn op de hardware waarop ze draaien. Met Lime zijn we als dienstverlener op het gebied van industriële wiskunde vaak te vinden op die scheidslijn van algoritme en hardware. Een van de eerste projecten waar we de GPU gebruikten voor niet-grafische toepassingen (general-purpose GPU, GPGPU) was voor het bedrijf Sonovation (nu Tüv Rheinland Sonovation), dat zich richt op nietdestructieve meettechnieken. Het meest bekende voorbeeld van niet-destructief meten is wellicht het monitoren van de ongeboren baby via ultrasoon geluid. Sonovation past die techniek echter toe op metalen objecten om aspecten als scheurtjes, roestvorming en kwaliteit van lasnaden te inspecteren. Een van de mogelijke inspectiemethodes is time of flight diffraction (TOFD), waarbij de tijd gemeten wordt tussen het uitzenden en opvangen van een hoogfrequente puls. Deze puls zal een goede lasnaad ongehinderd passeren, weerkaatsen op de achterzijde van het materiaal en uiteindelijk weer uitkomen bij de ontvanger. Onregelmatigheden in de lasnaad
54 |
7
Martijn Slob
Bjorn Snijders
leiden echter tot diffracties, waardoor de puls op een vroeger tijdstip wordt geregistreerd bij de ontvanger. Een eenvoudig principe dat in de praktijk echter snel complex wordt indien het te meten object gebogen is of een complexe vorm heeft, zoals een vat verbonden met een pijp. De aanwezige randen leiden dan tot veel interferentie. Om voorop te blijven lopen bij het inspecteren van dit soort uitdagende opstellingen startte Sonovation met ondersteuning van het subsidieprogramma OP-Zuid een ontwikkeltraject voor een simulatietool die van elke willekeurige driedimensionale opstelling kan doorrekenen welke meetresultaten te verwachten zijn. Die verwachting kan dan worden vergeleken met de waarneming.
Misvatting Dat rekentijd een cruciale rol zou gaan spelen, was al snel duidelijk. De puls is zeer hoogfrequent (want ultrasoon), wat een golflengte impliceert van hooguit 0,5 millimeter. Om de voortplanting van een dergelijke elastische golf nauwkeurig genoeg te berekenen, dient de uitwijking te worden berekend op
een schaal van zo’n tien tot twintig procent van de golflengte. De toestand van de puls in een constructie van bijvoorbeeld één kubieke decimeter vraagt dan om een berekening op duizend x duizend x duizend = een miljard posities. En deze berekening wordt herhaald voor elke tijdstap, waarvan er typisch een duizendtal nodig zijn. Toch is het een misvatting dat processorkracht en parallel rekenen hét antwoord zijn op dit soort grootschalige rekenproblemen. Het rekenalgoritme kan een veel grotere impact hebben dan de mogelijkheden van de hardware. Een belangrijke performanceindicator van zo’n algoritme is de orde van de relatie tussen nauwkeurigheid enerzijds en het aantal gridpunten en tijdstappen anderzijds. Verdubbeling van het aantal gridpunten leidt bij een algoritme van orde een tot een verdubbeling van de nauwkeurigheid, maar bij orde twee tot een verviervoudiging. Bij grootschalige rekenproblemen kan de impact hiervan enorm oplopen. Heeft een lineair rekenalgoritme een miljoen gridpunten door te rekenen, dan heeft een tweede-orde algoritme voor dezelfde nauwkeurigheid aan ruwweg duizend punten genoeg. Dat is een factor duizend winst, zonder enige investering in dure hardware. Wellicht dé succesfactor van het project was daarom de keuze voor het Efit-algoritme (elastodynamic finite integration technique). Dit is een van de vele methodes die beschikbaar zijn voor de simulatie van elastische golven. Voor ons is het echter relevant dat deze specifieke methode een tweede-orde algoritme is.
Keuzes De gesimuleerde toestand na 3600 tijdstappen laat een reflectie zien rond een artefact. Linksboven de gesimuleerde transmitter, rechtsboven de sensor.
We hebben twee methodes voor het schaalbaar maken van de implementatie uitgewerkt, die eventueel samen kunnen worden toegepast. Een is het spreiden van het rekenwerk over meerdere rekenstations dan wel
1000
CPU GPU
meerdere processorcores zonder handmatige multithreading. Op die manier kunnen alle desktops bijvoorbeeld in de nacht aan het werk worden gezet. Message Passing Interface (MPI) is het gangbare protocol bij dit type parallellisme en er bestaan implementaties voor de meest gangbare talen, waaronder C(++), Java en Python. Het opensource OpenMPI-pakket neemt een belangrijk deel van het werk uit handen, zoals de communicatie tussen de systemen, het starten en stoppen van processen en het verdelen van het rekenwerk. De tweede methode was de inzet van een GPU. Voor een paar honderd euro heb je al een krachtige grafische kaart zoals een NVidia Quadro, die tot honderden rekenkernen kan bevatten. Voor een paar duizend euro zijn echte rekenmonsters te koop, zoals NVidia’s Tesla. Een GPU levert heel veel rekenkracht per geïnvesteerde euro, maar er zijn beperkingen die dat potentieel volledig teniet kunnen doen. Ten eerste delen veel rekenkernen dezelfde instructiepointer, wat betekent dat ze dezelfde operatie uitvoeren op verschillende data (single instruction, multiple data ofwel SimD). Indien er veel branching in een algoritme zit, waarbij er keuzes worden gemaakt op basis van de huidige toestand, dan zullen alle kernen dezelfde keuze moeten maken terwijl dat niet altijd gewenst is. Een vertaling van een dergelijk algoritme voor de GPU zal daarom minder efficiënt zijn. Een andere degradatie van de GPU-prestaties komt van de overhead die nodig is om alle rekenkernen van data te voorzien. Een GPU bevat wel zes verschillende typen geheugen, die variëren in functionaliteit (read-only, read/write), omvang en doorvoersnelheid. Het lezen van en schrijven naar dit geheugen kost tijd en als het niet lukt om de rekenkernen in die tijd bezig te houden met
100
10
Bottleneck GPU-I/O GPU-geheugenproblemen
00
x20
00
00 20
x15 00 15
10
00
x10
00
00 0x9 90
50 0x8 85
80
0x8
00
50 75
0x7 70
0x7
00
00 0x6 60
00 0x5 50
00 0x4 40
00 0x3 30
00 0x2 20
0x1
00
1
10
Bij kleine domeinen wint de grotere rekenkracht van de twaalf CPU’s het nog van de 320 GPU-cores, maar met grotere pakketten wordt de impact van parallellisme dominant. Wanneer we bijvoorbeeld ‘850 bij 850’ vergelijken met ‘100 bij 100’ wordt het aantal gridpunten 72 maal groter, maar neemt de rekentijd slechts met een factor twintig toe voor de CPU’s en zelfs maar met een factor zes voor de GPU’s. Wanneer het aantal gridpunten te groot wordt, ontstaan er problemen voor de GPU, die zijn deel niet meer lokaal kan opslaan. Daarom mogen we verwachten dat het gebruik van een krachtigere GPU met bijvoorbeeld 512 cores de performance enorm verhoogt voor met name de grotere domeinen.
Simulatiestappen/seconde
CPU-rekenkracht
Domeingrootte
een alternatieve taak, gaat de performance hard naar beneden. Deze beperkingen maken dat het schrijven van efficiënte GPU-code een ware kunst is. Een mogelijke oplossing is om het algoritme zo om te schrijven dat de bulk van het rekenwerk gebeurt binnen standaard wiskundige bewerkingen, zoals een fast Fouriertransformatie of het oplossen van een groot stelsel vergelijkingen. Voor dit soort bewerkingen bestaan GPU-implementaties zoals de gratis beschikbare Cuda-bibliotheken CuFFT voor de snelle Fourier-transformatie of Cublas voor vector- en matrixbewerkingen. Inmiddels beginnen dit soort bibliotheken ook voor OpenCL op te komen, zoals ViennaCL, maar ze zijn nog niet op het niveau van de Cuda-tools. In het Sonovation-project hebben we echter toch gekozen voor OpenCL. Cuda is namelijk voorbehouden aan NVidiakaarten, terwijl OpenCL zonder aanpassing kan worden toegepast op multicore CPU’s, FPGA’s, DSP’s en GPU’s van verschillende producenten, zeg maar op alles dat kan rekenen. Het is zelfs mogelijk al deze rekenunits op een transparante manier te combineren binnen één proces. Omdat de hardware binnen het Sonovation-project al beschikbaar was – een Mac Pro met twee krachtige 6-core Intel Xeon-CPU’s en een bescheiden Ati Radeon 5870-GPU met in totaal 320 processing elements – konden we OpenCL gebruiken op zowel de GPU’s als op de CPU-cores. Daarnaast werkt OpenCL naadloos samen met de grafische bibliotheek OpenGL, waardoor we een lopende simulatie eenvoudig en zonder prestatieverlies realtime konden visualiseren.
Selectief Een van de GPGPU-valkuilen is dat de rekenunits van grafische kaarten geoptimaliseerd
zijn voor floats en niet zozeer voor doubles. Voor de Sonovation-toepassingen is deze hoge nauwkeurigheid echter noodzakelijk. De prestaties kwamen daardoor met de gebruikte GPU’s tot een factor vijf lager uit. Bij modernere grafische processoren speelt dit probleem minder en er zijn ook kaarten zoals NVidia’s Tesla die speciaal ontworpen zijn voor rekenwerk met dubbele precisie. De aanschaf van dit soort compute-optimised kaarten kan verdere opschaling mogelijk maken. Een aspect waar op we op voorhand ook niet op voorbereid waren, is dat de opslag van data de nieuwe bottleneck werd. Dit hebben we gedeeltelijk opgelost door selectief te zijn met wat we opslaan en het gebruik van SSD’s, maar we overwegen ook de aanschaf van FusionIO-boards, die een veel hogere bandbreedte mogelijk maken. We mogen stellen dat het general-purpose gebruik van GPU’s inmiddels volwassen is geworden en een geweldige performance kan bieden tegen lage kosten. Maar die potentie komt pas echt tot uiting wanneer de algoritmes hier specifiek voor gekozen en geoptimaliseerd zijn. De disciplines van softwareontwikkeling en (toegepaste) wiskunde raken daardoor steeds meer verweven. Paradoxaal genoeg betekent dit dat innovatie de situatie uit 1940 weer doet herleven, toen de programmeur en de wiskundige gewoon een en dezelfde persoon waren. Martijn Slob werkt bij wiskundig dienstverlener Lime, dat ontstaan is als instituut van de TUEfaculteit Wiskunde & Informatica, maar ondertussen een zelfstandig onderdeel is van Sioux. Bjorn Snijders werkt bij het Global NDT Competence Centre van Tüv Rheinland Sonovation en is veel betrokken geweest bij het toepassen van academische kennis in praktische applicaties. Redactie Pieter Edelman
7 | 55
Achtergrond Ruimtevaart
Multicore als wapen tegen ruimtestraling Met een functioneel prototype van MPPBsysteem in FPGA’s kan de zin en onzin van de aanpak onderzocht worden.
D
e hoeveelheden data die de instrumenten aan boord van satellieten verzamelen voor wetenschappelijke of aardobservatiemissies nemen hand over hand toe met elke generatie. De communicatiebandbreedte van een ruimtevaartuig naar de aarde blijft echter min of meer hetzelfde. Daarom zijn er steeds meer en krachtigere DSP’s aan het werk om de data alvast aan boord te verwerken, zodat er minder naar aarde hoeft te worden verstuurd. In de ruimte komen echter van tijd tot tijd extreem hoge stralingsniveaus voor, wat ‘omvallende’ bits veroorzaakt, fouten geeft tijdens dataverwerking en zelfs onderdelen van de chip kan aantasten. Een processor kan daarom niet zomaar de ruimte in. Eerst moet er een ‘stralingsharde’ Asic worden gemaakt op basis van de chip. Huidige platforms voor dataverwerking zijn vaak gebaseerd op general-purpose processoren in combinatie met stralingsbestendige (maar stroomvretende) FPGA’s, of stralingsharde DSP’s die al generaties meegaan – een nieuwe chip ontwerpen is immers een kostbaar proces. De huidige stralingsbestendige dataprocessor van de Esa ontbeert daarom de rekenkracht die nodig is voor veel toekomstige toepassingen. Deze processor, de TSC21020 van Atmel, is gebaseerd op de ADSP-21020-architectuur van Analog Devices, een ontwerp uit begin jaren negentig van de vorige eeuw. Het ontwerp gaat dus al bijna twee decennia mee. Er zijn verschillende strategieën om chips fouttolerant te maken. Hardwarematig kunnen er foutcorrectiecodes (zoals Hammingcodes) worden toegevoegd waarmee het systeem de uitgewisselde data controleert
56 |
7
Op de Esa DSP Day in Noordwijk eind augustus presenteerde Recore Systems een prototype van een herconfigureerbare multicore DSP voor ruimtevaarttoepassingen aan de kopstukken van de ruimtevaartindustrie. Het zogeheten MPPB-systeem koppelt een vertrouwde Leon2-processor aan meerdere DSP-cores en laat zien dat herconfigureerbare technologieën en netwerk-op-chip-architecturen een circuit bestand kunnen maken tegen de effecten van ruimtestraling. Gerard Rauwerda
Inès Nijman
en eventueel corrigeert. De hardwarecircuits kunnen ook dubbel (of zelfs drievoudig) worden uitgevoerd, waarbij de resultaten onderling worden vergeleken en fouten weggestemd. Dit kan ook in tijd: een hardwarecircuit voert dan de taak een paar keer achter elkaar uit. Er zijn ook stralingsharde fabricageprocessen, waarbij bijvoorbeeld een epitaxiale laag op het substraat wordt gelegd of het siliciumsubstraat wordt vervangen door een isolator. Ook de vorm van chipstructuren kan bijdragen aan stralingshardheid. De transistor zelf kan als een zogeheten enclosed layout transistor worden uitgevoerd, waarbij de gate in een ring om de drain of source ligt. Dat zwakt effecten van straling af. Op vergelijkbare manier zijn er stralingsharde lay-outs voor schakelingen. Imec heeft een bibliotheek met digitale standaardcellen aangelegd voor de 0,18-micrometertechnologie van UMC. Dankzij specifieke lay-outs en dubbel uitgevoerde flipflops kan met deze Dare-bibliotheek (Design Against Radiation Effects) een stralingsbestendige chip worden ontworpen die relatief goedkoop is te fabriceren met commercieel beschikbare CMos-processen. Ook software kan fouten ontdekken en uitfilteren. Voor ruimtetoepassingen gebeurt dit met redundantie op het instructie-, taak- of applicatieniveau.
Oud worden Een iets andere insteek voor het maken van fouttolerante chips is door herconfigureerbare systemen te gebruiken met meerdere uitwisselbare DSP-kernen. Als onderdeel van Esa’s zoektocht naar een volgende ge-
neratie ruimtevaart-DSP heeft Recore samen met UT-hoogleraar Gerard Smit een prototype ontwikkeld gebaseerd op dit principe, het Massively Parallel Processor Breadboarding-systeem (MPPB). Hiermee is de zin en onzin aan te tonen van concepten voor fouttolerantie met herconfigureerbare componenten en focus aan te brengen op integratie met bewezen concepten. Dit helpt Esa-Estec met de besluitvorming rond de investering in een dure nieuwe Asic. De kern van MPPB is dat het een zelfherstellend systeem is. De basis hiervoor werd gelegd in het vorig jaar afgeronde Crisp-onderzoeksproject. Het systeem beschikt over een mechanisme dat van tijd tot tijd testpakketjes over het on-chip netwerk stuurt. Bij een fout op een verbinding of interface wordt de test via andere paden herhaald om de precieze locatie te bepalen. Ook de DSP-kernen op de chip worden regelmatig getest. De kern wordt hiervoor – terwijl de chip operationeel is – van rekenmodus naar testmodus gezet. Essentieel hierin is de runtime manager, een softwareprogramma dat zorgt voor het verdelen van taken over de beschikbare rekenkernen. Deze manager maakt de cores ook om de beurt vrij voor tests en houdt bij welke verbindingen en componenten defect zijn geraakt, zodat alleen de werkende delen een rekentaak toegewezen krijgen. Mocht blijken dat een geteste DSP-kern permanent foute resultaten teruggeeft, dan schakelt de runtime manager deze voorgoed uit. Zo kan de processor als geheel betrouwbaar blijven functioneren, ook wanneer onderdelen zijn beschadigd. Het systeem kan daardoor oud worden met behoud van func-
SPW 1
SPW 2
ADC/DACbridge
GbIF
SDRam 1
xxx
NOC
Xentium0
Herconfigureerbaarheid is ...
Herconfigureerbaarheid is een begrip dat afhankelijk van de context iedere keer een andere definitie lijkt te hebben. In een rijtje oneliners: • Herconfigureerbaarheid is ... een nieuwe versie van je software in je embedded systeem kunnen laden. • Herconfigureerbaarheid is ... synoniem met FPGA. • Herconfigureerbaarheid is ... de functie van je DSP-core in een paar milliseconden kunnen veranderen. Dit soort herconfigureerbaarheid heet ook wel FPFA (field-programmable function array). • Herconfigureerbaarheid is ... de taken flexibel en ongemerkt over meer of minder kernen in je multicore systeem kunnen verdelen. • Herconfigureerbaarheid is ... elementen in je ontwerp tijdens gebruik snel kunnen aanpassen aan veranderende omstandigheden. • Herconfigureerbaarheid is ... een component in je hardware ongemerkt kunnen uitwisselen voor een nieuwe, modernere versie. tie in plaats van plotseling te stoppen. Het is een vorm van functionele redundantie zonder extra hardwarecomponenten. Door het gebruik van een runtime manager die flexibel taken kan herverdelen, nieuwe rekentaken kan toekennen aan kernen, de benodigde communicatieverbindingen kan vrijhouden en inschattingen kan maken of een nieuwe taak nog ‘past’, wordt het systeem ook bestand tegen toekomstige veranderingen in standaarden en taken.
Korte lijntjes Het MPPB-multi-DSP-systeem bestaat uit twee delen: een subsysteem met generalpurpose processor en een DSP-subsysteem voor de uitvoering van de dataverwerking. Het systeem past een aantal klassieke technieken toe voor dataredundantie, zoals foutdetectie en -correctie op de geheugens. Voor de communicatie met verafgelegen componenten en geheugens gebruikt MPPB bewezen Spacewire-interfaces die direct met het netwerk-op-chip (NOC) verbonden zijn. Ook het processorsubsysteem past bewezen ruimtevaartechnologie toe. De processor zelf is gebaseerd op Leon2, een populaire architectuur binnen de ruimtevaart, en de AHB-bus. Watchdog-timers resetten de processor als deze niet reageert. Het DSP-subsysteem is echter geheel nieuw ontworpen. Als DSP-kernen hebben we twee van onze Xentium-cores toegepast. Cruciaal is de keuze voor een NOC om deze cores, de geheugenelementen en externe interfaces met elkaar te verbinden. Ieder element in het netwerk beschikt over een eigen router, die via een meshnetwerk data
Xentium1
geheugen
DMAcontroller
NOCbridge timers
RTC
Leon2processor
AHB SPW 0 RMAP
GPIO
UArt
flash
LCD
SDRam 0
Het Massively Parallel Processor Breadboarding-systeem is een ontwerp van Recore om DSP’s voor de ruimtevaart bestand te maken tegen straling. De architectuur koppelt vertrouwde concepten zoals een stralingsharde Leon2-processor en geheugen met foutcorrectie aan nieuwe ideeën zoals meerdere DSP-kernen die elkaars taak kunnen overnemen en een netwerk-op-chip-architectuur.
uitwisselt met zijn soortgenoten. Dit heeft een aantal voordelen, zowel op het gebied van schaalbaarheid als redundantie. Een klassieke centrale bus kan de groeiende datastromen van steeds meer cores slecht verwerken en belemmert de schaalbaarheid. Een netwerk-op-chip schaalt mee met het aantal componenten omdat verkeer in het ene deel van het netwerk geen invloed heeft op andere delen. Daarmee biedt een NOC ook voldoende bandbreedte om veel verschillende datastromen van de externe interfaces te verwerken. In de ruimte speelt energieverbruik een nog grotere rol dan op aarde vanwege de problemen met het afvoeren van warmte in een vacuüm. Dankzij het netwerk kunnen ongebruikte delen van het circuit gemakkelijk worden uitgeschakeld. Samen met een terugschakeling in kloksnelheid beperken we daarmee de stralingswarmte. De NOC-aanpak maakt ook het ontwerpproces makkelijker. De aantallen processorkernen, geheugenlocaties en externe interfaces zijn met een dergelijke architectuur relatief eenvoudig aan te passen. Daarnaast kunnen de geheugens en externe interfaces dicht bij de cores worden geplaatst. Dat is cruciaal aangezien multicore systemen met veel parallelle rekenkernen alleen goed opereren als de benodigde informatie snel voorhanden is. En de korte lijntjes verkleinen ook de kans dat een bitje tijdens data-uitwisseling omvalt door invallende straling.
Snelheidsreductie Op dit moment is MPPB een functioneel prototype in FPGA’s. Dit wordt nu verder
uitgewerkt in een stralingsharde siliciumimplementatie met hulp van en Imec en zijn Dare-technologie. Dan zullen de effecten van stralingshardheid zichtbaar worden. Zo wordt het chipoppervlak twee- tot driemaal groter voor dezelfde functionaliteit ten opzichte van een commercieel proces. De foutcorrigerende logica rond geheugenelementen betekent een snelheidsreductie tot vijftig procent, terwijl het benodigde geheugen toeneemt om correctie-informatie te accommoderen. Met een goede stralingsharde bibliotheek zullen de logische componenten op de chip echter weinig last hebben van timingeffecten. Door de verdergaande miniaturisatie van CMos-procestechnologie wordt fouttolerantie uiteindelijk ook nodig in ‘aardse’ halfgeleidertoepassingen. Kleinere structuren in combinatie met lage voedingsspanningen resulteren in meer dynamische fouten, die vergelijkbaar zijn met stralingseffecten. In verschillende projecten proberen we de kruisbestuiving van fouttolerantie op basis van herconfigureerbare multicoretechnologie te vinden met bijvoorbeeld sensorsystemen en medische toepassingen. Gerard Rauwerda is CTO en medeoprichter van Recore Systems. Hij heeft tien jaar ervaring in herconfigureerbare-technologieontwikkeling voor digitale signaalverwerkingssystemen met toepassingen in consumentenelektronica en ruimtevaart. Inès Nijman is verantwoordelijk voor marketingcommunicatie bij Recore Systems. Ze heeft vijftien jaar werkervaring op het raakvlak van (medische) techniek en marketing. Redactie Pieter Edelman
7 | 57
Opinie De bril van Joost
Bankieren in een massively multi-core parallel universe
M Joost Backus beziet de hightech door een creatieve bril.
ulticore, parallellisme, deadlocks vermijden, semaforen en zandbakmodellen om safe te programmeren in een dynamische wereld waarin het ene proces het andere wel eens zou kunnen verstoren. Ik moest meteen denken aan de bankensector, die dergelijke mechanismen juist node mist. De financiële wereld lijkt meer op een instabiele Windows 95pc, waarin een neerstortende taak het hele systeem kon laten crashen, dan op een moderne machine met een veilig OS draaiend op een mooie multicore processor. De banken willen ons graag anders doen geloven. Nergens vind ik de kloof tussen schijn en werkelijkheid zo groot. Kent u die oude tv-reclame nog waarbij een container in een verre haven wordt uitgeladen? Iemand roept ‘Stop, we have a problem’, maar dan verschijnt de bankier ten tonele om te interveniëren. Iedereen gelukkig en het laden en lossen kan doorgaan. Kunt u zich zoiets in de echte wereld voorstellen? Uw spullen zitten vast in de haven van Nairobi. U belt de bank en binnen een vloek en een zucht kan alles weer doorgaan door de magnifieke interventie van uw huisbankier. De werkelijkheid is Fred ‘de Kaasschaaf’ Goodwin die de Royal Bank of Scotland in amper een decennium liet uitgroeien tot nummer vijf van de wereld, om die positie in no time te verkwanselen met de privatisering in oktober 2008. CEO Lloyd Blankfein die vindt dat de Amerikaanse zakenbank Goldmann Sachs ‘Gods werk’ verricht. Volgens het Financieele Dagblad moeten we dat echter met een zak zout nemen: Goldmann Sachs hielp Griekenland aan de euro door de schulden te verdoezelen, daarbij honderden miljoenen aan fee opstrijkend. Het verleidde Italiaanse dorpjes hun schulden te verkopen met ‘Gods hulp’, maar niet gratis natuurlijk. Het rommelde met inferieure hypotheekproducten door ze eerst te verkopen en daarna te speculeren op het ineenstorten ervan. Het verkocht zelfs beleggingen die het intern ‘a piece of crap’ noemde. Onze Heer werkt via mysterieuze wegen in een wel zeer parallel universum, denk ik dan. Net zo mysterieus bewegen zich de banken in Nederland. Rijkman Groenink c.s. die zich door ego, megalomanie en een soort realiteitsvervormingsveld in het Fortis-avontuur stortten en er zo voor zorgden dat ABN
Amro op spectaculaire wijze uit elkaar klapte en eigendom werd van ons allemaal – wel met 28,4 miljoen bonus voor heer RG trouwens. Zijn opvolger Gerrit Zalm die in Forum van 10 mei 2012 vet kopt: ‘Een bank is geen sociale instelling’. Klopt, maar er is behoorlijk wat overheidsgeld naar zijn instelling gevloeid. Waarop Zalm zegt: ‘Ja, maar dat heeft deze bank niet besloten.’ Sorry? NRC meldt in mei 2009: ‘Volgens topman Zalm is ABN Amro in onderhandeling met het ministerie van Financiën en de Europese Commissie
De financiële wereld lijkt meer op een instabiele Windows 95-pc over een noodzakelijke kapitaalinjectie om het ‘zelfstandig voortbestaan’ van de bank te kunnen garanderen.’ Ook nog een storing in het geheugen? Overheidsgeld met beide handen aanpakken maar het daarna als ‘des overheids’ neerzetten. Dat is pas parallel denken met vele kernen. Nee, dan de Rabobank. Die beweert bij monde van Piet Moerland over zichzelf: ‘Dit is een superieur model.’ Dat superieure model vertoont ook scheurtjes. Volgens FDbronnen kregen in 2008 en 2011 vier medewerkers hun congé omdat ze mogelijk betrokken waren bij het Libor-renteschandaal. Toen ik zelf onlangs bij de Rabo aanklopte met het verzoek een zakelijke rekening te openen, was het antwoord dat ze daar helaas geen medewerking aan konden verlenen. Mocht ik willen bankieren, moest ik eerst maar eens mijn particuliere bankzaken daar onderbrengen. Dan waren ze bereid verder te praten. Dat is toch gewoon koppelverkoop? Daar zou de NMA eens moeten ingrijpen. De KvK heeft me gecheckt en ingeschreven, dus ik zou niet weten welk beletsel er dan nog is om een zakelijke rekening te openen. Juist de banken zouden er alles aan moeten doen de bedrijvigheid een zetje te geven, onder welke omstandigheden dan ook. Maar ja, die leven in een parallelle wereld. Ik ga nu bij de NMA bezwaar aantekenen tegen de Rabo. Zal toch wel niks worden. Ik hou u op de hoogte.
7 | 59
Agenda Trainingen DXDesigner for Expedition PCB flow 22 - 24 oktober, Almelo
DXDesigner for Pads
Expedition PCB introduction
Professional VHDL
I/O Designer
Universal Verification Methodology
Hyperlynx analog
Introduction to SystemC for modeling
Hyperlynx advanced high-speed PCB analysis
18 september, Borne
5 - 8 november, Almelo
19 - 21 september, Borne
12 en 13 november, Almelo
24 - 27 september, Borne
15 en 16 november, Almelo
8 - 10 oktober, Borne www.dizain-sync.com
19 - 21 november, Almelo
Projectmanagement masterclass Start 9 oktober, Eindhoven
Human factors in design for reliability 11 oktober, Eindhoven
Reliability foundation 1
Model management and verification in Simulink
Management van innovatieve groeibedrijven
Simulink for system and algorithm modeling
Matlab for data processing and visualization
18 en 19 oktober, Zaventem 6 en 7 december, Woerden
9 en 10 oktober, Eindhoven 11 oktober, Eindhoven
Signal processing with Matlab 23 en 24 oktober, Eindhoven
Matlab and Simulink for control design acceleration 25 en 26 oktober, Eindhoven www.mathworks.nl
Reliability foundation 2
Start 18 oktober, Leuven www.leuveninc.com
Design patterns
Reliability
Big data for society
Six Sigma
ICT for health monitoring and ambient-assisted living
Requirements engineering foundations
Start 15 oktober, Eindhoven Start 22 oktober, Eindhoven
17 september, Leuven
20 november, Eindhoven 29 november, Eindhoven
Valorisatie, innovatie & productcreatie 29 november, Eindhoven www.holland-innovative.nl
9 oktober, Leuven www.kuleuven.be/lict
New product & innovation management 20 en 21 september, Kruibeke
PSL – assertion-based verification with Questa 24 en 25 september, Almelo
DXDesigner 2007 update
Risk management in integrated R&D processes
27 september, Kruibeke www.mastersininnovation.com
Matlab fundamentals
27 september, Almelo
18 - 20 september, Mechelen 2 - 4 oktober, Eindhoven
Ces for Expedition PCB 8 en 9 oktober, Almelo
1 & 2-daagse Seminar Eagle 6, PCB & Design Datum: Maandag 1 oktober (08.30 – ca. 16.00 uur) Dinsdag 2 oktober (08.30 – ca. 16.00 uur) Locatie: Eindhoven Meer info www.elektor.nl/eagle U kunt de cursusdagen afzonderlijk boeken.
Labview core 1
15 - 17 oktober, Zaventem 29 - 31 oktober, Woerden 3 - 5 december, Woerden 3 - 5 december, Zaventem
27 en 28 september, Eindhoven
Hyperlynx power integrity analysis 22 en 23 november, Almelo www.innofour.com
22 en 23 november, Delft
Six Sigma
25 en 26 september, Eindhoven
29 en 30 oktober en 1 november, Almelo
Switched-mode power supplies
Configuratiemanagement
Stateflow for logic-driven system modeling
1 - 4 oktober, Eindhoven 3, 4, 10 en 11 december, Eindhoven 10 - 12 oktober, Amersfoort 22 - 24 oktober, Leuven
Introduction to Scrum 19 oktober, Amersfoort 23 november, Amersfoort
Object-oriented analysis & design using UML 2.0
19 en 20, 28 - 30 november, Eindhoven www.mithuntraining.com
MSC-Microsemi Soc: safety-critical system solutions 9 oktober, Eindhoven
MSC-Lattix: MachXO2 speed 17 oktober, Eindhoven 18 oktober, Brussel www.msc-ge.com
7
MCU Solutions Summit
Labview core 2
26 september, Brussel 27 september, Breda www.silica.com
Labview Real-Time 1
Signal integrity and high-speed methodology
5 en 6 november, Zaventem 11 en 12 december, Woerden
Labview FPGA
7 en 8 november, Zaventem 13 en 14 december, Woerden
Teststand 1 – test development 12 - 14 november, Woerden 17 - 19 december, Zaventem
31 oktober - 2 november, Deurne www.sintecs.eu
Ireb CPRE foundation
20, 27 september en 4 oktober, Almere www.sysqa.nl
Data acquisition and signal conditioning
15 en 16 november, Woerden
Labview core 3
26 - 28 november, Zaventem
Labview performance
29 en 30 november, Zaventem www.ni.com/netherlands
IPMA (technisch) projectmanagement 20 september, 16 oktober, 13 november en 11 december, Eindhoven
Elektromagnetische compatibiliteit 8, 9, 15, 16, 22 en 23 november, Eindhoven
In-depth theory of electrical machines Start 13 november, Eindhoven
Model-based engineering of electrical drives Start 13 november, Eindhoven
Reliability
20 november, Eindhoven
Altium Designer
24 en 25 september, Markelo 23 en 24 oktober, Markelo 26 en 27 november, Markelo
Introductie FPGA-ontwerp voor software-engineers 26 september, Markelo
Altium Designer advanced 15 oktober, Markelo 20 december, Markelo
Communiceren in een projectorganisatie 18 en 19 oktober, Markelo 1 en 2 november, Markelo
Altium Nanoboard 16 november, Markelo www.transfer.nl
Auto-elektronica - Masterclass
Cursus Sensoren in de Autotechniek
Datum: Donderdag 4 oktober (14.00 – 21.00) Locatie: Arnhem (HTS-Autotechniek)
Datum: Donderdag 15 november (14.00 – 21.00) Locatie: Arnhem (HTS-Autotechniek)
Meer info www.elektor.nl/auto-elektronica
Meer info www.elektor.nl/sensoren
Meer info op www.elektor.nl/events 60 |
29 november, Eindhoven www.paotechniek.nl
Agenda Events SEPTEMBER Ultra clean processing of semiconductor surfaces 16 - 19 september, Gent www.ucpss.org
Electronics System Integration Technology Conferences 2012 17 - 20 september, Amsterdam www.estc2012.eu
Nieuwe toepassingen van spectrometrie 9 oktober, Apeldoorn www.mikrocentrum.nl
Energie 2012
9 - 11 oktober, ’s-Hertogenbosch www.energievakbeurs.nl
Surface 2012
9 - 11 oktober, ’s-Hertogenbosch www.surfacevakbeurs.nl
High tech meets health
Comsol Conference Europe 2012
Iasa NL – Architecture Meeting
STW-jaarcongres
Health & Technology
ICT.Open
AC EMR, Enevate en Euris SFFS
ICTDelta 2012
Samen innoveren
European Microwave Week
Internationaal zakendoen door mkb in de hightech
Roboned
Campus Technology Seminar
NOVEMBER
18 september, Venlo www.holland-innovative.nl 18 september, Veldhoven www.meetup.com/iasanl
18 en 19 september, Arnhem www.hat-event.com 18 - 20 september, Helmond www.automotivenl.com
19 september, Kruibeke www.mastersininnovation.com
19 september, Eindhoven 26 september, Almelo www.thehouseoftechnology.nl 25 september, Eindhoven www.hightechcampus.com
Dimes Day
25 september, Delft www.dimes.tudelft.nl
10 - 12 oktober, Milaan, Italië www.comsol.eu 11 oktober, Nieuwegein www.stw.nl 22 en 23 oktober, Rotterdam www.ictopen2012.nl 24 oktober, Rotterdam www.ictdelta2011.nl
28 oktober - 2 november, Amsterdam www.eumweek.com 31 oktober, Utrecht www.roboned.nl
Midest 2012
6 - 9 november, Parijs, Frankrijk www.midest.com
Het Instrument
25 - 28 september, Amsterdam www.hetinstrument.nl
Empack 2012
26 en 27 september, Brussel www.easyfairs.com/empack-be
Kennisdag Industrie & Techniek
In cooperation with
Bits&Chips 2012 Embedded Systems 8 november, ’s-Hertogenbosch Info:
[email protected] www.embedded-systems.nl
27 september, Alphen aan den Rijn www.kennisdag.com
Logistica 2012
OKTOBER
Bustech 2012
Industriële Week 2012 Industrial Automation & Drives Industrial Processing Macropak
European Nanoelectronics Forum 2012
2 - 5 oktober, Utrecht www.industrieleweek.nl
Combura
3 en 4 oktober, Maastricht www.stw.nl
13 - 16 november, Utrecht www.logistica-online.nl 14 en 15 november, Vijfhuizen www.bustech.nl 20 en 21 november, München, Duitsland www.nanoelectronicsforum.org
The prominent independent Dutch technology organisations Brainport Industries, DSPE (Dutch Society for Precision Engineering), Syntens (Enterprise Europe Network) and Techwatch (publisher of Bits&Chips and Mechatronica&Machinebouw magazines) have taken the initiative for an international high tech fair and conference in The Netherlands. On 23, 24 and 25 April 2013 the International Conference and Exhibition on Mechatronics and Precision Technology will be held at the Klokgebouw, Eindhoven, under the name High-Tech Systems 2013. Focus High-Tech Systems 2013 (HTS 2013) will cover sectors and topics like system engineering and architecture, precision engineering, mechatronics, high-tech components and system design and advanced original equipment manufacturing (OEM). Objectives HTS 2013 will feature: • the best and the brightest in the high tech industry, showcasing unique technologies and advanced systems; • exciting company visits to high tech OEM’s and suppliers; • a peer-reviewed high-quality conference programme; • a matchmaking activity by the Enterprise Europe Network; • a marketplace for job ‘starters’ and visiting knowledge workers in the high tech business. Programme international guests: 23 April 2013 Conference and exhibition: 24 and 25 April 2013 Location HTS 2013 will be held in the centre of Eindhoven, easy to reach by car, train or plane. The Klokgebouw venue is one of the historic Philips buildings oozing technological heritage. www.hightechsystems.nl
Lua Workshop 2012
Electronic design & manufacturing
DECEMBER
F-cell 2012 Battery Storage 2012
International Conference and Exhibition on Mechatronics and Precision Technology
21 en 22 november, München, Duitsland www.gnss-sun.eu 29 en 30 november, Reston, Verenigde Staten www.lua.org
5 oktober, Leuven www.imec-academy.be
High-Tech Systems 2013
GNSS PhD Summit 2012
The Ultimate Innovation Day 2012 4 oktober, Eindhoven www.insumma.nl
23 - 25 April 2013 | Eindhoven
Netherlands Micronano Conference 10 december, Ede www.micronanocenference.nl
8 - 10 oktober, Stuttgart, Duitsland www.f-cell.de
7 | 61
THE HIGH TECH INSTITUTE
LEADERSHIP IN TECHNOLOGY AND INNOVATION
Electronics
Bits on chips - an introduction (BoC) 24 September 2012 (1 day)
Electromagnetic compatibility - design techniques (EMC-DT) 24 - 28 September 2012 (5 days)
Discrete-time signal processing (DTSP) Start 5 November 2012 (17 evening sessions)
Cooling of electronics (CoE) 7 - 9 November 2012 (3 days)
Nanometer CMOS ICs basics (CMOS-Basic) 3 - 5 December 2012 (3 days)
outlined:
Microelectromechanical systems (MEMS) 10 - 12 December 2012 (3 days)
Electronics for non-electronic engineers (ENE-BSc) Start 8 January 2013 (43 sessions)
IC physics devices and processing (IC-PDP) Start 10 January 2013 (12 evening sessions)
Signal integrity - workshop (SI-WS) Start 5 March 2013 (3 afternoons)
Mechatronics
Machine vision for mechatronic systems (MVMS) 27 and 28 September 2012 (2 days)
Advanced motion control (AMC) 8 - 12 October 2012 (5 days)
Introduction in ultra high and ultra clean vacuum (UHV1) Start 29 October 2012 (4 days)
Design principles basics (DPB) Start 14 November 2012 (5 days)
Motion control tuning (MCT)
Start 20 November 2012 (6 days)
Design for ultra high and ultra clean vacuum (UHV2) Start 26 November 2012 (3,5 days)
Dynamics and modelling (DAM) 3 - 5 December 2012 (3 days)
Mechatronics system design - part 1 (Metron1) 10 - 14 December 2012 (5 days)
Mechatronics system design - part 2 (Metron2) 4 - 8 March 2013 (5 days)
Optics
Applied optics (AP-OPT)
Start 30 October 2012 (15 morning sessions)
Modern optics for optical designers (CMOP) Start 25 January 2013 (28 morning sessions)
Software
Design of real-time software - workshop (DRTS/WS) Autumn 2012 (5 days)
Object-oriented analysis and design - fast track (OOAD) Autumn 2012 (6 days)
System
Level 1: System test engineer (STE) Autumn 2012 (10 sessions)
Level 2: Test designer (STE2)
Start 29 September 2012 (10 sessions)
System architect(ing) (Sysarch) 11 - 15 March 2013 (5 days)
Tools
Developing a large Labview application (Labproject) 29 - 31 October 2012 (3 days)
Labview: introduction in language and programming 1 (Labview) 12 - 14 November 2012 (3 days)
Programming in Labview 2 (Labprog) 17 and 18 Januari 2013 (2 days)
Leadership & Communication
Six thinking hats (6-Hats) 4 and 5 October 2012 (2 days)
Lateral thinking (LATH)
6 and 7 November 2012 (2 days)
Networking (NETW)
16 November 2012 (1 day)
Time- and workpressure management in innovation (TWP) 23 and 24 October 2012 (2 days +1 evening)
Logo HTI specs:
All training courses are held in Eindhoven (area)
Leadership & Communication
TWP
Time- and workpressure management in innovation The world of technical innovations is moving fast. This is fun and challenging, but it also means performing under tight deadlines and tremendous work pressure. Keeping up with the project seems hard and meeting your deadlines seems difficult. Just getting through the day-to-day tasks seems like mission impossible. To perform at a peek you have to find a balance between doing things yourself and delegating tasks to others. Finding a way between “good” stress which helps you perform and “bad” stress when things get too much, is often more difficult than one assumes. This course is developed for technology professionals who seek to improve their time- and work-pressure management skills in the complex context of innovation and technology. Location: Eindhoven Price: 1875 euros Duration: 2 days and 1 evening Dates: 23 and 24 October 2012
Optics
AP-OPT
Applied optics Professionals who do not design (specify, test) optical systems but who are working on projects together with optical designers and want to know more about optical principles will benefit from this practice-oriented course. Topics such as waves, geometrical optics, interferometry, diffraction and polarization will be covered during this course, by means of lectures, home assignments and an excursion. The training is intended for people with a non-optical background (e.g. electronics, mechanics, chemistry) who work in projects involving optics and want to increase their level of understanding of optical principles and applications. Location: Eindhoven Price: 2500 euros Duration: 15 weekly mornings Dates: commences 30 October 2012
Leadership & Communication
NETW
Networking For people in technical occupations, communication and people networks become more and more important. Working in teams, talking to end-users, finding resources and getting your ideas across are only a few of the reasons why this is so. In this interactive workshop, we go through many aspects of networking, in a way that is especially geared towards technical people - who often do not like networking in the first place. At the end of the workshop, participants will have basic knowledge of networking and will be able to apply practical skills in order to start building and maintaining a successful network. The training consists of exercises and discussions as well as lectures. Location: Course price: Duration: Date:
Eindhoven 600 euros 1 day 16 November 2012
www.hightechinstitute.nl
original:
THE HIGH TECH INSTITUTE
LEADERSHIP IN TECHNOLOGY AND INNOVATION
Wegwijzer Bedrijven in de hightech CHI PON T WERP
D I E NS T VE R LE N IN G Alten PTS Beukenlaan 44 5651 CD Eindhoven Tel +31 40 2563080
SoC and FPGA Design Crypto and Security IP Video IP DO-254 IP
Linie 544 7325 DZ Apeldoorn Tel +31 55 5486200 Rivium 1e straat 85 2909 LE Capelle aan den IJssel Tel +31 10 4637700
Barco Silex Rue du Bosquet 7 1348 Louvain-la-Neuve Tel +32 10 454904
[email protected] www.barco-silex.com
VIANEN BEST DEVENTER ROTTERDAM AMSTERDAM GRONINGEN DHAKA
[email protected] www.alten.nl
HIGH TECH SOLUTIONS Linie 506 7325 DZ Apeldoorn Tel +31 55 3606135
[email protected] www.hightech.nl
CIMSOLUTIONS B.V. Havenweg 24 4131 NM Vianen Tel +31 347 368100 Fax +31 347 373777
[email protected] www.cimsolutions.nl
ICT Automatisering Science Park Eindhoven 5006 5692 EA Son Postbus 6420 5600 HK Eindhoven Tel +31 40 2669100 Fax + 31 40 2669101
[email protected] www.ict.nl Regio Midden Herculesplein 24, Utrecht Tel +31 88 8275000 Regio Zuid Dillenburgstraat 25-3, Eindhoven Tel +31 88 8275100
ENTER Mbedded BV Science Park 5001 5692 EB Son Tel +31 40 2141020
[email protected] www.enter-mbedded.nl
Nspyre Postbus 85066 3508 AB Utrecht Tel +31 88 8275000 Fax +31 88 8275099
[email protected] www.nspyre.nl
Regio West Poortweg 10, Delft Tel +31 88 8275200 Regio Noord Zuiderzeelaan 21, Zwolle Kapteynlaan 17, Leek Tel +31 88 8275300 Profit Consulting Apeldoorn Profit Software Improvement Tweelingenlaan 4, Apeldoorn Tel +31 55 5762822 Profit Consulting Eindhoven High Tech Campus 69, Eindhoven Tel +31 40 8009955
ESPRIT ICT Group Bastion 1-5 5491 AN Sint-Oedenrode Tel +31 413 271412
[email protected] www.esprit-it.nl
Profit Consulting Amsterdam Science Park Amsterdam 400, Amsterdam Tel +31 20 8884128
[email protected]
TASS B.V. Larixplein 6 5616 VB Eindhoven Tel +31 40 2503200 Fax +31 40 2503201
[email protected] www.tass.nl Fourtress BV Meerenakkerplein 20 5652 BJ Eindhoven Tel +31 40 2661080 Fax +31 40 2661081
[email protected] www.fourtress.nl
64 |
7
TASS Belgium N.V. Gaston Geenslaan 9 3001 Leuven Tel +32 16 241680 Fax +32 16 241689
[email protected] www.tass.be
DI STR I BUT I E
P ROJE C T BUR E A U
TOOLS
Specialist in electronic & FPGA design Adeas Luchthavenweg 81.039 5657 EA Eindhoven Tel +31 40 2350060 Fax +31 40 2350666 www.adeas.nl
RS Components Bingerweg 19 2031 AZ Haarlem www.rsonline.nl www.rsonline.be
The MathWorks BV Dr. Holtroplaan 5b 5652 XR Eindhoven Tel +31 40 2156700 Fax +31 40 2156710
[email protected] www.mathworks.nl
Technical Software Tel +31 40 2677100 (Zuid-Nederland) Tel +31 88 7468928 (Midden- en Noord-Nederland) Tel +32 14 848718 (België) Remote Solutions Tel +31 40 2677100 Electronics Tel +31 495 633221 Industrial Mathematics Tel +31 40 7516116
National Instruments Pompmolenlaan 10 3447 GK Woerden Tel +31 348 433466 Fax +31 348 430673
[email protected] www.ni.com/netherlands
Technolution B.V. Zuidelijk Halfrond 1 P.O. Box 2013 2800 BD Gouda Tel +31 182 594000
[email protected] www.technolution.eu
TMC Group Regio Zuid Flight Forum 107 5657 DC Eindhoven Tel +31 40 2392260 Regio Midden/West Herculesplein 44 3584 AA Utrecht Tel +31 30 8200518
[email protected] www.tmc.nl
TOPIC Embedded Systems Eindhovenseweg 32c 5683 KH Best Tel +31 499 336979 Fax +31 499 336970
[email protected] www.topic.nl
7 | 65
Kverneland Group Mechatronics BV zoekt Software Engineers! Kverneland Group Mechatronics BV, gevestigd te Nieuw-Vennep, is de innovatieve, technologische spin in het wereldwijde netwerk van de Noorse Kverneland Group. Een van de belangrijkste spelers in de ontwikkeling, productie en verkoop van een brede range van geavanceerde landbouwwerktuigen. Wij ontwikkelen en produceren een complete lijn van kwaliteitsmachines op het gebied van onder andere grondbewerking, zaaien, kunstmest strooien, spuiten, en voederwinning.
Wij bieden uitdagende functies voor mensen die innovatief zijn en affiniteit hebben met de toepassing van onze producten in de praktijk van de landbouw. In een informele werksfeer werk je veelal in teamverband met enthousiaste collega’s. Goede arbeidsvoorwaarden zijn vanzelfsprekend. Jouw plaats in de organisatie is op onze afdeling Research & Development binnen ons team van Software Engineers waar je in overleg met onze projectmanagers invulling geeft aan onze internationale projecten. Interesse?
mbedded testWerken engineer Hardware enginee ProjectVoor manager informatie over deze functie kunt u contact opnemen met Suzan bij Mechatronics betekent ruimte voor jouw talenten, van Meer, afdeling P&O, Postbus 1000, 2150 BA Nieuw-Vennep. doorgroeien, jouw grenzen opzoeken. Maar ook: met teamspirit engineer chnical support engineer Systeem enginee Software der
[email protected]. werken aan innovaties voor een duurzame wereld. engineer Embedded software engineer Business development anager Hardware engineer Technology designer Elektronicatwerper Software architect R&D engineer Senior mechanical gineer Mechatronica engineer Constructeur Senior electronics rchitect Mechanical engineer Project planner Applications engineer Software designer Mechanical precision engineer countmanager hightechindustrie Fijnmechanisch constructeur test engineer Hardware edded test engineer (Senior) controlEmbedded engineer Senior enginee designer roject manager Technical support engineer Systeem enginee MAGION Philips Innovation Services Embedded software engineer oftware engineer Test engineer Contactpersoon: Sanela van As Contactpersoon: Koen Meewis siness development manager Hardware engineer Technology E
[email protected] E
[email protected] T +31 70 4442770 gner Elektronica-ontwerper Software architect R&D engineer T +31 6 11602063 ior mechanical engineer Mechatronica engineer Constructeur nior electronics architect Mechanical engineer Project planner System architect Op zoek Software naar een designer baan (hbo+) Applications engineer Mechanical precision in de hightechindustrie? Philips Innovation Services ngineer Accountmanager hightechindustrie Fijnmechanisch Contactpersoon: Koen Meewis Bekijk dan het uitgebreide nstructeur Embedded test engineer Embedded test engineer E
[email protected] vacatureoverzicht rdware engineer Project manager op Technical support engineer T +31 6 11602063 Software engineer Test engineer Embedded ysteem engineer www.hightechbanen.nl. oftware engineer Business development manager Hardware Software engineer gineer Technology designer Elektronica-ontwerper Software PROMEXX itect R&D engineer Senior mechanical engineer Mechatronica Contactpersoon: Suzanne van Dijck gineer Constructeur Senior electronics architect Mechanical E
[email protected] ineer Project planner Applications engineer Software designer T +31 40 2676867 echanical precision engineer Accountmanager hightechindustrie nmechanisch constructeur Embedded test engineer Sr.Hardware software engineer / (sr.) software designer gineer Project manager Technical support engineer Systeem PROMEXX ngineer Software engineer Test engineer Embedded software Contactpersoon: Suzanne van Dijck ngineer Business development manager Hardware engineer E
[email protected] T +31 40 2676867 chnology designer Elektronica-ontwerper Software architect engineer Senior mechanical engineer Mechatronica engineer Constructeur Senior electronics architect Mechanical engineer Project planner Applications engineer Software designer la te n s ook op c a tu re h va c chanical precision W engineer Accountmanager hightechindustrie w te u h u ig ilt eH e e n va n d B e k ijk d e va lle n in s? e ti Embedded test engineer Embedded nmechanisch constructeur n ve rt e B a n e n -a d d e n o p d e w e b si te e h k vi a est engineer Hardware manager Technical m o g e lijenginee ta c t o pProject n e e m c o n a tc h .n l. w h c Software engineer Test engineer ort engineer Systeemo fenginee te sa le s@ mbedded software engineer Business development manager www.hightechbanen.nl ardware engineer Technology designer Elektronica-ontwerper
Volgende keer Colofon Bits&Chips is een onafhankelijk nieuwsmagazine voor mensen die werken aan slimme producten en machines. Bits&Chips is een publicatie van Techwatch bv in Nijmegen.
Snelliusstraat 6 – 6533 NV Nijmegen tel +31 24 3503532 – fax +31 24 3503533
[email protected] – www.techwatch.nl Redactie Nieke Roos – hoofdredacteur tel +31 24 3503534 –
[email protected] René Raaijmakers – redacteur tel +31 24 3503065 –
[email protected] Alexander Pil – redacteur tel +31 24 3504580 –
[email protected] Pieter Edelman – redacteur tel +31 24 3503534 –
[email protected] Paul van Gerven – redacteur tel +31 24 3504580 –
[email protected] Joost Backus – redacteur tel +31 24 3505028 –
[email protected] Vormgeving Justin López – vormgever tel +31 24 3503532 –
[email protected] Marketing en events Daniëlle Jacobs – marketingmanager tel +31 24 3505195 –
[email protected] Kim Huijng – salesmanager tel +31 24 3505195 –
[email protected] Marjolein Vissers – marketing- en eventmedewerker tel +31 24 3505544 –
[email protected] Ellen Lely – cöordinator trainingen tel +31 24 8455169 –
[email protected] Simone Straten – eventcoördinator tel +31 24 3505544 –
[email protected] Abonnementenadministratie Leonie Ceelen – officemanager tel +31 24 3503532 –
[email protected] Adviseur Maarten Verboom Medewerkers Julie Frijstein, Sofie van Koningsbruggen, Pieter de Kraker, Imke Okkerman, Leanne Robbertsen, Sharon Robbertsen, Kitty Stam, Lotte van Weezel Columnisten en externe auteurs John Carbone, Ferdinand Cornelissen, Klaas van Gend, Derk-Jan de Grood, Wim Hendriksen, Mathilde van Hulzen, Niek Linnenbank, Andrea Martin, Albert Mietus, Inès Nijman, Maarte Oerlemans, Marcel Pelgrom, Gerard Rauwerda, Anton van Rossum, Martijn Slob, Bjorn Snijders Uitgever René Raaijmakers tel +31 24 3503065 –
[email protected] ISSN 1879-6443 Verantwoordelijk uitgever voor België René Raaijmakers Biesheuvelstraat 1 2370 Arendonk, België Drukkerij Senefelder Misset, Doetinchem Abonneren Abonnement op privéadres: 81 euro Bedrijfsabonnement: 140 euro Internationaal abonnement: 210 euro Studentenabonnement: gratis Prijzen op jaarbasis en inclusief btw. Abonnementen lopen van januari tot en met december. Opzeggen tot uiterlijk één maand voor het verstrijken van de abonnementsperiode. Studenten en professionals die werken aan slimme producten en machines (zoals elektronica- en softwareontwerpers, systeemarchitecten, chipdesigners en technisch managers) kunnen Bits&Chips gratis thuis ontvangen. Vul het aanvraagformulier in op www.bits-chips.nl. Deze gratis abonnementen zijn beperkt tot België en Nederland. Losse nummers op aanvraag: 10 euro. Klachten over bezorging Heeft u Bits&Chips niet of te laat ontvangen of heeft u andere opmerkingen over de bezorging? Laat het ons weten. Stuur een e-mail naar
[email protected]. Adverteren Advertentietarieven staan vermeld op onze website (www.bits-chips.nl). Wanneer u op de hoogte gehouden wilt worden van komende thema’s en specials of voor het reserveren van advertenties, neem dan contact op met de afdeling sales, tel +31 24 3505544 –
[email protected]. Verschijningsdata 14 september, 19 oktober, 9 november, 14 december Copyright Alle rechten voorbehouden. (c) 2012 Techwatch bv. Niets uit deze uitgave mag worden verveelvoudigd, opgeslagen in een geautomatiseerd gegevensbestand of openbaar gemaakt, in enige vorm of op enige wijze, hetzij elektronisch, mechanisch, door fotokopieën, opnamen of enige andere manier, zonder voorafgaande toestemming van de uitgever. Disclaimer Uitgever en redactie betrachten uiterste zorgvuldigheid bij het maken, samenstellen en verspreiden van de informatie in Bits&Chips, maar kunnen op geen enkele wijze instaan voor de juistheid of volledigheid van de informatie. Uitgever en redactie aanvaarden geen aansprakelijkheid voor schade die zou kunnen ontstaan als gevolg van de publicatie van informatie in Bits&Chips. Columnisten en externe medewerkers schrijven op persoonlijke titel. Reacties van lezers vallen buiten de verantwoordelijkheid van uitgever en redactie. Uitgever en redactie aanvaarden geen aansprakelijkheid met betrekking tot de inhoud en ondertekening van reacties van lezers. De redactie behoudt zich het recht voor reacties niet of gedeeltelijk te plaatsen of te bewerken. Fotografie Productfoto’s zijn van fabrikanten, overige foto’s zijn van Techwatch bv (c), tenzij anders vermeld. Voorpagina Foto: Intel
Nummer 8 | 19 oktober 2012 | Software-engineering
Deze uitgave belicht de verschillende fases in de ontwikkeling van software voor hightech systemen, waaronder ontwerp, ontwikkeling en testen. In een scala aan praktijkverhalen passeren state-of-the-art methodieken en tooling de revue.
Nummer 9 | 9 november 2012 | Medisch
In deze uitgave aandacht voor de laatste ontwikkelingen op het gebied van systeemontwikkeling voor de gezondheidszorg. Bijdragen uit de praktijk beschrijven de totstandkoming van medische apparaten, de uitdagingen die daarbij zijn komen kijken en de oplossingen die zijn gekozen.
Een interessante bijdrage?
[email protected] Adverteren in deze nummers?
[email protected]
7 | 67
ZIE HET ALS... WERKEN IN EEN UITDAGENDE OMGEVING TMC Embedded en TMC Electronics heeft continu behoefte aan pro-actieve, ondernemende specialisten die zich willen blijven ontwikkelen, flexibel opstellen en tot de top van het vak willen behoren. Wij boeien onze mensen onder andere door uitdagende projecten, persoonlijke groei en inspraak in ons beleid binnen de organisatie. Bezoek onze website voor meer informatie en de meest actuele vacatures. WWW.TMC.NL