Noden Dx360M5

Lenovo har tagit över IBM:s server Dx360M5, en bladserver om man får kalla den så, och vidareutvecklat den. För hanterbarhetens skull förpackar man 12 noder i en chassilåda kallad NeXtScale. Fläktar i chassit håller med kylluften. Noden har inget eget nätaggregat, utan inspänningen till de 12 noderna kommer från 6 redundanta switchaggregat i chassit.

Aggregaten matar noderna med 100 volt likspänning, som sedan switchas ned till fem volt och 1,8 volt och allt som nu kan behövas, internt i noden. När noden exekverar för fullt förbrukar den 200 watt, men i tomgång förbrukar den bara 30–40 watt.

nod 6 noder front.jpg

Hur snabb ska en nod vara? Går man bara ut väljer snabbast möjliga processor? Nej. Istället väljer man den mest kostnadseffektiva processorn, där man får flest processorcykler för inmatad elkraft. Det brukar normalt bli den näst snabbaste processorn på marknaden.

Det är samma sak med primärminnet. Det handlar om hur mycket minne applikationerna faktiskt förbrukar och tumregeln säger att det ska vara 1–2 gigabyte per kärna. Eftersom de två Haswellprocessorerna har 32 kärnor blir det 32 eller 64 gigabyte minne per nod.

nod med pilar.jpg

Noden har två CPU-socklar som kan hantera ett flertal olika Intel-processorer. Lenovo har valt senaste Haswell-arkitekturen med 16 kärnor i varje. Haswell-processorn har fyra minnesbussar och som du ser sitter det bara fyra minneskort intill varje processor. För att följa tumregeln bör man bara ha 16 GB minne till en sådan processor, så varje minneskort är alltså 4 GB. Eller 8 GB om man väljer att gå upp till 64 GB totalt i en nod.

nod fisheye.jpg

Den svarta lådan är en tom låda där en disk för operativsystemet kunde ha suttit, men den fungerar just nu bara som riktare för kylluften. Att köra disklöst förbrukar cirka 1 GB minne för operativsystemet, men det är väl spenderade pengar.

Infiniband-gränssnittet är senaste möjliga, Mellanox Infiniband EDR som klarar 100 Gbps. Ethernetinterfacet är så litet att det knappt syns på bilden. I övrigt är det ganska rensat i lådan. Man kallar det för en ”bare metal server” för den har inget extra lulllull. Ingen grafik, inget hårddiskinterface och USB är borta. Man har helt enkelt avlägsnat alla komponenter som man inte använder, men annars skulle ha behövt betala för.

Dx360M5-system sketch.jpg

Nodens interna arkitektur bestäms helt av Intel. Moderna processorer har inga databussar av den traditionella typen, utan har till exempel bara fyra minnesbussar vardera medan all övrig kommunikation sker via QPI (Quickpath Interconnect). För maximal genomströmning har man satt en minneskapsel på var minnesbuss.

Minnet indelas i ”nära minne” och ”fjärran minne”. För den vänstra processorn är minnet till vänster nära minne och om den ska ha data ur fjärrminnet till höger får den ta det via QPI-länken. Det måste programmeraren veta om, om denne vill ha ut maximal prestanda.

Två andra QPI-länkar går till sydbryggan som åstadkommer all I/O. Ur denna kommer bland annat fyra PCI Express-bussar. Det är allt som används. Dessa ansluts sedan till nätverksinterfacen.

Operativsystemet

Lenovos HPC-maskiner kan alltid köras med Suse och Red Hat Linux och det rör sig alltid om Enterprise-varianten. Den linuxvariant som bootas i noderna skiljer sig från den som bootas i administrationsservrarna. Nodsystemet saknar ett antal drivrutiner som inte behövs, scriptsystem och shell finns inte heller, allt i syfte att spara minne i noden. Det avskalade systemet tar som sagt upp något mindre än en gigabyte.

Man vill kunna hantera hela HPC-datorn som en enda enhet. Till detta behöver man ett clusterhanteringssystem och Lenovo använder open source-verktyget xCAT. Med detta verktyg kan man till exempel stänga av och slå på noderna, boota dem, eller uppgradera operativsystemet.

Kösystemet är den andra kritiska komponenten. Användaren anger hur många noder denne behöver och det är sedan upp till kösystemet att optimera körningen, att välja bäst tid för körningen och att se till att alla jobb hanteras demokratiskt och ingen får vänta onödigt länge. När körtiden är slut, avbryter systemet körningen och matar ut allt skapad data på lagringssystemet.

nod front med kablage.jpg

Vad är Infiniband?

Optiskt Infiniband är de gröna fiberkablarna som pluggas i nodernas framände med de komplicerade kontaktdonen. De gula kablarna tillhör administrationsnätet.

Alla som konstruerar HPC-datorer idag använder sig av Infiniband för tvärkommunikationen. Det senaste idag är 100 Gbps över koppar eller fiber, men 200 Gbps är på gång. Men man kan ju lika gärna använda Ethernet, eller hur? Ethernet finns också för 100 Gbps.

För Ethernet används alltid transportlagret, eller protokollet TCP/IP. På Infiniband kan man köra ett antal olika protokoll. Man kan faktiskt köra TCP/IP över Infiniband, men det används bara för filöverföringar. Vid beräkningsarbete använder man istället MPI-protokollet.

Anledningen till detta är att TCP/IP är ett så omfattande protokoll att latensen för att få fram ett paket är i storleksordningen millisekunder, medan det handlar om tider under en mikrosekund för MPI. I en superdator är varje mikrosekund dyrbar.

infiniband baksida.jpg

På baksidan av Infiniband-racken hittar vi de kablar som binder samman switcharna själva. Här har man använd tjockt, svart kopparkablage istället för fiber. De gröna ledarna är fortfarande fiber som går till andra delar av maskinen.