Enabling Technologies and Distributed System Models

SarveshPV 299 views 105 slides Sep 01, 2024
Slide 1
Slide 1 of 105
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71
Slide 72
72
Slide 73
73
Slide 74
74
Slide 75
75
Slide 76
76
Slide 77
77
Slide 78
78
Slide 79
79
Slide 80
80
Slide 81
81
Slide 82
82
Slide 83
83
Slide 84
84
Slide 85
85
Slide 86
86
Slide 87
87
Slide 88
88
Slide 89
89
Slide 90
90
Slide 91
91
Slide 92
92
Slide 93
93
Slide 94
94
Slide 95
95
Slide 96
96
Slide 97
97
Slide 98
98
Slide 99
99
Slide 100
100
Slide 101
101
Slide 102
102
Slide 103
103
Slide 104
104
Slide 105
105

About This Presentation

Cloud Computing Unit 1


Slide Content

Distributed and Cloud Computing

Prepared by Kai Hwang
University of Southern California
March 28, 2012

Copyright © 2012, Elsevi

1.1 Scalable Computing over the Internet...
1.1.1 The Age of Internet Computing........
1.1.2 Scalable Computing Trends and New
Paradigms.

1.1.3 The Internet of Things and Cyber-
Physical Systems. ................ "0
ee 11

SCALABLE COMPUTING OVER THE
INTERNET
Data Deluge Enabling New Challenges

Hardware

Hardware Virtualization
Multicore chips _
AA

ui = Goud Internet

vistes (Gé Computing Ey. we Technology

Computing ieh E a he a

“Autonomic Computing
Datacenter automation

Systems Management

From Desktop/HPC/Grids to
Internet Clouds in 30 Years

EM HPC moving from centralized supercomputers
to geographically distributed desktops, desksides,

clusters, and grids to clouds over last 30 years

Location of computing infrastructure in areas with
lower costs in hardware, software, datasets,
space, and power requirements — moving from

desktop computing to datacenter-based clouds

Interactions among 4 technical challenges :

(Courtesy of Judy Qiu, Indiana University, 2011)

Copyright ©2012, Elsevier Inc. AI rights reserved. 17

i. The Age of Internet Computing

e Billions of people use the Internet every day. As
a result, supercomputer sites and large data
centers must provide high-performance
computing services to huge numbers of Internet
users concurrently.

e HPC/HTC

e We have to upgrade data centers using fast
servers, storage systems, and high-bandwidth
networks. The purpose is to advance network-
based computing and web services with the
emerging new technologies.

6

ii. The Platform Evolution

Computer technology has gone through five generations
of development,

1950 to 1970, a handful of mainframes, including the
IBM 360 and CDC 6400, were built to satisfy the
demands of large businesses and government
organizations.

1960 to 1980, lower-cost minicomputers such as the
DEC PDP 11 and VAX Series became popular among
small businesses and on college campuses.

1970 to 1990, we saw widespread use of personal
computers built with VLSI microprocessors.

From 1980 to 2000, massive numbers of portable
computers and pervasive devices appeared in both
wired and wireless applications

Since 1990, the use of both HPC and HTC systems
hidden in clusters, grids, or Internet clouds 7

y > ] Homogeneous
Disparate | =e | | ire Sytem) Nome

ruesharing \\ IC? sigh speed

P2P Network alized

NES
Geographicay Spa A _

Control

iented

are SOA) RFID and

Y Sensors

Vettes mF

Cwen2.0 Services = Internet of Things >
€ net Clouds 3

Source: K.Hwang, G. Fox, and J. Dongarra,
Distributed and Cloud Computing,
Morgan Kaufmann, 2012.

Copyright © 2012, Elsevier Inc. All rights reserved.

HPC: High-
Performance
Computing
HTC: High-
Throughput
Computing

P2Rs
Peer to Peer

MPP:
Massively Parallel

Processors

High-performance computing (HPC) is the use of parallel
processing for running advanced application programs
efficiently, reliably and quickly. The term applies especially to
systems that function above a teraflop or 10/2 floating-point
operations per second.

High-throughput computing (HTC) is a computer science
term to describe the use of many computing resources over
long periods of time to accomplish a computational task.

HTC paradigm pays more attention to high-flux computing.
The main application for high-flux computing is in Internet
searches and web services by millions or more users
simultaneously.

The performance goal thus shifts to measure high throughput
or the number of tasks completed per unit of time.

HTC technology needs to not only improve in terms of batch
processing speed, but also address the acute problems of
cost, energy savings, security, and reliability at many data
and enterprise computing centers.

9

iil. Three New Computing Paradigms

e With the introduction of SOA, Web 2.0
services become available.

e Advances in virtualization make it
possible to see the growth of Internet
clouds as a new computing paradigm.

e The maturity of — radio-frequency
identification (RFID), Global Positioning
System (GPS), and sensor technologies
has triggered the development of the
Internet of Things (loT).

iv.Computing Paradigm Distinctions

In general, distributed computing is the opposite of centralized
computing. The field of parallel computing overlaps with
distributed computing to a great extent, and cloud computing
overlaps with distributed, centralized, and parallel computing.

i. Centralized computing - paradigm by which all computer
resources are centralized in one physical system. All
resources (processors, memory, and storage) are fully shared
and tightly coupled within one integrated OS. Many data
centers and supercomputers are centralized systems, but they
are used in parallel, distributed, and cloud computing

applications

li. Parallel computing :; here.. all processors are
either tightly coupled with centralized shared
memory or loosely coupled with distributed
memory.

Interprocessor communication is accomplished
through shared memory or via message passing.

A computer system capable of parallel computing is
commonly known as a parallel computer .

Programs running in a parallel computer are called
parallel programs.

The process of writing parallel programs is often
referred to as parallel programming.

iii. Distributed computing : field of computer
science/engineering that studies distributed
systems.

A distributed system consists of multiple
autonomous computers, each having its own
private memory, communicating through a
computer network.

Information exchange in a distributed system is
accomplished through message passing.

A computer program that runs in a distributed
system is known as a distributed program. The
process of writing distributed programs is referred
to as distributed programming.

13

iv.Cloud computing : An Internet cloud of resources

can be either a centralized or a distributed

computing system.

