Patterns for parallel programming:
Gespeichert in:
Hauptverfasser: | , , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Boston ; Munich [u.a.]
Addison-Wesley
2005
|
Schriftenreihe: | The software patterns series
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | Hier auch später erschienene, unveränderte Nachdrucke |
Beschreibung: | XIII, 355 S. Ill. |
ISBN: | 9780321228116 0321228111 9780321940780 0321940784 |
Internformat
MARC
LEADER | 00000nam a2200000zc 4500 | ||
---|---|---|---|
001 | BV019773096 | ||
003 | DE-604 | ||
005 | 20130822 | ||
007 | t | ||
008 | 050414s2005 xxua||| |||| 00||| eng d | ||
010 | |a 2004013240 | ||
020 | |a 9780321228116 |9 978-0-321-22811-6 | ||
020 | |a 0321228111 |c hardback : alk. paper |9 0-321-22811-1 | ||
020 | |a 9780321940780 |c pbk |9 978-0-321-94078-0 | ||
020 | |a 0321940784 |c pbk |9 0-321-94078-4 | ||
035 | |a (OCoLC)55624768 | ||
035 | |a (DE-599)BVBBV019773096 | ||
040 | |a DE-604 |b ger |e aacr | ||
041 | 0 | |a eng | |
044 | |a xxu |c US | ||
049 | |a DE-703 |a DE-573 |a DE-91G |a DE-706 |a DE-1051 |a DE-11 |a DE-20 |a DE-473 | ||
050 | 0 | |a QA76.642 | |
082 | 0 | |a 005.2/75 |2 22 | |
084 | |a ST 151 |0 (DE-625)143595: |2 rvk | ||
084 | |a ST 230 |0 (DE-625)143617: |2 rvk | ||
084 | |a ST 240 |0 (DE-625)143625: |2 rvk | ||
084 | |a DAT 516f |2 stub | ||
100 | 1 | |a Mattson, Timothy G. |e Verfasser |4 aut | |
245 | 1 | 0 | |a Patterns for parallel programming |c Timothy G. Mattson ; Beverly A. Sanders ; Berna L. Massingill |
264 | 1 | |a Boston ; Munich [u.a.] |b Addison-Wesley |c 2005 | |
300 | |a XIII, 355 S. |b Ill. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a The software patterns series | |
500 | |a Hier auch später erschienene, unveränderte Nachdrucke | ||
650 | 0 | 7 | |a Parallelverarbeitung |0 (DE-588)4075860-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Entwurfsmuster |0 (DE-588)4546895-3 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Programmierung |0 (DE-588)4076370-5 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Parallelverarbeitung |0 (DE-588)4075860-6 |D s |
689 | 0 | 1 | |a Entwurfsmuster |0 (DE-588)4546895-3 |D s |
689 | 0 | |8 1\p |5 DE-604 | |
689 | 1 | 0 | |a Parallelverarbeitung |0 (DE-588)4075860-6 |D s |
689 | 1 | 1 | |a Programmierung |0 (DE-588)4076370-5 |D s |
689 | 1 | |8 2\p |5 DE-604 | |
700 | 1 | |a Sanders, Beverly A. |e Verfasser |4 aut | |
700 | 1 | |a Massingill, Berna L. |e Verfasser |4 aut | |
856 | 4 | 2 | |m Digitalisierung UB Bamberg - ADAM Catalogue Enrichment |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=013099212&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-013099212 | ||
883 | 1 | |8 1\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk | |
883 | 1 | |8 2\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk |
Datensatz im Suchindex
_version_ | 1804133254018629632 |
---|---|
adam_text | Contents
Preface x
A Pattern Language for Parallel Programming
1
1.1
Introduction
................................ 1
1.2
Parallel Programming
.......................... 3
J
»—
í UlllkllUl
Ł—
1.3
Design
Patterns and Pattern Languages
................ 4
1.4
A Pattern Language1 tor Parallel Programming
............ 5
Background and Jargon of Parallel Computing
7
2.1
Concurrency in Parallel Programs Versus Operating Systems
.... 7
2.2
Parallel Architecture s: A Brief Introduction
.............. 8
2.2.1
Flynn s Taxonomy
........................ 8
2.2.2
A Further Breakdown of MIMD
................ 9
2.2.3
Summary
............................. 12
2.3
Parallel Programming Environments
.................. 12
2.4
The Jargon of Parallel Computing
................... 16
2.5
A Quantitative Look at Parallel Computation
............. 18
2.6
Communication
.............................. 21
2.6.1
Latency and Bandwidth
..................... 21
2.6.2
Overlapping Communication and Computation
and Latency Hiding
....................... 22
2.7
Summary
................................. 23
The Finding Concurrency Design Space
24
3.1
About the Design Space
......................... 24
3.1.1
Overview
............................. 25
3.1.2
Using the Decomposition Patterns
............... 26
3.1.3
Background for Examples
.................... 26
3.2
The Task Decomposition Pattern
.................... 29
3.3
The Data Decomposition Pattern
.................... 34
3.4
The Group Tasks Pattern
........................ 39
3.5
The Order Tasks Pattern
........................ 42
3.6
The Data Sharing Pattern
........................ 44
3.7
The Design Evaluation Pattern
..................... 49
3.8
Summary
................................. 55
The Algorithm Structure Design Space
57
4.1
Introduction
................................ 57
4.2
Choosing an Algorithm Structure Pattern
............... 59
4.2.1
Target Platform
......................... 59
Lbv
VII
viii Contents
4.2.2
Major
Organizing Principle
................... 00
4.2.3
The Algorithm Structure Decision Trot1
.............
(it)
4.2.4
Re-evaluation
........................... 02
4.3
Examples
................................. 62
4.3.1
Medical Imaging
......................... 62
4.3.2
Molecular Dynamics
.......................
(ІЗ
4.4
Tlu1
7)isk Parallelism Pattern
...................... 04
4.5
The
Dividi
and Conquer Pattern
.................... 73
4.0
The Geometric Decomposition Pattern
................. 7!)
4.7
The Recursive Data Pattern
.......................
f.)7
4.
К
The Pipeline Pattern
........................... 103
4.Í)
The
Evi
nt-Based,
( oord
in at ion Pattern
................. 114
5
The Supporting
Structura»
Design Space
121
5.
J
Introduction
................................12
і
5.1.1
Program Struct
uring
Patterns
..................122
5.1.2
Patterns Representing Data Structures
.............123
5.2
Forces
...................................123
5.3
Choosing the Patterns
..........................125
5.4
The SPMD Pattern
............................126
5.5
The Master/Worker Pattern
.......................143
5.6
The Loop Parallelism Pattern
......................152
5.7
The Fork/Join Pattern
..........................167
5.8
The Shared Data Pattern
........................173
5.9
The Shared Queue. Pattern
........................183
5.10
The Distributed Array Pattern
.....................198
5.11
Other Supporting Structures
......................211
5.11.1
SIMD
...............................211
5.11.2
MPMD
..............................212
5.11.3
Client-Server Computing
....................214
5.11.4
Concurrent Programming with Declarative Languages
.... 214
5.11.5
Problem-Solving Environments
.................215
6
The Implementation Mechanisms Design Space
216
6.1
Overview
.................................217
6.2
UE Management
.............................217
6.2.1
Thread Creation/Destruction
..................218
6.2.2
Process Creation/Destruction
..................220
6.3
Synchronization
..............................221
6.3.1
Memory Synchronization and Fences
..............221
6.3.2
Barriers
..............................226
6.3.3
Mutual Exclusion
.........................229
6.4
Communication
..............................237
6.4.1
Message Passing
.........................238
6.4.2
Collective Communication
....................245
6.4.3
Other Communication Constructs
...............251
Contents ix
Appendix
A A
Brief
Introduction to OpenMP
253
A.I Core Concepts
.............................. 254
A.
2
Structured Blocks and Directive Formats
............... 257
A.3 Worksharing
............................... 259
A.
4
Data Environment Clauses
....................... 262
A.5 The OpenMP Runtime Library
..................... 265
A.
6
Synchronization
.............................. 266
A.7 The Schedule Clause
........................... 270
A.8 The Rest of the Language
........................ 272
Appendix
В
A Brief Introduction to
MPI
273
B.I Concepts
................................. 273
B.2 Getting Started
.............................. 275
B.3 Basic Point-to-Point Message Passing
................. 277
B.4 Collective Operations
.......................... 279
B.5 Advanced Point-to-Point Message Passing
............... 283
B.6
MPI
and Fortran
............................. 288
B.7 Conclusion
................................ 290
Appendix
С
A Brief Introduction to Concurrent
Programming in Java
291
C.I Creating Threads
............................. 293
C.2 Atomicity. Memory Synchronization, and the volatile Keyword
. . 297
C.3 Synchronized Blocks
........................... 297
C.4 Wait and Notify
............................. 299
C.5 Locks
................................... 301
C.6 Other Synchronization Mechanisms and Shared Data Structures
. . 303
C.7 Interrupts
................................. 304
Glossary
307
Bibliography
317
About the Authors
333
Index
335
|
any_adam_object | 1 |
author | Mattson, Timothy G. Sanders, Beverly A. Massingill, Berna L. |
author_facet | Mattson, Timothy G. Sanders, Beverly A. Massingill, Berna L. |
author_role | aut aut aut |
author_sort | Mattson, Timothy G. |
author_variant | t g m tg tgm b a s ba bas b l m bl blm |
building | Verbundindex |
bvnumber | BV019773096 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.642 |
callnumber-search | QA76.642 |
callnumber-sort | QA 276.642 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 151 ST 230 ST 240 |
classification_tum | DAT 516f |
ctrlnum | (OCoLC)55624768 (DE-599)BVBBV019773096 |
dewey-full | 005.2/75 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.2/75 |
dewey-search | 005.2/75 |
dewey-sort | 15.2 275 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02419nam a2200577zc 4500</leader><controlfield tag="001">BV019773096</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20130822 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">050414s2005 xxua||| |||| 00||| eng d</controlfield><datafield tag="010" ind1=" " ind2=" "><subfield code="a">2004013240</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780321228116</subfield><subfield code="9">978-0-321-22811-6</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0321228111</subfield><subfield code="c">hardback : alk. paper</subfield><subfield code="9">0-321-22811-1</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780321940780</subfield><subfield code="c">pbk</subfield><subfield code="9">978-0-321-94078-0</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0321940784</subfield><subfield code="c">pbk</subfield><subfield code="9">0-321-94078-4</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)55624768</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV019773096</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">aacr</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">xxu</subfield><subfield code="c">US</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-703</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-91G</subfield><subfield code="a">DE-706</subfield><subfield code="a">DE-1051</subfield><subfield code="a">DE-11</subfield><subfield code="a">DE-20</subfield><subfield code="a">DE-473</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.642</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.2/75</subfield><subfield code="2">22</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 151</subfield><subfield code="0">(DE-625)143595:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 230</subfield><subfield code="0">(DE-625)143617:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 240</subfield><subfield code="0">(DE-625)143625:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 516f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Mattson, Timothy G.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Patterns for parallel programming</subfield><subfield code="c">Timothy G. Mattson ; Beverly A. Sanders ; Berna L. Massingill</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Boston ; Munich [u.a.]</subfield><subfield code="b">Addison-Wesley</subfield><subfield code="c">2005</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XIII, 355 S.</subfield><subfield code="b">Ill.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">The software patterns series</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Hier auch später erschienene, unveränderte Nachdrucke</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Parallelverarbeitung</subfield><subfield code="0">(DE-588)4075860-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Entwurfsmuster</subfield><subfield code="0">(DE-588)4546895-3</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Parallelverarbeitung</subfield><subfield code="0">(DE-588)4075860-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Entwurfsmuster</subfield><subfield code="0">(DE-588)4546895-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="8">1\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Parallelverarbeitung</subfield><subfield code="0">(DE-588)4075860-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="1"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="8">2\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Sanders, Beverly A.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Massingill, Berna L.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Bamberg - ADAM Catalogue Enrichment</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=013099212&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-013099212</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">2\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield></record></collection> |
id | DE-604.BV019773096 |
illustrated | Illustrated |
indexdate | 2024-07-09T20:05:47Z |
institution | BVB |
isbn | 9780321228116 0321228111 9780321940780 0321940784 |
language | English |
lccn | 2004013240 |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-013099212 |
oclc_num | 55624768 |
open_access_boolean | |
owner | DE-703 DE-573 DE-91G DE-BY-TUM DE-706 DE-1051 DE-11 DE-20 DE-473 DE-BY-UBG |
owner_facet | DE-703 DE-573 DE-91G DE-BY-TUM DE-706 DE-1051 DE-11 DE-20 DE-473 DE-BY-UBG |
physical | XIII, 355 S. Ill. |
publishDate | 2005 |
publishDateSearch | 2005 |
publishDateSort | 2005 |
publisher | Addison-Wesley |
record_format | marc |
series2 | The software patterns series |
spelling | Mattson, Timothy G. Verfasser aut Patterns for parallel programming Timothy G. Mattson ; Beverly A. Sanders ; Berna L. Massingill Boston ; Munich [u.a.] Addison-Wesley 2005 XIII, 355 S. Ill. txt rdacontent n rdamedia nc rdacarrier The software patterns series Hier auch später erschienene, unveränderte Nachdrucke Parallelverarbeitung (DE-588)4075860-6 gnd rswk-swf Entwurfsmuster (DE-588)4546895-3 gnd rswk-swf Programmierung (DE-588)4076370-5 gnd rswk-swf Parallelverarbeitung (DE-588)4075860-6 s Entwurfsmuster (DE-588)4546895-3 s 1\p DE-604 Programmierung (DE-588)4076370-5 s 2\p DE-604 Sanders, Beverly A. Verfasser aut Massingill, Berna L. Verfasser aut Digitalisierung UB Bamberg - ADAM Catalogue Enrichment application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=013099212&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk 2\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk |
spellingShingle | Mattson, Timothy G. Sanders, Beverly A. Massingill, Berna L. Patterns for parallel programming Parallelverarbeitung (DE-588)4075860-6 gnd Entwurfsmuster (DE-588)4546895-3 gnd Programmierung (DE-588)4076370-5 gnd |
subject_GND | (DE-588)4075860-6 (DE-588)4546895-3 (DE-588)4076370-5 |
title | Patterns for parallel programming |
title_auth | Patterns for parallel programming |
title_exact_search | Patterns for parallel programming |
title_full | Patterns for parallel programming Timothy G. Mattson ; Beverly A. Sanders ; Berna L. Massingill |
title_fullStr | Patterns for parallel programming Timothy G. Mattson ; Beverly A. Sanders ; Berna L. Massingill |
title_full_unstemmed | Patterns for parallel programming Timothy G. Mattson ; Beverly A. Sanders ; Berna L. Massingill |
title_short | Patterns for parallel programming |
title_sort | patterns for parallel programming |
topic | Parallelverarbeitung (DE-588)4075860-6 gnd Entwurfsmuster (DE-588)4546895-3 gnd Programmierung (DE-588)4076370-5 gnd |
topic_facet | Parallelverarbeitung Entwurfsmuster Programmierung |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=013099212&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT mattsontimothyg patternsforparallelprogramming AT sandersbeverlya patternsforparallelprogramming AT massingillbernal patternsforparallelprogramming |