Dansk server beregner 700 GFLOPs på verdens største teleskop

16. april 2018 kl. 05:1216
Dansk server beregner 700 GFLOPs på verdens største teleskop
Illustration: European Southern Observatory.
Force Technology skal bygge en fuldskala-prototype af et serversystem, der skal sørge for regnekraft til eliminering af billedforvrængninger i verdens største teleskop. Systemudvikler og Version2-blogger Poul-Henning Kamp og ingeniøren Niels Hald Pedersen udvikler serversystemet.
Artiklen er ældre end 30 dage
Manglende links i teksten kan sandsynligvis findes i bunden af artiklen.

Når verdens største teleskop, ELT-teleskopet (Extremely Large Telescope), skal bygges på en bjergtop i Chile, bliver det med et danskudviklet serversystem.

Force Technology har nemlig vundet opgaven med at bygge det computer-cluster, der skal sørge for de ekstremt tunge beregninger, som skal bruges til at styre flere spejle på ELT-teleskopet.

Konkret er det systemudvikleren og Version2-blogger Poul-Henning Kamp og ingeniøren Niels Hald Pedersen der skal udvikle serversystemet.

Læs også: Danmark bevilger 63 millioner kr. til verdens største teleskop

Artiklen fortsætter efter annoncen

Regnekraften i serversystemet skal bruges til at styre den adaptive optik, der korrigerer for den turbulens i atmosfæren, som gør det svært at tage billeder af stjernehimlen fra Jordens overflade.

Poul-Henning Kamp er blogger på Version2 og løftede allerede for en måned siden lidt af sløret for det nye projekt han og Niels Hald skal arbejde på. Det skulle dog lige aftales med European Southern Observatory, hvor mange detaljer han og Niels Hald kunne fortælle om.

Adaptiv optik består en deformerbare spejle, der i realtid korrigerer for de billedforvrængninger, som skyldes turbulens i atmosfæren.

På den måde kan man tage billeder, som er næsten lige så skarpe, som hvis de var taget ude fra rummet.

Artiklen fortsætter efter annoncen

»Helt firkantet skal vi levere det computer-cluster, der skal forhindre stjernerne i at tindre, når ELT-teleskopet observerer dem. Med et lille teleskop er den cylinder af luft, man kigger op igennem, homogen, men når cylinderen bliver 39 meter i diameter, er turbulens et alvorligt problem. På ELT-teleskopet har man yderligere det problem, at nogle af spejlene er så store, at de deformeres af tyngdekraften og vindstød,« fortæller Poul-Henning Kamp og fortsætter:

»Man løser begge problemer ved at kigge på nogle naturlige eller kunstige 'guide-stars' med wavefront-sensorer. Lyset, der rammer disse wavefront-sensorer, har været hele vejen igennem teleskopet, ligesom det lys som den videnskabelige detektor opfanger, og derfor kan man matematisk regne ud, hvordan man skal deformere spejlene for at kompensere for den turbulente atmosfære.«

700 milliarder operationer i sekundet

Når man bygger et gigantisk teleskop som ELT-teleskopet, så er forventningen til levetiden noget længere end almindelige chips, og det er især den udfordring, de to danske udviklere har løst.

»Normalt laver man disse beregninger på specialbygget hardware med DSP- og FPGA-chips, men det giver vedligeholdelsesproblemer på den lange bane. Teleskoper lever i mange årtier, men chips er håbløst gammeldags efter blot nogle få år. Vi lavede en simpel prototype for nogle år siden, som viste, at moderne x86-servere har computerkraft nok til at lave disse tunge beregninger, selv for verdens største teleskop,« siger Poul-Henning Kamp.

Artiklen fortsætter efter annoncen

Det bliver nogle voldsomt store beregninger der skal igennem det danske serversystem for at styre de aktuatorer, som drejer spejlene.

