Practical PRAM programming:
Gespeichert in:
Beteiligte Personen: | , , |
---|---|
Format: | Buch |
Sprache: | Englisch |
Veröffentlicht: |
New York [u.a.]
J. Wiley
2001
|
Schriftenreihe: | Wiley series in parallel and distributed computing
|
Schlagwörter: | |
Links: | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017368086&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
Umfang: | XXIII, 572 S. |
ISBN: | 0471353515 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV035447968 | ||
003 | DE-604 | ||
005 | 20090604 | ||
007 | t| | ||
008 | 090422s2001 xx |||| 00||| eng d | ||
020 | |a 0471353515 |9 0-471-35351-5 | ||
035 | |a (OCoLC)44933497 | ||
035 | |a (DE-599)BVBBV035447968 | ||
040 | |a DE-604 |b ger |e rakwb | ||
041 | 0 | |a eng | |
049 | |a DE-473 | ||
050 | 0 | |a QA76.642 | |
082 | 0 | |a 005.2/75 |2 21 | |
084 | |a ST 151 |0 (DE-625)143595: |2 rvk | ||
100 | 1 | |a Keller, Jörg |e Verfasser |4 aut | |
245 | 1 | 0 | |a Practical PRAM programming |
264 | 1 | |a New York [u.a.] |b J. Wiley |c 2001 | |
300 | |a XXIII, 572 S. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Wiley series in parallel and distributed computing | |
650 | 4 | |a Parallel programming (Computer science) | |
650 | 4 | |a Random access memory | |
650 | 0 | 7 | |a Paralleler Algorithmus |0 (DE-588)4193615-2 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Parallelverarbeitung |0 (DE-588)4075860-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a PRAM |g Informatik |0 (DE-588)4361282-9 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Parallelverarbeitung |0 (DE-588)4075860-6 |D s |
689 | 0 | 1 | |a Paralleler Algorithmus |0 (DE-588)4193615-2 |D s |
689 | 0 | 2 | |a PRAM |g Informatik |0 (DE-588)4361282-9 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Keßler, Christoph W. |e Verfasser |4 aut | |
700 | 1 | |a Träff, Jesper Larsson |e Verfasser |4 aut | |
856 | 4 | 2 | |m Digitalisierung UB Bamberg |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017368086&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-017368086 |
Datensatz im Suchindex
_version_ | 1819380566217195520 |
---|---|
adam_text | Contents
Preface
xv
Acronyms
xxi
1
Introduction
1
1.1
A Brief Introduction to the PRAM Model
1
1.2
The PRAM as a Practical Model of Parallel
Computation
4
1.3
First Steps in Fork
5
1.4
A Parallel CRCW Quicksort Implementation
9
1.4.1
The CRCW Quicksort Algorithm by Chlebus
and Vrto
9
1.4.2
Implementation of the Algorithm in Fork
12
1.4.3
Empirical Evaluation of the Implementation
17
1.5
Exercises
21
2
The PRAM Model of Parallel Computation
23
2.1
The RAM Model of Sequential Computation
23
2.2
The PRAM Model
28
2.2.1
Computing the Sum on a PRAM
32
2.3
Measures of Efficiency of PRAM Algorithms
35
Vi
CONTENTS
2.3.1
Self-Simulation and Brent s Theorem
39
2.3.2
Speedup
42
2.3.3
Design Goals for PRAM Algorithms
45
2.3.4
Practical Performance Measures for PRAM
Algorithms
47
2.3.5
Scalability of Parallel Algorithms
48
2.3.6
Efficiency and Performance of the Sum
Algorithm
49
2.3.7
Efficiency and Self-Simulation
51
2.4
Some PRAM Algorithms
52
2.4.1
The Prefix-Sums Problem
52
2.4.2
Finding the Maximum
57
2.4.3
An Operation on Lists
58
2.4.4
Making the PRAM Algorithms More Cost-
Efficient
62
2.4.5
An Application of Brent s Theorem
64
2.5
The Relative Strength of the PRAM Variants
65
2.5.1
Simulation Results
65
2.5.2
Separation Theorems
68
2.6
Further PRAM Variants and Related Models
69
2.6.1
Even Stronger PRAM Variants
69
2.6.2
PRAM Variants that Measure Communication
70
2.6.3
PRAM Variants that Measure Contention
71
2.6.4
Asynchronous PRAM Variants
72
2.6.5
Bridging Models:
BSP
and Related Models
74
2.7
Bibliographic Notes
77
2.8
Exercises
78
3
PRAM Emulation
81
3.1
Simulation of the PRAM on Distributed Memory
Machines
81
3.2
Simulation of the PRAM
84
3.3
Communication Networks
86
3.4
Distributing Shared Memory by Hashing
88
3.5
Simulating One PRAM Time Step
91
3.6
Analysis of
Rånade
s
Simulation
96
3.6.1
Simulating Several Steps
101
3.6.2
Making the Simulation More Efficient
102
3.7
Deterministic Simulations
102
CONTENTS
Vii
3.8
Simulation of the PRAM on Optical Networks
104
3.9
Bibliographic Notes
104
3.10
Exercises
105
107
108
108
109
110
110
110
116
118
119
119
121
121
121
123
124
125
126
128
128
130
130
132
133
136
137
139
140
142
142
143
145
147
147
An
Emulation of a PRAM in Hardware
4.1
The Fluent Abstract Machine
4.1.1
Ranade s
Algorithm Revisited
4.1.2
Concurrent Access and Multiprefix
4.1.3
The Fluent Machine
4.2
SB-PRAM Architecture
4.2.1
Reengineering
the Fluent Machine
4.2.2
Choice of the Hash Function
4.3
Hardware Realization of the Prototype
4.3.1
Processor
4.3.2
Sorting Arrays
4.3.3
Processor Modules
4.3.4
Memory Modules
4.3.5
Routing Chips
4.3.6
Network Boards
4.3.7
Commercial Parts
4.4
Instruction Set
4.4.1
Compute Instructions
4.4.2
Load and Store Instructions
4.4.3
Multiprefix Instructions
4.4.4
Jump Instructions
4.4.5
PRAM Assembler Shorthands
4.5
System Software
4.5.1
Assembler, Linker, and Loader
4.5.2
Simulator
4.5.3
Running Assembler Programs
4.5.4
Operating System
4.6
SB-PRAM Assembler Programming
4.6.1
Exact Synchronization by Padding
4.6.2
Inexact Barriers
4.6.3
Inexact Barrier with Separation
4.6.4
Exact Barrier
4.6.5
Self-Re storing Exact Barrier
4.6.6
Alternatives to Busy Waiting
Viii CONTENTS
4.7
Other Shared
Memory Machines
148
4.7.1
Emulated Shared Memory
148
4.7.2
Distributed Shared Memory
152
4.7.3
Hybrid Architectures
156
4.7.4
Sources of Information
156
4.8
Exercises
157
5
Fork
159
5.1
Shared and Private Variables
162
5.1.1
Declaration
162
5.1.2
System Variables
163
5.1.3
Concurrent-Write Conflict Resolution
163
5.2
Expressions
164
5.2.1
Atomic Multiprefix Instructions
164
5.2.2
The ilog2 Operator
165
5.2.3
Return Values of Functions
166
5.2.4
Shared and Private Expressions
166
5.3
Synchronous and Asynchronous Regions
166
5.3.1
Advantages of the Synchronous Mode
167
5.3.2
Advantages of the Asynchronous Mode
168
5.3.3
Declaring the Synchronicity of a Function
168
5.3.4
The farm Statement
169
5.3.5
The seq Statement
169
5.3.6
The start Statement
170
5.3.7
Calling Synchronous, Straight, and
Asynchronous Functions
171
5.4
Synchronous Execution and the Group Concept
171
5.4.1
Synchronicity Invariant
172
5.4.2
Subgroup Creation and Group Activity Regions
173
5.4.3
Group ID @, Group-Local Processor ID
$,
and
Group Rank
$$ 173
5.4.4
Synchronous if Statements with Private
Condition
174
5.4.5
Synchronous Loops with Private Exit
Condition
178
5.4.6
Calls to Synchronous Functions
180
5.4.7
The fork Statement
180
5.4.8
Final Remarks
181
5.5
Pointers and Heaps
183
CONTENTS
ІХ
5.5.1
Pointers
183
5.5.2
Heaps
184
5.5.3
Pointers
to Functions
185
5.6
Exploring the Asynchronous Mode
186
5.6.1
The barrier Statement
186
5.6.2
Critical Sections, Locks, and Semaphores
186
5.7
The join Statement
197
5.7.1
Simulating the start Statement by join
200
5.7.2
Synchronous Parallel Critical Sections
200
5.8
Programming Style and Caveats
203
5.8.1
Absolute versus Relative Group Identifiers
203
5.8.2
Numbering of Group-Relative Processor
Identifiers
204
5.8.3
Accessing Objects Shared by Different Groups
204
5.8.4
Jumps
206
5.8.5
Shared Memory Fragmentation
206
5.8.6
The asm Statement
207
5.8.7
Short-Circuit Evaluation of
Seb
and I I
207
5.9
Graphical Trace File Visualization
208
5.10
Other Parallel Programming Languages
212
5.10.1
MIMD Message Passing Environments
213
5.10.2
MIMD Asynchronous Shared Memory
Environments
214
5.10.3
Fork-Join-Style Shared Memory MIMD
Languages
214
5.10.4
SPMD-Style Asynchronous Shared Memory
MIMD Languages
215
5.10.5
SIMD and
Dataparallel
Programming
Languages
216
5.10.6
PRAM Languages
217
5.10.7
The History of Fork
218
5.10.8
The Future of Fork
220
5.10.9 BSP
Languages
221
5.10.10
Integration of Task Parallelism and Data
Parallelism
221
5.10.11
Skeleton Languages
222
5.11
Exercises
223
6
Implementation of Fork
225
X
CONTENTS
6.1
Compilation
for the SB-
Ρ
RAM
225
6.1.1
Extensions to the
С
Compiler Phases and
Data Structures
225
6.1.2
Shared Memory Organization and Frame
Layout
226
6.1.3
Translation of start and
j
oxn
228
6.1.4
Translation of the Private if Statement
228
6.1.5
Groups and Control Flow
231
6.1.6
Accessing Shared Local Variables
231
6.1.7
Runtime Overheads and Optimizations
232
6.2
Implementation of the Fork Standard Library for the
SB-PRAM
235
6.2.1
Implementation of Barrier Synchronization
235
6.2.2
Implementation of the Simple Lock
235
6.2.3
Implementation of the Fair Lock
235
6.2.4
Implementation of the Reader-Writer Lock
237
6.2.5
Implementation of the Reader-Writer-Deletor
Lock
240
6.3
Compiling Fork for Other Parallel Architectures
240
6.3.1
Emulating Additional PRAM Processors in
Software
243
6.3.2
Compiling for Asynchronous Shared Memory
Architectures
250
6.3.3
Compiling for Distributed Memory
Architectures
254
6.4
Exercises
256
7
Parallel Algorithmic Paradigms and Programming
Techniques
259
7.1
Parallel Loops
262
7.1.1
Dependence Analysis of Sequential Loops
262
7.1.2
Loop Transformations
267
7.1.3
Exploiting Loop Parallelism in Fork
271
7.2
Data Parallelism
281
7.2.1
Independent Data Parallelism
282
7.2.2
Nestable Skeleton Functions
286
7.2.3
Reductions
288
7.2.4
Prefix Computations
291
7.2.5
Matrix Operations
294
7.3
Parallel Divide-and-Conquer
302
8
CONTENTS
XI
7.3.1
Sequential Divide-and-Conquer
302
7.3.2
Parallel Divide-and-Conquer
305
7.3.3
Recursive Parallel Sum Algorithm
307
7.3.4
Strassen s Recursive Matrix-Matrix
Multiplication Method
310
7.3.5
Recursive Doubling Method for First-Order
Linear Recurrences
314
7.4
Asynchronous Parallel Data Structures
318
7.4.1
A Parallel Rehashable Hash Table
318
7.4.2
A Nonrehashable Parallel Hash Table
324
7.4.3
A Parallel FIFO Queue
324
7.4.4
A Parallel Skip List
330
7.5
The Asynchronous Parallel Task Queue
339
7.6
Message Passing
342
7.6.1
The
MPI
Core Routines
347
7.6.2
Implementation of the
MPI
Core Routines in
Fork
350
7.6.3
Selected Collective Communication Routines
352
7.6.4
Data Distribution, Array Alignment, and
Collective Communication
354
7.7
Pipelining
356
7.7.1
Synchronous Pipelining
358
7.7.2
Asynchronous Pipelining
363
7.8
Domain Decomposition and Irregular Parallelism
366
7.8.1
The N-Body Problem
369
7.8.2
A Simple Force Calculation Algorithm
370
7.8.3
A Hierarchical Force Calculation Algorithm
372
7.9
Exercises
378
A Library of Basic PRAM Algorithms
389
8.1
Preliminaries
390
8.2
Arrays
393
8.2.1
Load Balancing for Arrays
394
8.2.2
Prefix-Sums Operations
395
8.2.3
Improving Performance
398
8.2.4
Comparison of the Prefix Operations on the
SB-PRAM
398
8.2.5
Other Prefix Computations
401
8.2.6
Range Querying
404
xii CONTENTS
8.3
Merging and Sorting
407
8.3.1
Parallel Search
407
8.3.2
Merging
411
8.3.3
A Mergesort Function
415
8.3.4
Integer Sorting
417
8.4
Lists and List Ranking
419
8.4.1
Simple Operations on Lists
420
8.4.2
List Ranking with Pointer Jumping
423
8.4.3
Improving the Parallel Efficiency of List
Ranking
425
8.5
Tree Computations
427
8.5.1
Tree Rooting
430
8.5.2
Lowest Common Ancestors
433
8.5.3
Tree Contraction
437
8.5.4
An Application of Tree Contraction
439
8.5.5
Tree Generators
443
8.6
Fundamental Algorithms on Graphs
443
8.6.1
Connected Components
444
8.6.2
Graph Generators
447
8.7
A Parallel Dictionary
447
8.7.1
Searching in a Dictionary
449
8.7.2
Insertion and Deletion
450
8.8
Other Libraries of PRAM Algorithms
454
8.9
Exercises
455
8.10
Projects
458
9
An Example Application
461
9.1
Principles of Fisheye Views
461
9.1.1
Computation of Fisheye Views
462
9.1.2
Extension to Focus Polygons
466
9.2
Implementation
470
9.3
Simple Parallelization
473
9.3.1
Exploiting Loop Parallelism
473
9.3.2
Handling Large Files
476
9.4
Advanced Parallelization
480
9.4.1
Skip-List-Based Dictionary
481
9.4.2
Tree-Based Dictionary
483
9.4.3
Comparison
484
9.5
Generation of Image Files
485
CONTENTS xiii
9.6
Extension
of
F
View for Interactive Use
487
9.7
Exercises
487
Appendix A Notation for Asymptotic Growth of Functions
491
A.I Big Oh Notation
491
A.2 Exercises
493
Appendix
В
Online Software and Documentation
495
Appendix
С
Installation Guide
497
C.I Installation of the SB-PRAM System Software
498
C.2 Installation of the Fork Compiler
498
C.3 Further Remarks
498
Appendix
D
Fork at a Glance
501
Appendix
E
Technical Remarks on the Fork Compiler
507
E.
1
Fork Compiler Options
507
E.2 Organization of the Fork Standard Library
507
E.3 Reserved Registers
509
Appendix FA Summary of the PAD Library
511
References
531
Index
563
|
any_adam_object | 1 |
author | Keller, Jörg Keßler, Christoph W. Träff, Jesper Larsson |
author_facet | Keller, Jörg Keßler, Christoph W. Träff, Jesper Larsson |
author_role | aut aut aut |
author_sort | Keller, Jörg |
author_variant | j k jk c w k cw cwk j l t jl jlt |
building | Verbundindex |
bvnumber | BV035447968 |
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 |
ctrlnum | (OCoLC)44933497 (DE-599)BVBBV035447968 |
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>01698nam a2200445 c 4500</leader><controlfield tag="001">BV035447968</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20090604 </controlfield><controlfield tag="007">t|</controlfield><controlfield tag="008">090422s2001 xx |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0471353515</subfield><subfield code="9">0-471-35351-5</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)44933497</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV035447968</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><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">21</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="100" ind1="1" ind2=" "><subfield code="a">Keller, Jörg</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Practical PRAM programming</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">New York [u.a.]</subfield><subfield code="b">J. Wiley</subfield><subfield code="c">2001</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XXIII, 572 S.</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">Wiley series in parallel and distributed computing</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Parallel programming (Computer science)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Random access memory</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Paralleler Algorithmus</subfield><subfield code="0">(DE-588)4193615-2</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</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">PRAM</subfield><subfield code="g">Informatik</subfield><subfield code="0">(DE-588)4361282-9</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">Paralleler Algorithmus</subfield><subfield code="0">(DE-588)4193615-2</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">PRAM</subfield><subfield code="g">Informatik</subfield><subfield code="0">(DE-588)4361282-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Keßler, Christoph W.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Träff, Jesper Larsson</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</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=017368086&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-017368086</subfield></datafield></record></collection> |
id | DE-604.BV035447968 |
illustrated | Not Illustrated |
indexdate | 2024-12-20T13:32:43Z |
institution | BVB |
isbn | 0471353515 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-017368086 |
oclc_num | 44933497 |
open_access_boolean | |
owner | DE-473 DE-BY-UBG |
owner_facet | DE-473 DE-BY-UBG |
physical | XXIII, 572 S. |
publishDate | 2001 |
publishDateSearch | 2001 |
publishDateSort | 2001 |
publisher | J. Wiley |
record_format | marc |
series2 | Wiley series in parallel and distributed computing |
spellingShingle | Keller, Jörg Keßler, Christoph W. Träff, Jesper Larsson Practical PRAM programming Parallel programming (Computer science) Random access memory Paralleler Algorithmus (DE-588)4193615-2 gnd Parallelverarbeitung (DE-588)4075860-6 gnd PRAM Informatik (DE-588)4361282-9 gnd |
subject_GND | (DE-588)4193615-2 (DE-588)4075860-6 (DE-588)4361282-9 |
title | Practical PRAM programming |
title_auth | Practical PRAM programming |
title_exact_search | Practical PRAM programming |
title_full | Practical PRAM programming |
title_fullStr | Practical PRAM programming |
title_full_unstemmed | Practical PRAM programming |
title_short | Practical PRAM programming |
title_sort | practical pram programming |
topic | Parallel programming (Computer science) Random access memory Paralleler Algorithmus (DE-588)4193615-2 gnd Parallelverarbeitung (DE-588)4075860-6 gnd PRAM Informatik (DE-588)4361282-9 gnd |
topic_facet | Parallel programming (Computer science) Random access memory Paralleler Algorithmus Parallelverarbeitung PRAM Informatik |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017368086&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT kellerjorg practicalpramprogramming AT keßlerchristophw practicalpramprogramming AT traffjesperlarsson practicalpramprogramming |