×
Softwareentwickler und -architekten
- Studierende
Multicore-Software
Grundlagen, Architektur und Implementierung in C/C++, Java und C#
von Urs Gleim und Tobias SchüleModerne Prozessoren enthalten mehrere parallel arbeitende Prozessorkerne. Die im Vergleich zu herkömmlichen CPUs höhere Rechenleistung solcher Multicore-Prozessoren kann jedoch nur durch parallele Software genutzt werden. Dies führt zu erheblichen Veränderungen in der Softwareentwicklung, wobei Parallelität vom Entwurf bis zur Implementierung eine entscheidende Rolle spielt. Das Buch vermittelt ein solides Grundwissen über die Softwareentwicklung im Multicore-Zeitalter und dient als Nachschlagewerk für die tägliche Arbeit.
Der erste Teil behandelt die Grundlagen und deckt die wesentlichen Aspekte paralleler Systeme ab, von Synchronisationsmechanismen bis hin zu Entwurfsmustern für die Parallelisierung von Programmen. Zudem werden verschiedene Formen der Parallelität beschrieben, typische Fallstricke bei der Programmierung von Multicore-Rechnern aufgezeigt und Methoden zur Lösung typischer Probleme vorgestellt.
Der zweite Teil bietet einen kompakt und strukturiert aufbereiteten Leitfaden für die produktive Entwicklung in den Programmiersprachen C/C++, Java und C#. Anhand von Beispielen werden die im ersten Teil behandelten Konzepte und Techniken erläutert. Abschließend geben die Autoren einen Überblick über weniger weit verbreitete, aber vielversprechende Sprachen für Programmierung paralleler Systeme.
Das Buch richtet sich an Informatiker, Softwarearchitekten und Programmierer, die einen Einblick in die Programmierung von Multicore-Rechnern bekommen oder bereits vorhandenes Wissen vertiefen möchten. Es sind keine Vorkenntnisse über parallele Programmierung oder Multicore-Systeme erforderlich. Leser sollten jedoch mit mindestens einer objektorientierten Programmiersprache vertraut sein und über Erfahrungen in der Softwareentwicklung verfügen.
Der erste Teil behandelt die Grundlagen und deckt die wesentlichen Aspekte paralleler Systeme ab, von Synchronisationsmechanismen bis hin zu Entwurfsmustern für die Parallelisierung von Programmen. Zudem werden verschiedene Formen der Parallelität beschrieben, typische Fallstricke bei der Programmierung von Multicore-Rechnern aufgezeigt und Methoden zur Lösung typischer Probleme vorgestellt.
Der zweite Teil bietet einen kompakt und strukturiert aufbereiteten Leitfaden für die produktive Entwicklung in den Programmiersprachen C/C++, Java und C#. Anhand von Beispielen werden die im ersten Teil behandelten Konzepte und Techniken erläutert. Abschließend geben die Autoren einen Überblick über weniger weit verbreitete, aber vielversprechende Sprachen für Programmierung paralleler Systeme.
Das Buch richtet sich an Informatiker, Softwarearchitekten und Programmierer, die einen Einblick in die Programmierung von Multicore-Rechnern bekommen oder bereits vorhandenes Wissen vertiefen möchten. Es sind keine Vorkenntnisse über parallele Programmierung oder Multicore-Systeme erforderlich. Leser sollten jedoch mit mindestens einer objektorientierten Programmiersprache vertraut sein und über Erfahrungen in der Softwareentwicklung verfügen.