Az alkalmazások fejlesztése és gépi kódokra való átfordítása során jellemzően olyan teljesítménymodelleket használnak, amelyek egy adott architektúra szimulációjával vizsgálják optimalizálni az alkalmazások teljesítményét. A fordítóprogramok is erre az információra hagyatkozva optimalizálják a kódokat, a fejlesztés során pedig ugyanennek alapján próbálják elkerülni az olyan szűk keresztmetszeteket, amelyek a programokat futtató egyes processzorok esetében felmerülhetnek. A Massachusettsi Műszaki Egyetem (MIT) hét eleji közleménye szerint azonban az intézmény kutatói sikeresen kifejlesztettek egy olyan gépi tanuló rendszert, amely képes előre jelezni, hogy az egyes csipeken milyen hatékonyan futtathatók az aktuálisan vizsgált programkódok.
Ahogy az MIT közleménye is kiemeli, a szóban forgó teljesítménymodelleket a szakemberek egy aránylag szűk csoportja készíti, és nem is mindig megfelelően validáltak – ennek eredményeként a szimulációkból származó értékek is kisebb vagy nagyobb mértékben eltérhetnek a gyakorlatban tapasztalható eredményektől. Az ilyen modellek tervezését a kutatás egyik vezetője "fekete mágiának" nevezi abban ez értelemben, hogy az intel például 3 ezer oldalas dokumentációkban részletezi a különböző architetúrákat, amelyeket nyilván csak kevesen tudnak olyan mélységben értelmezni, hogy tényleges szimulációkat hozzanak létre a kódok futtatásához – különösen, hogy ezek az anyagok nem hibamentesek és nem is teljesek, tekintettel a gyártó kizárólagos jogaira bizonyos információk tekintetében.
Új lehetőségek az megközelítésben
A kutatók erre próbltak megoldást keresni, amikor először egy sor publikációt jelentettek meg a kérdéses folyamatokat automatizáló, a gépi tanulásra épülő feldolgozási módszerről, amely feltételezésük szerint megkönnyítené, felgyorsítaná és pontosabbá is tenné a az ilyen eljárásokat. Tavaly júniusban aztán bemutatták az Ithemal néven hivatkozott neurális háló modelljét, amely alapblokkokból álló adatkészleteken tanítható be , hogy aztán képes legyen megbecsülni, egy adott processzornak mennyi idejébe kerülne végrehajtani a rendszer által korábban még nem ismert újabb utasításokat. Az akkor közzétett kutatás szerint az Ithemal már jóval pontosabb eszköznek bizonyult a tradicionális, kézi hangolású modelleknél, amelyek esetenként sokkal gyorsabbak voltak, elkészítésük azonban fáradságos, hosszadalmas és sok hibalehetőséget rejtő folyamat.
Novemberben egy benchmark-csomagot is közzétettek a különböző területekről összegyűjtött alapblokkokból (gépi tanulás, fordítóprogramok, kriptográfia, grafikus alkalmazások) a teljesítménymodellek validációjához a több mint 30 ezer elemből álló BHive adatkészlet formájában, ezzel pedig állítólag már pontosabban meg tudták határozni, hogy egy-egy inteles csip milyen gyorsan futtat le egy kódot, mint az Intel saját maga által kiadott teljesítménymodelljei. Az MIT szerint a fejlesztők és a fordítók az új eszközzel leginkább a "black box" dizájnok esetében mennek majd sokra, vagyis hatékonyan optimalizálhatják az alkalmazásokat a nehezen átlátható és bonyolult modern processzorokra. Az adat alapú elemzéshez viszont nem kell ismerni a dokumentációkat vagy a tulajdonosi technológiákat.
A mostani közlemény aprópója egyébként az a decemberi publikáció, amelyben az Ithemal fejlesztői egy új technikát javasolnak a kódok átfordításának optimalizálására. Ez az ugyancsak automatikusan generált Vemal algoritmusra alapul, amely párhuzamos feldolgozáshoz használható vektorokat generál a megfelelő kódokból. Ennek ugynacsak magasabb hatékonyságot tulajdonítanak, mint amit mondjuk a Low Level Virtual Machine (LLVM) fordítóprogram-infrastruktúra lehetővé tehet. Az MIT szerint a becsült és a tényleges értékek közötti eltérés abszolút értéke (MAPE) az Ithemal használatával több mint 50 százalékkal csökkenthető az összes benchmarkra vonatkoztatva. A kutatók kiemelik, hogy a gépi tanulás a teljesítményelemzés területén is komoly potenciállal rendelkezik, és az Ithemal megmutatja, hogy a kódok fordításához vagy a teljesítmény javításához alkalmazott eszközök lehetőségei komolyan kiterjeszthetők az adat alapú megközelítéssel.
Felhőbe vezető út hazai szakértelemmel
Robusztus műszaki háttér, korszerű technológia és a felhasználóbarát kezelhetőség. A Flex Cloudhoz nem kell nagy IT-csapat, csak egy elhatározás és pár kattintás.
Nyílt forráskód: valóban ingyenes, de használatának szigorú szabályai vannak