Hirdetés

Valós alternatíva az FPGA a HPC-piacon?

Az FPGA-kkal kapcsolatos érdeklődés az utóbbi időben egyre jobban felerősödik. Ezt alapvetően az adott feladat energiahatékonyabb végrehajtása iránti igény szüli, de az FPGA-k esetében a programozhatóság komoly kérdés, mivel VHDL vagy Verilog használata nélkül nem sokra lehet menni. A technikai oldalról nem lehet kérdéses, hogy a HPC-piacon alkalmazott offloading eljárások megvalósítására az FPGA a lehető leghatékonyabb megoldás, de az amit a programozó lát ebből, az nem túl kedvező kép.

A teljesítmény skálázhatósága 2002 előtt és után A teljesítmény skálázhatósága 2002 előtt és után
A teljesítmény skálázhatósága 2002 előtt és után [+]

Márpedig az Altera szerint az FPGA-k legnagyobb gondja, hogy jelenleg a programozásuk nem szoftveres, hanem hardveres szinten történik. Ezt úgy érdemes elképzelni, hogy az FPGA, azaz a Field Programmable Gate Arrays egy olyan lapka, mely rengeteg apró digitális áramkört tartalmaz. Ezek a lapkák tehát sok (több ezer) logikai blokkból épülnek fel, és közöttük az összeköttetés egyénileg konfigurálható. Az FPGA esetében a programozás ebből a szempontból történik hardveres szinten, mert a logikai blokkok konfigurálását az adott feladathoz kell alakítani. Ez a része okozza az egész koncepció nehézségét, ugyanis nem egyszerű kialakítani a megfelelő dizájnt, és biztosítani a skálázódó teljesítményt. Ezen a ponton az OpenCL lehet a legfontosabb lépés az FPGA-k HPC szerverekben való terjedése felé. A hardver elképesztő energiahatékonyságát, ugyanis nagyon sok befektetett humán- és anyagi erőforrás mellett lehet csak kiaknázni, így több projekt esetében egyszerűen nem is kezdenek bele ebbe a fejlesztők.

Az Altera és a Xilinx pont ezért bízik az OpenCL-ben. Ez a felület egy olyan programozási modellt kínál, melyben a programozók úgy gondolhatnak az FPGA-kra, mint egy konfigurálható többmagos eszközre. Az Altera a következő év elejére ígéri OpenCL fordítóját, mely része lesz a Quartus fejlesztőeszköznek, illetve a Xilinx is ebbe az irányba fejleszt.

Bár az Altera OpenCL fejlesztőkörnyezete még nem érhető el, de már működik, így a vállalat előállt az első eredményekkel. A Stratix-IV 530 jelzésű FPGA-t a vállalat egy NVIDIA Tesla C2075 gyorsítóval és egy Intel Xeon W3690 processzorral mérte össze. Természetesen mindhárom terméken bloom filtering OpenCL kód futott, az adott hardverhez illő legoptimálisabb beállítás mellett. A leggyorsabb eredményre a Tesla volt képes, míg a második helyet az Intel processzora szerezte meg. Ha csak a teljesítményt nézzük, akkor a Stratix-IV 530-as FPGA nem teljesített jól, de az eredményét a memória-sávszélesség korlátozta, ami 12,8 GB/s volt, szemben a Xeon W3690 processzor 32 és a Tesla C2075 gyorsító 144 GB/s-os tempójával. Megduplázott sávszélesség mellett az FPGA rögtön ráugrott az NVIDIA Tesla C2075 gyorsító nyakára.

Az Altera tesztjének eredménye az energiahatékonyság szemszögéből
Az Altera tesztjének eredménye az energiahatékonyság szemszögéből [+]

Ebből első olvasásra azt lehet leszűrni, hogy az FPGA nem is olyan nagy dobás, de ideje elővenni a rendszer igazi értékét, vagyis a fogyasztását. Az Altera mérései szerint a Stratix-IV 530 képes azt a teljesítményt elérni, amit a Tesla C2075, és mindezt 190 wattal alacsonyabb fogyasztás mellett, vagyis energiahatékonyságban messze az FPGA a nyerő, ahogy ez már régóta ismert. Persze megjegyezendő, hogy az Altera messze nem a legújabb és leggyorsabb GPU-t vetette be a Stratix-IV 530 ellen, de figyelembe véve, hogy mennyivel jobb az energiahatékonyság, így nem hisszük, hogy más gyorsító döntően befolyásolta volna az eredményt.

Érdekes lesz tehát a következő év, hiszen ha sikerül az FPGA-k legnagyobb problémáját leküzdeni az OpenCL-lel, akkor a HPC szerverek piaca új irányt vehet. Ezt azonban egyelőre csak feltételesen lehet kijelenteni, de az eredmények kifejezetten biztatóak.

Azóta történt

Előzmények

Hirdetés