Professional Documents
Culture Documents
Cloud Computing 01 Handout
Cloud Computing 01 Handout
Cloud Computing 01 Handout
2/70
original.
3/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Who am I
Prof. Dr.-Ing. Dipl.-Inform. Eicke Godehardt
Teaching and research interests:
Agile Project Management (esp. Scrum)
Software Engineering
Programming
Web and Mobile Development
Human-Computer-Interaction
Life Coaching
Tel.: +49 (0) 69/15 33-27 90
E-Mail: godehardt@fb2.fra-uas.de
Office: Building 1, Room 142 or probably @home
Thanx & Credits: Much of the content in this course is kindly
provided by Prof. Dr. Christian Baun
4/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Organizational Information
5/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
The Way a good Course works. . . Image source: Google Image Search
6/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Experience for several semesters. . .
7/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Generations of Computer Systems
8/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
5. Generation (2000–????)
Some keywords from the 5th generation:
The network is the computer
Distributed systems =⇒ Cluster-, Cloud-, Grid-,
P2P-Computing
Multicore processors and parallel applications
Virtualization =⇒ VMware, XEN, KVM, Docker. . .
OpenSource =⇒ Linux, BSD,. . .
Communication everywhere =⇒ mobile systems, pervasive
computing, edge computing
New ways of working =⇒ e-Science, e-Learning, e-Business,. . .
Services =⇒ Service-oriented architectures (SOA), Web
Services
Resources are requested and rent when needed =⇒ on demand
Artificial Intelligence (AI)
Some examples. . .
10/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Apple iPhone Image Source: pixabay.com (CC0)
14/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
15/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Google Chrome OS
16/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Amazon Kindle Image Source: pixabay.com (CC0)
17/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
18/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Who decides in the future about
censorship and freedom?
Politics?
Industry?
Population
(customers/citizens)?
19/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Interesting Article about this Topic: Parental
Computing
http://www.theatlantic.com/technology/archive/2011/09/the-clouds-my-mom-cleaned-my-room-problem/2
20/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Client-Server
21/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Tasks in the Client-Server Model
For a distributed application, that is based on the client-server
architecture, 5 tasks can be separated from each other:
Display (graphical) user interface
Calculation of the (graphical) user interface
Data processing
Data management
Data storage
The distribution of the tasks to clients and server determines the
client types
According to their areas of responsibility, 4 types of clients exist:
1. Text-/X-Terminals
2. Thin/Zero Clients
3. Applet Clients
4. Fat Clients
22/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Four Types of Clients in the Client-Server Model
X-Terminal or Text-Terminal
Only display the (graphical) user interface and transfer the user
interaction to the server
Calculation of the (graphical) user interface, data processing and
data storage, data management are tasks of the server
Thin Clients or Zero Clients
Calculate and display the graphical user interface
Applet Clients or Network Computers
Calculate and display the graphical user interface and do a part
of the data processing
The clients process the applications (applets) themselves
Fat Clients
Only data management and data storage are located on the (file
or database) server
23/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
(Text-)Terminal: WYSE WY-50 (early 1990s)
Image source:
Google
image search
24/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
(X-)Terminal: NCD 88K (mid-1990s)
25/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Network Computer: SUN JavaStation (1996–2000)
Image source:
Google
image search
26/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Fat Clients: Available everywhere Image source: Google image search
27/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Thin Clients Image source: HP
28/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
More Thin Clients
29/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Advantages and Drawbacks of Thin Clients
Advantages of Thin Clients
Low acquisition costs (approx e 500)
Reduced power consumption (a few watts) =⇒ reduced
operating costs
Reduced footprint (little space consumption)
Reduced noise, because no hard drive and sometimes fanless
Central storage of data is more efficient and more secure
Reduced resource consumption because of virtualization on the
server
Reduced effort (cost) for administration
Drawbacks of Thin Clients
No 3D graphics performance
Limited extensibility
Users fear storing their data outside of their PC (outside of their
own sphere of influence)
Server is a single point of failure and eventually a bottleneck
30/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Linux and Windows CE with 3 Watt (flush-mounted)
31/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Different Client-Server Scenarios (1/2)
h Day e e
0.53 kW ∗ 24 ∗ 365.25 ∗ 0.32 ∗ 500 = 743,356.8
Day Year kWh Year
32/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Different Client-Server Scenarios (1/2)
Scenario 2: Thin clients (PC)
Electrical power rating per thin client: 30 watts
Electrical power rating per screen: 80 watts
Electrical power rating per server blade: 600 watts
Each server blade has resources to interact with 30 thin clients
Electricity costs per year (including the leap year) for 500 thin cliens with screens:
h Day e e
0.11 kW ∗ 24 ∗ 365.25 ∗ 0.32 ∗ 500 = 154, 281.6
Day Year kWh Year
17 server blades are required to run the 500 computer workplaces.
Electricity costs per year (including the leap year) for 17 server blades.
h Day e e
0.6 kW ∗ 24 ∗ 365.25 ∗ 0.32 ∗ 17 ≈ 28, 612.23
Day Year kWh Year
Electricity costs per year for the thin clients, screens and server blades.
e e e
154, 281.6 + 28, 612.23 ≈ 182,893.83
Year Year Year
33/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Summary about the Clients Image Source: Google
35/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Analysis of the 3 Options
1. Optimization of the algorithms used
Algorithms cannot be optimized infinitely
2. Increased compute performance with faster Computers
(multi-core CPUs)
The compute power of a computer cannot be increased infinitely
Symmetric multiprocessing (SMP) has limitations
Memory bus becomes a bottleneck =⇒ (see slide 39)
Each additional CPU decreases the relative performance gain
Reason: The storage subsystems can not deliver the data fast enough to fully utilize all
available CPUs
37/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Transistor Count and Moore’s Law
38/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Von Neumann Bottleneck (1/2)
The data and control bus is increasingly becoming a bottleneck
between the CPU and memory
The main memory and the bus system are key factors for the
performance of a computer
1 1 1
= = ∗109 Hz = 0.2∗109 Hz = 2∗108 Hz = 200 MHz
5 ns 5 ∗ 10−9 s 5
The access time of DDR3-2400 SDRAM is 0.833 ns =⇒
1200 MHz
The access time of DDR4-4800 SDRAM is 0.417 ns =⇒
2400 MHz
Caches reduce bottleneck impact (=⇒ see memory hierarchy)
Cache is SRAM and its access speed is close to the CPU speed
SRAM = Static Random Access Memory
If multiple CPUs (or cores) share main memory and thus the
memory bus =⇒ impact of the Von Neumann bottleneck grows
40/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Amdahl’s Law Image source: archive.computerhistory.org
Published in 1967
Named after Gene Myron Amdahl
Calculates the maximum expected
acceleration of programs by parallel execution
on multiple CPUs
According to Amdahl, the performance gain is
limited mainly by the sequential part of the
problem
A program can never be fully executed in parallel
Program components such as process initialization and memory
allocation only run once on a single CPU
=⇒ Those parts of the program cannot be executed in parallel
Some parts of the program depend on the sequence of events,
input-output and of intermediate results
41/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Amdahl’s Law – Principle (1/3)
Source: https://en.wikipedia.org/wiki/Amdahls_law
N = number of CPUs
(1 − P) = sequential portion
(P/N) = accelerated parallel
portion
S = SpeedUp (acceleration)
1 1
S= P
≤
(1 − P) + N
(1 − P)
44/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Amdahl’s Law – Issues
Amdahl’s law does not take into account the cache and the
effects, which are caused by the cache in practice
A growing number of CPUs also increases the quantity of fast
memory which is available
In the optimal case, the entire data of the problem can be stored
in the cache, which is a faster than the main memory
In such a case (very rare!), a super-linear SpeedUp may occur,
leading to an acceleration exceeding additional compute power
46/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Gustafson’s Law Image source: siliconsemiconductor.net
47/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Gustafson’s Law: Speedup
Source: http://www.johngustafson.net/pubs/pub13/amdahl.pdf
48/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Example: Calculation of π via Monte Carlo Simulation
Inscribe a circle of radius r inside a square with
side length 2r
Generate random dots in the square
The number of dots in AC in relation to the
number of dots in AS is equal to the surface ratio
r = Radius AC π · r2 π · r2 π
A = Surface ratio = = =
C = Circle AS (2 · r )2 4 · r2 4
S = Square
4 · dots in AC
=π
dots in AS
Image source: Wikipedia
49/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
π Approximation with 32 Raspberry Pi 2 and MPI
33 Raspberry Pi 2
(900 MHz)
32 worker nodes and 1
master
128 CPU cores
24.7 Gflops
1 GB main memory per
node
100 MBit/s Ethernet
Source: https://www.tecchannel.de/a/
test-intel-core-i7-mit-nehalem-quad-core,
1775602
Performance and Energy-Efficiency Aspects of
Clusters of Single Board Computers. Christian Baun.
International Journal of Distributed and Parallel Systems Do you think the problem
(IJDPS), Vol.7, No.2/3/4, 2016, S.13-22.
http://aircconline.com/ijdps/V7N4/ size has a strong impact
7416ijdps02.pdf
on the scalability?
50/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
51/70
Speedup [s]
0
10
20
30
40
50
60
0
1
2
3
4
1 1.00 1 0.9732 5
2 .51 2 1.8878
4 .51 4 1.8964
8 .51 8 1.8792
16 .49 16 1.9664
32 .44 32 2.1848
1,000,000 points
64 .36 64 2.6772
Pi approximated with
Number of Cores
(Mean Time of 5 Tests)
Speedup [s]
0
10
20
30
40
50
60
0
1
2
3
4
5
Number of Cores
(Mean Time of 5 Tests)
Speedup [s]
0
10
20
30
40
50
60
0
5
10
15
20
25
30
64 64
Pi approximated with
Number of Cores
(Mean Time of 5 Tests)
Speedup [s]
0
10
20
30
40
50
60
0
50
100
150
200
250
300
1 1.00 1 271.5374
2 1.97 2 137.6018
4 3.85 4 70.4142
8 7.51 8 36.1448
16 14.17 16 19.154
32 25.14 32 10.799
64 39.09 64 6.9454
Pi approximated with
1,000,000,000 points
Number of Cores
(Mean Time of 5 Tests)
52/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
It was not a Beauty but it worked well. . .
53/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Speedup
54/70
Elapsed real (wall clock) time [s]
0
0.2
0.4
0.6
0.8
1
1.2
1.4
0
2
4
6
8
10
1 1.00 1 0.9034
2 1.05 2 0.8602
4 0.95 4 0.9444
8 0.95 8 0.9432
16 0.91 16 0.9904
32 0.74 32 1.2138
64 0.55 64 1.6176
128 0.31 128 2.9018
256 0.17 256 5.1404
1,000,000 points
Number of Cores
Number of Cores
512 0.09 512 9.7368
Pi approximated with
0
0.5
1
1.5
2
2.5
0
2
4
6
8
10
1 1.00 1 2.4278
2 1.50 2 1.613
4 1.59 4 1.5196
8 1.83 8 1.3204
16 2.05 16 1.184
32 1.86 32 1.3012
64 1.05 64 2.292
128 0.80 128 3.0266
256 0.47 256 5.1584
Number of Cores
Number of Cores
0.26 8.9948
10,000,000 points
512 512
Pi approximated with
0
2
4
6
8
10
0
2
4
6
8
10
12
14
16
18
1 1.00 1 17.6252
2 1.87 2 9.3952
4 2.37 4 7.436
8 3.79 8 4.6388
16 5.81 16 3.0318
32 7.58 32 2.3248
64 7.45 64 2.3628
128 5.73 128 3.0724
256 3.93 256 4.4822
Number of Cores
Number of Cores
0
5
10
15
20
25
30
35
40
0
20
40
60
80
100
120
140
160
180
1 1.00 1 169.43
2 1.98 2 85.222
Number of Cores
Number of Cores
1 1.00 1 1708.5738
2 1.99 2 854.776
4 2.66 4 640.5136
8 5.33 8 320.484
16 9.61 16 177.7266
32 18.02 32 94.8148
64 38.07 64 44.8752
128 68.17 128 25.0628
256 101.99 256 16.7522
Number of Cores
Number of Cores
1 1.00 1 17122.3088
2 2.00 2 8535.6374
4 2.64 4 6485.037
8 5.16 8 3315.2166
16 9.99 16 1712.9914
32 18.71 32 914.8944
64 36.58 64 468.0172
128 70.89 128 241.501
256 135.49 256 126.368
Number of Cores
Number of Cores
Combination of the
Parallel computation of
partial images to the
the partial images on =⇒ final image on one
the worker nodes
node
Parallel image computation in clusters with task-distributor. Christian Baun. SpringerPlus 2016 5:632.
http://springerplus.springeropen.com/articles/10.1186/s40064-016-2254-x
55/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Clusters used in 2015
Clusters with 8 nodes (RPi 1) each
One single core CPU per node
512 MB main memory per node
Mobile clusters of single board computers: an option for providing resources to student projects and researchers.
Christian Baun. SpringerPlus 2016 5:360.
http://springerplus.springeropen.com/articles/10.1186/s40064-016-1981-3
56/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Some Observations with task-distributor +
POV-Ray
We see: Laws and challenges of distributed systems Amdahl’s law: The
performance gain is
8
200x150
12
400x300
40
800x600
140
1600x1200
700
3200x2400
Runtime [s]
Runtime [s]
Runtime [s]
Runtime [s]
Runtime [s]
80 400
4 6 20
3 15
60 300
1000
problem, which is
4
2 10
40 200 sufficiently large, can be
500
1
2
5
20 100 parallelized efficiently
0
1 2 4
Nodes [#]
8
0
1 2 4
Nodes [#]
8
0
1 2 4
Nodes [#]
8
0
1 2 4
Nodes [#]
8
0
1 2 4
Nodes [#]
8
0
1 2 4
Nodes [#]
8 The sequential part gets
more and more
200x150 400x300 800x600 1600x1200 3200x2400 6400x4800
unimportant as the
5 5 5 5 5 5
number of CPUs rises
4.13
4 4 4 4
3.55
4 4 3.86
Swap with 6400x4800
3 3 3 3 3 3
(convert consumes
2.71
2.58
approx. 500 MB RAM for
Speedup
Speedup
Speedup
Speedup
Speedup
Speedup
2.48
2.38
2.10
2 2 2
1.54
2
1.70
2 1.76 2
1.65 putting together the partial
1.36
1.28 1.26
1
1.00
.92 .85
.69
1
1.00
1
1.00
1
1.00
1
1.00
1
1.00 images. But we had just
512 MB - 16 MB for the
0
1 2 4
Nodes [#]
8
0
1 2 4
Nodes [#]
8
0
1 2 4
Nodes [#]
8
0
1 2 4
Nodes [#]
8
0
1 2 4
Nodes [#]
8
0
1 2 4
Nodes [#]
8 GPU - Space for Linux)
57/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Magnitudes of Data
Magnitudes and units
The size of storage is measured in Bytes
Kilobyte (KB) 103 = 1,000 Bytes 210 = 1,024 Bytes
Megabyte (MB) 106 = 1,000,000 Bytes 220 = 1,048,576 Bytes
Gigabyte (GB) 109 = 1,000,000,000 Bytes 230 = 1,073,741,824 Bytes
Terabyte (TB) 1012 = 1,000,000,000,000 Bytes 240 = 1,099,511,627,776 Bytes
Petabyte (PB) 1015 = 1,000,000,000,000,000 Bytes 250 = 1,125,899,906,842,624 Bytes
Exabyte (EB) 1018 = 1,000,000,000,000,000,000 Byte 260 = 1,152,921,504,606,846,976 Bytes
Zettabyte (ZB) 1021 = 1,000,000,000,000,000,000,000 Byte 270 = 1,180,591,620,717,411,303,424 Bytes
59/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Seymour Cray (1925–1996)
Seymour Cray founded Cray
Research in 1972, the first
successful company for the
development and sale of
supercomputers
Cray was an opponent of the
multiprocessing
Crays supercomputers had
few, but very powerful CPUs
Image source:
http://www.cray-cyber.org/memory/scray.php
60/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Background
Until the 1990s, the acceleration of single CPU had much
potential to increase the compute power
Today, it is hardly possible to accelerate individual CPU cores,
without causing an increase in the required electric power input,
which causes to additional waste heat
Ultimate limits will prevent Moore’s law to be valid forever
Someday, the traditional way to improve the performance of
CPUs (increasing the packing density and clock frequency) will
no work any longer
In the last years, increasing the CPU performance was achieved
almost exclusively by increasing the number of CPU cores
At the time of Seymour Cray, powerful computers were
expensive
Since several years, the CPUs of inexpensive desktop systems
are almost as powerful as CPUs in supercomputers
61/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Parallel Computers
62/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Distributed Memory =⇒ Cluster Systems (Slide Set 2)
Each CPU can only access its own local memory
The communication between the CPUs takes place via a
network connection
Network connections are much slower, compared with the data
rate between CPU and memory
In a parallel computer, every single CPU and it’s local memory,
is an independent node
A system with distributed
memory is also called
Cluster or Multicomputer,
because each node is an
independent computer with
a Von Neumann
architecture
Nodes of the cluster can
also be SMP systems. . .
63/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Shared Memory
For systems with shared memory, the entire memory is part of
a uniform address space, which is accessed by all CPUs
The memory is accessed via an interconnect
65/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Examples for Asymmetric Multiprocessing (1/2)
IBM Cell processor
A single main CPU (PowerPC Processing Element) and 8 CPUs
(Synergistic Processing Elements), which are specialized for
calculations
Image source:
Image source: IBM
http://w3.impa.br/~andmax/images/sbac2009.jpg
66/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Examples for Asymmetric Multiprocessing (2/2)
Digital Equipment
Corporation (DEC)
VAX-11/782
All I/O devices
must be connected
to the primary CPU
Source: http://www.9track.net/pdf/dec/vms/v3/aa-m543a-te.pd
67/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
Dual or Quad Processor Mainboard (SMP)
Image source: Google image search, servershop24.de, ebay (Supermicro), Puget Systems
68/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
In the Professional Sector Today: Blades (IBM HS21)
69/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020
BladeCenter for the Blades (IBM HS20)
70/70 Prof. Dr. Eicke Godehardt | Cloud Computing | Summer Semester 2020