Patterns for parallel programming:
Gespeichert in:
Beteiligte Personen: | , , |
---|---|
Format: | Buch |
Sprache: | Englisch |
Veröffentlicht: |
Boston ; Munich [u.a.]
Addison-Wesley
2005
|
Schriftenreihe: | The software patterns series
|
Schlagwörter: | |
Links: | 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 |
Beschreibung: | Hier auch später erschienene, unveränderte Nachdrucke |
Umfang: | 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 |
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 | |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-013099212 |
Datensatz im Suchindex
DE-BY-TUM_call_number | 0104 DAT 516f 2006 A 5199 0303 DAT 516f 2006 L 767 |
---|---|
DE-BY-TUM_katkey | 1547052 |
DE-BY-TUM_location | 01 03 |
DE-BY-TUM_media_number | 040010240236 040071074674 040071074685 040071074696 040071074709 040071074710 |
_version_ | 1821933092207591424 |
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>02420nam 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="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><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-013099212</subfield></datafield></record></collection> |
id | DE-604.BV019773096 |
illustrated | Illustrated |
indexdate | 2024-12-20T12:05:32Z |
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 |
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 |
Inhaltsverzeichnis
Paper/Kapitel scannen lassen
Paper/Kapitel scannen lassen
Teilbibliothek Mathematik & Informatik
Signatur: |
0104 DAT 516f 2006 A 5199
Lageplan |
---|---|
Exemplar 1 | Nicht ausleihbar Am Standort |
Teilbibliothek Chemie, Lehrbuchsammlung
Signatur: |
0303 DAT 516f 2006 L 767
Lageplan |
---|---|
Exemplar 1 | Ausleihbar Am Standort |
Exemplar 2 | Ausleihbar Am Standort |
Exemplar 3 | Ausleihbar Am Standort |
Exemplar 4 | Ausleihbar Am Standort |
Exemplar 5 | Ausleihbar Am Standort |