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 dpunkt.verlag, 2012

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.
Computer software -- Development
Multiprocessors
Parallel programming (Computer science)
Systems on a chip
Form Electronic book
Author Schüle, Tobias
ISBN 9783864910807
3864910803
3898647587
9783898647588
338986475X
9783389864753