forked from carpentries-incubator/hpc-intro
-
Notifications
You must be signed in to change notification settings - Fork 0
/
jargon.html
178 lines (131 loc) · 5.32 KB
/
jargon.html
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
<!DOCTYPE html>
<!--
This is a <a href="https://github.com/gnab/remark">remark</a>
presentation: plain Markdown with an HTML wrapper. Each "slide"
begins with "---"; presenter notes for each slide begin with "???"
and are not rendered. To see the finished presentation, please visit
https://carpentries-incubator.github.io/hpc-intro/files/jargon.html
-->
<html>
<head>
<title>HPC Jargon Buster</title>
<link href="favicon.png" rel="icon" type="image/png"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<style type="text/css">
@import url(https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz);
@import url(https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic);
@import url(https://fonts.googleapis.com/css?family=Ubuntu+Mono:400,700,400italic);
body { font-family: 'Droid Serif'; }
h1, h2, h3 {
font-family: 'Yanone Kaffeesatz';
font-weight: normal;
}
.remark-code, .remark-inline-code { font-family: 'Ubuntu Mono'; }
</style>
</head>
<body>
<textarea id="source">
class: center, middle
# High Performance Computing Jargon Buster
[The HPC Carpentry Community](https://www.hpc-carpentry.org)
???
> Press `C` to open a "clone", then `P` to toggle Presentation Mode.
HPC Carpentry is a community effort to develop educational materials
in the pedagogical style of The Carpentries.
The point of this presentation is to briefly introduce some scale-up
options, so that learners get a sense of the variety of ways this can
be done, and the source of some of the overloading of terminology
that will be used later in the lesson.
This non-interactive activity should be kept brief.
---
# Your Personal Computer
.center[
![Standalone computers (banana for scale)](../fig/jargon_standalone.svg)
]
- Familiar starting point, accessed locally
- Good for local computational tasks
- Highly flexible, easy to reconfigure for new tasks
???
A laptop and a desktop computer: you sit at the keyboard & mouse and
log in to the computer directly, often as the sole user.
Good at performing local and personal tasks: familiar but limited resources.
---
# Shared Computing Resources
.center[
![An HPC resource (img: [Julian Herzog](https://commons.wikimedia.org/wiki/File:High_Performance_Computing_Center_Stuttgart_HLRS_2015_07_Cray_XC40_Hazel_Hen_IO.jpg))](../fig/HPCCStuttgart_Hazel_Hen_XC40.png)
]
<!-- Image: https://commons.wikimedia.org/wiki/File:High_Performance_Computing_Center_Stuttgart_HLRS_2015_07_Cray_XC40_Hazel_Hen_IO.jpg, Julian Herzog. -->
- Large-scale computation is different
- It has a rich history, and confusing terminology
- Many terms overloaded
???
Computation at larger scales typically involves changes in how
things are done, and connection to remote computer systems and
transfer of data between systems.
There are many ways to do it, and the terminology can be confusing.
This presentation will step through some scale-up scenarios to help
frame the problem.
---
# A large computer
.center[
![A large computer (banana for scale)](../fig/jargon_large_computer.svg)
]
- More powerful "compute server"
- Accessed remotely, likely shared by a small group
- Less flexible — need to accommodate other users
???
First obvious way to scale, has more CPUs and memory, and more or
faster storage. Typically shared, run commercial or open-source
operating systems, may be called a "compute server". Typical tasks
are operations of large user-facing programs, like scientific models
or visualizations.
---
# Cloud Systems
.center[
![Cloud computers (bananas for scale)](../fig/jargon_multi_cluster.svg)
]
- Generally quite heterogeneous
- Many types of servers
???
Cloud systems physically resemble clusters or supercomputers, but
with greater heterogeneity among components, and less coupling, often
without an interconnect at all. Cloud servers are generally accessed
by connecting to their services over the network. Multiple virtual
machines may reside on individual physical machines. Typical tasks
are driven by user connections from the outside to the various "front
end" services (e.g. web sites) which pass traffic on to the "back
end" servers (e.g. databases) to present results to users.
---
# A cluster or supercomputer
.center[
![A cluster (banana for scale)](../fig/jargon_cluster.svg)
]
- Special "login node" or "head node" accessed remotely by users
- Compute service accessed via resource manager
- Some flexibility on local accounts
- Specially-built software for best performance
???
A collection of standalone computers that are networked together. They will
frequently have software installed that allow the coordinated running of other
software across all of these computers. This allows these networked computers
to work together to accomplish computing tasks faster.
---
# HPC workflow
.center[
![Schematic HPC workflow](../fig/jargon_workflow.png)
]
- You talk to the cluster head node
- The cluster head node distributes compute tasks
- You view results
???
In the usual HPC workflow, users do not communicate directly with
compute nodes, but work through a scheduling system to distribute
tasks.
</textarea>
<script src="https://remarkjs.com/downloads/remark-latest.min.js" type="text/javascript">
</script>
<script type="text/javascript">
var slideshow = remark.create();
</script>
</body>
</html>