Chris Broekema, ASTRON and University of Cambridge
1 Introduction
When co-designing hardware and software we rely on benchmarked codes to estimate the performance of particular hardware implementations for certain algorithms. These benchmarks are generally compiled using default settings. To ensure we can easily and conveniently benchmark codes of interest on a large set of platforms, with minimal setup required, a benchmarking framework based on the existing software tools Spack and ReFrame has been developed for the Square Kilometre Array (SKA).
With autotuning in this context, we mean the practice of randomizing compiler flags and algorithm parameters to find the most optimal settings for the code under investigation. This often leads to unexpected combinations of flags and parameters, and performance improvements may be dramatic. Much of the work done for autotuning is still highly labour intensive, requiring manual intervention. The above mentioned combination of software tools could be a useful addition to this work, allowing the automation of much of the process. The figure of merit generally used for deciding the most optimal settings in autotuning is absolute performance. However, considering the current climate crisis and taking into account that the highest absolute performance of a system is generally not the most energy efficient way to run such a system, changing this to an energy aware metric would be very valuable, especially for an exascale project like the SKA. In this project we combine the three subjects above into a single coherent investigation.
2 Automated autotuning for energy efficiency
This project extends an existing benchmarking framework designed for the SKA SDP with two additional features (one of which is already at least partly implemented). By adding (more) energy measurement facilities we gain the ability to select energy efficiency as the primary figure of merit for our systems. Adding the ability to autotune benchmarks in an automated way gives us the confidence that all measured results utilize the tested resources in the best possible way, without resorting to platform dependent optimizations. Finally, by combining the energy efficiency figure of merit with automatic autotuning allows us to automatically optimize software and hardware to be as energy efficient as possible.
1. literature study on autotuning tools and best practice
2. identify and commission testbed (this could be a laptop or desktop, but ideally we’d suggest a dedicated server of some sort)
3. install and explore the existing SKA SDP benchmarking framework
4. add energy measurement facility as a gure of merit, either
• using sensors in the node using tools like Intel RAPL, GEOPM or others), or
• using external sensors such as those in Power Distribution Units (PDUs)
5. add a looping benchmark with randomized compile time tags to the system (use literature study results for this)
6. experiment, measure and report
7. generate merge request for upstream and write thesis
Radio Frequency Interference (RFI) is a growing concern for modern radio telescopes due to their increasing sensitivity and the proliferation of consumer electronics that depend on electromagnetic emissions. As a result, approaches for RFI detection and mitigation have become a necessity in modern radio observatories. Processing pipelines are employed in observatories that perform RFI detection and mitigation in a post correlation setting, using algorithms such as AO-Flagger [1] or more recently using deep learning architectures based on UNET [2].
Currently, deep learning approaches to RFI detection have been based on supervised architectures [3, 4, 5, 6]. In this case, due to the unavailability of human-labelled datasets, supervised methods are trained and evaluated on simulated interference, or ground truth maps generated by heuristic methods such as the AO-Flagger. In effect, the generalisability of RFI detection algorithms is limited on out-of-distribution RFI samples that the algorithms have not yet been exposed to during training. Therefore we propose the use of the Nearest-Latent-Neighbours (NLN) [7] to overcome the generalisability problems of supervised methods for RFI detection.
In this master’s project you will be required to do the following:
1. Analyse and model the performance of existing supervised RFI detection algorithms.
2. Design a computationally efficient and scalable nearest neighbour search framework for the implementation of the NLN algorithm [7]. This is expected to be the main component of this project.
3. Compare the performance of the two approaches and suggest future approaches for efficient RFI detection.
References
[1] A. R. Offringa, J. J. Van De Gronde, and J. B. Roerdink, “A morphological algorithm for improving radio-frequency interference detection,” Astronomy and Astrophysics, vol. 539, 2012.
[2] O. Ronneberger, P. Fischer, and T. Brox, “U-net: Convolutional networks for biomedical image segmentation,” Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 9351, pp. 234–241, 2015.
[3] J. Akeret, C. Chang, A. Lucchi, and A. Refregier, “Radio frequency interference mitigation using deep convolutional neural networks,” Astronomy and Computing, vol. 18, pp. 35–39, 2017.
[4] A. V. Sadr, B. A. Bassett, N. Oozeer, Y. Fantaye, and C. Finlay, “Deep learning improves identification of Radio Frequency Interference,” Monthly Notices of the Royal Astronomical Society, vol. 499, no. 1, pp. 379–390, 2020.
[6] Z. Yang, C. Yu, J. Xiao, and B. Zhang, “Deep residual detection of radio frequency interference for FAST,” Monthly Notices of the Royal Astronomical Society, vol. 492, no. 1, pp. 1421–1431, 2020.
[7] M. Mesarcik, E. Ranguelova, A.-J. Boonstra, and R. V. van Nieuwpoort, “Improving Novelty Detection using the Reconstructions of Nearest Neighbours,” Under review, 11 2021. [Online]. Available: http://arxiv.org/abs/2111.06150
Chris Broekema, ASTRON and University of Cambridge Rob van Nieuwpoort, eScience Center & UvA
1 Introduction
Modern radio astronomy relies on large volumes of instrument data being transported to a compute facility. For security reasons, receiving network data requires the kernel to parse the link layer through application layer protocol headers before the payload is delivered to user space. The context switches between kernel and user space and the need to copy all data from kernel to user space make this expensive in terms of used CPU cycles.
To mitigate the high CPU load and to ensure high and stable throughput the use of Remote Direct Memory Access (RDMA) is currently being investigated both for the Dutch LOFAR array and the future Square Kilometre Array. While RDMA does perform well and significantly reduce the required CPU cycles for data transport, it needs hardware support, and thus introduces a hardware dependency. Furthermore, since RDMA traffic is handled in hardware, it is invisible to the kernel. Therefore, our standard monitoring and tracing tools, such as tcpdump and wireshark will not (by default) be able to see this traffic. For development and debugging a software RDMA implementation, called rdma_rxw, exists, but this is very slow.
A relatively new introduction to the Linux kernel is io_uring. This new interface allows a user space program to define submission and completion ring buffers that are shared with the kernel. In modern Linux kernel versions these shared ring buffers can be offered to about 28 different system calls. While context switches are still required, data no longer needs to be copied from kernel space to user space. This should allow for a better performing software RDMA implementation to be developed.
2 Software RDMA using io uring
This project aims to take the existing software RDMA implementation in the Linux kernel and investigate whether performance can be improved using the io_uring interface. The project will be divided into the following phases:
1. initial investigation, including: (a) identify, build and commission a test-bed (b) getting familiar with io_uring, liburing and rdma_rxe (c) baseline measurements with rdma_rxe, normal Ethernet and hardware RDMA 2. identify the performance hot spot of the rdma_rxe interface (using profiling) 3. implement io_uring accelerated version of software RDMA interface 4. measure and document performance 5. write report, clean up and push code to public repository 6. (stretch goal) write a merge request for upstream Linux adoption
Considering the need to work with somewhat complex and low-level existing code, we suggest this should be a rather large project for a masters student. A small proof of concept at higher level has been developed previously. This used a convenient high-level library: liburing. It is unclear whether this library can be used for software RDMA, or if the bare base interface must be used. It is expected though that the latter will be required for an eventual merge request to be accepted.
3 Performance
Performance measurements will focus on observed throughput and CPU use during such throughput. We suggest that in additional to this, continuous high frequency energy measurements during throughput experiments would yield valuable additional information.
Another aspect that can be measured is the impact of RDMA on energy efficiency, see also:
On Monday September 28, Chris Broekema, a PhD candidate I supervised together with Henri Bal, successfully defended his PhD at the Vrije Universiteit in Amsterdam !
In this thesis, we study the architecture and design process of commodity compute and data-transport systems in large-scale distributed radio telescopes. The goal of such systems is to facilitate the maximum viable amount of scientific discovery for the investment made. To aid our discussions, we first introduce a model to more formally express value and cost of compute systems. This allows more granular evaluation of various systems, based not just on their cost, but on their value potential as well.
We argue that, since modern radio telescopes are generally capable of producing overwhelming volumes of data, the data-transport system in such an instrument should be architected and designed together with the compute infrastructure. Examples both in the current LOFAR telescope, as well as in the Square Kilometre Array still under development, show that this co-design of data-transport and compute systems has significant value benefits.
When these systems are considered together, interesting optimisations on the boundary of the two may be considered. We show two such optimisations that focus on controlling data-flows and reducing energy consumption of such data-flows respectively.
Finally we consider the future. Over the last couple of decades compute capacity has continued to increase both predictably and dramatically. Current manufacturing technologies are approaching physical limits, which make this trend unsustainable, at least for conventional technologies. We inventory possible alternative technologies and how these may be applied in support of a radio telescope.
De e-scientist. Universele wetenschapper of specialist? Mevrouw de Rector Magnificus, Mijnheer de Decaan, Leden van het curatorium van de leerstoel “Efficient computing for eScience”, Bestuursleden van de Stichting Nederlands eScience centrum, Geachte dames en heren, Lieve Lucas en Kayleigh, In de komende drie kwartier wil ik graag wat vertellen over mijn onderzoek. Ik begin meteen … Continue reading “[Dutch] Oratie, 8 mei 2019”
De e-scientist. Universele wetenschapper of specialist?
Mevrouw de
Rector Magnificus,
Mijnheer de Decaan,
Leden van het curatorium van de leerstoel “Efficient computing for eScience”,
Bestuursleden van de Stichting Nederlands eScience centrum,
Geachte dames en heren,
Lieve Lucas en Kayleigh,
In de komende drie kwartier wil ik graag wat vertellen
over mijn onderzoek. Ik begin meteen met een filmpje.
1. eScience
Courtesy Ziggo Sport / FOM
In 2017 zat ik bij deze Formule 1 race op het
Belgische Spa Francorchamps, samen met 265.000 andere fans. Waarom laat ik dit
nu zien? Na de race werd bekend dat de oorzaak van het uitvallen van Max
Verstappen een softwareprobleem in de Renault motor was. Er was dus niets kapot,
het was gewoon een bug.
Dat is interessant. Wat kunnen we hier nu van leren?
Het eerste punt is dat software overal is, en van groot belang is voor onze
maatschappij, ook al is het
vaak niet zichtbaar. Software zit dus in auto’s, maar ook in vliegtuigen, wasmachines, verlichting,
televisies, en, waar mijn interesse ligt: in wetenschappelijke instrumenten.
Daar wil ik het vandaag over hebben.
Het tweede punt is dat het toch wel opmerkelijk is dat
dit mis gaat. De belangen in de Formule 1 zijn groot. In totaal kijken er jaar
wereldwijd 600 miljoen kijkers naar de Formule 1. Red Bull investeert ongeveer
350 miljoen euro per jaar in het team. De Renault motor kost rond de 50 miljoen
naar het schijnt. Dus, zelfs als de belangen en het budget zo groot zijn, lukt
het niet om software te maken die werkt. Kennelijk is het moeilijk om goede
software te schrijven. Helaas is er geen enkele reden om aan te nemen dat het
met software in de wetenschap beter gesteld is. Sterker nog, er is maar weinig
budget, grote tijds- en prestatiedruk, en de software wordt vaak geschreven
door wetenschappers zonder een formele training in software engineering. “What could possibly go wrong?”
Een derde observatie is dat het hier gaat om een
complex systeem. Er zijn tientallen losse componenten met aparte computers in
een auto, die met elkaar communiceren via een netwerk. Dat bemoeilijkt het
programmeren van het systeem. Sterker nog, het blijft niet beperkt tot de auto
zelf, er wordt in de Formule 1 live telemetrie data naar de pit muur gestuurd voor
analyse. Vanaf die plek wordt het via snelle verbindingen naar de fabriek in
Engeland gestuurd, waar het nog verder geanalyseerd wordt, en onder andere
wordt gebruikt om live allerlei simulaties en modellen te draaien, waarvan de
output weer wordt teruggekoppeld naar de pit muur, waar dan strategische
beslissingen worden genomen. We noemen zo’n
systeem met componenten op verschillende fysieke plekken die samenwerken een
gedistribueerd systeem. Ook in de wetenschap zien we meer en meer
gedistribueerde systemen, en die zijn dus nog moeilijker te programmeren dan
gecentraliseerde systemen. We hebben dus een probleem.
Mijn onderzoek houdt zich bezig met grootschalige
wetenschappelijke software, en in het bijzonder software van grootschalige gedistribueerde
systemen en instrumenten.
1.1. Inleiding eScience: ICT in de
wetenschap
Wetenschap wordt steeds complexer en heeft meer en
complexere ICT nodig. Het toepassen en onderzoeken van innovatieve complexe ICT
in andere wetenschappelijke disciplines noemen we eScience. Een echt kenmerk van
eScience is dat het onderzoek plaatsvindt in nauwe samenwerkingsverbanden
tussen informatici en wetenschappers in de disciplines. Zoals u kunt zien in
deze voorbeelden bestrijkt eScience alle wetenschapsgebieden, van de levenswetenschappen
tot klimaatonderzoek en hoge-energie fysica. De voorbeelden betreffen concrete
projecten die wij bij het Nederlands eScience centrum uitvoeren of uitgevoerd
hebben.
Ook technisch is eScience enorm breed. Afhankelijk van
de wetenschappelijke vraag en het vakgebied kan het gaan om grootschalige
simulaties, het koppelen van modellen, het integreren van observaties en
modellen, het koppelen van verschillende databronnen, het zoeken in
ongestructureerde data, visualisatie, machine learning en nog veel meer.
Het is enorm uitdagend om state-of-the-art
informaticaonderzoek toe te passen om lastige wetenschappelijke problemen aan
te pakken. Juist omdat dit zo moeilijk is levert eScience ook enorm veel
inspiratie op voor nieuw en innovatief informaticaonderzoek. Daarnaast is voor
mij is een belangrijk aspect van eScience het hebben van impact met dat informaticaonderzoek.
Dan gaat het niet alleen om impact in de wetenschap, maar ook maatschappelijke
impact, bijvoorbeeld in de gezondheidszorg, veiligheid, of juist in het
bedrijfsleven. Als je kijkt naar mijn publicatielijst dan zie je dat ook terug.
Naast publicaties in de informatica heb ik ook publicaties in de archeologie,
flight-safety, massa spectrometrie, signaalverwerking, en radioastronomie.
Ongebruikelijk voor een informaticus, maar voor een e-scientist doodnormaal. Je
wilt immers impact maken in de disciplines, dus je publiceert ook in die
disciplines.
Tegelijkertijd werkt het ook omgekeerd, en kunnen we
als e-scientists met kennis van nieuwe technische mogelijkheden wetenschappers in
de andere disciplines juist uitdagen om hun onderzoeksvragen aan te scherpen en
nog groter te denken. Deze wisselwerking is heel spannend.
1.2 Hokjes-denken &
generalisatie versus specialisatie
Wetenschap kenmerkt zich vaak door verregaande
specialisatie. Dat geldt zeker ook de informatica. Dat is ook nodig, omdat we steeds
voortbouwen op bestaande kennis. Het risico van deze specialisatie is wel dat
we te veel in hokjes gaan denken. Binnen de informatica zijn er veel
vakgebieden die redelijk onafhankelijk opereren. Naar mijn mening zijn we wat
te ver doorgeschoten in het specialiseren, en er is als gevolg daarvan te weinig
kruisbestuiving tussen de hokjes.
Het eScience vakgebied gaat juist over het doorbreken
van de hokjes, we doen namelijk wat nodig is om de wetenschappelijke vragen in
de disciplines op te lossen. Vrijwel altijd is daar expertise uit meerdere
hokjes voor nodig. Niet het informaticaonderzoek, maar de onderzoeksvragen uit
de wetenschappelijke disciplines zijn leidend.
Het is dus voor een e-scientist van groot belang om
een brede technische en discipline-overstijgende blik te hebben. Een soort Uomo
universale, een universele wetenschapper dus. De werkelijkheid is uiteraard
genuanceerder dan dit. De praktijk wijst uit dat het goed werkt om eScience
teams op te zetten, waarin eScience specialisten en generalisten samen werken
met informatici en domein experts. Van nature is eScience dus erg gericht op samenwerking
in plaats van competitie.
Toch heb je uiteraard ook de competitie van de
wetenschappelijke methode nodig om de kwaliteitsslag te maken: eScience papers zijn
uiteraard peer-reviewed, en financiering wordt onder andere door het Nederlands
eScience centrum en steeds meer ook door andere financiers via zeer competitieve
open calls uitgezet. Nederland is internationaal vrij uniek, met een nationaal
eScience centrum dat zelf veel eScience projecten financiert en ook uitvoert. Er
is veel meer vraag naar eScience dan we op dit moment aankunnen, dus de
competitie is groot.
De laatste jaren is er dan ook een trend waar er veel
lokale eScience, data science, en ICT support groepen worden opgezet bij de
lokale campussen van de universiteiten en onderzoeksinstellingen. Ook aan de Universiteit
van Amsterdam is dat actueel. Het is belangrijk voor de efficiëntie en het succes van deze zogenaamde “digital competence centers” om kennis te delen en van elkaar te leren. De
technologische en discipline-specifieke uitdagingen zijn te groot voor elk
individueel initiatief. Ook op deze schaal draait het dus om samenwerking, en
niet om competitie. Naast een brede technische en discipline-overstijgende blik
is samenwerkingsgerichtheid is dus ook een belangrijke eigenschap van de e-scientist.
1.3. De menselijke maat
Veel van mijn onderzoek draait om grootschaligheid. Van
wetenschappelijke instrumenten, van computersystemen, en van software. Het is
daarom ook interessant om vanuit het eScience perspectief te kijken naar schaal.
Niet vanuit het oogpunt van de traditionele technische definities, maar juist
vanuit de domeinwetenschapper geredeneerd. Het gaat dus om de menselijke maat.
Een bekend onderzoeksthema van de laatste jaren is “Big Data”. Veel
technische definities van wat Big Data nu eigenlijk is noemen een aantal V’s. De bekendste zijn “Volume”, “Velocity”, en
“Variety”. De definitie die ik zelf altijd gebruik is een
typische eScience definitie die uitgaat van de wetenschapper. En dat is: “data is Big Data als een onderzoeker of een discipline
er niet meer mee weet om te gaan”.
Dat is voor elke discipline dus expliciet anders. Voor de een gaat dit om vele
petabytes (zoals in de radio astronomie en hoge-energie fysica), maar voor de
andere is het een gigabyte. Het hangt er helemaal vanaf wat voor soort data het
is, hoe complex en heterogeen het is, en vooral ook wat voor gereedschap beschikbaar
is om informatie uit de data te destilleren. Het hangt dus voor een groot deel af
van de beschikbare software, en niet van de data zelf. Mijn stelling is dus dat
Big data gaat over software, en niet om data.
In 2016 heb ik meegewerkt aan een artikel over Big
Data in de wetenschap in de Volkskrant. Dat artikel heet dan ook “help de wetenschapper verzuipt”. Er staat dus niet “help, de data explodeert”. Dit geeft goed het eScience perspectief aan: denk
vanuit de wetenschapper en de wetenschappelijke discipline, niet vanuit de
technologie.
Analoog aan data kun je ook voor software spreken over
schaal. Wat is grootschalige software, of een grootschalig softwareproject? Je
kunt dit uitdrukken in technische termen, zoals het aantal regels code, of allerlei
metrieken over de complexiteit van software. Maar, tijdens de IEEE eScience
conferentie, die wij hier in Amsterdam vorige jaar georganiseerd hebben, hoorde
ik een aardige definitie, gegeven door Reed Milewicz. Hei zei “Grootschalige software is software waar er niet langer
1 enkele persoon is die weet hoe alles werkt”. Zodra je deze grens overgaat wordt het nog
belangrijker om na te denken over softwarekwaliteit, documentatie, en zaken als
versie beheer, en testen.
1.3.1. Voorbeeld: analyse van complexe netwerken
Een mooi voorbeeld van de menselijke maat in eScience
is het werk van Dafne van Kuppevelt, die promotieonderzoek doet bij het
Nederlands eScience centrum. Dafne werkt in verschillende wetenschappelijke
disciplines aan de analyse van complexe netwerken. Met professor Gijs van Dijck
uit Maastricht werken we aan juridische netwerken van rechtszaken. Het is
belangrijk voor het beantwoorden van de juridische onderzoeksvragen om te weten
welke rechtszaken welke jurisprudentie citeren, en in welke context. Het mooie
is dat Dafne soortgelijke analysetechnieken toepast in haar werk met Frank
Takes, dat gaat over de analyse van complexe netwerken tussen de besturen van
grote bedrijven. In beide gevallen zijn de netweken in termen van bytes of aantal
knopen niet enorm groot, maar wel complex, en het is erg lastig om data uit
verschillende bronnen te koppelen, en de interessante verbanden binnen de
netwerken te identificeren.
Er zijn veel algoritmen om netwerkanalyse te doen, en
recent zijn grootschalige rekenmethodes voor dit soort netwerken ook een
actieve onderzoeksrichting. Echter, de stap maken van het resultaat van een algoritme,
naar de betekenis hiervan in de discipline is erg lastig, en meestal subjectief.
Er is nog echt een interpretatiestap
nodig, waar je vaak gebruikt maakt van visualisatie, en interactieve grafische
interfaces, en die ziet u hier. Omdat het subjectief is, is dit interpretatie
aspect in de informatica vaak onderbelicht, maar voor eScience juist cruciaal.
1.4.
Big Data, inleiding radio
astronomie
LOFAR
Dan
een heel ander voorbeeld. Een van de meest inspirerende toepassingen van
eScience voor mij persoonlijk zit in de radioastronomie. Ik ben vanaf 2007
bezig met eScience in dit vakgebied. In deze discipline gaat het juist wel om
het volume van de data. LOFAR, of de “Low
Frequency Array”, de
telescoop die u hier ziet, genereert ongeveer 2 terabits aan data per seconde, dat is dezelfde orde van grootte als
het internetverkeer dat wordt afgehandeld door de Amsterdam Internet Exchange.
Deze datastroom is zo groot, dat het niet mogelijk is om het op te slaan.
Daarom is de dataverwerking een real-time systeem: je moet de datastroom
bijhouden, anders verlies je gegevens.
LOFAR
is een gedistribueerd sensor netwerk. Het instrument bestaat uit ongeveer
100.000 relatief eenvoudige antennes, die samen een virtuele telescoop vormen.
Het centrale punt van de telescoop staat in Exloo in Drenthe.
In totaal zijn er 38 Nederlandse antennevelden, en daarnaast
ook 19 internationale velden. Dit is dus met recht een grootschalig
gedistribueerd systeem. Dat is belangrijk, omdat een grotere afstand tussen de
antennevelden betekent dat je hogere resolutie beelden kunt maken. De
antennedata wordt deels al verwerkt in het veld, en daarna naar een
supercomputer in Groningen gestuurd, waar de verdere dataverwerking
plaatsvindt. Alle verwerking, analyse en het vertalen van de radiosignalen in
beelden gebeurt in software. Dit type telescoop wordt daarom ook wel een softwaretelescoop
genoemd.
Er
zit veel informaticaonderzoek en innovatie in deze telescopen. Zo was de
supercomputer in Groningen in eerste instantie een IBM Blue Gene. Ik heb, samen
met onder andere John Romein bij ASTRON onderzocht of we de dataverwerking ook
konden doen met zogenaamde “accelerators”. In dit geval is er uiteindelijk gekozen voor
grafische kaarten, ook wel GPUs genoemd. Deze GPUs zijn eigenlijk ontworpen
voor computerspellen die tegenwoordig zeer snel fotorealistische beelden moeten
genereren, waar veel rekenkracht voor nodig is. Wij “misbruiken”
die grote rekenkracht voor de dataverwerking. Deze oplossing inmiddels geïmplementeerd door ASTRON, en deze is sneller,
goedkoper, en energiezuiniger. Dit onderzoek stamt al uit 2007, en inmiddels
gebruiken we deze GPUs ook in heel veel andere eScience toepassingen.
Het
is enorm spannend om te zien hoeveel innovatie er zit in de instrumentatie
zelf. Dit is APERTIF, een recente upgrade van de Westerbork telescoop. Hier
wordt een “Focal Plane
Array” gebruikt
in het brandpunt van de schotel. Je kunt dit een beetje vergelijken met de
sensor in een modern fototoestel die meerdere megapixels tegelijk vastlegt.
Door deze techniek zijn de gevoeligheid en het blikveld van de telescoop enorm
vergroot. Je kunt dus sneller de hemel afzoeken. Een van de astronomen die
APERTIF ontworpen heeft en ook gebruikt voor zijn onderzoek naar pulsars en
fast radio bursts is Joeri van Leeuwen. Samen met hem hebben we gekeken naar de
grootschalige dataverwerking. Het bleek noodzakelijk om de volledige software pipeline
compleet opnieuw te ontwerpen om zeer efficiënt op GPUs te draaien. Een voormalig PhD student van
mij, Alessio Sclocco, heeft hier een grote bijdrage aan geleverd tijdens en na
zijn promotieonderzoek.
LOFAR
en APERTIF zijn gebouwd door ASTRON, het Nederlands instituut voor
radioastronomie, en ik denk dat we enorm trots kunnen zijn dat wij deze instrumenten
van absolute wereldklasse in Nederland kunnen ontwerpen, bouwen en exploiteren.
De
volgende generatie telescoop die momenteel ontworpen en gebouwd wordt is de SKA,
of “Square
Kilometre Array”, een combinatie
van schotels en verschillende antennes. Nederland is een belangrijke partner in
dit project. SKA is een gedistribueerd sensor netwerk op enorme schaal, want de
antennes staan hier zelfs op twee continenten, namelijk in Zuid Afrika en West Australië. De SKA is een echt exascale instrument. Exascale slaat
op de grootte van de datastroom. SKA
gaat exabytes aan data genereren. In totaal is dat, per seconde, meer data dan
het totale, wereldwijde internetverkeer bij elkaar. Exascale betekent ook dat
er 10 tot de 18e berekeningen per seconde nodig zijn om deze data te
verwerken.
Door de dataexplosie moet een nog groter deel van de dataverwerking
in real-time op streaming data gaan werken, terwijl dat vroeger achteraf
gebeurde. Met Thijs van den Berg doen we onderzoek naar wat ervoor nodig is om
dit te bewerkstelligen. Soms lukt het met verbeteringen van klassieke
algoritmiek, soms moeten nieuwe algoritmes ontworpen worden, en soms moeten
klassieke algoritmes vervangen we door een benadering, bijvoorbeeld door het
gebruik van deep learning. Hier kom ik straks nog op terug.
1.5. Ontwerp
van SKA
Chris Broekema, een onderzoeker bij ASTRON die ik
samen met Henri Bal van de VU begeleid in zijn promotietraject, heeft
onderzocht hoe je het platform voor de dataverwerking van de SKA kunt ontwerpen.
Het is essentieel om te onderzoeken welke berekeningen je op welke plek doet,
met zo min mogelijk data verplaatsing, en zo min mogelijk energieverbruik.
Welke hardware platformen selecteer je, en hoe kom je tot die keuze? Met Chris
hebben we onderzocht of we moderne programmeerbare netwerken kunnen gebruiken, waar
er dus echt intelligentie in het netwerk zelf zit.
Een van de conclusies is dat je rekenen en
datatransport niet afzonderlijk moet zien, maar juist het instrument, de
netwerken voor het datatransport, en het data-analyse platform inclusief de
software stack integraal moet bekijken. Dit noemen we ook wel co-design. Door
de co-design methode, en door het platform geheel programmeerbaar te maken in
software, nu inclusief het netwerk dus, kunnen we de telescoop efficiënter en flexibeler maken. Co-design blijkt ook in de
literatuur inmiddels een belangrijk thema te worden voor onderzoek naar
exascale toepassingen.
2. Grootschalig efficiënt
rekenen
Deze
afbeelding laat op een heel hoog niveau de thema’s van mijn onderzoek zien. Mijn
leerstoel heeft de titel “Efficient
Computing for eScience”.
Wat eScience precies is heb ik in het voorafgaande behandeld. Nu wil ik dieper
ingaan op het tweede deel: Efficiënt
computing, oftewel efficiënt
rekenen. Efficiënt
rekenen heeft drie verschillende aspecten. Efficiëntie op grootschalige systemen, de
schaalbaarheid dus; energie efficiëntie,
en de efficiëntie
van het programmeerproces zelf. Op elk van deze punten zal ik nu dieper ingaan.
2.1 Architecturen &
hiërarchische systemen
Maar voor we het kunnen hebben over efficiëntie moeten we eerst kijken naar de structuur van de computersystemen
we willen gebruiken.
2.1.1 Exascale
Deze grafiek laat de snelheid van computersystemen
over de tijd zien. De verticale as is het aantal rekenoperaties per seconde, de
horizontale as is de tijd. De blauwe rechte lijn geeft de snelheid van de
snelste supercomputer ter wereld op dat moment aan. Let op: de verticale schaal
is logaritmisch. Elke verticale stap is een factor 1000 sneller. De groei is
dus exponentieel. In 1 plaatje ziet u hier een normale processor (gigascale),
een GPU (terascale), en de snelste supercomputers ter wereld (petascale).
Onze
nationale supercomputer die bij SURFsara staat, de Cartesius, kan ongeveer 2
peta operaties per seconde leveren (2 peta-ops). Op dit moment staat het
snelste systeem ter wereld bij het Oak Ridge National Lab in de Verenigde
Staten, en dit systeem levert 200 peta-ops, ongeveer 100x sneller dan de
Nederlandse Cartesius. Men verwacht rond 2021 de eerste exascale systemen in
Amerika en China. In Europa verwachten we rond 2023 twee exascale systemen te
bouwen.
In het Europese project PROCESS, waar zowel het
Nederlands eScience centrum als de UvA partner zijn, ontwikkelen wij nieuwe
software infrastructuur die het mogelijk maakt om dit soort grootschalige
systemen efficiënt te
gebruiken.
2.1.2. Hiërarchische systemen
Een mobiele telefoon heeft tegenwoordig al 8 cores of
rekenkernen. Moderne high-end PCs hebben er al 16 of meer. Ik noemde eerder al
dat wij veel rekenen op grafische kaarten of GPUs. Die GPUs maken gebruik van massief
parallelisme, en hebben soms al meer dan 5000 cores, in 1 chip. De structuur
van een GPU is niet plat, maar hiërarchisch.
Een GPU chip is opgebouwd uit een aantal streaming multiprocessors. Elk daarvan
heeft weer een groot aantal cores. Je moet hier als programmeur rekening mee
houden: cores binnen streaming multiprocessor kunnen met elkaar communiceren,
cores die in verschillende streaming multiprocessors zitten niet. Er is dus een
interne hiërarchische structuur
die bepalend is voor hoe je zo’n
apparaat programmeert.
In een compute node zitten over het algemeen zowel een snelle
general-purpose processor, en een aantal GPUs. Er zijn nu twee dingen gebeurd.
Het systeem is nu heterogeen geworden, er zijn twee verschillende
processorarchitecturen, en er is nog een niveau van parallelisme toegevoegd.
Meerdere GPUs kunnen in parallel rekenen.
Een supercomputer bestaat uit een groot aantal van deze
compute nodes, verbonden door een snel netwerk. Hier ziet u de Cartesius, de
nationale supercomputer die bij SURFsara staat, en die op deze manier is
opgebouwd.
In sommige gevallen gebruiken de grootschalige
wetenschappelijke applicaties waarin ik geïnteresseerd ben zelfs meerdere supercomputers die
verbonden zijn door snelle glasvezelverbindingen tegelijk. Voorbeelden zijn de SKA-telescoop,
of gekoppelde simulatiecodes, bijvoorbeeld voor klimaatonderzoek.
De rekeneenheden in exascale systemen zitten dus in
een hiërarchische
structuur. Hetzelfde punt kun je ook maken voor geheugen, communicatie en
parallelisme. Ik verwacht dat dit in de toekomst ook meer en meer zal gaan
gelden voor dataopslag. Dat is samengevat in deze tabel. Van links naar rechts
wordt het systeem steeds grootschaliger. U hoeft alle technische termen niet te
lezen of te begrijpen, het gaat erom dat je enorm veel verschillende technologieën moet kunnen gebruiken en combineren om efficiënt te zijn.
Dus wat gebeurt er nu eigenlijk als we richting exascale
systemen gaan?
Ten eerste: systemen worden extreem parallel en hiërarchisch.
Ten tweede: Systemen worden heterogeen, er zijn steeds
meer accelerators zoals GPUs voor snel rekenen, speciale processoren voor deep
learning, en FPGAs als meer flexibiliteit nodig is.
Het derde punt is dat er fouten optreden. Deze systemen
zijn enorm complex en grootschalig. Als je kijkt naar de “mean time between failures” van componenten, dan kun je uitrekenen dat er altijd
wel iets kapot is in het systeem. Je moet dus inherent rekening houden met
fouten.
Het laatste punt is dat er veel meer flexibiliteit
nodig is, door de heterogeniteit, door het gebruik van clouds en virtualisatie
waarbij je de hardware vaak niet voor jezelf hebt, en door de fouten die
onverwacht optreden.
Al deze complexiteit bemoeilijkt de
programmeerbaarheid enorm.
2.2 Parallel rekenen en
heterogeniteit
Ik onderzoek programmeermethodes die zelf inherent hiërarchisch zijn. Het is mogelijk om met de hand hiërarchische optimalisaties te introduceren op applicatieniveau,
in communicatiebibliotheken zoals MPI, of in hoog niveau programmeermodellen. Het
bekendste voorbeeld van een inherent hiërarchisch
model is divide-and-conquer.
Bij
divide-and-conquer splits je een probleem op in een aantal deelproblemen.
Vervolgens splits je elk deelprobleem weer verder op. Dit blijf je recursief
doen tot je een heel klein probleem overhoudt, dat eenvoudig in korte tijd op 1
processor op te lossen is.
Vervolgens
worden alle deelresultaten weer stapsgewijs gecombineerd totdat het totale
probleem opgelost is. Dit model volgt een boomstructuur, en is dus inherent hiërarchisch. Mijn visie is dat zo’n hiërarchisch
programmeermodel goed af te beelden is op hiërarchische systemen. Ons onderzoek laat ook zien dat
dit inderdaad het geval is.
Met
het Cilk project, uitgevoerd bij het Amerikaanse MIT, heeft men aangetoond dat
divide-and-conquer toepassingen zeer efficiënt kunnen draaien op kleinschalige shared memory
systemen. Tijdens mijn promotieonderzoek heb ik een opvolger van dit Cilk systeem
gemaakt: Satin. Satin draait divide-and-conquer toepassingen efficiënt op grootschalige systemen met duizenden cores zelfs
wanneer die verspreid zijn over verschillende continenten. Hiervoor moesten we
nieuwe slimme algoritmes ontwerpen voor de werkverdeling. Met Gosia Wrzesinska,
Jason Maassen en Niels Drost hebben we ervoor gezorgd dat ons model ook
foutbestendig is. Zowel de algoritmes voor de werkverdeling als de
foutbestendigheid blijken we heel efficiënt
te kunnen implementeren door handig gebruik te maken van de hiërarchische structuren van het programmeermodel en het computersysteem.
Pieter Hijma heeft Satin vervolgens uitgebreid met een
nieuwe programmeermethode om accelerators te programmeren. Het resulterende
systeem heet Cashmere. Het eindresultaat is dus dat we grootschalige
wetenschappelijke applicaties kunnen draaien op wereldwijde hiërarchische en heterogene systemen, zelfs als er fouten
in het systeem optreden. De programmeur merkt vrijwel niets van al deze
complexiteit.
Er doen dus al drie generaties van promovendi
onderzoek met dit systeem. Een van de redenen dat we over een lange tijd zo
succesvol zijn geweest met dit platform is dat we expliciet goed na hebben
gedacht over het ontwerp, alles zeer modulair hebben opgezet, en dat we continu
investeren in de softwarekwaliteit.
2.2.1. Nu: compute en data
In parallel programmeren onderzoek werken we vaak met
benchmarks en vereenvoudigde applicaties om onze hypotheses en systemen te testen.
Dit werkt heel erg goed voor rekenintensieve applicaties. Helaas gaat dit in de
praktijk soms verkeerd bij echte wetenschappelijke applicaties, die over het
algemeen juist erg data intensief zijn. Data verplaatsen is duur en gebruikt
ook nog eens erg veel energie. Je moet dataopslag en transport dus meenemen in het
ontwerp van algoritmes en systemen. Het hokjes denken waar ik het in het begin
over had, en onze informatica-centrische blik, waar we de applicaties te veel
vereenvoudigd hebben om te kunnen redeneren over het systeem, leidt dus soms
tot blinde vlekken.
In het Europese project “PROCESS”
werken we met Stijn Heldens aan modellen die wel hiërarchisch zijn, en wel uitgaan van divide-and-conquer,
maar die opslag en data lokaliteit wel mee nemen. Het verschil is dat we niet
de taken opsplitsen in stukken, maar juist de data. Het systeem kan dan automatische
afwegingen maken of het de data verplaatst naar plekken waar rekenkracht
beschikbaar is, of juist andersom. In dat geval laat het systeem de data juist staan,
en brengt het de berekeningen naar de data. Ons onderzoek moet uitwijzen welke aanpak
in welk geval efficiënter is.
2.3 Energie efficiëntie
Het
volgende aspect van efficiënt
rekenen dat ik onderzoek is de energie efficiëntie. Voor grootschalige instrumenten en
simulatiecodes is het energieverbruik inmiddels een belangrijke beperkende
factor. De afgelopen jaren heb ik onder andere met Alessio Sclocco en John
Romein onderzoek gedaan naar de energie efficiëntie van radioastronomie pipelines. Het gaat er dan om
dat je zoveel mogelijk operaties per Joule kunt uitvoeren.
Een
van de technieken de we gebruiken is een combinatie van run-time code generatie
en auto-tuning. Met run-time code generatie genereren we de code pas vlak voordat
we deze gaan uitvoeren. Op dat moment zijn veel parameters bekend. Deze
parameters kunnen eigenschappen van het platform zijn, zoals het aantal
streaming multiprocessors en cores. Maar nog interessanter zijn
applicatie-specifieke parameters, zoals in ons geval bijvoorbeeld het
frequentiebereik van de observatie, of het aantal antennevelden dat mee doet.
Als je dat weet, dan weet je precies hoe je moet parallelliseren, en hoe je de
data in het geheugen kunt ordenen voor de meest efficiënte toegang. Je kunt dus een enorm goede afbeelding
maken van het specifieke probleem dat je wilt oplossen naar de exacte hardware
waar je op dat moment op draait.
Met
auto-tuning genereren we niet 1 versie van de code, maar vele duizenden versies,
met andere optimalisatieparameters. Het systeem zoekt dan automatisch de meest
efficiënte set van
parameters. Een voorbeeldresultaat ziet u hier. We hebben een radioastronomie pipeline
ontwikkeld die zoekt naar pulsars: zeer snel roterende neutronensterren. In dit
geval vergelijken we 3 verschillende accelerators, en ook 3 verschillende
telescopen, hier LOFAR, Apertif en SKA fase 1. We kijken specifiek naar het
energieverbruik. Wat we zien is dat telescoopeigenschappen zoals het
frequentiebereik een grote impact hebben op de snelheid en ook de energie
efficiëntie. We
halen op GPUs versnellingen tot een factor 8, terwijl we tegelijkertijd 6x
minder energie verbruiken ten opzichte van een traditionele processor. Er zijn
voor verschillende hardware platformen, verschillende telescopen en
verschillende observaties echt verschillende optimalisaties nodig. Met de hand
is dat niet meer te doen.
Het
voordeel van onze automatische aanpak met run-time code generatie en
auto-tuning is dus een zeer goede portabiliteit en performance, met een laag
energieverbruik. Er is echter ook een nadeel. Door de geautomatiseerde
zoektocht naar het optimum heb je geen inzicht meer in de reden waarom je een bepaalde performance
haalt. Dat is op dit moment een van de thema’s van ons vervolgonderzoek.
Als
we onze benchmark resultaten extrapoleren naar wat er nodig is voor de SKA, dan
blijkt dat er in totaal voor fase 1 al 140.000 GPUs nodig zijn, met een
energieverbruik van 30 megaWatt. De ambitie voor SKA fase 2 is om het systeem
nog met een factor 100 op te schalen. Dan heb je dus 3000 megaWatt nodig. De
grootste kolencentrale van Nederland, de Eemshavencentrale, levert ongeveer
1500 MW. Dus, om SKA fase 2 te bouwen met de technologie die we hier getest
hebben zijn er 2 van die centrales nodig, alleen maar voor de pulsar pipeline.
Dit geeft wel de enorme schaal en ambitie aan die men nastreeft. Er is
overduidelijk nog veel onderzoek nodig om deze droom waar te maken.
2.4. Schaalbaarheid
Het laatste aspect van efficiënt rekenen waar ik het over wil hebben is
schaalbaarheid. Nu speelt schaalbaarheid al een grote rol in alles wat ik tot
nu toe verteld heb. Daarom wil ik nu alleen nog ingaan op een specifiek aspect
dat erg actueel is: het opschalen van zelflerende systemen, en in het bijzonder
deep learning, een heel actueel onderzoeksthema.
2.4.1. Deep learning op schaal
We zijn met dit thema bezig in een groot project, EDL,
dat staat voor “Efficient
Deep learning”. In dit
project zitten naast 11 academische partners ook 36 partners uit de industrie,
die spannende uitdagende use cases aanleveren. EDL is een prachtig voorbeeld
van het type interdisciplinaire onderzoek dat ik nastreef. Het doorbreekt een
aantal hokjes binnen de informatica, het brengt namelijk de Nederlandse experts
op het gebied van grootschalig rekenen en de experts op het gebied van
kunstmatige intelligentie samen. Het project slaat ook een brug tussen
wetenschap en industrie, met ook expliciet het doel om deep learning
toegankelijk te maken voor een veel bredere groep gebruikers, inclusief
bijvoorbeeld het MKB. Een mooie kans dus om impact te hebben met eScience.
Ik ben zelf projectleider van een deelproject dat “deep learning voor High-Tech Systems and Materials” heet. Wellicht herkent u dit als een van de
topsectoren. We gaan drie use-cases aanpakken die draaien om het opschalen van
industriële productieprocessen
en instrumenten. Met Tata steel en Qualcomm kijken we naar het opsporen van
defecten tijdens het fabricageproces van staal. Met Thermo Fischer onderzoeken
we of we de acquisitiesnelheid van elektronenmicroscopen kunnen verhogen,
terwijl we tegelijkertijd de beeldkwaliteit verbeteren. Tenslotte kijken we met
Astron, het eScience centrum en SURFsara naar het detecteren van
instrumentfouten voor LOFAR.
Er zijn een aantal gemeenschappelijke uitdagingen bij
deze use cases. We onderzoeken het opschalen van deep learning zodat we kunnen omgaan
met de enorme datavolumes die we hebben. De data is in ons geval ook heterogeen:
we combineren verschillende soorten data met verschillende eigenschappen uit
verschillende bronnen.
2.4.2. EDL ASTRON use case
Ik wil even inzoomen op de LOFAR use case, waar we
deep learning gebruiken als instrument babysitter. Zoals ik al eerder vertelde
zijn er bij instrumenten en computersystemen op deze schaal eigenlijk permanent
dingen kapot. Ook externe stoorzenders, in dit geval zelfs letterlijk, kunnen
de data vervuilen. Onze ambitie is om dit automatisch te detecteren met deep
learning. Om dit mogelijk te maken willen we het algoritme de observatie data
zelf geven, maar ook domeinkennis in de vorm van meta data over de observatie,
informatie over de status van de sensoren, het netwerk, het computerplatform en
de software. Door al de informatie met elkaar te combineren en te correleren hopen
we automatisch verbanden te kunnen leggen tussen anomalieën in de data en de “gezondheid”
van het instrument. De bevindingen presenteren we dan aan de operators, die met
een interactieve interface verder kunnen onderzoeken wat er mis is. De
operators kunnen het systeem tegelijkertijd helpen met het leren, zodat de
foutoorzaak een volgende keer automatisch gedetecteerd kan worden. Deze
interface is gemaakt door Christiaan Meijer van het eScience centrum, en het
vervolgonderzoek waar we die domeinkennis mee nemen wordt nu gedaan door Misha
Mesarcik.
2.4.2. EDL ING use case
Typisch voor eScience is dat we altijd willen
generaliseren. Dat doen we in dit geval ook weer. We proberen dezelfde
technologie te verfijnen met een andere use case in een heel andere context,
namelijk financiële
transacties. Dit EDL deelproject is gemeenschappelijk met de VU en de ING bank,
en Henk Dreuning is de PhD student die het onderzoek uitvoert. Ook bij de bank
zijn de ICT systemen enorm grootschalig en complex. We willen dezelfde deep
learning technologie gebruiken om fouten in het ICT systeem te detecteren.
Tegelijkertijd willen we het systeem gebruiken op de stromen van financiële transacties. In dit geval kunnen anomalieën een indicator zijn van mogelijke fraude. Een mooi
voorbeeld van maatschappelijke impact met eScience.
2.5. Het eScience proces
Dit maakt de cirkel van mijn verhaal rond. Dit plaatje
laat zien hoe het eScience proces in het algemeen werkt. We ontwikkelen nieuwe
kennis en software in onze interdisciplinaire projecten (rechts). Een belangrijk aspect van eScience is het hergebruik van de
gegenereerde kennis en software. We maken dus een generalisatieslag, waar we de
software zo modulair en generiek mogelijk maken, zodat we ook snel nieuwe onderzoeksvragen
kunnen beantwoorden, potentieel in andere disciplines (onder). We ontwikkelen open source software, en delen dit met de
community. We hergebruiken ook veel bestaande research software. Juist door
geen wielen opnieuw uit te vinden en veelgebruikte bestaande software uit te
breiden met nieuwe algoritmes die uit ons onderzoek komen, kunnen we een
grotere impact realiseren (adoptie,
links).
Onze gegeneraliseerde methodes en software passen we
altijd weer aan in volgende projecten om goed aan te sluiten bij de
domeinwetenschappers met wie we werken. Vaak doen we dat meerdere keren, in
verschillende projecten en disciplines (boven).
Maatwerk is van groot belang voor acceptatie en impact in het
domein. Beide stappen in de cirkel zijn even belangrijk: in de specialisatie stap
beantwoorden we de wetenschappelijke vragen, en bevorderen we de acceptatie en
impact; bij de generalisatie maken we de kwaliteits- en efficiency slag. Kortom,
wetenschap is specialiseren, en wij als e-scientists zijn gespecialiseerd in
het generaliseren en specialiseren. Deze
cirkel dus. Dankzij het hergebruik en de hoge kwaliteit van de research
software levert eScience meer en betere wetenschap op per geïnvesteerde euro.
3.
Software-kwaliteit en de impact op
de wetenschap
Dan wil ik graag nog 1 laatste punt bespreken.
Buurman en buurman zijn de hoofdpersonen in een van
oorsprong Tsjechische tekenfilmserie. In elke aflevering zijn de buurmannen aan
het klussen, maar dit gaat altijd op een grappige manier helemaal mis. Vrijwel
altijd is de klus aan het einde van een aflevering geklaard, alleen niet op de
manier die ze bedacht hadden, er gaat onderweg heel veel fout, en het is enorm
inefficiënt.
Eigenlijk schrijven wij in de wetenschap software op dezelfde ongestructureerde
manier.
In de informatica is software ons instrument. Om goede
wetenschap te doen heb je goede instrumenten nodig. Een astronoom maakt geen
telescoop van kippengaas en duct-tape. Ze bouwen kwalitatief uitstekende instrumenten,
en Nederland doet op deze manier mee aan de wereldtop van het astronomie
onderzoek. Deze instrumenten gaan dan ook decennia mee. Ik zou graag zien dat
wij in de informatica hetzelfde gaan doen. Er is een cultuurverandering nodig
om te zorgen dat onze instrumentatie van hogere kwaliteit en beter herbruikbaar
wordt. Op de lange termijn is dit efficiënter,
en genereert het ook meer impact. In mijn optiek is herbruikbare software ook
een voorwaarde van de wetenschappelijke methode: onderzoek moet verifieerbaar
en reproduceerbaar zijn. Dat is in de informatica maar al te vaak niet het
geval.
Ik worstel zelf ook met dit probleem. Vroeger al als
AIO en postdoc, toen ik nog zelf veel software schreef, maar ook met mijn promovendi
nu. Er is eigenlijk geen tijd om degelijke software te bouwen. De enige
oplossing is om expliciet waardering te geven voor het ontwikkelen van software
instrumentatie. Wetenschappers moeten software dus gaan zien als een belangrijke
onderzoeksbijdrage. We kunnen hier allemaal eenvoudig aan bijdragen: citeer de
software die je gebruikt. En softwareontwikkelaars: maak releases, en zorg
ervoor dat jouw code vindbaar en citeerbaar is. En, het belangrijkste: wees
trots op jouw instrument!
4.
Dankwoord
Ik wil graag eindigen met het bedanken van de vele
mensen die de afgelopen jaren essentieel zijn geweest voor dit werk.
Allereerst wil ik degenen danken die mijn aanstelling
mogelijk hebben gemaakt. Dat waren het college van bestuur, de decaan, de
directeur van het Instituut voor Informatica, de bestuursleden van de stichting
Nederlands eScience centrum, de leden van het curatorium, en vooral ook professor
Cees de Laat en professor Wilco Hazeleger. Bedankt voor deze kans en het vertrouwen.
Dan moet ik natuurlijk beginnen met het bedanken van
mijn promovendi. Zij doen al het echte werk. Als u goed heeft opgelet heeft u
ze allemaal al langs zien komen, maar hier ziet u ze nogmaals. Graag wil ik ook
iedereen bedanken die betrokken is bij de begeleiding van de promovendi. Wat
een voorrecht om met jullie allemaal te mogen werken.
Er zijn ook veel mensen met wie ik al heel lang en
fijn samenwerk. Te veel om hier nu op te noemen helaas. Ik bedank u daarom
graag straks even persoonlijk onder het genot van een drankje tijdens de
receptie. Ik wil nu alleen even kort iedereen bedanken van het Systems and
Networking Lab van de UvA. Ook dank ook aan iedereen bij het Nederlands
eScience centrum. Ook de mensen die inmiddels weg zijn, maar die wel belangrijk
zijn geweest. Een bedankje ook voor de support staf van het eScience centrum en
van de UVA. And then a special thanks for our
eScience research engineers. You are the unsung heroes of science! I am very
proud of everything we have accomplished together at the eScience center sofar.
Ook veel dank aan SURF en NWO die dit hebben mogelijk
gemaakt.
Bedankt ook iedereen van de computersystemen groep van
de VU, iedereen bij Astron, en iedereen in de projecten waar ik in de afgelopen
jaren bij betrokken ben geweest: onder andere Ibis, GridLab, AstroStream, PROCESS
en EDL, en natuurlijk een groot aantal projecten aan het Nederlands eScience
centrum. Bedankt voor alle inspiratie!
Dank ook aan mijn co-promotors Aske Plaat en Thilo
Kielmann, en promotor Henri Bal. Jullie hebben mijn wetenschappelijke basis
gelegd.
Het is ook fijn om altijd terug te kunnen vallen op
mijn broer en zus, familie, schoonfamilie en vrienden. Dank jullie wel allemaal.
Dan natuurlijk mijn ouders: Jullie hebben dit
uiteindelijk allemaal mogelijk gemaakt door mij altijd alle kansen te geven, en
door me te stimuleren om te leren. En, natuurlijk, jullie hebben inmiddels 35
jaar geleden de commodore 64 gekocht, waar dit allemaal mee begonnen is. Dat
was nog eens een goede investering! Het is geweldig dat jullie hierbij kunnen
zijn, dat is niet bepaald vanzelfsprekend na wat jullie allemaal door hebben
gemaakt de afgelopen jaren.
Tenslotte natuurlijk het thuisfront. Patricia, Lucas
en Kayleigh, wat zou ik zonder jullie moeten? Bedankt voor jullie steun en
liefde.
To maximise the vast potential of exascale computers, two major obstacles will have to be overcome: software complexity and data volume. This is one of the findings of a new semi-automated literature study on the state of exascale computing. The study we carried out with a team of research engineers at the Netherlands eScience Center … Continue reading “New ACM Computing Surveys paper throws light on state of exascale computing”
To maximise the vast potential of exascale computers, two major obstacles will have to be overcome: software complexity and data volume.
This is one of the findings of a new semi-automated literature study on the state of exascale computing. The study we carried out with a team of research engineers at the Netherlands eScience Center with reusable software specifically developed for this purpose, was recently published in the journal ACM Computing Surveys.
The next generation of supercomputers will soon break the exascale barrier. These supercomputers will be capable of performing at least one quintillion (billion billion) floating-point operations per second (10 to the power of 18 Flops) and are expected to accelerate advancements in many scientific disciplines. At the moment, the race towards these exascale systems is reaching its conclusion with the United States, the European Union and China all planning to build and launch their own exascale supercomputers within the next five years.
The state of current research
Mirroring the rapid rate of development in exascale computing, much has been written over the past decade about these systems: their tremendous computing power, the technical challenges to building and programming them, as well as possible solutions to overcoming these.
In their paper, the researchers provide an overview of the current body of knowledge on exascale computing and provide insights into the most important trends and research opportunities within this field. To do so, they use a three-staged approach in which they discuss various exascale landmark studies, use data-driven techniques to analyse the large collection of related literature, and discuss eight research areas in-depth based on influential articles.
‘The quantitative analysis was done with open-source software developed by the eScience Center’, says Stijn Heldens, PhD candidate and lead author of the paper. ‘We formulated a search query and collected all the exascale-related papers we could find. We then used data mining and natural language processing techniques to automatically process all the material. In addition, we selected the most prominent articles and studied these to determine the most important trends that will help us to reach exascale’
Progress and challenges
The team’s research shows that great progress has been made in tackling two of the major exascale barriers: energy efficiency and fault tolerance. ‘Energy efficiency has improved dramatically with an increase in ~35x over the past decade, meaning we are nearing the point where an exascale system would be feasible in terms of energy consumption’, says Heldens. ‘Fault tolerance is another topic that has received substantial attention with major developments in checkpoint-restart protocols, data corruption detection and fault understanding.’
Nevertheless, Heldens and his fellow researchers also foresee these two barriers slowly being overshadowed by two other challenges: software complexity and data volume. ‘With respect to software complexity, we see a clear lack of suitable programming models that simplify the development of scalable scientific applications. So even though we’ll soon have all this powerful hardware, the research community might not be able to fully harness it because of a lack of suitable software. Added to this is the problem of data volume, in which we see a growing gap between computing power of processors and data bandwidth. While we expect that computation will become cheaper over time, data movement (i.e. bytes per second) might not grow at the same pace and become relatively more expensive.’ According to the authors, novel hardware technology is promising solutions to the data movement challenge, but these conflict with the software complexity challenge since they introduce additional complications when programming these systems.
Heldens: ‘Exascale computing promises to radically open up new avenues for research and development. It is an enthralling prospect. But to harness its awesome potential, we’ll need to address these issues as soon as possible. I hope our paper provides the shot in the arm to start this process.’
Publication details
Stijn Heldens, Pieter Hijma, Ben Van Werkhoven, Jason Maassen, Adam Belloum and Rob van Nieuwpoort, ‘The Landscape of Exascale Research: A Data-Driven Literature Analysis’ in ACM Computing Surveys (March 2020). DOI: https://doi.org/10.1145/3372390
* This paper was made possible by funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 777533 (PROCESS) and No 823988 (ESiWACE2), and the Netherlands eScience Center under file number 027.016.G06 (A methodology for man-core programming).
Wednesday May 8 at 16.00, I will give my inaugural lecture. The title is “The e-scientist. Universal scientist or specialist?”. The location is the Aula of the University of Amsterdam. Note that the lecture will be in Dutch. Everyone who is interested in eScience and efficient computing is very welcome! Dutch Summary: Wetenschap wordt steeds … Continue reading “Inaugural lecture”
Wednesday May 8 at 16.00, I will give my inaugural lecture. The title is “The e-scientist. Universal scientist or specialist?”. The location is the Aula of the University of Amsterdam. Note that the lecture will be in Dutch. Everyone who is interested in eScience and efficient computing is very welcome!
Dutch Summary:
Wetenschap wordt steeds complexer en heeft meer en complexere ICT nodig. Het toepassen en onderzoeken van innovatieve complexe ICT in de wetenschappelijke disciplines noemen we eScience. Een echt kenmerk van eScience is dat het onderzoek plaatsvindt in nauwe samenwerkingsverbanden tussen informatici en wetenschappers in de disciplines. EScience bestrijkt alle wetenschapsgebieden, van archeologie tot levenswetenschappen en de astronomie. Ook technisch is eScience enorm breed. Afhankelijk van de wetenschappelijke vraag en het vakgebied kan het gaan om grootschalige simulaties, het koppelen van modellen, het integreren van observaties en modellen, het koppelen van verschillende databronnen, het zoeken in ongestructureerde data, visualisatie, machine learning en nog veel meer.
Het is enorm spannend en uitdagend om state-of-the-art informaticaonderzoek toe te passen om lastige wetenschappelijke problemen aan te pakken. Ook levert eScience een enorm veel inspiratie op voor nieuw en innovatief informaticaonderzoek. Een belangrijk aspect van eScience is het vergroten van impact van informaticaonderzoek. Dan gaat het niet alleen om impact in de wetenschap, maar ook maatschappelijke impact, bijvoorbeeld in de gezondheidszorg, of juist in industriële fabricageprocessen. Tegelijkertijd werkt het ook omgekeerd, en kunnen we als e-scientists met kennis van nieuwe technische mogelijkheden wetenschappers juist uitdagen om hun onderzoeksvragen aan te scherpen en nog groter te denken.
Rob’s leerstoel heeft de titel “Efficient Computing for eScience”. Efficiënt rekenen heeft drie verschillende aspecten. Efficiëntie op grootschalige systemen, de schaalbaarheid dus; energie efficiëntie, en de efficiëntie van het programmeerproces zelf. Zijn onderzoek behandeld elk van deze thema’s, in verschillende toepassingsgebieden, met een focus op grootschalige gedistribueerde radio telescopen, zoals LOFAR en de Square Kilometre Array (SKA).
Oratie: The e-scientist. Universal scientist or specialist? Locatie: Aula UvA Spui, 1071 DN Amsterdam
Faculty of Science – Informatics Institute The Informatics Institute of the Faculty of Science invites applications for a PhD candidate in Efficient Deep Learning for four years. The position is part of the Dutch STW Efficient Deep Learning program. Project description The Efficient Deep Learning (EDL) program The EDL program combines the fields of machine learning and computing: both disciplines … Continue reading “[FILLED] Vacancy: PhD candidate in Efficient Deep Learning”
Faculty of Science – Informatics Institute
The Informatics Institute of the Faculty of Science invites applications for a PhD candidate in Efficient Deep Learning for four years. The position is part of the Dutch STW Efficient Deep Learning program.
Project description
The Efficient Deep Learning (EDL) program
The EDL program combines the fields of machine learning and computing: both disciplines are already strong in the Netherlands and now connected by seven Dutch academic institutes and more than 35 other (industrial) partners in- and outside the Netherlands. The EDL program contains seven use case driven EDL research projects: P1) DL as a service, P2) Reconstruction, matching and recognition, P3) Video analyses and surveillance, P4) High tech systems and materials, P5) Human and animal health, P6) Mobile robotics, and P7) DL platforms. The common goal for all seven EDL projects is to significantly improve the applicability of DL among others by creating data efficient training, and tremendously improving computational efficiency, both for training and inference.
Partners in EDL-P4 are the Dutch universities TU/e, UvA and VU, and also Thermo Fischer, Qualcomm (Scyfer), the Netherlands eScience center, ASTRON and SURFsara.
The PhD position
The candidate will work on DL for extreme-scale system health management. In modern radio telescopes, System Health Management (SHM) is crucial for detection and remedying of errors. Scale and complexity of the systems involved are increasing: we must deal with ~100K distributed sensors, huge data volumes and real-time compute requirements (petascale to exascale). The effectiveness and efficiency of current SHM approaches are limited in this context. We will develop semi-supervised and active learning SHM approaches that perform data fusion to combine sensor time series data with system health data (network, HDD, memory, software, logs), deal with the lack of labelled data, and unbalanced and changing labels. This is beneficial for maintenance, operations, and costs, but also crucial for the scientific results, as accurate knowledge of the instruments is essential for calibration.
Although we focus concretely on application of this technology in radio astronomy, similar problems arise in high-energy physics, ecology, life sciences and urban planning (e.g., LHC, Xenon3T, KM3Net). Similar problems occur in large-scale distributed simulations, e.g. in water management, computational chemistry and climate science. Therefore, we will develop generic methods and software.
The candidate will work on the development of energy and resource efficient DL algorithms. She or he will work on implementations to accelerate DL by programmable hardware (e.g. GPUs).
Tasks:
conduct interdisciplinary research with a special focus on the design and implementation of novel scalable DL algorithms that deal with extremely large, heterogeneous and sparse data in real time;
investigate novel architectures for real-time efficiency and power efficiency at exascale;
implement and validate DL-based SHM in radio telescopes;
publish in top tier conferences and journals in relevant areas;
provide teaching assistance (10%);
complete a PhD thesis.
The PhD candidate will work at the Systems and Networking lab of the Informatics Institute at the University of Amsterdam and at ASTRON (Dwingeloo). Regular travelling between the two sites is expected.
Requirements
We are looking for candidates whose skills match with (a large part of) the following profile:
an MSc in Computer Science, AI or related disciplines with excellent grades;
demonstratable experience with High-Performance Computing (parallel programming, networking, GPUs);
affinity with Signal Processing, Machine Learning (ideally deep learning), and a good mathematical background are important;
excellent programming skills (in C, C++, Python);
a team player who enjoys a multicultural and interdisciplinary environment in which academic-industrial collaboration is central;
good communication and organization skills;
excellent English language skills (writing and presenting).
Further information
For further information about this vacancy you can contact:
The appointment will be full-time (38 hours a week) for a period of four years (initial employment is 18 months). Periodic evaluations will be held after 9 and 14 months. Upon positive evaluation, the appointment will be extended to a total of 48 months. The appointment must lead to a dissertation (PhD thesis). An educational plan that includes attendance of courses, summer and/or winter schools, and national and international meetings will be drafted for the PhD candidate. The PhD candidate is also expected to assist in teaching of undergraduate students.
The salary is in accordance with the university regulations for academic personnel. The salary will range from €2,266 (first year) up to a maximum of €2,897 (last year) gross per month (scale P) based on a full-time appointment. There are also secondary benefits, such as 8% holiday allowance per year and the end of year allowance of 8.3%. The Collective Labour Agreement for Dutch Universities is applicable.
Among other things, we offer:
competitive pay and excellent benefits;
extremely friendly working environment;
high-level of interaction;
international environment (10+ nationalities in the group);
access to high-end computing facilities (cluster with 4,000+ cores);
one of the best AI ecosystems on the planet;
new building located near the city center (10 minutes by bicycle) of one of Europe’s most beautiful and lively cities;
access to one of the largest radio telescopes in the world (LOFAR) in a beautiful environment (a national park).
Since Amsterdam is a very international city where almost everybody speaks and understands English, candidates need not be afraid of the language barrier.
Job application
The UvA is an equal opportunity employer. We celebrate diversity and are committed to creating an inclusive environment for all employees. We value a spirit of enquiry and endurance, provide the space to keep asking questions and cherish a diverse atmosphere of curiosity and creativity.
You may only submit your application online using the link below. We will accept applications until 21 August 2018. To process your application immediately, please quote the vacancy number 18-453.
The committee does not guarantee that late or incomplete applications will be considered.
In the research statement (see below) you should clearly describe your research vision in relation to the topics that we described, as well as a clear statement which would be your direction of research.
You should also include the following information, in separate PDF files (not zipped), using surname, initials and a self-evident word as file names, e.g., Smith J CV:
a curriculum vitae (including a URL allowing download of pdf of MSc. thesis – if relevant);
a letter of motivation (at most 1 page) explaining why you are interested in this position;
a research statement (at most 2 pages), explaining your research interests and how you think they can be related to the topics mentioned in the Job description above;
a list of all university courses taken, including a transcript of grades;
the name and contact details (including email address) of three referees who can provide details about your profile (one of whom should be the main supervisor of your Master thesis).
IEEE eScience 2018 The fourteenth IEEE eScience Conference will be held in Amsterdam, The Netherlands from 29 October – 1 November 2018. The conference brings together leading international researchers and research software engineers from all disciplines to present and discuss how digital technology impacts scientific practice. eScience promotes innovation in collaborative, computationally- or data-intensive research … Continue reading “[CLOSED] IEEE eScience 2018 call for papers, deadline extended to june 18”
IEEE eScience 2018
The fourteenth IEEE eScience Conference will be held in Amsterdam, The Netherlands from 29 October – 1 November 2018. The conference brings together leading international researchers and research software engineers from all disciplines to present and discuss how digital technology impacts scientific practice. eScience promotes innovation in collaborative, computationally- or data-intensive research across all disciplines, throughout the research lifecycle.
We invite researchers to submit their:
state-of-the-art computer science work and demonstrate its application in one or more scientific disciplines
research that shows the impact of digital technology on any scientific discipline (not excluding the disciplines covered in the focused sessions)
Disciplines include, but are not limited to: life sciences, health research, forensic science, humanities, social sciences, physics, astronomy, climate, environmental science, and earth science. Digital technologies include, but are not limited to: machine learning, natural language processing, real time data analysis, inter-operability and linked data, multi-scale and multi model simulations, high performance computing, workflow technologies, visualization, and image processing.
Researchers can submit:
A full paper to be eligible for an oral presentation. Accepted oral presentations will be assigned to one of the general eScience sessions on either the multi-track day or the single track days.
A one-page abstract to be eligible for a poster presentation on Wednesday.
Both full papers and abstracts are peer reviewed and if accepted published in the conference proceedings. Rejected full papers will be considered for a poster presentation.
It is a requirement that at least one author of each accepted paper or abstract attends the conference.
Key Dates
Abstract submission deadline: Monday June 18 23:59 (AoE)
Full paper submission deadline: Monday June 18 23:59 (AoE)
Notification of acceptance: Wednesday 15 August 2018
Early bird registration deadline: Friday 31 August 2018
Camera-ready papers: Monday 17 September 2018
IEEE eScience Conference: Monday 29 October – Thursday 1 November 2018
Submission guidelines
Authors are invited to submit full conference papers (up to 10 pages excl. references) for an oral presentation using the IEEE 8.5 × 11 manuscript guidelines: double-column text using single-spaced 10-point font on 8.5 × 11 inch pages. Templates are available from http://www.ieee.org/conferences_events/conferences/publishing/templates.html.
Authors are invited to submit a one-page abstract for a poster presentation using the same template, but limited to one page including figures and tables, excluding references.
This position is funded by the new NWO-TTW program Efficient Deep Learning, which combines Dutch experts from the Machine Learning and the Computing communities. The position is shared between the University of Amsterdam and the Vrije Universiteit Amsterdam. Project The NWO-TTW program Efficient Deep Learning (EDL) combines Dutch experts from the Machine Learning and the Computing communities. … Continue reading “[CLOSED] Vacancy for a PhD in efficient deep learning”
This position is funded by the new NWO-TTW program Efficient Deep Learning, which combines Dutch experts from the Machine Learning and the Computing communities. The position is shared between the University of Amsterdam and the Vrije Universiteit Amsterdam.
Project
The NWO-TTW program Efficient Deep Learning (EDL) combines Dutch experts from the Machine Learning and the Computing communities. The program starts mid 2018 and funds about 25 new research positions (mostly PhD students), who will work together with a variety of companies.
Within EDL, project P1: Deep Learning as a Service studies how to develop a service for EDL that makes the application of Deep Learning algorithms less cumbersome. From a scientific point of view, this project is a collaboration between Vrije Universiteit (VU), the University of Amsterdam (UvA), TU Eindhoven, and the Netherlands eScience Center (NLeSC). The techniques that will be developed in this project will be applied in various case studies at companies. The companies participating in P1 are: ING Bank NV, Semiotics Labs, Schiphol, Océ, SURFsara, and Mobiquity Inc.
Henri Bal and I are specifically looking for a PhD student to Study regime transitions and anomaly detection in the financial sector, including smart maintenance of ICT infrastructure and trading & risk in financial markets.
You will work at VU, UvA, and ING bank.
Requirements
Candidates should have a MSc degree in Computer Science, Artificial Intelligence, Computational Science or closely related area and should be able to work well in teams. Candidates ideally have expertise in both High Performance Computing and Machine Learning/Deep Learning, but PhD-level courses are available if one such expertise is missing.
Successful candidates are expected to write scientific papers for international peer-reviewed journals, present his/her work in international conferences, and finalize the work in a PhD thesis.
The responsibilities of a PhD also include giving a limited amount of teaching.
Further particulars
The initial appointment will be for a period of 1 year. After a satisfactory evaluation of the initial appointment this will be extended for a total duration of 4 years. You may find information about our excellent fringe benefits at www.workingatvu.nl.
• Remuneration of 8.3% end-of-year bonus and 8% holiday allowance;
• participation in a solid pension scheme (ABP);
• a minimum of 29 holidays in case of full-time employment.
Salary
The salary will be in accordance with university regulations for academic personnel, and range from a minimum of € 2,222 gross per month in the first year up to a maximum of € 2,840 gross per month (salary scale 85.0-3) based on a full-time employment.
Application
Applicants are requested to write a letter in which they describe their abilities and motivation, accompanied by a curriculum vitae and two or three references (names and e-mail addresses).
Applications should be sent by email to informatica.secretariaat.few@vu.nl before 24 May 2018. Please mention the vacancy number in the e-mail header.