Original title:
Vývoj paralelních aplikací s Intel Threading Tools
Translated title:
Parallel Application Development with Intel Threading Tools
Authors:
Vadkerti, Ladislav ; Jaroš, Jiří (referee) ; Dvořák, Václav (advisor) Document type: Master’s theses
Language:
cze Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[cze][eng]
Dnešním trendem v návrhu mikroprocesorů je zvyšování počtu výkonných jader na jednom čipu. Zvyšování taktovací frekvence dosáhlo svých limitů způsobených rostoucí energetickou spotřebou. Tento trend přináší nové možnosti pro softwarové vývojáře, kteří mohou využít skutečného paralelizmu ve vykonávání více vláken v rámci aplikace. Ale současný běh vláken také přináší nové problémy, které se při vývoji sekvenčních programů nemusely řešit. Správně navržená aplikace může použitím více vláken dosáhnout zlepšení výkonu lepším využitím hardwarových prostředků. Na druhou stranu, nesprávné použití vláken může vést k degradaci výkonu, nepředvídatelnému chování a chybovým stavům, které jsou těžko řešitelné. Z tohoto důvodu firma Intel vyvinula sadu nástrojů, které mají napomáhat vývojářům analyzovat výkon a detekovat chyby v interakci mezi vlákny. Tato práce se zaměřuje na možnosti použití těchto nástrojů při vývoji vícevláknových aplikací.
Today's trend in microprocessor design is increasing the number of execution cores within one single chip. Increasing the processor's clock speed reached its limit with growing power consumption. This trend brings new opportunities to software developers, as they can take advantage of real multithreading in their applications. But a lot of new problems to solve appear with threading compared to sequential programming. With proper design, threading can enhance performance by making better use of hardware resources. However, the improper use of threading can lead to performance degradation, unpredictible behavior, or error conditions that are difficult to solve. For this reason Intel developed a suite of tools, that can help software developers to analyze performance and detect coding errors in thread interactions. This thesis focuses on the examination of ways that this tools can be used in multithreaded application development.
Keywords:
development tools; matrix multiplication; multithreading; parallel programming; performance tuning; ladění výkonu; násobení matic; paralelní programování; vlákna; vývojové nástroje
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: http://hdl.handle.net/11012/53961