e The cloud applies parallel or distributed
computing, or both.

e Clouds can be built with physical or virtualized
resources over large data centers that are
centralized or distributed.

e Some authors consider cloud computing to be a
form of utility computing or service computing.

e high-tech community prefer the term concurrent
computing or concurrent programming. These
terms typically refer to the union of parallel
computing and distributing computing |

Ubiquitous computing refers to computing with
pervasive devices at any place and time.. using
wired or wireless communication.

The Internet of Things (loT) is a networked
connection of everyday objects including
computers, sensors, humans, etc.

The loT is supported by Internet clouds to
achieve ubiquitous computing with any object at
any place and time.

Finally, the term Internet computing is even
broader and covers all computing paradigms
over the Internet

v.Distributed System Families

e Technologies used for building P2P networks and
networks of clusters have been consolidated into many
national projects designed to establish wide area
computing infrastructures, known as computational grids or
data grids

e Internet clouds are the result of moving desktop computing
to service-oriented computing using server clusters and
huge databases at data centers.

e In October 2010, the highest performing cluster machine
was built in China with 86016 CPU processor cores and
3,211,264 GPU cores in a Tianhe-1A system.

The largest computational grid connects up to hundreds of
server clusters.

<A graphics processing unit (GPU), also occasionally called visual processing unit
(VPU), is a specialized electronic circuit designed to rapidly manipulate and alter
memory to accelerate the creation of images in a frame buffer intended for output to
a display.>

16

e Inthe future, both HPC and HTC systems will
demand multicore or many-core processors that
can handle large numbers of computing threads
per core.

e Both HPC and HTC systems emphasize
parallelism and distributed computing.

e Future HPC and HTC systems must be able to
satisfy this huge demand in computing power in
terms of throughput, efficiency, scalability, and
reliability.

e The system efficiency is decided by speed,
programming, and energy factors (i.e., throughput
per watt of energy consumed).

Meeting these goals requires to yield the following design
objectives:

Efficiency measures the utilization rate of resources in an
execution model by exploiting massive parallelism in HPC.
For HTC, efficiency is more closely related to job
throughput, data access, storage, and power efficiency.

Dependability measures the reliability and self-
management from the chip to the system and application
levels. The purpose is to provide high-throughput service
with Quality of Service (QoS) assurance, even under failure
conditions.

Adaptation in the programming model measures the ability
to support billions of job requests over massive data sets
and virtualized cloud resources under various workload and
service models.

Flexibility in application deployment measures the ability of
distributed systems to run well in both HPC (science and
engineering) and HTC (business) applications.

Scalable Computing Trends and New
Paradigms

e Degrees of Parallelism

when hardware was bulky and expensive, most computers were designed
in a bit-serial fashion.

bit-level parallelism (BLP): converts bit-serial processing to word-level
processing gradually.

Over the years, users graduated from 4-bit microprocessors to 8-,16-, 32-,
and 64-bit CPUs. This led us to the next wave of improvement, known as
instruction-level parallelism (ILP) , in which the processor executes
multiple instructions simultaneously rather than only one instruction at a
time.

For the past 30 years, we have practiced ILP through pipelining, super-
scalar computing,

VLIW (very long instruction word) architectures, and multithreading.

ILP requires branch prediction, dynamic scheduling, speculation, and
compiler support to work efficiently.

Data-level parallelism (DLP): was made popular through SIMD (single
instruction, multiple data) and vector machines using vector or array
types of instructions.

DLP requires even more hardware support and compiler assistance to
work properly. Ever since the introduction of multicore processors and
chip multiprocessors (CMPs) ,

we have been exploring task-level parallelism (TLP) .

A modern processor explores all of the aforementioned parallelism
types. In fact, BLP, ILP, and DLP are well supported by advances in
hardware and compilers. However, TLP is far from being very successful
due to difficulty in programming and compilation of code for efficient
execution on multicore CMPs.

As we move from parallel processing to distributed processing, we will
see an increase in computing granularity to job-level parallelism (JLP)

‚It is fair to say that coarse-grain parallelism is built on top of fine-grain
parallelism

20

e Innovative Applications

Few key applications that have driven the development of
parallel and distributed systems over the years

Table 1.1 Applications of High-Performance and High-Throughput Systems
Domain Specific Applications

Science and engineering ‘Scientific simulations, genomic analysis, ote

prediction, global warming, woathor forecasting, etc
Busines: tion, services Telecammunication, content delivery, e-commerce, et
s Banking, stock exchanges, transaction proce
Air traffic

government, online ta

Mission-critical applications Miltary command and cont

These applications spread across many important domains in science, engineering,
business, education, health care, traffic control, Internet and web services, military,
and government applications.

Almost all applications demand computing economics. web-scale data collection.
system reliability, and scalable performance. For example, distributed transaction
processing is often practiced in the banking and finance industry. Transactions
represent 90 percent of the existing market for reliable banking systems.

2

The Trend toward Utility
Computing:Technology Convergence toward
HPC for Science and HTC for Business

Web services
Datacentres

Utility Computing HTC in

des i Business
Service Computing and HPC in

Grid Computing / Scientific
P2P Computing Applications
oud Computing

Computing Paradigms

® Ubiquitous: Reliable and Scalable
E Autonomic : Dynamic and Discovery
E Composable : QoS, SLA, etc.

Attributes/Capabilities

(Courtesy of Raj Buyya, University of Melbourne, 2011)

Copyrig 2, Elsevier Inc. All rights reserved.

2011 Gartner “IT Hype Cycle” for Emerging Technologies

2010

expectations.

=

Hosted Vitual JA,

rust Wr aT.

Trough of
Disillusionment

Peak of
Inflated
Expectations

Plateau of
Productivity

Technology

Trigger Slope of Enlightenment

time

toyears A Mere than 10 years

ler Inc.All rights reserved.

Disillusionment:a feeling of disappointment resulting from the
discovery that something is not as good as one believed it to be.

Inflated: excessively or unreasonably high.

Enlighten: greater knowledge and understanding about a subject or
situation.

Trough:::low point. a short period of low activity, low prices etc

Cyber-Physical Systems