Der er tale om adskillige matricer med sidelængder på op til 10.000, og beregningerne skal udføres 500 gange i sekundet for at kunne følge med den atmosfæriske turbulens og eventuelle resonanser i stålkonstruktionen.

»I alt bliver det til omkring 700 GFLOPs, (700 milliarder operationer i sekundet, red.) per wavefront-sensor, og teleskopet forventes i sidste ende at have seks sensorer. Vores prototype skal dog kun lave beregningerne for en enkelt wavefront-sensor og simulerer så beregningerne for de fem andre,« siger Poul-Henning Kamp.

Teleskopet der afslører liv på andre planeter

Hos GTS-instituttet Force Technology er man glade for at kunne være med til at bygge ELT-teleskopet.

»Vi er meget glade for at have vundet opgaven i et helt almindeligt udbud med andre konkurrenter. Det giver synlighed verden over, når Danmark bidrager til et prestigeprojekt som ELT-teleskopet. Den adaptive optik er forudsætningen for, at teleskopet i Chile kan blive funktionelt,« siger Jakob Nørgaard, projektleder i Force Technology.

Hvad bliver den største tekniske udfordring i projektet?

»For mig bliver det at koreografere data-transporten imellem computerne. Der kommer data ind fra seks wavefront-sensorer (6 x 800x800 pixels, 32 bit per pixel, 500 gange per sekund) og der kommer feedback-data tilbage (ca. 7.000 værdier, 500 gange per sekund) fra de spejle, som skal styres. Det skal alt sammen enten den ene eller den anden vej igennem beregningsprocessen - i takt og til tiden,« fortæller Poul-Henning Kamp.

For Niels Hald Pedersen er opgaven også en af de mere sjældne. Han arbejder især med at optimere de numeriske beregninger, så de maksimalt udnytter CPU, cache og RAM.

»Men ligesom koreografering af datatransport mellem de fysiske maskiner er en voksen opgave, så er datatransport internt i den enkelte maskine også en udfordring. Og det er en opgave, man som programmør sjældent skænker en tanke, da det normalt er noget, maskinen tager sig af transparent. For at sikre den grad af mikrosekund-forudsigelighed, som er nødvendig i dette projekt, er vi nødt til at sørge for, at de data, en given beregning skal bruge, ligger tættest mulig på den processorkerne, der skal udføre beregningen.Og da alle 64 processorkerner skal lave noget forskelligt samtidigt, så er dette lidt af et cirkus,« fortæller Niels Hald Pedersen og fortsætter:

»Skal man f.eks. gange en 10000 x 10000 matrix med en 10.000 vektor hurtigt, så vil man fordele denne beregning mellem mange processorkerner, f.eks 56. Det betyder, at hver core skal indlæse små 1,8 mio flydende tal, eller lidt over 7 MBytes. For at dette skal køre hurtigt, og frem for alt forudsigeligt, så skal man sikre, at så meget af det, der skal læses, allerede ligger i lokal level3-cache, og at resten ligger i RAM på den lokale memorybus Dette er normalt ikke noget, programmøren kan se eller har adgang til at styre. Vi er i dette projekt nød til at gøre intern datatransport til et selvstændigt og eksplicit trin i beregningen.«

Hvordan er det at være med i byggeriet af verdens største teleskop?

»For det første er det rent teknologisk spændende, vores forrige prototype viste helt nye og meget billigere muligheder for implementering af adaptiv optik, og nu skal vi vise at det ikke bare er en teoretisk mulighed. For det andet er det videnskabeligt spændende - jo bedre vi gør det, des bedre kommer ELT til at virke, og ELT har rigtig gode chancer for at blive teleskopet, der afslører liv på en anden planet end den, vi tager alt for givet til daglig. Men mest af alt er det en rigtig nørde-opgave,« siger Poul-Henning Kamp.

16 kommentarer.  Hop til debatten
Denne artikel er gratis...

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.

Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.

Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.

Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.

