Multicore-Prozessoren mit zwei oder mehreren Prozessorkernen erhöhen die Leistungsfähigkeit aller Computer immens. Doch nur spezielle Techniken gewährleisten die tatsächlich schnellere Programmbearbeitung und optimale Nutzung dieser Leistungsfähigkeit. Die Autoren zeigen hier erstmals, wie Software-Entwickler parallele Programme mittels Software-Threads zur schnellen Ausführung auf Multicore-Prozessoren erstellen. Umfassend erläutern sie alle Aspekte des parallele Programmiermodelle, Konzepte der Thread-Programmierung, die Programmierumgebungen Pthreads, Java-Threads und OpenMP sowie Sprachkonstrukte und neuere Programmieransätze.
Thomas Rauber Bücher



Algorithmen in der Computergraphik
- 432 Seiten
- 16 Lesestunden
Die Computergraphik befasst sich mit der Erzeugung und Manipulation von Bildern durch Computer, wobei die Darstellungen häufig nicht real existierende Objekte zeigen, die mathematisch definiert sind. Ein zentrales Ziel ist es, diesen Objekten ein realistisches Aussehen zu verleihen, sodass sie von realen Objekten nicht zu unterscheiden sind. Dies ermöglicht ein Mischen von realen und synthetischen Objekten, wodurch die Grenzen zwischen Realität und Illusion verschwimmen. Besonders die Film- und Werbeindustrie nutzt dies, um beim Zuschauer Interesse, Neugier oder Verblüffung hervorzurufen. Neben diesem kreativen Einsatz hat die Computergraphik auch in vielen Lebensbereichen Einzug gehalten. In der Medizin beispielsweise wird sie in der Computertomographie eingesetzt, um dreidimensionale Modelle unsichtbarer Bereiche des menschlichen Körpers zu erstellen. Weitere Anwendungen finden sich im CAD-Bereich, der im Maschinenbau und der Fahrzeugindustrie eine wichtige Rolle spielt, sowie in der Architektur, wo Computer Modelle von geplanten Gebäuden generieren. Mit Raumplanungswerkzeugen können präzise Innenraummodelle entworfen werden, die eine detaillierte Analyse von Licht- und Klimaverhältnissen vor der Fertigstellung des Gebäudes ermöglichen.
Parallele und verteilte Programmierung
- 563 Seiten
- 20 Lesestunden
Das Buch behandelt die praktischen Aspekte paralleler und verteilter Programmierung und stellt die zugrundeliegenden Konzepte in angemessener Tiefe dar. Wesentlich ist dabei das Zusammenspiel der parallelen Eigenschaften des jeweiligen Anwendungsproblems, der Programmierumgebung und der Architektur des Parallelrechners. Dementsprechend werden in den einzelnen Kapiteln die unterschiedlichen Typen von Parallelrechnern und parallelen Plattformen betrachtet, ein Überblick über parallele Programmierumgebungen gegeben und Charakteristika wichtiger Anwendungsalgorithmen beschrieben. Breiten Raum nehmen die Darstellung und der Vergleich portabler Programmierplattformen wie PVM und MPI ein. Das Buch enthält insbesondere einen genauen Effizienzvergleich dieser Plattformen für viele aktuelle Parallelrechner und diskutiert die Anwendung auf Probleme, die für die Praxis der Natur- und Ingenieurwissenschaften sowie des Wissenschaftlichen Rechnens relevant sind.