Szoftverteljesítmény és optimalizáció vizsgálata kernel módú eszközkezelő programmal
A mai világunkban teljesen természetes, hogy a szoftverfejlesztők a szoftvereket magas szintű programozási nyelvek és vizuális fejlesztőeszközök segítségével készítik. Azonban ehhez a mögöttes technológia, a magas nyelvű programokat futtató alacsony szintű keretrendszerek magas fokú optimalizáltsága szükséges - vagy
nagyon erős hardver. Rengeteg apróbb alkalmazásnál szinte észrevehetetlen a különbség egy alacsony és egy magas szintű nyelv segítségével készített program között a mai rendkívül gyors hardvereknek köszönhetően. Viszont a teljesítményigényes alkalmazásoknál, amiket az imént említett technológiák segítségével manapság nagyon gyorsan el lehet készíteni, sokszor tapasztalhatunk problémákat a sebességgel.
Ezen dolgozat alapvető kérdése az, hogy valóban nyugodt szívvel felejthetjük el a különböző optimalizációs lehetőségeket és bízhatunk mindent a fordítónkra vagy esetleg vannak-e bizonyos lehetőségeink, amelyek akár újak (például az új C++11 szabvány), akár régiek, ám mára kiszorultak a fókuszból (például a fordítási kapcsolók).
Azonban adja magát a kérdés: elég "okosak" a fordítóink? Valóban ki tudnak találni maguktól mindent? Vagy lehet hogy érdemes lenne bizonyos beállításokat manuálisan elvégezni, ami esetleg javíthatna az alkalmazásaink teljesítményén? Természetesen a szoftverfejlesztés átalakulásának folyamatát megállítani nem lehet, a célunk sokkal inkább pár olyan még / már kevésbé ismert lehetőség megvizsgálása, amelyekkel az alkalmazásaink teljesítményét lehetne javítani.
A szoftver eszközök minősítését számítógép-hardwarrel támogatott mérésekkel kívánjuk elvégezni. Ehhez egy, az RTD-USA által készített DM7520 típusú, PCI buszra illeszkedő mérés-adatgyűjtő kártyát használunk fel, amelyhez saját illesztőprogram is készült a nagyobb flexibilitás érdekében. Ennek köszönhetően a szoftver futási teljesítményét egzakt módon, a hardware külső portjain kiadott impulzusok műszeres mérésével fogjuk elvégezni.
A dolgozat eredményei segíthetnek mélyebben megérteni a programfejlesztési eszközök beállításainak hatásait, valamint az optimalizációs lehetőségek kihasználhatóságát.
szerző
-
Hajnal Erik
mérnökinformatikus
nappali
konzulens
-
Dr. Csurgai-Horváth László
egyetemi docens, (külső)