Debatten
Log ind eller opret en bruger for at deltage i debatten.
settingsDebatindstillinger
16
17. april 2018 kl. 14:53

Men hvis man har tidspunkterne for både observationerne og for målinger af atmosfærens tilstand/forvrængningen på pågældende tidspunkt, kan man så ikke regne observationerne igennem/lave den nødvendige korrektion et tidsskridt af gangen?

Kun hvis du kan optage observationerne som en "film" med selve science-sensoren og det er der simpelthen ikke lys nok til.

Der er folk der har experimenteret med videokamera optagelser af f.eks ISS og så "stacket" alle de individuelle frames for at få et højtopløst billede. I teorien er det SQRT(n) ting, i praksis er det langt værre end det.

15
17. april 2018 kl. 13:29

Men hvis man har tidspunkterne for både observationerne og for målinger af atmosfærens tilstand/forvrængningen på pågældende tidspunkt, kan man så ikke regne observationerne igennem/lave den nødvendige korrektion et tidsskridt af gangen?

14
16. april 2018 kl. 23:56

Det kommer der et blogindlæg om på et tidspunkt

Det indlæg vil jeg absolut se frem til. (6x)500 realtids interrupts per sekund og flytte store mængder af data i et tungt belastet operativsystem er bestemt ikke trivielt. Tror måske jeg ville dedikere en maskine per wavefront sensor, hvis det er tilstrækkeligt...

13
16. april 2018 kl. 21:50

Præmaturt gæt - det spændende implementeres i et FreeBSD kernemodul, det kedelige i userland.

Hvad ville være fidusen ved det? Selve matriksberegningerne drager ingen nytte af at køre i kernen. Man kunne måske opnå nogle forbedringer på IO-latens, men når phk nogle gange har nævnt at dette projekt har en meget lang tidshorisont, og derfor fokus på robusthed, vedligeholdelse og standardløsninger, så virker det tvivlsomt om kernehacking er vejen frem.

12
16. april 2018 kl. 21:23

For Niels Hald Pedersen er opgaven også en af de mere sjældne. Han arbejder især med at optimere de numeriske beregninger, så de maksimalt udnytter CPU, cache og RAM.

Niels skal vel også tage højde for de regnefejl som visse leverandørers processer skaber, når de er under pres.

8
16. april 2018 kl. 17:40

Kommer den resulterende kode til at være tilgængelig et sted? Findes der en beskrivelse (eller bedre, en prototype-implementering) af de centrale algoritmer? Jeg forestiller mig at de er forholdsvist enkle, men ydelsesfølsomme. Det kunne være sjovt at regne med herhjemme.

6
16. april 2018 kl. 12:39

Til denne realtids opgave, hvilket operativsystem regner I med at benytte?

4
16. april 2018 kl. 10:28

Man laver nogle beregninger på sensordata og deformerer nogle spejle for at udkompensere forvrængninger. Kunne forvrængningerne renses ud af billederne ved at regne på billeddata i stedet at deformere nogle fysiske spejle ?

Det er der jo nok nogle teleskopbyggere der allerede har tænkt på. Er her nogen som vil give en kort beskrivelse af baggrunden for beslutningen om at deformere spejlene i stedet for at lave al kompensation ved beregning ?

3
16. april 2018 kl. 09:05

Det er altid spændende når man skal bruge vores overdimensionerede regnemaskiner til egentlige beregninger, og ikke bare som dataforvaltere. Moderne datamater er forbløffende hurtige når man ikke er begrænset af at skulle implementere intrinsisk ineffektive algoritmer, eller er begrænset af disk eller netværk.

2
16. april 2018 kl. 08:40

Godt begyndt er halvt fuldendt!

Fedt at vi i DK har kompetencer i den kaliber og spændende at følge med i...!

Håber der bliver nogle nørdede blogs/artikler ud af det!

1
16. april 2018 kl. 06:47

Vi skal første lige have købt maskinerne og skrevet softwaren...