Az Intel Itanium 2 (Montecito) processzorának tesztelése tudományos környezetben Farkas Ödön ELTE Kémiai Intézet, Kémiai Informatikai Laboratórium 2006 végén lepett meg az Intel minket egy négy db. 1.6GHz-es, kétmagos Montecito processzorral és 16GB memóriával ellátott teszt szerverrel. Az első meglepetést a szerver mérete okozta, az összesen 5U, azaz alig több mint 22 cm magas doboz könnyen befért a HP Integrity szervereinknek otthont adó rack-szekrénybe. Az Intel „Montecito” kódnévvel illetett legújabb Itanium 2-es processzorának megjelenését régóta vártuk. Tavaly szeptember óta Magyarországon is hozzáférhető, de korábban nem állt módunkban valós körülmények között mutatott teljesítményét tesztelni. A rendelkezésünkre álló – a magyar egyetemi viszonyok között kiemelkedőnek tekinthető - számítási kapacitás felhasználásával már az eltelt aránylag rövid idő alatt is sikerült komoly eredményeket elérnünk. Perczel András csoportjában fehérjék, peptidek szerkezetének pontos kvantumkémiai modellezésével mutatták ki, hogy a több betegség (pl. Alzheimer és Parkinson kór) kialakulásában szerepet játszó béta-redőzött réteg szerkezetű fehérje lerakódások oka nem az adott fehérjék szerkezeti hibája. Munkájuk eredményeképpen kijelenthető, hogy a béta redőzött réteg a fehérjék legstabilabb állapota, amit előbb-utóbb elérhetnek, ha nem bontja le őket a szervezet. Kutatásaink egyik fontos területe olyan módszerek kidolgozása, melyekkel automatizálva, akár nagyméretű molekula-adatbázisokon alkalmazva, lehet tudományos igényességgel számításokat elvégezni (ld. http://organ.elte.hu/qsar). Ide tartozik a molekulák 3 dimenziós szerkezetét automatikusan előállító eljárásunk, mely a jelenleg elérhető hasonló módszerek közül a legszélesebb körben képes hibátlan működésre (ld. http://www.chemaxon.com/marvin). A gyógyszerkutatás első fázisának segítésére dolgoztuk ki a flexibilis molekulákra is alkalmazható, a molekulák szerkezete és biológiai hatása, tulajdonságai közötti összefüggést (QSAR) feltáró új eljárásainkat, melyek egy része már elérhető, kipróbálható (ld. http://pitanic.chem.elte.hu). Tudományos számítások elvégzésére megfelelő számítógépek kiválasztása mindig is nehéz feladat volt és sokszor a gyártók aktuális marketing politikájától függ, hogy milyen nagyteljesítményű számítógépek válnak „divatossá” az akadémiai szférában. A rendelkezésre álló keretből sok esetben csak egy vagy néhány jobb PC-t lehet beszerezni, komolyabb szerverek beszerzésére csak ritkán nyílik lehetőség. A helyi gépkapacitás építésének nagy előnye, hogy a legtöbb esetben jobb csúcsteljesítmény érhető el, mint a nagy számítóközpontok használatakor és egyes szoftverek esetében licence problémák is felmerülhetnek. Korábban PC-kből összeállított fürtöket is építettünk, de a számunkra fontos feladatokra nem tudtunk megfelelő csúcsteljesítményt elérni. Mindemellett, a saját bőrünkön is tapasztalhattuk, hogy az „olcsó” PC fürtök üzemeltetése nem problémamentes. Azóta amennyiben lehetséges egy beszerzésnél igyekszünk az üzemeltetés egyszerűségét és biztonságát is figyelembe venni. Az első Itanium 2-es (Madison) processzor köré épített szerverünket 2004-ben szereztük be, egy SGI Altix 350-est 12 db. 1.3GHz-es processzorral. Ez azóta elérte a maximális, 16 processzoros kiépítést. A következő években 3 db. HP Integrity szerverrel bővítettük a palettát, egy RX1620-assal (2x1.3GHz), egy RX4640-essel (4x1.5GHz) és végül egy még bővítésre váró RX7640-essel (4x1.6GHz). A tudományos számítási feladatok sokrétűek és a megoldásukra létrehozott programok igényei is a legszélesebb skálán mozognak, ezért nehéz általánosan megfelelő receptet adni milyen gépet érdemes beszerezni. A rendelkezésre álló publikus „benchmark” adatok is csak azonos géptípuson belül adnak megbízható összehasonlítást. A tudományos célokra fordított gépkapacitás tetemes részét kvantumkémiai számításokra használják, nagyrészt a Gaussian programcsomaggal végezve. Mivel az ELTE Kémiai Intézetében ilyen típusú számítások
1
elvégzése az egyik legfontosabb feladat, ezért számítógépek beszerzése előtti tesztelést jórészt ezzel a programmal, a Gaussian 03 Rev.C02-essel, végzem az utóbbi években. A program forráskódban rendelkezésre áll és lefordítható az összes tudományos számításra alkalmas architektúrára, ezért aránylag széleskörű összehasonlítást tudtam végezni. A szervereinken Java alkalmazások fejlesztését, tesztelését is folytatjuk, ezért – habár itt ezeket az eredményeket nem mutatom be – megemlítem, hogy az Itanium 2 alapú szervereken a Java 2 1.5-ös verzióját érdemes használni, mivel ezáltal többszörös sebességnövekedés érhető el. A tesztelések folyamán a legfontosabb célnak a különböző feladatokra elérhető maximális teljesítmény meghatározását tűztem ki. A Gaussian programmal a különböző gépeken és feladatokra elért csúcsteljesítményeket az 1. ábra mutatja. A feladatok közül az „Optimálás” és a „Nagyméretű optimálás” jelzésűek a leggyakrabban használtak, ezt követi az „NMR spektrum” és a „VCD spektrum” típusú számítások. A „Memória” jelzés olyan speciális esetet mutat, amikor nagymennyiségű adat többszöri beolvasása történik a memóriából. A Gaussian képes a feladatok jó részének több processzor kihasználásával való elvégzésére, a legtöbb feladat 2-4 processzorra szinte tökéletesen, 16 processzorig jól skálázódik - azaz 16 processzor használata esetén a sebesség akár több mint 10-szeresére növekedhet (ld. 2. ábra). A skálázódás összehasonlítása a korábbi, Madison processzoron végzett tesztekkel (SGI Altix 350, 16x1.6GHz Madison) nagy általánosságban a skálázódás némi javulását mutatja 8 párhuzamos szálnál, ami különösen figyelemreméltó az optimálás esetében, ahol eredetileg is nagyon jó skálázási eredményeket kaptam. Érdekes volna látni, hogy vajon 16 Montecito mag esetében hogy alakul a skálázódás. Maximális relatív teljesítmény
Intel Montecito, Fedora 5, I2 Montecito, 1,6GHz, 12MB, 4x2C SGI Altix350, Linux, Itanium 2, 1,6GHz, 6MB, 16P SGI Altix3700, Linux, Itanium 2, 1,3GHz, 3MB 48P SGI Altix350, Linux, Itanium 2, 1,3GHz, 3MB 16P
ór ia
HP RX7620, HP-UX, Itanium 2, 1,6GHz, 6MB, 6P
M
em
HP RX7640, HP-UX, Itanium 2, 1,6GHz, 6MB, 4P HP RX4640, HP-UX, Itanium 2, 1,5GHz, 4MB, 4P HP RX1620, HP-UX, Itanium 2, 1,3GHz, 3MB, 2P
Feledat típusa N ag ym ér VC et D ű op sp tim ek tru ál ás m
Intel Paxville, Linux, Paxville, 3.0GHz, 2MB, 8P Intel Bensley, Linux, Xeon, 3.2GHz, 2MB 4P IBM P5 570, AIX, Power 5, 1,9GHz, 36MB, 8P IBM OpenPower, Linux, Power 5, 1,65GHz 36MB, 4P FS Celsius V810, Linux, O 275, 2,2GHz, 1 MB, 4P
NM
R
sp ek ru m
O
pt im
ál ás
HP XW9300, Linux, Opteron, 2,6GHz, 1MB, 1P
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Relatív teljesítmény
1. ábra A tesztelt számítógépek jelzése a következő információkat tartalmazza: gyártó és típus, operációs rendszer, processzor típus, processzor órajel, processzormagra jutó chache,
Itt érdemes megemlíteni a több – leginkáb két – szál egy processzor magon való futtatását lehetővé tevő „hyper-threading” és hasonló technológiákkal szerzett tapasztalataimat. Az Intel a technológiát először a Pentium 4-es processzorokkal vezette be, 2
de erről köztudott, hogy tudományos számítások végzése esetén bekapcsolása komoly teljesítménycsökkenést(!) eredményezhet. Szerencsére az új Montecito processzor esetén a technológia számlájára írható teljesítménycsökkenést nem tapasztaltam, bár nem érdemes egy programnak több szálat engedélyezni, mint a fizikai processzor magok száma. A nem tökéletes skálázódásnak többféle oka lehet, ezek közé tartozik a párhuzamos algoritmus vagy az implementáció hiányossága, de a számítógép valamely egységének, adatcsatornájának „bedugulása” is. Mint látható, a memória-átvitel (ld. „Memória” jelzéssel az 1. és 2. ábrán) a többprocesszoros gépek esetében hamar telítődik, jelezve azt az esetet, amikor a hardver korlátozza a jobb skálázódást. Mivel a Gaussian-nel elvégzett számítások esetében a leggyakrabban elvégzett feladat a molekula szerkezetének optimálása, az optimálási ciklushoz tartozó terhelési adatokat részletesen is elemeztem egy korábbi teszt (HP Integrity RX7620, 6x1.6GHz Madison, ld. 3. ábra) alkalmából. Mint az ábrán látható, a program párhuzamosítása nem tökéletes, nem tudja folyamatosan kihasználni a 6 processzort.
Relatív teljesítmény
Többszálú skálázódás 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Ideális Optimálás (Montecito) Optimálás (Madison) Vibráció (Montecito) Vibráció (Madison) NMR (Montecito) NMR (Madison) Memória (Montecito) Memória (Madison)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Processzorok száma 2. ábra
3
Processzorok kihasználtsága
100%
A processzorkihasználás alakulása egy optimálási ciklus alatt
80%
Üres 60%
Használt Rendszer
40%
20%
0% Futásidő 3. ábra
Folyamatos használat során a gépeken legtöbbször nem csak egy feladat fut, ami ideális esetben azért is előnyös, mert segít telíteni a gépet és kihasználni a nem tökéletes párhuzamosítás miatt felszabaduló kapacitást. Több sokszálú feladat futtatása azonban túlterhelheti a számítógépet és komoly teljesítménycsökkenéshez vezethet, ezért a tesztelt gépek teherbírását is megvizsgáltam (ld. 4. ábra). A processzoroknak megfelelő számú párhuzamos szállal egymás mellett többször elindítottam a „Nagyméretű optimálás” feladatot. A korábbi tapasztalatok azt mutatták, hogy a Madison magos processzorok köré épített rendszerek kivétel nélkül csak rendkívül körültekintően terhelhetők, különösen a többcellás ill. több egységes szerverek, mint a HP RX7620-as Integrity szerver vagy az SGI Altix 350. Ezen a területen az Intel fejlesztései - nagy valószínűséggel jórészt a processzor gyorsítótárának (cache memória) drasztikus megnövelése révén - markáns eredményhez vezettek, a Montecito processzorral szerelt teszt gép nagyon jól terhelhető, szinte elnyűhetetlen.
4
Terhelhetőség 3
Befejezett feladat / óra
2.5
2
Intel Montecito, Fedora 5, I2 Montecito, 1,6GHz, 12MB, 4x2P SGI Altix350, Linux, Itanium 2, 1,3GHz, 3MB, 16P HP RX1620, HP-UX, Itanium 2, 1,3GHz, 3MB, 2P HP RX4640, HP-UX, Itanium 2, 1,5GHz, 4MB, 4P HP RX7640, HP-UX, Itanium 2, 1,6GHz, 6MB, 4P HP RX7620, HP-UX, Itanium 2, 1,6GHz, 6MB, 4P HP RX7620, HP-UX, Itanium 2, 1,6GHz, 6MB, 6P Intel Paxville, Linux, Paxville, 3.0GHz, 2MB, 8P Intel Bensley, Linux, Xeon, 3.2GHz, 2MB, 4P IBM P5 570, AIX, Power 5, 1,9GHz, 36MB, 8P IBM OpenPower, Linux, Power 5, 1,65GHz 36MB, 4P FS Celsius V810, Linux, O 275, 2,2GHz, 1MB, 4P
1.5
1
0.5
0 1
2 3 Egymás mellett futó többszálú feladatok száma
4
4. ábra
Fontos megemlíteni, hogy az Intel és a HP akadémiai árengedményei ellenére sem tudtuk volna szervereinket beszerezni és kutatásainkat eredményesen elvégezni, ha nem kaptunk volna támogatást az OTKA-tól, a GVOP-tól és az Infopark alapítványtól. Összefoglalásul csak annyit, gratulálok az új Montecito processzorhoz az Intel-nek, mely köré jó teljesítményt mutató, és ami nagyon fontos, kiválóan terhelhető szerverek építhetők. Remélem lehetőségem lesz rá, hogy a Montecito processzorokat HP Integrity szerverekben is kipróbálhassam, mivel eddigi tapasztalataim szerint ugyanolyan paraméterekkel bíró Itanium 2 processzor határozottan jobb teljesítményt mutat egy HP Integrity szerverben, mint pl. egy SGI Altix-ban. További kérdés, hogy a Gaussian programban időközben történt fejlesztések és a Montecito processzor együtt milyen mértékben javítja a kvantumkémiai számítások megfelelő skálázódását még több processzorra.
2007. február 2.
5