A cyber-physical system (CPS) is the result of interaction between
computational processes and the physical world. A CPS integrates “
cyber ” (heterogeneous, asynchronous) with“ physical ” (concurrent
and information-dense) objects. A CPS merges the “ 3C ”
technologies of computation, communication , and control into an
intelligent closed feedback system between the physical world and
the information world, a concept which is actively explored in the
United States.

24

1000000
Processor speed
100000 || —8— Network bandaicth dsl Core IT BOX
Intel Gore 2 0X9770 100000
AMD athlon FX-60_:7 <p, 7
10000 Intel Pentium 4 „MOSE 2
2 ee +
SN Intel Pentium It an 10000 &
7 Intel Pentium Pro 3
8 Intel Pentium 5
3
5 100 : mo À
El Moterola 68040 Gigabit ethernet E
= 404 Motorola 68030 ¿
2
Intel 266, MER RR Fast ethemet 100
1
VAX 11/780 __
Ethers =
0.1 ee 10
1978 1981 1984 1987 1990 1993 1996 1999 2002 2005 2008 2011
FIGURE 1.4
Improveme ssor and network technologies over 33 years

Multicore Processor

Corel

Core2

Core n

L1 Cache

L1 Cache

L1 Cache)

L2 Cache

L3 Cache / DRAM

Single-Chip Multi-
Processors (CMP)

Copyright O 2012, Elsevier Inc. AI rights reserved.

Multicore CPU and Many-Core GPU Architectures

e Multicore CPUs may increase from the tens of cores to hundreds or
more in the future

e Butthe CPU has reached its limit in terms of exploiting massive DLP
due to the aforementioned memory wall problem.

e This has triggered the development of many-core GPUs with
hundreds or more thin cores.

e 1A-32 and IA-64 instruction set architectures are built into commercial
CPUs.

e Now, x-86 processors have been extended to serve HPC and HTC;
systems in some high-end server processors.

e Many RISC processors have been replaced with multicore x-86
processors and many-core GPUs in the Top 500 systems.

e This trend indicates that x-86 upgrades will dominate in data centers
and supercomputers.

e The GPU also has been applied in large clusters to build
supercomputers in MPPs

e Infuture , house both fat CPU cores and thin GPU cores on the
same chip

27

Threads

A thread is a basic unit of CPU utilization;

It comprises of a thread ID, a program counter, a
register set, and a stack

It shares with other threads belonging to the same
process its code section, data section, and other
operating-system resources, such as open files and
signals.

A traditional (or heavyweight) process has a single
thread of control

If a process has multiple threads of control, it can
perform more than one task at a time.

[e] [ama] [ue cove] [om] [tes

registers stack

registers || registers || rogistors

stack ||| stack ||] stack

single-threaded multithreaded

Thread 1 Thread 5
FA Em
N [mi
Thread 2 Thread 4 Jule slot (blank)
issue Fine-grain Dual-core aneous
Superscalur Multithreaded (2-processor Multithreaded
Processor Processor CMP) (SMT) Processor
1
| I 1e]
[_ len: lem]
Om
OOD

Figure 1. 8 Five micro-architectures that are current in use in modern processors that exploit
both ILP and TLP supported by multicore and multithreading technologies

The superscalar processor is single-threaded with four functional
units. Each of the three multithreaded processors is four-way
multithreaded over four functional data paths.

In the dual-core processor, assume two processing cores, each a
single-threaded two-way superscalar processor.

Instructions from different threads are distinguished by specific
shading patterns for instructions from five independent threads.
Typical instruction scheduling patterns are shown here.

Only instructions from the same thread are executed in a superscalar
processor.

Fine-grain multithreading switches the execution of instructions from
different threads per cycle.

Course-grain multithreading executes many instructions from the
same thread for quite a few cycles before switching to another thread.
The multicore CMP executes instructions from different threads
completely.

The SMT allows simultaneous scheduling of instructions from different

threads in the same cycle. Ms

GPU Computing to Exascale and Beyond

e AGPUis a graphics coprocessor or accelerator mounted
on a computer s graphics card or video card.

e A GPU offloads the CPU from tedious graphics tasks in
video editing applications.

e The world's first GPU, the GeForce 256, was marketed
by NVIDIA in 1999.

e These GPU chips can process a minimum of 10 million
polygons per second, and are used in nearly every
computer on the market today.

e Some GPU features were also integrated into certain
CPUs.

e Traditional CPUs are structured with only a few cores.
For example, the Xeon X5670 CPU has six cores.
However, a modern GPU chip can be built with hundreds
of processing cores.

31

How GPUs Work

e Early GPUs functioned as coprocessors attached to the CPU.

e Today, the NVIDIA GPU has been upgraded to 128 cores on
a single chip.

e Furthermore, each core on a GPU can handle eight threads
of instructions.

e This translates to having up to 1,024 threads executed
concurrently on a single GPU.

e This is true massive parallelism, compared to only a few
threads that can be handled by a conventional CPU.

e Modern GPUs are not restricted to accelerated graphics or
video coding.

e They are used in HPC systems to power supercomputers
with massive parallelism at multicore and multithreading
levels.

e GPUs are designed to handle large numbers of floating-point
operations in parallel.

32

Architecture of A Many-Core
Multiprocessor GPU interacting
with a CPU Processor

Multiprocessor N

2, Elsevier Inc. All rights reserved.

GPU Programming Model

e The CPU instructs the GPU to perform massive
data processing.

e The bandwidth must be matched between the
on-board main memory and the on-chip GPU
memory.

e This process is carried out in NVIDIA’s CUDA
programming using the GeForce 8800 or Tesla

and Fermi GPUs.

Figure 1.8 shows the architecture of the Fermi
GPU, a next-generation GPU from NVIDIA. This
is a streaming multiprocessor (SM) module.

Multiple SMs can be built on a single GPU chip.
The Fermi chip has 16 SMs implemented with 3
billion transistors.

Each SM comprises up to 512 streaming
processors (SPs), known as CUDA cores.

In November 2010, three of the five fastest
supercomputers in the world (the Tianhe-1a,
Nebulae, and Tsubame) used large numbers of
GPU chips to accelerate _ floating-point
computations.

35

CUDA core
Dept port

Opera cece
4

FP unt D mT une

, 4

nen queso

LUE

‘Warp sceau

