Algoritmus optimalizálás .NET Thread Parallel Library programozási környezetben

OData támogatás
Konzulens:
Dr. Juhász Sándor
Automatizálási és Alkalmazott Informatikai Tanszék

A számítógépes architektúrák fejlődése a skaláris teljesítménynövekedés helyett mára magas hatékonyságú parallelizáció felé irányul. Ez alapjaiban változtatja meg az alkalmazások fejlesztését, szükséges ugyanis, hogy a fejlesztők már készülő programokat jól párhuzamosítható, egymástól függetlenül futni képes részekre bontsák algoritmusok szintjén is.

A dolgozatomban átveszem a párhuzamos algoritmusok fejlesztésének főbb szempontjait, a többszálú implementációk fejlesztésének kihívásait, valamint azt, hogy a felmerülő problémákra milyen megoldást kínál a .NET Task Parallel Library.

A feladatom során egy szekvenciális szótárkivonat-készítő algoritmust fejlesztettem. Megvizsgáltam az algoritmus teljesítményét, majd elkészítettem a többszálú változatát .NET Task Parallel Library környezetben, szabványos TPL eszközök használatával. A teljesítménymérések eredményeiből kiindulva további optimalizációkat végeztem, majd összehasonlítottam az eredményeket a szekvenciális algoritmus teljesítménymutatóival, amelyhez képest az implementációm egy kb. 2.5x-es teljesítménynövekedést mutatott a tesztkonfiguráción.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.