KubeCon 2019: Kubernetes bij CERN, of een tiende van een triljoende van een biljoende seconde

De met afstand meest indrukwekkende presentatie tijdens de keynotes van KubeCon is die van Ricardo Rocha en Lukas Heinrich: twee medewerkers van het CERN, het onderzoeksinstituut waar antimaterie en dark matter wordt bestudeerd.

In 2013 won de ontdekking (uit 2012) van het Higgs Boson deeltje, het resultaat van botsende protonen en de bevestiging dat antimaterie bestaat, de Nobelprijs voor de natuurkunde. Heinrich legt kort uit hoe dat onderzoek er uit ziet en geeft een beeld van de enorme omvang van het project, de ondergronds aangelegde deeltjesversneller Large Hadron Collider die zich onder twee landen, Frankrijk en Zwitserland, bevindt. Tijdens de botsing worden 40 miljoen foto’s per seconde gemaakt, resulterend in een overdracht van 1 petabyte per seconde – na minimalisering en compressie blijft daar nog 10Gb per seconde van over, hetgeen net haalbaar is. Het cluster van CERN bevat 700.000 cores die 400.000 jobs tegelijk kunnen draaien, en dat cluster is eigenlijk altijd bezet. Het resultaat is 17 petabyte aan data per jaar, na optimalisatie.

Ook de ontdekking van het deeltje zelf is een rekenkundig hoogstandje, het bestaat namelijk maar een tiende van een biljoende van een triljoende seconde, voordat het zich in vier delen splitst.

Rocha schetst vervolgens het experiment dat ze voor deze keynote in gedachten hebben: het live en real-time nabootsen van de berekening die tot de ontdekking leidde, op een Kubernetes cluster. Omdat het binnen CERN niet mogelijk was om “even” 25.000 cores te lenen voor dat experiment zijn ze uitgeweken naar Google Cloud (die zoveel cores schijnbaar op voorraad heeft, hetgeen ook weer iets over de omvang van Google zegt).

In het experiment wordt 70 terabyte aan data, bestaande uit 25.000 files van tussen de 3 en 4 gb per stuk, via 25.000 parallele jobs doorgerekend. Het CERN cluster is gebaseerd op Ceph, Openstack Magnum, Redis en Jupyter als dashboard en reporting engine. In de Google Cloud ziet de oplossing er iets anders uit: de zogenaamde CERN OpenLab bevat Google cloud storage, een GKE cluster met 25.000 cores in een single region bestaande uit 3 zones. De 25.000 jobs brengen het resultaat naar reporting engine Jupyter. We gaan de grootste wetenschappelijke ontdekking van de eeuw even naspelen op een Kubernetes cluster. Omdat het kan. Het resultaat: 200 gigabyte per seconde over het netwerk. En in ongeveer 5 minuten is het resultaat binnen. Met software die al uit 2010 stamt en gewoon in containers draait.

De dataset is publiek. Iedereen kan dit thuis naspelen. En natuurlijk heeft niet iedereen 25.000 cores, maar het resultaat hoeft er ook niet in 5 minuten te zijn. Tegelijkertijd, zoveel kan 5 minuten rekenkracht nou ook weer niet kosten. De zaal lijkt volledig onder de indruk van wat hier gebeurt. De implicaties lijken dan ook groot, daar hoef je geen natuurkundige voor te zijn.