i

Disp un

ager Me (92,768 22-11)

I

+

seu

sru

sru

sjels]js]elsls]:

10000006
¿Jess [99]. Js

sru

84 KB shared memory cache

Copyright © 201

Elsevier Inc. Al rights reserved,

There are 32 CUDA cores per SM. Only one SM is shown
in Figure 1.8.

Each CUDA core has a simple pipelined integer ALU and
an FPU that can be used in parallel.

Each SM has 16 load/store units allowing source and
destination addresses to be calculated for 16 threads per
clock.

There are four special function units (SFUs) for executing
transcendental instructions.

All functional units and CUDA cores are interconnected by
an NoC (network on chip) to a large number of SRAM
banks (L2 caches).

Each SM has a 64 KB L1 cache. The 768 KB unified L2
cache is shared by all SMs and serves all load, store, and
texture operations.

Memory controllers are used to connect to 6 GB of off-chip
DRAMs.

37

The SM schedules threads in groups of 32
parallel threads called warps.

In total, 256/512 FMA (fused multiply and add)
operations can be done in parallel to produce
32/64-bit floating-point results.

The 512 CUDA cores in an SM can work in
parallel to deliver up to 515 Gflops of double-
precision results, if fully utilized.

Power Efficiency of the GPU

The GPU performance (middle line, measured 5 Gflops/W/core in
2011), compared with the lower CPU performance (lower line

measured 0.8 Gflops/W/core in 2011) and the estimated 60
Gflops/W/core performance in 2011 for the Exascale (EF in upper
curve) in the future.

ENERGY FACTOR is a metric used to compare the energy conversion
efficiency of residential appliances and equipment

100

10

GPU - 5 Gflopsw

Gflops/W (core)

SPU
—cpu
EF

1
2010 2013 2016

FIGURE 1.9
GPU an
Exascale systems,

Mallcore projected in future

U performance in G

Memory, Storage, and Wide-Area Networking
e Memory Technology

Memory access time did not improve much in the past.
In fact, the memory wall problem is getting worse as the processor gets
faster.

For hard drives, capacity increased from 260 MB in 1981 to 250 GB in
2004.

The Seagate Barracuda XT hard drive reached 3 TB in 2011.

This represents an approximately 10x increase in capacity every eight
years.

e Disks and Storage Technology

The rapid growth of flash memory and solid-state drives (SSDs) also
impacts the future of HPC and HTC systems.

Atypical SSD can handle 300,000 to 1 million write cycles per block
Eventually, power consumption, cooling, and packaging will limit large
system development.

Power increases linearly with respect to clock frequency and
quadratic ally with respect to voltage applied on chips.40

3
E
=

0.01

1978

FIGURE 1.10

Memory chip
—#- Disk capacity

Lomega

tea
Seagate ST-506

Seagate ST43400N

1668
Seagate
Barracuda XT,
Hitachi GST
WDC WD1200J8

Maxtor
DiamondMax 2160

Disk capacity (GB)

1981 1984 1987 1990 1993 1996

1999 2002 2005 2008

Improvement

disk technologies over 33 year

of 3 TB in 2011.

The Seagate Barracuda XT disk has a capacity

ity of Southern Cakforia,

System-Area Interconnects

Client hosts
(PCAWS)

Ns m

Network storage + Severs
(disk arrays) \ / (large machines)
Na /
us

FIGURE 1.11

s with large

Wide-Area Networking

Rapid growth of Ethernet bandwidth from 10 Mbps in
1979 to 1 Gbps in 1999, and 40 ~ 100 GE (Gigabit
Ethernet )in 2011. It has been speculated that 1 Tbps
network links will become available by 2013

An increase factor of two per year on network
performance was reported, which is faster than
Moore's law on CPU speed doubling every 18 months.

The implication is that more computers will be used
concurrently in the future.

High-bandwidth networking increases the capability of
building massively distributed systems.

43

Virtualization

Virtual Machines and
Virtualization Middleware

Virtual machines (VMs) offer novel solutions to
underutilized resources, application inflexibility,
software manageability, and security concerns in
existing physical machines.

Today, to build large clusters, grids, and clouds,
we need to access large amounts of computing,
storage, and networking resources in a
virtualized manner.

We need to aggregate those resources, and
hopefully, offer a single system image.

In particular, a cloud of provisioned resources
must rely on virtualization of processors,
memory, and I/O facilities dynamically.

45

Architectures of three VM configurations

Application

Guest apps

Guest apps

Guest apps

Guest OS

Guest OS

Operating system
(08)

Hardware

(hypervisor)

Hardware

Hardware

Hardware

(a) Physical machine

FIGURE 1.12

(b) Native VM

(c) Hosted VM

(@) Dua-mode VM

Nonprivileged
mode in user

Privileged
made in
system
space

), and (d), compared with the traditional physical machine shown in (a).

The VM is built with virtual resources managed by a
guest OS to run a specific application. Between the VMs
and the host platform, one needs to deploy a middleware
layer called a virtual machine monitor (VMM).

1.12(b) shows a native VM installed with the use of a
VMM called a hypervisor in privileged mode.

For example, the hardware has x-86 architecture
running the Windows system & guest OS could be a
Linux system and the hypervisor is the XEN system
developed at Cambridge University. This hypervisor
approach is also called bare-metal VM, because the
hypervisor handles the bare hardware (CPU, memory,
and I/O) directly.

Another architecture is the host VM shown in Figure
1.12(c). Here the VMM runs in nonprivileged mode. The
host OS need not be modified.

The VM can also be implemented with a dual mode

(@) Matiplexing (6) Suspension (storage)

(e) Provision (resume) (d) Lita migration

FIGURE 1.13

VM multiplexing, suspension, provision, and migration in a distributed computing environment.
(Courtesy of M. Rosenblum, Keynote address, ACM ASPLOS 2006 (41))

1-48

First, the VMs can be multiplexed between hardware
machines, as shown in Figure 1.13(a).

Second, a VM can be suspended and stored in stable
storage, as shown in Figure 1.13(b).

Third, a suspended VM can be resumed or provisioned
to a new hardware platform, as shown in Figure 1.13(c).
Finally, a VM can be migrated from one hardware
platform to another, as shown in Figure 1.13(d).

