Limit search to available items
Book Cover
E-book
Author Gleim, Urs

Title Multicore-Software : Grundlagen, Architektur und Implementierung in C/C++, Java und C♯
Published [Place of publication not identified] : dpunkt.verlag, 2012
Online access available from:
Safari O'Reilly books online    View Resource Record  

Copies

Description 1 online resource (370 pages)
Contents Vorwort; Inhaltsverzeichnis; I Grundlagen der parallelen Programmierung; 1 Einführung; 1.1 Paradigmenwechsel in der Softwareentwicklung; 1.2 Anwendungsbereiche; 1.3 Parallelität in der Hardware; 1.3.1 Prozessorarchitektur; 1.3.2 Multicore-Prozessoren und Multiprozessorsysteme; 1.4 Parallelität in der Software; 1.4.1 Prozesse und Threads; 1.4.2 Virtualisierung; 1.4.3 Parallelisierende Compiler; 1.4.4 Parallele Bibliotheken; 1.4.5 Amdahl'sches Gesetz; 2 Threads; 2.1 Arbeiten mit Threads; 2.1.1 Erzeugung und Beendigung; 2.1.2 Datenaustausch; 2.1.3 Threadpools; 2.2 Scheduling
2.2.1 Lastverteilung2.2.2 Affinitäten und Prioritäten; 2.3 Speicherzugriff; 2.3.1 Speichermodelle; 2.3.2 Speicherhierarchie; 3 Synchronisation; 3.1 Konflikte; 3.1.1 Entstehung; 3.1.2 Kritische Abschnitte; 3.2 Synchronisationsmechanismen; 3.2.1 Mutexe; 3.2.2 Scoped Locking; 3.2.3 Monitore; 3.2.4 Lese-/Schreibsperren; 3.2.5 Semaphore; 3.2.6 Bedingungsvariablen; 3.2.7 Barrieren; 3.2.8 Einmalige Ausführung; 3.2.9 Atomare Operationen; 3.2.10 Spinlocks; 3.3 Fallstricke und Richtlinien; 3.3.1 Konflikterkennung; 3.3.2 Verklemmungen; 3.3.3 Nichtdeterminismus; 3.3.4 Fairness; 3.3.5 Skalierbarkeit
3.3.6 Threadsicherheit und Wiedereintrittsfähigkeit3.3.7 Schnittstellenentwurf; 4 Task- und Datenparallelität; 4.1 Taskparallelität; 4.1.1 Erzeugung und Synchronisation von Tasks; 4.1.2 Parallelisierung rekursiver Algorithmen; 4.1.3 Taskgruppen; 4.1.4 Spekulation; 4.1.5 Implementierung eines Task-Schedulers; 4.1.6 Programmierrichtlinien; 4.2 Datenparallelität; 4.2.1 Schleifen ohne Datenabhängigkeiten; 4.2.2 Reduktionen; 4.2.3 Präfixberechnungen; 4.2.4 Partitionierung und Abbildung; 5 Datenstrukturen; 5.1 Threadsicherer Zugriff; 5.1.1 Grobgranulare Synchronisation
5.1.2 Feingranulare Synchronisation5.1.3 Optimistische Synchronisation; 5.1.4 Nichtblockierende Synchronisation; 5.1.5 Weitere Optimierungen; 5.2 Auswahl der richtigen Datenstruktur; 5.2.1 Kriterien; 5.2.2 Listen; 5.2.3 Vektoren; 5.2.4 Assoziative Felder; 5.2.5 Warteschlangen und Stacks; 5.2.6 Multimengen; 6 Entwurfsmuster; 6.1 Zugriff auf gemeinsame Daten; 6.1.1 Grundlegende Synchronisationsmuster; 6.1.2 Threadlokaler Speicher; 6.1.3 Futures; 6.1.4 Synchronisationsproxy; 6.1.5 Active Object; 6.2 Zerlegung in parallel bearbeitbare Teilprobleme; 6.2.1 Grundlegende Zerlegungsmuster
6.2.2 Master-Slave6.2.3 Erzeuger-Verbraucher; 6.2.4 Aktoren; 6.2.5 Reihenfolgebewahrender Threadpool; 6.3 Fließbandverarbeitung; 6.3.1 Pipelines; 6.3.2 Pipelines mit parallelen Stufen; 6.3.3 Parallele Pipelines; 7 Architektur paralleler Software; 7.1 Entwurf paralleler Algorithmen; 7.2 Entwurf paralleler Architekturen; II Sprachen und Bibliotheken; 8 Threads und Synchronisation in C/C++; 8.1 POSIX-Threads; 8.1.1 Threads; 8.1.2 Synchronisationsmechanismen; 8.1.3 Threadlokaler Speicher und Speicherallokation; 8.2 Windows-Threads; 8.2.1 Threads; 8.2.2 Synchronisationsmechanismen
Summary Hauptbeschreibung Nur parallel arbeitende Software kann die Leistung heutiger Multicore-Prozessoren ausnutzen. Das Buch vermittelt ein solides Grundwissen über Softwareentwicklung im Multicore-Zeitalter und dient als Nachschlagewerk für die tägliche Arbeit. Der erste Teil führt gut lesbar durch alle praxisrelevanten Grundlagen der Programmierung und der Architektur paralleler Software. Mit dem zweiten Teil erhält der Leser einen kompakt und strukturiert aufbereiteten Leitfaden für die produktive Entwicklung in den Sprachen C/C++, Java und C♯. Biographische Inf
Notes 8.2.3 Threadlokaler Speicher und Speicherallokation
Bibliography Includes bibliographical references and index
Notes Print version record
Subject Computer software -- Development.
Multiprocessors.
Parallel programming (Computer science)
Systems on a chip.
Form Electronic book
Author Schüle, Tobias
ISBN 3864910803
3898647587
9783864910807
9783898647588