4 Task- und Datenparallelität

Die Parallelisierung von Anwendungen mithilfe von Threads ist ein mühsames Unterfangen. Man muss viel Zeit investieren, um ein Programm so zu parallelisieren, dass es die verfügbare Rechenleistung effizient ausnutzt. Ein Grund dafür ist, dass die Erzeugung und Verwaltung von Threads einen nicht unerheblichen Aufwand verursacht. Hinzu kommt, dass bei einem Threadwechsel der aktuelle Kontext (Prozessorregister etc.) gesichert und der des auszuführenden Threads wiederhergestellt werden muss. Sind wesentlich mehr Threads rechenbereit als Prozessorkerne vorhanden, kommt es zu einer Überbelegung des Systems, die aufgrund der damit verbundenen Kontextwechsel zu Leistungseinbußen führen kann. Deshalb eignen sich Threads ...

Get Multicore-Software now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.