Rendszerszintű diagnosztikát támogató keretrendszer

Nagy számításigényű feladatok megooldására már régóta alkalmaznak elosztott, párhuzamos számítási architektúrákat (MIMD rendszerek, "massively parallel" rendszerek, feladatmegoldó klaszterek), sőt a párhuzamosítás ismét reneszánszát éli (grid és cloud rendszerek, "massively threded" rendszerek). Ilyen nagy, elosztott, sok feladatmegoldó csomópontből álló rendszerekben a meghibásodás valószínűsége nem elhanyagolható, és a hiba behatárolása – a meghibásodott elemek azonosítása, azaz a diagnosztika –  nem triviális feladat. Ugyanakkor célszerű a rendszerben meglevő számítási kapacitás kihasználása a diagnosztikai feladat megoldására. Erre ad megoldást a rendszerszintű diagnosztika elmélete.

A rendszerszintű diagnosztika algoritmusainak megvalósításához és vizsgálatához szükség van egy olyan keretrendszerre, ami szimulálja a háttérben levő elosztott, nagyméretű számítási infrastruktúrát. Lehetőséget biztosít különböző kapcsolódási topológiák definiálására, meghibásodások bevitelére (azaz hibainjektálásra), tesztek elvégzésére, belépési pontot biztosít külső diagnosztikai algoritmusok futtatására, és statisztikák készítésével segíti az algoritmusok vizsgálatát. Mindez megvalósítható központosított és elosztott módon is (utóbbi komplexebb és több időt igénylő feladat). A keretrendszernek lehetőséget kell biztosítani a nyomkövetésre is, azaz egy adott hibaszituációba meg kell jeleníteni a hibás egységeket, az elvégzett tesztek eredményeit, és esetleg további információkat, amelyek segítenek a diagnosztikai algoritmusok megvalósításában esetlegesen elkövetett hibák felfedésében.

A feladat tehát egy ilyen keretrendszer létrehozása, könnyen kezelhető felhasználói interfésszel, korszerű, jól karbantartható szoftveres megvalósítással. A platformfüggetlen megoldások (Java, Qt, GTK+, stb.) preferáltak.

Konzulens: 
Bartha Tamás
TDK lehetőség: 
Nem
Megismerhető technológiák: 
rendszerszintű diagnosztika, párhuzamos rendszerek elméete
Előismeretek: 
a kiválasztott programozási nyelv (C++, C#, Java, Python) és grafikus fejlesztőkörnyezet alapos ismerete
Állapot: 
Korábbi