Merevlemez nélküli GPU alkalmazásszerver-hálózat

Cégünk szakemberei mindig nyitottak az érdekes, komoly szakmai kihívások felé. Ilyen, szakmailag érdekes, kihívásokkal teli feladatra keresett megoldást egy ügyfelünk. Adott volt egy alkalmazás, amely OpenCL 1.1 környezetet igénylő, AMD GPU-ra íródott és optimalizált mag köré épül. A hatalmas teljesítményű, duál GPU-s AMD Radeon HD 6990 kártya sem nyújt azonban önmagában elegendő teljesítményt. Itt jöttünk a képbe mi, Windows vagy Linux alapú megoldást vártak tőlünk a feladatra, hogy induláskor 80-100 ilyen kártya dolgozhasson párhuzamosan, de később akár jelentős mértékű bővítés is lehetséges legyen.

 

A feladat pontos meghatározása során ügyfelünknek további igényei merültek fel:

 

  • A rendszer folyamatos monitorozása és probléma esetén riasztások generálása elvárás.
  • Az alkalmazások  SOAP interfészen kérhetik a feldolgozandó adatokat, és itt küldik el a feldolgozás eredményét.
  • A csúcsterhelésen járó GPU-k (gyakori) meghibásodása esetén a problémás hardver gyors behatárolása és cserélhetősége.
  • A hibajavítást hozzá nem értő, betanított munkatársak is legyenek képesek kezelni.
  • Áramkimaradás esetén automatikus újraindulás az elvárt folyamat, mert a GPU alkalmazásszerverek nagy villamosenergia-igénye miatt a szünetmentes tápellátás nem megoldható.

 

A kialakított megoldásunk központi eleme egy ütemezőként és feladat elosztóként funkcionáló, Ubuntu Linux alapú webszerver lett. Ez a szerver gondoskodik róla, hogy a GPU alkalmazások felé kiossza a feladatokat, majd fogadja a visszaadott adatokat.

 

A megoldás másik központi eleme egy DHCP és PXE szerver feladatokat ellátó, szintén Ubuntu Linux alapú szerver. Ez a szerver valósítja meg azt a feladatot, hogy a GPU alkalmazásokat futtató gépek hálózatról, PXE protokollon bootolhassanak.

 

A PXE megoldással alapvetően két dolgot nyertünk:

 

  1. A GPU alkalmazást futtató gépekben nincs szükség merevlemezre.
  2. A kevesebb hardver elem miatt az energiafogyasztás és meghibásodási lehetőségek száma is csökkent.
  3. A gépeket nem szükséges telepíteni, azok a hálózatról bootolva azonnal üzembe állhatnak.

 

A két központi szerver két fizikai szerverből és egy SAN-ból épített, hibatűrő VMware clusterre került, ezen eszközök és a kapcsolódó hálózati eszközök számára a szünetmentes tápellátás biztosított volt.

 

A PXE boothoz egy telepített és az AMD APP alkalmazás működéséig (megfelelő kernel modulokkal, X szerverrel, DHCP címkéréssel) konfigurált fizikai gépről készítettünk a hálózati bootra felkészített merevlemez image-et, amely a hálózati boot során ramdisk image-ként funkcionált.

 

Minden GPU “worker” gépet a MAC címe alapján azonosítunk a hálózaton, ez alapján kapnak a monitoring funkciót is ellátó webszerveren a fizikai elhelyezkedésüket azonosító címkét az üzembeállítás során.

 

A rendszer kialakítása és tesztelése után 4 GPU alkalmazás szerverig állítottuk be mi a rendszert, és ezalatt tanítottuk be a cég munkatársait az új gépek üzembeállítására (gyakorlatilag a hardver összeállítás után ez csak egy rövid PXE boot konfigurálás a BIOS-ban), és szükség esetén cseréjére. A betanítás 10 percet vett igénybe.

 

A rendszer közel 18 hónapja üzemel, és mindeközben csak 1 GPU alkalmazás frissítés kapcsán kellett közreműködnünk, a monitoring és az automatikus konfigurálás mellett jelenleg 120 “worker” géppel üzemeltetik a rendszer.

Hozzászólások lezárva.