-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdefinitions.tex
87 lines (74 loc) · 1.93 KB
/
definitions.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
\defclause
\begin{definitions}
For the purposes of this document,
the following terms and definitions apply.
\begin{comment}
\definition{thread of execution}{
flow of control within a program,
including a top-level statement or expression,
and recursively including every function invocation it executes%
\footnote{FYI:
Adapted from the C++ standard.
}
}
\definition{OS thread}{
service provided by an operating system,
which can be invoked using the
\tcode{thrd_create} function,
for executing multiple threads of execution concurrently
}
\begin{note}
There is typically significant overhead involved
in creating a new OS thread.
\end{note}
\end{comment}
\definition{thread}{
either the main thread of the program,
or a thread created by the program using
\tcode{thrd_create},
or a worker thread
}
\definition{worker thread}{
thread created by the implementation
(as if by
\tcode{thrd_create})
for the purpose of executing tasks in parallel
}
\begin{comment}
\definition{execution agent}{
entity, such as an OS thread,
that may execute a thread of execution
in parallel with other execution agents%
\footnote{FYI:
Adapted from the C++ standard.
}
}
\end{comment}
\definition{task}{
subsection of the flow of control
within a program
that can be correctly executed asynchronously
with respect to
other, independent tasks in
the program
}
\definition{concurrent program}{
program that uses multiple concurrent interacting threads of execution,
each with its own progress requirements
\begin{example}
A program that has separate server and client threads
is a concurrent program.
\end{example}
}
\definition{parallel program}{
program whose computation
involves independent tasks,
which may be distributed across multiple computational units
to be executed simultaneously
\begin{note}
If sufficient computational resources are available,
a parallel program may execute significantly faster than
an otherwise equivalent serial program.
\end{note}
}
\end{definitions}