These VM operations enable a VM to be provisioned to
any available hardware platform. They also enable
flexibility in porting distributed application executions.

49

Virtual Infrastructures

Virtual infrastructure is what connects resources
to distributed applications. It is a dynamic
mapping of system resources to specific
applications.

The result is decreased costs and increased
efficiency and responsiveness.

Virtualization for server consolidation and
containment is a good example

Data Center Virtualization for Cloud
Computing

Datacenter and Server Cost Distribution

ustomer spending ($B) Millions installed servers
$300

— Physical server installed base (Millions) 80
Logical server installed base (Millions)
$250 a Power & cooling expense À a

© Management cost Hl eo
| a Server spending /
$200 WWirtualization
I management
Mm gap
$150 | 40
$100 ye |
Ls
20
“at lalala |

$0
08 ‘09 “10 ‘11 12 13

Data Center Growth and Cost Breakdown
e A large data center may be built with thousands of
servers.

e Smaller data centers are typically built with hundreds of
servers.

e The cost to build and maintain data center servers has
increased over the years.

e Figure 1.14, typically only 30 percent of data center costs
goes toward purchasing IT equipment (such as servers
and disks),

33 percent is attributed to the chiller,
18 percent to the uninterruptible power supply (UPS),
9 percent to computer room air conditioning (CRAC), and

the remaining 7 percent to power distribution, lighting,
and transformer costs.

e Thus, about 60 percent of the cost to run a data center is
allocated to management and maintenance. *

Virtual Machine Architecture

Memory

After Virtualization:

- Hardware-independence of operating
system and applications

- Virtual machines can be provisioned to any

1 application a
ing them into vi

(Courtesy of VMWare, 2010)

Elsevier Inc. Al rights reserved, 53

Convergence of Technologies

cloud computing is enabled by the convergence of technologies in
four areas:

(1) hardware virtualization and multi-core chips,

(2) utility and grid computing,

(3) SOA, Web 2.0, and WS mashups, and

(4) atonomic computing and data center automation.

«Hardware virtualization and multicore chips enable the existence of
dynamic configurations in the cloud.

«Utility and grid computing technologies lay the necessary

foundation for computing clouds.

«Recent advances in SOA, Web 2.0, and mashups of platforms are
pushing the cloud another step forward.
*Finally, achievements in autonomic computing and automated data

center operations contribute to the rise of cloud computing.

Table 1.2 Classification of Distributed Parallel Computing Systems

