| |
| |
|
|
 |
|
| |
Architektur Bau- & Umwelttechnik Belletristik Betriebswirtschaft Biologie Briefe, Bewerbung, Rhetorik Chemie Entspannung & Meditation Esoterik & Anthroposophie Essen und Trinken Fitness, Aerobic, Bodybuilding, Gymnastik Garten, Pflanzen, Natur Geowissenschaften Geschenkbücher Geschichte Gesundheit, Körperpflege Heimwerken Hobby, Freizeit, Natur Informatik & EDV Innenarchitektur & Design Journalistik & Presse Kinder- & Jugendliteratur Kunst Lebensführung Literaturwissenschaft Lyrik, Dramatik, Essays Management Mathematik Mechanik & Akustik Medien & Kommunikation Medizin & Pharmazie Musik Nachschlagewerke Naturmedizin & Homöopathie Naturwissenschaft & Technik Partnerschaft, Beziehungen Pädagogik Philosophie Physik & Astronomie Politik, Gesellschaft, Arbeit Psychologie Recht Reise Religion Romane, Erzählungen & Anthologien Sachbuch / Ratgeber Schule & Lernen Soziologie Sport Sprachwissenschaft Steuern Technik Theater, Ballett & Film Tiere Tiermedizin Umwelt, Land- & Forstwirtschaft Verlagswesen, Buchhandel, Bibliothekswesen Völkerkunde & Volkskunde Werbung & Marketing Wirtschaft |
|
| |
|
 |
|
| |
Design, Architektur & bildende Kunst Aktuelle Buchempfehlungen |
|
|
 |
|
| |
|
|
| |
|
|
|
|
| |
|
| |
|
 |
