Index
Note: Page numbers followed by f indicate figures and t indicate tables.
A
Advanced vector extensions (AVX)
304
Alice programming language
13
Asynchronous communication
139
Asynchronous computing
314
B
Blocking communication
313
Bulk synchronous parallel (BSP) model
direction and velocity
136
C
Center for Curriculum Development and Educational Resources (CDER)
1–3
Coarse-grained data parallelism
barrier synchronization
132
message passing programs
134f
Compute unified device architecture (CUDA) language
307–308
inexcusably inefficient
252
coarse-grained data parallelism
309–315
flip-flop propagation delay
109f
Cray Seastar interconnection
100
D
matrix-vector product algorithm
317
Digital logic 49990:t0020 49990:t0025
field-programmable gate arrays
113–114
finite state machines
113
number representation
85–89
pedagogical levels, PDC
84t
trees and interconnection networks
88–89
unary number
vs. binary number
88–89
Directed acyclic graphs (DAGs)
faster circuit/algorithm
98
finite impulse response filter
98
Distributed memory programming
blocking communication
313
two-sided communication
312
Divide-and-conquer parallelism
java.lang.InterruptedException
183
E
F
associative operations
90
recursive decomposition
94–95
Fork-join parallelism 49990:t0035 49990:t0040 ,
177
divide-and-conquer parallelism
181–186
java.lang.Thread method
176
sequential programming
160
speedup and parallelism, DAG
196–198
SumThread constructor
175
G
Graphics processing unit (GPU)
H
High-performance networks
Cray supercomputing networks
140–142
HPC
vs. traditional networking
144
I
Independent iterations
308
Integrated development environment (IDE)
27
International Parallel and Distributed Processing Symposium (IPDPS)
J
java.util.concurrent package
187
K
ring-based topologies
100
wraparound connections
101
L
Ladner-Fischer circuit
108f
concurrency control and
220
M
explicit threading approach
81
sequential program
74,
75f
Medium access control (MAC) protocols
110
Message passing interface (MPI) 49990:t0030
4–5,
311
Parallel Virtual Machine middleware
119
point-to-point communication
127–132
Multiple instruction, multiple data (MIMD)
310
Multithreaded prime counter
N
O
compared to explicit threading
81
P
Parallel and distributed computing (PDC)
circuit fan-in and fan-out
Python-based computer science course
Python programming language
shared-memory concurrency control
Point-to-point communication
using buffers storage
130
POOL/map paradigm, Python
P Monte Carlo estimation
52,
53f
Python 49990:t0010 49990:t0050
extended communication via queue
41,
42f
harnessing parallel hardware
27
limited programming ability
28
multiple child process
45,
45f
security/resource management
28
traditional content
29–30
Python-based computer science course
Q
extended communication
41,
42f
R
Race condition, shared-memory concurrency control
Remote direct memory access (RDMA)
S
cartoonish characters and photographs
13
computer literacy course
12
Segmented inclusive scans
289
Sequential implementation
302
Shared-memory concurrency control 49990:t0045
failure/performance isolation
216
mutual-exclusion (
See Lock)
processor utilization
216
Shared memory parallelism
309,
310f
Single program, multiple data (SPMD)
310
Pool and Pool.map mechanism
34,
34f
Stack trace analysis tool (STAT)
124
Streaming SIMD Extensions (SSE) instructions
304
assignment statements
242
ConcurrentHashMap class
244,
245
System.out.println method
168
T
shared-memory concurrency control
215
Threads and shared memory
170f
multithreaded program
166f
U
Unary number
vs. binary number
88–89
V
W
Whack-a-mole game
22,
22f