Functionality, | Multicomputer Peer-to-Peer Data/Computational Cloud Platforms
Applications | Clusters [27,33] | Networks [40] Grids [6,42] [1,9, 12, 17, 29]
Architecture, [Network of compute [Flexible network of [Heterogeneous clusters [Virtualized cluster of
Network nodes interconnected [cient machines __ interconnected by high-_|servers over datacenters
Connectivity [by SAN, LAN, or |logically connected by [speed network links over [via service-level
and Size _|WAN, hierarchically [an overlaynetwork [selected resource sites. agreement
Control and [Homogeneous nodes [Autonomous client — [Centralized control, |Dynamic resource
Resources with distrbuted control nodes, free in and out [server oriented with [provisioning of servers,
Management running Unix or Linux (with distrbuted self- [authenticated security, storage, and networks
organization land static resources wer massive datasets
Applications High-performance [Most appealing to [Distributed super- Upgraded web search,
and network- |computing, search business fie sharing, |computing, global lutity computing, and
centric services |engines, and web [content delivery, and [problem solving, and joutsourced computing
(services, etc. social networking [datacenter services [services
Representative [Google search engine, |Gnutella, eMule, [TeraGrid, GrPhyN, [Google App Engine, IBM|
Operational [SunBlade, IBM Road [BitTorrent, Napster, |UK EGEE, D-Grid [Biuecioud, Amazon Web
Systems — [Runner, Cray XTA, etc |KaZaA, Skype, JXTA, |ChinaGnd, etc [Service(AWS), and
and NET [Microsoft Azure,

Concept of Virtual Clusters

Virtual Cluster 1

Fig. 1. A Campus Area Gric

(Source: W.

Clusters of Cooperative Computers

A computing cluster consists of interconnected
stand-alone computers which work cooperatively
as a single integrated computing resource.

Copyright ©2012, Elsevier Inc. All rights reserved.

A Typical Cluster Architecture

la

FIGURE 1.15

Gateway |
| The Internet
\

(Ethernet Monet, InfiniBand, etc.)



1/0 devices

Disk arrays

indwidth SAN or LAN with sh
e Internet.

Above shows the architecture of a typical server cluster
built around a low-latency, highbandwidth
interconnection network.

This network can be as simple as a SAN (e.g., Myrinet)
or a LAN (e.g., Ethernet).

To build a larger cluster with more nodes, the
interconnection network can be built with multiple levels
of Gigabit Ethernet, Myrinet, or InfiniBand switches.
Through hierarchical construction using a SAN, LAN, or
WAN, one can build scalable clusters with an increasing
number of nodes.

The cluster is connected to the Internet via a virtual
private network (VPN) gateway. The gateway IP
address locates the cluster.

59

Single-System Image

an ideal cluster should merge multiple system
images into a single-system image (SSI).

Cluster designers desire a cluster operating
system or some middleware to support SSI at
various levels, including the sharing of CPUs,
memory, and I/O across all cluster nodes.

An SSI is an illusion created by software or

hardware that presents a collection of resources
as one integrated, powerful resource.

SSI makes the cluster appear like a single
machine to the user.

Hardware, Software, and Middleware Support

e building blocks are computer nodes (PCs,
workstations, servers, or SMP), special
communication software such as PVM or MPI, and
a network interface card in each computer node.
Most clusters run under the Linux OS.

e The computer nodes are interconnected by a high-
bandwidth network (such as Gigabit Ethernet,
Myrinet, InfiniBand, etc.).

e Special cluster middleware supports are needed to
create SSI or high availability (HA).

e Both sequential and parallel applications can run on
the cluster, and special parallel environments are
needed to facilitate use of the cluster resources.

e DSM-Virtualization(on demand)

. Parallel Virtual Machine (PVM) is a software ea for parallel
networking of computers.

Major Cluster Design Issues

Without middleware, cluster nodes cannot work
together effectively to achieve cooperative
computing.

The software environments and applications must
rely on the middleware to achieve high
performance.

The cluster benefits come from scalable
performance, efficient message passing, high
system availability, seamless fault tolerance, and
cluster-wide job management.

Table 1.3 Critical Cluster Design Issues and Feasible Implementations

Features

Availabilty and Support

Hardware Fault Tolerance

Single System Image (SSI)

Efficient Communications

Cluster-wide Job
Management

Dynamic Load Balancing

Scalability and
Programmability

Functional Characterization

Hardware and software support for
sustained HA in cluster

Automated failure management to
eliminate all single points of failure

Achieving SSI at functional level with
hardware and software support,
middleware, or OS extensions

To reduce message-passing system
overhead and hide latencies

Using a global job management
system with better scheduling and
monitoring

Balancing the workload of all
processing nodes along with tailure
recovery

Adding more servers to a cluster or
adding more clusters to a grid as
the workload or data set increases

Feasible Implementations

Failover, falback, check pointing,
rollback recovery, nonstop OS, etc.
Component redundancy, hot
swapping, RAID, multiple power
supplies, etc.

Hardware mechanisms or
middleware support to achieve DSM
at coherent cache level

Fast message passing, active
messages, enhanced MP! library, etc.
Application of single-job
management systems such as LSF,
Codine, etc. ‘Load Sharing Facility
Workload monitoring, process
migration, job replication and gang
scheduling, etc.

Use of scalable interconnect,
performance monitoring, distributed
execution environment, and better
software tools

Grid Computing Infrastructures

e Internet services such as the Telnet command
enables a local computer to connect to a remote
computer.

e A web service such as HTTP enables remote
access of remote web pages.

e Grid computing is envisioned to allow close

interaction among applications running on

distant computers simultaneously.

Grid computing is a form of

whereby a "super and virtual computer" is composed of
a of networked, loosely coupled computers,
acting in concern to perform very large tasks.

(Foster and Kesselman, 1999) is a
rowing technology that facilitates the executions of
large-scale on

Facilitates flexible, secure, coordinated large scale
resource sharing among dynamic collections of
individuals, institutions, and resource

Enable (‘virtual organizations’) to share
geographically distributed resources as they pursue
common goals 65

Criteria for a Grid:

a Coordinates resources that are

1 Uses standard, , general-purpose
and interfaces.
1 Delivers nontrivial/ significant

Benefits

» Exploit Underutilized resources

- Resource

. resources across an enterprise

= Data Grids, Compute Grids
- Enable for virtual organizations

66

Data and computationally intensive applications:

This fechnolony has been applied to computationally-intensive
scientific, mathematical, and academic problems like drug
discovery, economic forecasting, seismic analysis back office data
processing in support of e-commerce

e Achemist may utilize hundreds of processors to screen
thousands of compounds per hour.

e Teams of engineers worldwide pool resources to analyze
terabytes of structural data.

e Meteorologists seek to visualize and analyze petabytes of
climate data with enormous computational demands.

Resource sharing

> Computers, storage, sensors, networks, ...

+ Sharing always conditional: issues of trust, policy, negotiation,
payment, ...

Coordinated problem solving

> distributed data analysis, computation, collaboration, ...
67

— Local grid within an organization
— Trust based on personal contracts

— Resources of a consortium of organizations
connected through a (Virtual) Private Network
— Trust based on Business to Business contracts

— Global sharing of resources through the internet
— Trust based on certification

68

“A computational grid is a
1 that provides dependable, consistent,
pervasive, and inexpensive access to

"The Grid: Blueprint for a New Computing
Infrastructure”, Kesselman 8. Foster

Example : Science Grid (US Department of Energy)

69

A data grid is a grid computing system that deals with data
— the controlled sharing and management of large
amounts of distributed data.

Data Grid is the storage component of a grid environment.
Scientific and engineering applications require access to
large amounts of data, and often this data is widely
distributed.

A data grid provides seamless access to the local or
remote data required to complete compute intensive
calculations.

70

FIGURE 1.16

Computational grid or data grid providing computing utility, dala and information services through resource
sharing and cooperation among participating organizations.

Distributed Supercomputing
High-Throughput Computing
On-Demand Computing
Data-Intensive Computing
Collaborative Computing
Logistical Networking

Combining multiple
on a computational grid into a

Tackle problems that cannot be solved on a
single system.

e Uses the grid to schedule large numbers of
loosely coupled or independent tasks, with
the goal of putting

o Uses grid capabilities to meet
that are not
locally accessible.

o Models

e Concerned primarily with enabling and

e Applications are often structured in terms of a

o The focus is on
from data that is maintained in geographically
distributed repositories, digital libraries, and
databases.

o Particularly useful for

Logistical networks focus on
inside networks by optimizing the
of data transport, and data
storage.

Contrasts with traditional networking, which does
not explicitly model storage resources in the
network.

high-level services for Grid applications called
"logistical" because of the analogy /similarity it
bears with the systems of warehouses, depots,
and distribution channels.

Differ in Target Communities

Grid system deals with more complex, more
powerful, more diverse and highly
interconnected set of resources than
P2R%

vo

Grid Information Service
system collects the details
of the available Grid
resources and passes the
information to the
resource broker.

A 3
User

- Resource Broker
A 3 ger computation A ES
or data intensive de ae H 5
jobs in an application to the Grid Grid Resources
application to Global Grids ie

resources based on users QoS
requirements and details of
available Grid resources for further
executions.

(Cluster, PC,
Supercomputer, database,
instruments, etc.) in the Global
Grid execute the user jobs.

in order to speed up the
execution of the
application.

78

Grid Middleware

Grids are typically managed by grid ware - a special type of
middleware that enable
i 0 based on user
requirements and resource attributes (e.g., capacity,
performance)
e Software that connects other software components or
applications to provide the following functions:
- Run on suitable available resources

Provide uniform, high-level access to

- , Service Oriented Architectures
Address inter-domain of security, policy, etc.
— Federated / united / Associated Identities

Provide application-level

79

Globus -chicago Univ

Condor - Wisconsin Univ — High throughput
computing

Legion - Virginia Univ — virtual workspaces-
collaborative computing

IBP — Internet back pane - Tennesse Univ —
logistical networking

NetSolve — solving scientific problems in
heterogeneous env — high throughput & data
intensive

1 Mente sensor fed dats to
workstation at Caltech ati par
Morning atrosphe simulations

2 Workstation ens computers at
Unversity of scene a hip

8 Lu machines crunch data

fom server and transe output

to Caltech workstation,

2. Dozens of computers
seater across Wisconsin
compas perform pices of
a Server at University finis Mure Er À
ferches ests from Wisconsin Gé

computers.

Figure 1.17 An example computational Grid built over specialized computers at three
resource sites at Wisconsin, Caltech, and Illinois. (Courtesy of Michel Waldrop,
“Grid Computing’, IEEE Computer Magazine, 2000. [42])

Some of the Major Grid Projects

Name

URL/Sponsor

Focus

EuroGrid, Grid
Interoperability
(GRIP)

eurogrid.org
European Union

Create tech for remote access to
resources & simulation codes; in
GRIP, integrate with Globus Toolkit™

Fusion
Collaboratory

fusiongrid.org
DOE Off. Science

Create a national
collaboratory for fusion research

Globus Project™ | globus.org Research on
DARPA, DOE, development and support of Globus
NSF, NASA, Toolkit™; application and deployment
Msoft

GridLab gridlab.org and applications
European Union

GridPP gridpp.ac.uk Create 8 apply an within
UK. eScience the U.K. for particle research

Grid Research
Integration Dev. &
Support Center

grids-center.org
NSF

Integration, deployment, support of the
NSF for
research & education

82

Peer-to-Peer Network Families

a P2P network is client-oriented instead of server-oriented.

No central coordination or central database is needed.

n other words, no peer machine has a global view of the entire P2P
system.

Figure shows the architecture of a P2P network at two abstraction
levels.

nitially, the peers are totally unrelated. Each peer machine joins or
leaves the P2P network voluntarily.

Only the participating peers form the physical network at any time.
Unlike the cluster or grid, a P2P network does not use a dedicated
interconnection network.

The physical network is simply an ad hoc network formed at various
Internet domains randomly using the TCP/IP and NAI protocols.
Thus, the physical network varies in size and topology dynamically
due to the free membership in the P2P network

Network. fier (NAl) i indard way of whe to a network.

Overlay network D

CRIE)
Virtual
link o—o
25 ya
9 an a IP Dl
à >

IP network a a “y

FIGURE 1.17

The struct
Links.

e of a P2P Syst

by

pping a physical IP ni

vork lo an overlay network built with virtual

(Courtesy of Zhenyu inese Academy of Sciences, À

Copyright © 202, Elsevier Inc. AI rights reserved.

e There are two types of overlay networks: unstructured
and structured.

An unstructured overlay network is characterized by a
random graph.

> There is no fixed route to send messages or files
among the nodes.

> Often, flooding is applied to send a query to all
nodes in an unstructured overlay, thus resulting in
heavy network traffic and nondeterministic search
results.

Structured overlay networks follow certain connectivity
topology and rules for inserting and removing nodes
(peer IDs) from the overlay graph.

> Routing mechanisms are developed to take
advantage of the structured overlays.

Table 1.5 Major Categories of P2P Network Families [42]
System Distributed File Collaborative Distributed P2P
Features Sharing Platform Computing P2P Platform
Attractive Content Instant messaging, Scientific Open networks for
Applications distribution of MP3 oollaborative exploration and public resources
music, video, open designand gaming social networking
software, etc.
Operational Loose security and Lackof trust, Security holes, Lack of standards
Problems serious online disturbed by selfsh partners, or protection
copyright violations spam, privacy, and and peer collusion protocols
peer collusion
Example Gnutella, Napster, 100, AIM, Groove, — SETI@home, JXTA, NET,
Systems eMule, BitToment, Magi, Multiplayer = Geonome@home, — FightingAid@horna,
Amster, KaZaA, Games, Skype, etc. etc.
elc. etc.

Challenges — P2P

P2P computing faces three types of
heterogeneity problems in hardware, software,
and network requirements.

There are too many hardware models and
architectures to select from; incompatibility exists
between software and the OS; and different
network connections and protocols make it too
complex to apply in real applications

Fault tolerance, failure management, and load
balancing are other important issues in using
overlay networks. or

Lack of trust among peers poses another problem;
Peers are strangers to one another.

Security, privacy, and copyright violations are major
worries by those in the industry in terms of applying
P2P technology in business applications

the system is not centralized, so managing it is
difficult.

In addition, the system lacks security. Anyone can
log on to the system and cause damage or abuse.

Further, all client computers connected to a P2P
network cannot be considered reliable or virus-free.

In summary, P2P networks are reliable for a small
number of peer nodes.

88

The Cloud

e Historical roots in today’ s
Internet apps
= Search, email, social networks
- File storage (Live Mesh, Mobile
Me, Flicker, ...)

e Acloud infrastructure provides a
framework to manage scalable,
reliable, on-demand access to
applications

e A cloud is the “invisible” backend to
many of our mobile applications

+ A model of computation and data
storage based on “pay as you go”
access to “unlimited” remote data
center capabilities

Copyright ©2012, Elsevier Inc. AI rights reserved.

Basic Concept of Internet Clouds

Elsevier Inc. Al rights reserved,

The Next Revolution in IT

o Classical + Cloud Computing
Computing > Subscribe
> Buy & Own > Use
Hardware, System
Software,

Applications often to
meet peak needs.
> Install, Configure, Test,
Verify, Evaluate

> Manage

= > $- pay for what you use,
> Finally, use it based on QoS

> $$66....8(High CapEx)

(Courtesy of Raj Buyya, 2012)

Copyright ©2012, Elsevier Inc. AI rights reserved. 9

771 Eucalyptus
de

flexiscale

PaaS: Provide a
programming
build and manage
the deployment
of aloud
application

Saas: Delivery of
software from the
cloud tothe desktop

——
FIGURE 1.19

Three cloud service models in a cloud landscape of major provider:

(Courtesy of Dennis Gannon, Keyra

The following list highlights eight reasons to adapt the
cloud for upgraded Internet applications and web
services:

1. Desired location in areas with protected space and higher

energy efficiency

2. Sharing of peak-load capacity among a large pool of users,
improving overall utilization

3. Separation of infrastructure maintenance duties from
domain-specific application development

4. Significant reduction in cloud computing cost, compared
with traditional computing paradigms

5. Cloud computing programming and application
development

6. Service and data discovery and content/service distribution
7. Privacy, security, copyright, and reliability issues

8. Service agreements, business models, and pricing policies

93

, Elsevier Inc. All rights reserved.

Opportunities of loT in 3 Dimensions

+ Outdoors and indoors
+ Night + Onthe move
*Daytime + Outdoors
+ Indoors (away from the PC)
+ Atthe PC

- Between PCs
+ Human to Human (H2H), not usinga PC
+ Human to Thing (H2T), using generic equipment
+ Thing to Thing (T2T)

2, Elsevier Inc. All rights reserved.

System Scalability vs. OS Multiplicity

Scalability
(No, of
processors
or

system)

T- T- T T- T
102 10° 10* 108 10°
Multiplicity of OS images in a system

FIGURE 1.23
System scalability versus multiplicity o > hnobgy

System Availability vs. Configuration Size :

Pop,

\ SMP) i network
tow [NY so PNR
(0) = >
Small System size (# processor cores) Large (10°)

FIGURE 1.24
Estimated

e of

mon configurations in 2

NUMA (non-uniform memory access) is a method of configuring a cluster of microprocessor

in a multiprocessing system so that they can share memory locally, improving performance
and the ability of the system to be expanded

Table 1.6 Feature Comparison of Three Distributed Operating Systems

Distributed OS
Functionality

History and Curent
System Status

OS Kernel, Middleware,
and Virtualization
Support

Communication
Mechanisms

AMOEBA developed
at Vrije University [46]
Written in © and tested
in the European
community; version 5.2
released in 1995
Morokemel-based and
Jocalion-transparent,
uses many servers to
handle files, directory,
replication, run, boot,
and TOPAP services

A special miorokernel
that handles low-level
process, memory, VO,
and communication
functions

Uses a network-layer
FUP protocol and RPC
to implement point-to-
point and group
communication

DCE as OSF/1 by
Open Software
Foundation [7]

Bui as a user
extension on top of
UNIX, VMS, Windows,
0872, elo.

Middleware OS
providing a platform for
running distributed
applications; The
system supports RPC,
‘security, and threads
DCE packages handle
file,time, directory,
security services, RPC,
and authentication at
middleware or user
space

RPC supports
authenticated
communication and

MOSIX for Linux
Clusters at Hebrew
University [3]

Developed since 1
now called MOSIX2
used in HPC Linux and
GPU custers

A distributed OS with
resource discovery,
process migration,
runtime support, load
balancing, flood control,
configuration,

MOSK2 runs with
Linux 2.6; extensions
for use in multiple
clusters and clouds
with provisioned VMs

Using PVM, MPI in
collective
‘communications,
priority process control,
and queung services

Transparent Cloud Computing Environment



ne Cloud Data Storage Data owned by users,
User Data independent of
applications,

=
Standard int

Application
lames)

Standard programming interface for various environment

Gama

=== o =
Standard hardware interface for users to choose different OSes

A go |

Figure 3 Transparent computing that separates the user data, application, OS, and hardware
in time and space - an ideal model for future Cloud platform construction

Parallel and Distributed Programming

Table 1.7 Parallel and Distributed Programming Models and Tool Sets
Model Description Features
MPI A library of subprograms thal can be

d from © or FORTRAN to wr
s running on dis

MapReduce

operations [1
Hadoop A softwar

2012, Elsevier Inc. AN rights reserved,

Grid Standards and Middleware :

Table 1.9 Grid Standards and Toolkits for scientific and Engineering Applications

Major Grid Service Key Features and Security
Functionalities Infrastructure
OGSA Open Grid Service Architecture Support heterogeneous distributed environment,
Standard common grid service bridging CA, multiple trusted intermediaries,
standards for general public use dynamic policies, multiple security mechanisms, etc.
Globus Resource allocation, Globus security) Sig -site authentication with PKI, Kerberos,
Toolkits infrastructure (GSI), legation, and GSS API for
secunty service API integrity and confidentiality
IBMGrid | AIX and Linux zrids built on top ple CA. grantin; id service (REGS),
Toolbor of Globus Toolkit. autonot supporting Grid application va (GAF4)), GridMap
computing, Replica services in IntraGrid for security update.

Copyright O 2012, Elsevier Inc. AI rights reserved.

‘Application layer

10008
ima <<

DNA sequence Event simulation and analysis
alignment

High energy physics

Middleware layer

Resource layer

a 3 dl

( Network layer 7
<
D & = =
FIGURE 1.26

Four operational layers of distributed computing systems.
rte ot Zomaya, Rivanal #00

012, Elsevier Inc. Al rights reserved.

Copyright

I of the Univers of Syaney (339)

System Attacks and Network Threads

Loss of Loss of Loss of Improper
confidentiality integrity availability authentication
Information Integrity Denial of Wegitimate

leakage violation service

+ Eavesdropping + Penetration
Trafic analysis + Masquerade + DoS
+ EMIRF Interception + Bypassing controls + Trojan Horse
+ Indiscretions + No authorization + Trapdoor

of personnel + Physical intrusion + Service spoofing

+ Media scavenging

A + Resource exhaustion Resource

+ Interceptalter tania exhaustion

© Repudiaton à net + Ing
ES violation

FIGURE 1.25

Various system attacks and network threats to the cyberspace.

sevier Inc. Al rights reserved.

Four Reference Books:
1. K. Hwang, G. Fox, and J. Dongarra,

Morgan Kauffmann Publishers, 2011

2. R. Buyya, J. Broberg, and A. Goscinski (eds),
, ISBN-13: 978-0470887998, Wiley Press,
USA, February 2011.
3. T. Chou,

Lecture Notes at Stanford University and at Tsinghua
University, Active Book Press, 2010.

4. T. Hey, Tansley and Tolle (Editors),
Microsoft Research, 2009.

Copyright ©2012, Elsevier Inc. All rights reserved. tae
Tags