|
| |
Shameem Akhter, Jason Roberts
Multi-Core-Programming
Intel Press
erschienen August 2008 350 Seiten, Paperback
Software + Support | ISBN: 3939084700
| |  | 54.90 EUR |  | | |
|
|
|
|
| |
Innerhalb 24 Stunden versandfertig. Expressversand: In Deutschland versandkostenfrei | Österreich: 4 € | Schweiz: ab 4 € | Europaweit ab 6 €. Versandkostenübersicht weltweit. Alle Preise inkl. MwSt. |
|
|
Ähnliche Bücher anzeigen
|
|
|
| |
| |
| VORWORT | öffnen |
|
Vorwort Die radikalen Änderungen im Design moderner Computerplattformen sind inzwischen auch dem letzten Programmierer bekannt. Ob Intel, IBM, Sun oder AMD - alle bieten Mikroprozessoren an, die mehrere Ausführungskerne auf einem Chip vereinen. So konnten Verbraucher bereits 2005 Desktop-Plattformen, Server und Spielekonsolen kaufen, die auf CPUs mit mehreren Ausführungskernen basierten. Und geht man nach den Produkt-Roadmaps, ist das erst der Anfang. Denn jetzt streben die Halbleiterhersteller ...
[weiter lesen]
|
|
|
| KLAPPENTEXT | öffnen |
|
Programmierung Multicore-Programmierung Performance erhöhen durch Software-Multithreading Entdecken Sie Programmiertechniken für die Intel-Multicore Architektur und für die Hyperthreoding-Technologie Softwareentwickler können sich nicht länger auf steigende Taktraten alleine verlassen, um Singlethread-Anwendungen zu beschleunigen. Stattdessen müssen sie lernen - um einen Wettbewerbsvorteil zu erzielen -, ihre Anwendungen so zu entwickeln, dass sie in einer Thread-Umgebung laufen. M... [weiter lesen] |
|
|
| AUTOR | öffnen |
|
ÜBER DIE AUTOREN SHAMEEM AKHTER ist Platform Architect bei Intel mit Schwerpunkt auf Single Socket Multicore-Architektur und Performanceanalyse. Er hat ferner als Senior Software Engineer bei der Intel Software and Solutions Group gearbeitet, wo er für die Anwendungsoptimierung von Desktop- und Serverplattformen zuständig war. Shameem hält ein Patent auf ein Thread-Interface für Constraint-Programmierung, das er im Rahmen seiner Master's Thesis in Computerwissenschaften entwickelte. ... [weiter lesen] |
|
|
| INHALTSVERZEICHNIS | öffnen |
Inhaltsverzeichnis V Vorwort 11 V. 1 Zielgruppe 11 V. 2 Über dieses Buch 12 V. 3 Intel®-Produkte zur Softwareentwicklung 13 V. 4 Danksagung 13 1 Einführung in die Multicore-Architektur 15 1.1 Gründe für Gleichzeitigkeit auf Softwareebene 16 1.2 Parallele Rechnerplattformen 18 Parallelverarbeitung in Mikroprozessoren 19 Unterschiede zwischen Multicore-Architektur und Hyperthreading-Technologie 22 Multithreading auf Singlecore- und Multicore-Plattformen 23 1.3 Was ist Performance? 25 Das Amdahlsche Gesetz 25 Gustafsons Gesetz 28 1.4 Zusammenfassung 30 2 Systemüberblick: Threading 31 2.1 Threads definieren 31 2.2 Threads aus der Sicht des Systems 32 Threading oberhalb der Betriebssystemebene 32 Threads innerhalb des Betriebssystems 35 Threads innerhalb der Hardware 38 2.3 Was passiert, wenn ein Thread erzeugt wird? 39 2.4 Modelle der Anwendungsprogrammierung und Threading 41 2.5 Virtuelle Umgebung: Virtuelle Maschinen und Plattformen 41 Laufzeitvirtualisierung 41 Systemvirtualisierung 41 2.6 Zusammenfassung 44 3 Die grundfegenden Konzepte der parallelen Programmierung 45 3.1 Design für Threads 45 Aufgabenzerlegung 46 Datenzerlegung 46 Datenflusszerlegung 47 Bedeutung der verschiedenen Zerlegungsarten 48 3.2 Herausforderungen 49 3.3 Patterns der parallelen Programmierung 49 3.4 Ein Fallbeispiel: Fehlerverteilung 51 Analyse des Fehlerverteilungsalgorithmus 54 Ein alternativer Ansatz: Parallele Fehlerverteilung 54 Andere Alternativen 56 3.5 Zusammenfassung 57 4 Threading und parallele Programmierkonstrukte 59 4.1 Synchronisierung 59 4.2 Kritische Abschnitte 61 4.3 Deadlocks 62 4.4 Synchronisierungsprimitive 63 Semaphore 63 Sperren 66 Bedingungsvariablen 68 4.5 Nachrichten 70 4.6 Ablauf s teuerungsbasierte Konzepte 72 Fence 72 Barrier 73 Implementierungsabhängige Threading Features 74 4.7 Zusammenfassung 75 5 Threading-APIs 77 5.1 Threading-APIs für Microsoft Windows 77 Win 32/MFC Thread-APIs 77 5.2 Threading APIs für das .NET Framework von Microsoft 103 Threads erzeugen 103 Threads verwalten 105 Thread Pools 108 Thread-Synchronisierung 112 5.3 POSIX-Threads 114 Threads erzeugen 115 Threads verwalten 116 Thread-Synchronisierung 117 Signalisieren 118 Kompilieren und Verlinken 125
[weiter lesen] |
|
|
|
|
| REGISTER | öffnen |
Stichwortverzeichnis pragma ivdep 256 pragma pack 176 $ADDRESS 203 $CALLER 203 $CALLSTACK 203 $FUNCTION 203 $PID 203 $PNAME 203 $TID 203 $TNAME 203 .NET 277 .NET Framework 103 Thread 103 Threadpriorität 105 /MD 175 /MDd 175 /Oa 256 /Ow 256 /Qipo 256 /Qopenmp 152, 253 /Qpar_report 255 /Qpar_threshold 254 /Qparallel 254 declspec 183 _beginthreadex 79 _endthreadex 79 _MT 101 Numerisch 64-Bit-Modus 271 AABA-Problem 171 abgeschwächte Konsistenz 271 Abhängigkeiten 45 Ausgabe 129 - Data Races 131 - Fluss 129, 274 - iter ationsübergreifende 129 - Lese-Schreib 179 - schleifenunabhängige 129 - Schreib-Schreib 179 Ablaufverfolgungspuf fer 198 - Nachrichten protokollieren 201 - Race Conditions 200 - Synchronisierungsprimitive 201 Ablaufverfolgungspunkte 203 - Schlüsselwörter 203 Abort 105 Abwärtskompatibilität 281 ACPI (Advanced Configuration and Power Interface) 242 acquire 66 Adressen - effektive 273 - kanonische 275 - lineare 276 - logische 279 - physische 278 - Segment-Selektor 279 Adresserweiterungen physische 278 Adressraum - linearer 276 - physischer 278 Advanced Configuration and Power Interface (ACPI) 242 Advanced Programmable Interrupt Controller (APIC) 271 Affinität 94 AfxBegin-Thread 80 AfxEndThread 80 Aktionen atomare 113 aktives Warten 68 Algorithmen - Dekker 186, 273 - nicht blockierende 169, 277 - sequenzielle 50 Aliasing 271 Allinea DDT 258 Allzweckregister 274 Amdahl, Gene 25 Amdahlsches Gesetz 25, 263 Anwendungsprogrammierung Modelle 41 APIC (Advanced Programmable Interrupt Controller) 216, 231 APIs - Create-Thread 78 - Critical-Section 74 - MPI 266 - Mutex 74 - Open-MP 33 - Threading 74, 77 - Win 32 77 apply 211 Arbiter 236 - kreditbasierte Flusssteuerung 236 Architekturen - cache-kohärente UMA 273 - Chipsätze 213 - EPIC (Explicitly Parallel Instruction Computing) 219, 235 - HT-Technologie 229 - Hyperthreading 22 - Intel-Hub-Architektur (IHA) 213 - Itanium 187 - Multicore 22, 231 - Prozessoren 213 - superskalare 219 - Von-Neumann 15 Architekturstatus 271, 276 Argonne National Laboratory 267 Assoziativität 271 atomar 271 atomic 146, 253 Aufgabenzerlegung 46, 271 - Threads 92 Ausgabeabhängigkeit 129 Ausnahmen - Open-MP 128 - Thread-Abort-Exception 105 - Threads identifizieren 204 Ausrichtung 183, 271 - malloc 183 BBandbreite 176 barrier 142 Barrieren 73, 141, 272 Speicher 63, 185 Basisadresse 272 Bedingungen - Deadlocks 163 - Open-MP 128 Bedingungssynchronisierung 59 Bedingungsvariablen 68, 118, 272 - Signalisierung 74 Befehle - apply 211 - bt (Backtrace) 211 - CPUID 191 - HINTO 191 - hint@pause 237 - info 209 - PAUSE 191 - privilegierte 42 - Serialisierung 191 - systag 209 - threads 211 - Vergleichen /Austauschen 172 Befehlssatzarchitektur 42, 218 Befehlszeiger 229 Beispiele - Compiler 12 - Open-MP 12 Benachrichtigungen Clean Victim 236 benannte kritische Abschnitte 146 Benutzerthreads 35 Bibliotheken - Argonne National Laboratory 267 - DAPL 267 - Fouriertransformation 259 - Intel 248 - Intel Math Kernel Library (Intel MKL) 259 - IPP (Integrated Performance Primitives) 260 - MPI 267 - NPTL (Native POSIX Thread Library) 74 - Open-MP 33 - parallele Programme 260 - Pthreads 33 - Thread Checker 250 - threadsichere 175 - Zukunft 261 BigEndian 272 BLAS 259 broadcast 68 bt 211 Byte-Reihenfolge 273 CC/C++ Compiler 151 - Intel Debugger (IDB) 258 - Open-MP 127 Cache - Abhängigkeiten 179 - Assoziativität 271 - erweiterter Befehls-Cache 230 - False Sharing 182 - Kohärenz 272-273 - L 1 216 - L 2 216 - L 3 216 - Last Level Cache (LLC) 231 - Optimierung 257 - Pingpong 173, 182 - Probleme 181 - Schnellste Fouriertransformation im Westen 177 - Sektoren 182 - Sieb des Eratosthenes 177 - Trace 230 - Trace Cache Hit 230 - Trace Cache Miss 230 - Zeilen 182, 272 Cache-Aligned-Malloc 183 Call Graph 263 Callback Regis ter Wait-ForSingle-Object 109 captureprivate 148 CAS (Compare and Swap) 66, 170 CBLAS 259 CGMT (Coarse-Grained Multi-Threading) 223
[weiter lesen] |
|
|
|
|
|
|
| |
|
|

|
|