PPT Slides of All Figures

advertisement
Mastering Cloud Computing
Rajkumar Buyya, Christian Vecchiola, Thamarai Selvi
Chapters
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Part I: Foundations
Chapter 1 — Introduction
Chapter 2 — Principles of Parallel and Distributed Computing
Chapter 3 — Virtualization
Chapter 4 — Cloud Computing Architecture
Part II: Cloud Application Programming and the Aneka Platform
Chapter 5 — Aneka: Cloud Application Platform
Chapter 6 — Concurrent Computing: Thread Programming
Chapter 7 — High-Throughput Computing: Task Programming
Chapter 8 — Data Intensive Computing: Map-Reduce Programming
Part III: Industrial Platforms and New Developments
Chapter 9 — Cloud Platforms in Industry
Chapter 10 — Cloud Applications
Chapter 11 — Advanced Topics in Cloud Computing
Chapter 1 - Introduction
I need to grow my
infrastructure, but
I do not know for
how long…
I cannot invest in
infrastructure, I
just started my
business….
I have a lot of
infrastructure that I
want to rent …
I have a surplus of
infrastructure that I
want to make use of
I have infrastructure
and middleware and I
can host applications
I want to focus on
application logic and
not maintenance and
scalability issues
I have infrastructure
and provide
application services
I want to access and
edit my documents
and photos from
everywhere..
Manjrasoft
Subscription-Oriented Cloud Services:
X{compute, apps, data, ..}
as a Service (..aaS)
Public Clouds
Applications
Development and
Runtime Platform
Compute
Cloud
Manager
Clients
Storage
Private
Cloud
Other
Cloud Services
10
Govt.
Cloud Services
Public Clouds
Applications
Development and
Runtime Platform
Compute
Storage
All users, on any device
Cloud Manager
Private Resources
Private Cloud
Organization Personnel
Private Cloud (Government)
Government Agencies
Cloud Deployment Models
Public/Internet
Clouds
* 3rd party,
multi-tenant Cloud
infrastructure
& services:
* available on
subscription basis to all.
Private/Enterprise
Clouds
* A public Cloud model
within a company’s
own Data Center /
infrastructure for
internal and/or
partners use.
Hybrid/Inter
Clouds
* Mixed usage of
private and public
Clouds: Leasing public
cloud services
when private cloud
capacity is
insufficient
No capital
investments
Quality of Service
Pay as you go
Billing
IT outsourcing
Security
Cloud
Computing?
Web 2.0
Interfaces
Software as a Service
End user applications
Scientific applications
Office automation, Photo editing,
CRM, and Social Networking
Examples: Google Documents, Facebook, Flickr, Salesforce
Platform as a Service
Runtime Environment for Applications
Development and Data Processing Platforms
Examples: Windows Azure, Hadoop, Google AppEngine, Aneka
Infrastructure as a Service
Virtualized Servers
Storage and Networking
Examples: Amazon EC2, S3, Rightscale, vCloud
1970: DARPA’s TCP/IP
1999: Grid Computing
1984: IEEE 802.3
Ethernet & LAN
1966: Flynn’s Taxonomy
SISD, SIMD, MISD, MIMD
1997: IEEE
802.11 (Wi-Fi)
1989: TCP/IP
IETF RFC 1122
2010: Microsoft
Azure
2008: Google
AppEngine
2007: Manjrasoft Aneka
1969: ARPANET
1984: DEC’s
VMScluster
1951: UNIVAC I,
First Mainframe
1975: Xerox PARC
Invented Ethernet
Clouds
2004: Web 2.0
1990: Lee-Calliau
WWW, HTTP, HTML
1960: Cray’s First
Supercomputer
Grids
2005: Amazon
AWS (EC2, S3)
Clusters
Mainframes
1950
1960
1970
1980
1990
2000
2010
Chapter 2 – Parallel and Distributed
Computing
ParallelApplications
Parallel Programming Environments
Sequential Applications
Compilers, PVM, MPI, ….
Cluster Middleware:
Single System Image and Availability Infrastructure
PC / Workstation
Common
SW & Applications
PC / Workstation
Common
SW & Applications
PC / Workstation
Common
SW & Applications
PC / Workstation
Common
SW & Applications
Operating System
Operating System
Operating System
Operating System
Network Interface HW
Network Interface HW
Network Interface HW
High speed network connection
Network Interface HW
Applications
Distributed System Stack
User interface for presentation
Middleware
Support for heterogeneous resource sharing, communication, and
programming environments for application development
Operative System
Execution platform including network connectivity services
Hardware
Computer and network hardware
MPI Programming, JMS,
MSMQ, MQS
Message Based
Communication
Paradigms /
Architectural
Models
Architectures
Sequential Era
Compilers
Applications
Problem Solving Environments
Architectures
Compilers
Parallel Era
Applications
Problem Solving Environments
1940
1950
1960
1970
1980
1990
2000
2010
2020
2030
Instruction
Stream
Data Input
Data Output
Processor
Single Instruction Stream
Data Input 1
Data Output 1
Processor 1
Data Output 2
Data Input 2
Processor 2
Data Output N
Data Input N
Processor N
Instruction
Stream 2
Instruction
Stream N
Single Data Output Stream
Single Data Input Stream
Instruction
Stream 1
Processor 1
Processor 2
Processor N
Instruction
Stream 1
Instruction
Stream 2
Instruction
Stream N
Data Output 1
Data Input 1
Processor 1
Data Input 2
Data Output 2
Processor 2
Data Output 3
Data Input N
Processor N
Cache L1
Cache L1
Core 2
IPC Channel
IPC Channel
Processor 1
Processor 2
Processor N
Memory
Bus
Global System Memory
Processor 1
Memory
Bus
Local
Memory
Processor 2
Memory
Bus
Local
Memory
Processor 2
Memory
Bus
Local
Memory
Messages
IPC
Messages
IPC
Task 1
function f1()
{…}
Function 1
a[0] = …
b[0] = …
Statements
+
Task 2
Shared
Memory
function f2()
{…}
Function 2
a[1] = …
b[1] = …
Statements
x
Task N
Shared
Memory
function fJ()
{…}
Function J
a[k] = …
b[k] = …
Statements
load
Large Level
(Processes, Tasks)
Medium Level
(Threads, Functions)
Fine Level
(Processor,
Instructions)
Very Fine Level
(Cores, Pipeline,
Instructions)
Frameworks for
distributed
programming
Applications
Middleware
IPC primitives for
control and data.
Operating System
Networking and
Parallel Hardware
Hardware
Social Networks,
Scientific Computing,
Enterprise Applications
Applications (SaaS)
Frameworks for
Cloud Application
Development
Virtual hardware,
networking, OS images,
and storage.
Middleware (PaaS)
Hardware and OS (IaaS)
Client-server
request
Two Tier
(Classic Model)
client
server
response
Three Tier
client
Server/client
server
N Tier
server
client
Server/client
Server/client
server
P2P
peer
peer
peer
peer
peer
peer
peer
RPC
Node B
Node A
Procedure Registry
Main Procedure
Procedure A
Procedure C:Node B
Procedure B
RPC Library
Procedure C
RPC Service
Program C (RPC Server)
Program A (RPC Client)
Parameters Marshaling
and Procedure Name
Return Value
Unmarshaling
Parameters Unmarshaling
and Procedure Name
Return Value
Marshaling
Network
DOF interaction
Node B
Node A
Application B
21
10
Instance
16
Remote
Instance
15
1: Ask for
Reference
Object Skeleton
Object Proxy
9
11 20
Remote Reference Module
17 14
6
5: Object
Activation
4
Remote Reference Module
Application A
8
2
12
7
13
19
18
3
Network
Web
Server
UDDI Registry
WS Client
Web Service
WSDL(s)
Web
Server
Application
Web Service
WSDL
WS Client
Application
Application
WSDL
Static  UDDI
Service Discovery
Direct  UDDI
Service Publication
WSDL
Service Description
SOAP
XML-based Messaging
HTTP, FTP,e-mail, MQ, IIOP, ….
Network
Quality of Service
Web Service Flow
Management
WSFL
Security
WS technology Stack
SOAP Messages
POST /InStock HTTP/1.1
Host: www.stocks.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: <Size>
<?xml version=“1.0”>
<soap:Envelope xmlns:soap=“http//www.w3.org/2001/12/soap-envelope”
soap:encondingStyle=“http//www.w3.org/2001/12/soap-encoding”>
<soap:Header></soap:Header>
Envelope
Header: Metadata & Assertions
<soap:Body xmlns:m=http://www.stocks.org/stock>
<m:GetStockPrice>
<m:StockName>IBM<m:StockName>
</m:GetStockPrice>
</soap:Body>
Body: Method Call
</soap:Envelope>
SOAP Messages
POST /InStock HTTP/1.1
Host: www.stocks.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: <Size>
<?xml version=“1.0”>
<soap:Envelope xmlns:soap=“http//www.w3.org/2001/12/soap-envelope”
soap:encondingStyle=“http//www.w3.org/2001/12/soap-encoding”>
<soap:Header></soap:Header>
Envelope
Header: Metadata & Assertions
<soap:Body xmlns:m=http://www.stocks.org/stock>
<m:GetStockPriceResponse>
<m:Price>34.5<m:Price>
</m:GetStockPriceResponse>
</soap:Body>
Body: Execution Result
</soap:Envelope>
Chapter 3 – Virtualisation
Guest
Virtual Image
Applications
Applications
Virtual Hardware
Virtual Storage
Virtual Networking
Virtualization Layer
Software Emulation
Host
Physical Hardware
Physical Storage
Physical Networking
Applications
Execution Stack
Application - level
Virtualization
Programming Languages
Programming
Language level
Virtualization
Operative Systems
OS- level Virtualization
Hardware
Hardware - level
Virtualization
Virtual
Resources
Sharing
Aggregation
Emulation
Isolation
Virtualization
Physical
Resources
How it is done?
Execution
Environment
Process Level
Storage
Technique
Virtualization Model
Emulation
Application
High-Level VM
Programming
Language
Multiprogramming
Operating
System
Virtualization
Network
Hardware-assisted
Virtualization
Full Virtualization
Hardware
System Level
….
Paravirtualization
Partial Virtualization
Applications
Applications
API calls
API
Libraries
ABI
Libraries
System calls
Operative System
Operative System
ISA
ISA
Hardware
Hardware
User
ISA
User
ISA
Least privileged mode
(user mode)
Ring 3
Ring 2
Privileged modes
Ring 1
Ring 0
Most privileged mode
(supervisor mode)
Guest
In memory
representation
Storage
VMM
Virtual Image
Host emulation
Virtual Machine
binary translation
instruction mapping
interpretation
……
Host
VM
VM
VM
VM
ISA
Virtual Machine Manager
VM
VM
VM
VM
ISA
ABI
Operative System
Virtual Machine Manager
ISA
ISA
Hardware
Hardware
Virtual Machine Instance
ISA
Instructions (ISA)
Dispatcher
Interpreter
Interpreter
Routines
Routines
Allocator
Virtual Machine Manager
Privileged Instructions
Sensitive Instructions
User Instructions
VM
VM
VM
VM
VM
VM
Virtual Machine Manager
Server A
(running)
Server B
(running)
Before Migration
VM
VM
VM
VM
VM
VM
Virtual Machine Manager
Server A
(running)
Server B
(inactive)
After Migration
User Applications
(unmodified ABI)
Management Domain (Domain 0)
• VM Management
• HTTP interface
• Access to the Xen Hypervisor
Ring 3
Ring 2
Ring 1
Ring 0
User Domains (Domain U)
• Guest OS
• Modified codebase
• Hypercalls into Xen VMM
Privileged
instructions
Xen Hypervisor (VMM)
• Memory management
• CPU state registers
• Devices I/O
Hardware
trap
Hardware (x86)
User Applications
(unmodified ABI)
Ring 3
Ring 2
Ring 1
Guest Operating System
• Unmodified codebase
• VMM unaware
Ring 0
Hypervisor
• Binary translation
• Instruction caching
Dynamic / cached translation
(sensitive instructions)
Hardware trap
(sensitive
instructions)
Hardware (x86)
I/O
User Applications
Guest Operating System
User Applications
VMware
Workstation
Host Operating System
VMware
Driver
Hardware (x86)
Virtual Machine Instance
VMware Hypervisor (VMM)
• Direct access to hardware
•I/O, memory, networking for guests
• Save/Restore CPU state for host OS
serverd
(daemon)
VMware
VMware
Web
Server
VMware
Host Operating System
VMware
Driver
Hardware (x86)
VM Instance
VM Instance
VM Instance
VMware Hypervisor (VMM)
• Direct access to hardware
•I/O, memory, networking for guests
• Save/Restore CPU state for host OS
CIM
broker
Third-party
CIM plug-ins
vxpa
hostd
SNMP
DCUI
syslog
VMX
VMX
User world API
VMkernel
Hardware
VM
VM
VM
VMM
VMM
VMM
VMX
Resource
scheduling
Distributed VM
file system
Virtual Ethernet
adapter and switch
Storage stack
Network stack
Device drivers
Zimbra
Application
Virtualization
vFabric
Platform
Virtualization
vCloud
vCenter
vCenter
vSphere
vSphere
vSphere
vSphere
ESXi
ESXi
ESXi
ESXi
ESX
ESX
ESX
ESX
Server
Server
Server
Server
Data Center
Data Center
Cloud
Infrastructure
Virtualization
VMWPs
User Applications
(Ring 3)
WMI
VMMS
Hypervisor-aware
Kernel (Ring 0)
VSPs
I/O
Stack
Drivers
VID
WinHv
Hypervisor-aware
Wndows Kernel (Ring 0)
I/O
Stack
Drivers
Hypervisor
(Ring -1)
Hypercalls
Hardware (x86)
User Applications
(Ring 3)
Hypervisor-aware
Linux Kernel (Ring 0)
VSCs / ICs
Hypervisor-unaware
Kernel (Ring 0)
VSCs / ICs
WinHv
I/O
Stack
Drivers
LinuxHv
Latest Pictures.
VMBus
Root / Parent Partition
User Applications
(Ring 3)
VMBus
VMBus
Enlightened Child Partition
MSRs
APIC
Unenlightened Child
Partition
Enlightened Child Partition
Scheduler
Processor
Address
Management
Memory
Partition
Management
Chapter 4 – Cloud Computing
Architecture
User-level
Middleware
Web 2.0, Mashups, Concurrent and Distributed Programming,
Workflows , Libraries, Scripting
Cloud Hosting Platforms
QoS Negotiation, Admission Control, Pricing, SLA Management,
Monitoring, Execution Management, Metering, Accounting
SaaS
Pure SaaS
IaaS
Pure PaaS
Cloud Programming Environment and Tools
Core
Middleware
Virtual Machine (VM), VM Management and Deployment
Cloud Resources
System
Infrastructure
Autonomic Cloud Economy
IaaS (M)
Cloud Applications
Social Computing, Enterprise ISV, Scientific Computing, CDNs
Adaptive Management
PaaS
User
Applications
Web based Management Interface
Web Services, Portals, REST API
Infrastructure Management Software
Pricing / Billing
Scheduling
QoS SLA Management
Provisioning
Monitoring
Reservation
VM Image Repository
VM Pool Management
Physical Infrastructure
Datacenter
Cluster
Desktop /
Heterogeneous Resources
Third Party IaaS Cloud
Web based Interface
Web Services, Portals, REST API
Programming API / Libraries
PaaS Core Middleware
User
Management
Elasticity &
Scaling
Runtime
Resources Management
Physical Infrastructure
Application
Management
QoS / SLA Management &
Billing
IaaS Providers
IaaS (M)
IaaS
PaaS
Platform as a Service Solutions
DataSynapse, Zimory Pools,
Elastra CloudServer, Aneka, ….
Infrastructure Management Software
Eucalyptus, OpenNebula, VMWare
vCloud, OpenPEX, InterGrid, …
Virtual Machine Technology
KVM, Xen, VMWare, …
Datacenters, Clusters, Desktop Grids
Physical Infrastructure
Hybrid / Heterogeneous Cloud
Public Cloud
Private Cloud
Paas
IaaS (M)
Dynamic
Provisioning
Public Cloud
Datacenter
Cluster
Desktop Grids /
NOWs
Community Cloud
Application
Services
3rd Party Cloud
Public Cloud
Private Cloud
Development
Platforms
Public Cloud
Private Cloud
Federal and
Government Bodies
Private
Users
Public Services
Industries
Enterprises
Chapter 5 – Aneka: Cloud
Application Platform
Multiple Applications
Thread
Task
...
MapReduce
1. SDK
Aneka
2. Runtime
Multi-core
Cluster
2100
2100
2100
2100
2100
2100
2100
2100
Grid
Cloud
Multiple Infrastructures
MapReduce
other models…
Billing & Reporting
Resource Reservation
Storage
Licensing & Accounting
Fabric Services
Dynamic Resource
Provisioning
Hardware Profiling
PAL – Platform Abstraction Layer
Infrastruscture
ECMA 334: .NET or Mono / Windows, Linux, & Mac
Enterprise Desktop Grid
Data Centers
Clusters
Public Cloud
Persistence and Security
Foundation Services
HTTP
File Share
……
Aneka Repository
Node
Manager
Node
Manager
Aneka
Containers
Node
Manager
Node
Manager
Management
Console
Aneka
Containers
Aneka
Containers
Aneka
Containers
100%
Infrastrucutre Overhead
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
1
2
4
8
16
32
Number of Resources
64
128
200
512
600
256
Time
(minutes: log2 scale)
Time
(minutes: decimal scale)
500
400
300
200
100
128
64
32
16
8
4
2
1
0
1
2
4
8
16
32
64
128
Number of Resources
Ideal Execution Time
Actual Execution Time
200
1
2
4
8
16
32
64
128
Number of Resources
Ideal Execution Time
Actual Execution Time
200
100%
90%
30
Infrastrucutre Overhead
Infrastructure Overhead (m)
35
25
20
15
10
5
80%
70%
60%
50%
40%
30%
20%
10%
0
0%
1
2
4
8
16
32
Number of Resources
64
128
200
1
2
4
8
16
32
Number of Resources
64
128
200
Middleware - Container
Application Services
MapReduce
Bag of Tasks
PSM
Other models…
Foundation Services
Storage
Resource Reservation
Billing & Reporting
Licensing & Accounting
Fabric Services
High-Availability
Resource Provisioning
Hardware Profiling
Membership
PAL – Platform Abstraction Layer
Infrastruscture
ECMA 334: .NET or Mono / Windows, Linux, & Mac
Enterprise Desktop Grid
Data Centers
Clusters
Public Cloud
Persistence & Security
Distributed Threads
Index (master)
Index (master)
Scheduling
Scheduling
Accounting
Failover
Accounting
Reporting
Reporting
Reservation
Reservation
Provisioning
Provisioning
Mandatory
Mandatory
Master Node
Index (slave)
Storage
Mandatory
Storage Node
Index (slave)
Storage
Mandatory
Storage Node
Index (slave)
Index (slave)
Index (slave)
Execution
Execution
Execution
Allocation
Allocation
Allocation
Mandatory
Mandatory
Mandatory
Worker Node
Worker Node
Worker Node
Amazon EC2
Master Node
Reporting, Billing,
Accouting
AWS
Task Scheduling
Service
Storage
Service
Provisioning
Service
Dynamic Resources
Slave Node
Static Resources
Task Execution
Service
Aneka Hybrid
Cloud
Reporting, Billing, Accouting
Application
Management & Scheduling
High
Performance
and QoS
Public Clouds
Provisioning
Service
Low priority workloads
Desktops & Workstations
Cluster Resources
Master Node
Resource
Provisioning
Application
Management &
Scheduling
Resource
Reservation
Virtual Clusters
Desktop Machines
Workstations
Clusters
Master Node
Slave Nodes
Reporting,
Billing, Accouting
Application
Management &
Scheduling
Resource
Provisioning
Amazon EC2 Instances
Amazon EC2 Instance
EC2 Boundaries
Local Infrastructure
Master Node
Reporting, Billing, Accouting
Application
Management & Scheduling
Desktops & Workstations
Provisioning
Service
Resource
Reservation
Clusters
Virtual Cluster Resources
Initialized
Unknown
IService.Start()
Starting
Pausing
<Error>
IService.Pause()
Paused
Running
Resuming
IService.Stop()
Stopping
Stopped
IService.Continue()
Chapter 6 – Concurrent Computing:
Thread Programming
To Memory
CPU: single die
Cache L2
Cache L1
Core 1
Cache L1
Core 2
Cache L1
Core N
Process
Execution Timeline
Shared Memory
Main Thread
Thread Local
Storage
Instructions
(program counter)
Thread
Thread
Thread
Process
Result
a. Embarrassingly parallel
Units of work
Process
Result
b. Inherently sequential
B 6x3
A 4x6
C 4x3
2
2,1
1
Units of work
Process
Unit 1
Unit 2
Unit 3
Unit 4
Unit 5
Result
Unstarted
Unstarted
Start()
Start()
Abort()
Suspend()
Suspend
Requested
Suspended
Running
Wait
SleepJoin
StagingIn
Started
Queued
Aborted
Re
Abort
Requested
Stopped
Wait()/Sleep()/Join() Interrupt()
Running
Staging
Out
a. System.Threading.Thread life cycle.
Completed
b. Aneka.Threading.AnekaThread life cycle.
Chapter 7 – High-Throughput
Computing: Task Programming
Access
Node(s)
Tasks
Middleware
Remote
Environment
Local Node
Computing
Nodes
MPI_COMM_WORLD
2
0
8
1
9
7
6
4
3
0
7
3
9
4
3
1
4
1
Communicator A
6
10
6
5
1
8
5
2
2
0
11
5
11
Group A
10
2
4
Communicator B
0
3
Group B
Header
Section
MPI Include File
Prototypes declaration
Do Work
Serial Code
MPI Environment Initialization
Code
Section
Do Work and Message
Passing
Parallel
Code
MPI Environment Shutdown
Do Work
Serial Code
Users
Workflow
Design &
Definition
Workflow Application Modeling & Definition Tools
Information Services
Build Time
Workflow
Specification
Run Time
Resource Info Service
Application Info Service
Workflow Enactment Engine
Workflow
Execution &
Control
Interaction with
Distributed
Resources
Interaction with
Information Services
Task + Data Scheduler
Data
Movement
Dependency
Manager
Language
Interpreter
Data
Provenance
Runtime
Manager
Fault
Management
Middleware Supporting Clusters, Grids, and Clouds
Distributed Computing Resources
StorageService
TaskScheduler
TaskManager
AnekaApplication
Task1 : ITask
AnekaTask
Index
Node
Task2 : ITask
(… more tasks)
AnekaTask
Membership
Catalogue
Aneka Cloud
Local Node
TaskExecution
Service
File dependencies
Result Files
Input/Output
Files
Remote FTP
Client Machine
StorageService
TaskScheduler
Web Service
TaskManager
Index
Node
Membership
Catalogue
AnekaTask
Aneka Cloud
AnekaTask
TaskExecution
Service
PSMParameterInfo
PSMContext
PSMCommandInfo
PSMFileInfo
PSM Model
PSMJobInfo
IJobManager
PSM Model
ITask
AnekaTask
TaskManager
Aneka
Application
Model
AnekaApplication<AnekaTask, TaskManager>
Offspring Environment
IOffspringPlugin
DefaultPlugin
AppInstance
AutoPlugin
LogPlugin
Strategy
Controller
IDistributionEngine
DistributionEngineBase
ITaskStrategy
TaskStrategyBase
Local
Engine
AnekaEngine
TaskManager
Aneka Cloud
Workflow
Logic 1
Workflow
Logic N
StrategyController
Control Thread
(Strategy Management)
Monitoring Thread
(Feedback from Distribution Engine)
Init Application
Task
Feedback
Init Strategy
Task Failed?
Submit Tasks
No
Wait
No
Yes
Invoke OnSuccess
Invoke OnFailed
New Task?
Complete
or Stop?
Yes
Yes
No
Release Strategy
Signal
Shutdown
Application
Yes
Iteration
Complete?
No
Submit
Chapter 8 – Data Intensive
Computing: Map-Reduce
Programming
Heterogeneous Formats
Distributed Petabytes
Data
intensive problems
Data/compute
intensive problems
Current Problems
Compute
intensive problems
Data Complexity
(volume/format/distribution)
Homogeneous Formats
Non-distributed
Megabytes or Gigabytes
Model Solvers
Simulations
Simple search
Computational
Complexity
Statistical Models
Decision support
Knowledge generation
Storage
Facility
Information
& Discovery
Instrument
Storage
Facility
Scientist
Storage
Facility
Compute Site
Storage
Facility
Compute Site
Instrument
Compute Site
Compute Site
Storage
Facility
Scientist
Key Ring
Storage Peer
Storage Peer
Pluggable Storage
Engine (BDB, MySQL)
Request
Coordinator
Storage Peer
Failure and Membership
Detection
.
Storage Peer
Storage Peer
Storage Peer
Tablet Server
Tablet Server
Tablet Server
Master Server
Tablet Server
Tablet Server
Tablet Server
Logs
Logs
Chubby
Tablet Files
Logs
Logs
Tablet Files
GFS
Tablet Files
Tablet Files
MapReduce Infrastructure / Runtime
Distributed File System
Input Data
File
Map
Task
Reduce
Task
Output Data
File
Input Data
File
Map
Task
Input Data
File
Map
Task
Output Data
File
Input Data
File
Input Data
File
Map
Task
Input Data
File
Output Data
File
Reduce
Task
Map
Task
Output
Aggregation by Key
Input
Input Data
File
User Program
(1) fork
(1) fork
(1) fork
Master
(2) assign map
(2) assign reduce
Worker
Split 0
Split 1
Split 2
(6) write
(4) local
write
(3) read
Worker
Worker
(5) remote read
Split 3
Worker
Split 4
Output
File 0
Output
File 1
Worker
input files
map phase
intermediate
files
reduce phase
output files
X
Input
File
Input
File
Input
File
Input
File
R
R
R
R
X
X
X
X
M
M
M
Stage
X
M
Channels
M
M
Output
File
Output
File
Vertices
(processes)
Aneka Cloud
Map
Task
Reduce
Task
MapReduce
Execution Service
DFS Implementation
Map
Task
Reduce
Task
MapReduce
Execution Service
Split 0
Split 1
Split 2
Split 3
Split 4
Output
File 0
Map
Task
intermediate files
Output
File 1
Reducer
Mapper
MapReduceApplication
Input Data File
Input Data File
Input Data File
Input Data File
Client Machine
MapReduce
Scheduling Service
Reduce
Task
MapReduce
Execution Service
MapReduceSchedulerService
Message translation
and Event Triggering
MapReduceScheduler
upload queue
Aneka Middleware
MapReduceApplication
initialization queue
dispatch thread
resubmission queue
reporting queue
DFS Implementation
initialization thread
dispatch queue
failure queue
MapReduce
Execution Services
upload thread
report thread
MapReduceExecutorService
Message translation
and Event Triggering
ExecutorManager
Aneka Middleware
command
queue
job and task
information
command thread
completion thread
report thread
MapReduce
Scheduling Service
DFS Implementation
Sandbox
MapReduceExecutor
MapReduceExecutor
Reduce Task
Map Task
Header: 3 bytes magic
number, 1 byte version
…….
Record Block:
Integer (4 bytes)
Length of the block
Integer (4 bytes)
Length of the key
Key byte array
Value byte array
SKIPPED, 62%
DEBUG
ERROR
INFO, 22%
INFO
SKIPPED
DEBUG, 12%
WARN
ERROR, 4%
WARN, 0%
189439
76895
55523
54878
3
10
180
6
984 4385
5
5
31
10
610
610
User
ECG Sensor
User Requests
ECG Sensor Module
2
4
3
PaaS
SaaS
User Requests
Bluetooth connectivity
ECG Data Analysis
as a Service
Dynamically Scalable
Runtime
(QoS-based scaling of
computing resources)
Security
Runtime
Wireless / Mobile 3G Network
IaaS
1
Embedded Bluetooth
Enabled
Data Communication &
Processor Module
User Requests
Large
Number
6
5
Jeeva Portal
Aneka
Task Graph
A
A : BLAST
B : Create Data Vector
B
C : HH Classifier
D : SS Classifier
E : TT Classifier
F : HS Classifier
G : ST Classifier
H : TH Classifier
Initial Phase
Classification
Phase
Final Phase
C
D
E
F
I
G
H
I : Predict Final Secondary
Structure
Chapter 9 – Cloud Platforms in
Industry
Compute Services
Storage Services
Communication Services
Additional Services
Amazon Elastic
Compute Cloud (EC2)
Amazon Simple
Storage Service (S3)
Amazon Simple Queue
Service (SQS)
Amazon GovCloud
Amazon Elastic
MapReduce
Amazon Elastic Block
Store (EBS)
Amazon Simple
Notification Service
(EBS)
Amazon CloudWatch
AWS Elastic Beanstalk
Amazon ElastiCache
Amazon Simple Email
Service (SES)
AWS Cloudformation
Amazon SimpleDB
Autoscaling
Amazon Relational
Database Service (RDS)
Amazon Virtual Private
Cloud (VPC)
Amazon CloudFront
Amazon Direct
Connect
Amazon
Import/Export
Amazon Elastic Load
Balancing
Amazon Route 53
Amazon Flexible
Payment Service (FPS)
Amazon DevPay
Amazon Fullfillment
Web Service (FWS)
Amazon Mechanical
Turk
Alexa Web Information
Service
Alexa Top Sites
Amazon AWS Platform
Data Store
Web App
Web App
Web App
Web App
Url Fetch
Image Manipulation
Task Queue
Sandboxed Runtime
Environment
Sandboxed Runtime Environment
Python SDK
Google AppEngine Infrastructure
Local Machine
Development
Runtime
Cron Jobs
Windows Azure Platform
Management portal
Identity
Marketplace
Compute
Storage
Networking
Windows Azure
Compute
Windows Azure
Storage
Windows Azure
Connect
DataMarket
SQL Azure
AppFabric
Service Bus
Applications
ment
t
ools
AppFabric
Integration
AppFabric
Access
Control
Content Delivery
Network (CDN)
re
AppFabric
Caching
Performance
Enterprise Level Infrastructure
Windows Azure
Windows Azure AppFabric
SQL Azure
Marketplace
HTTP / REST
PHP
SQL Server Applications and Tools
ODBC
WCF Data Services
ADO.NET
Tabular Data Stream (TDS)
TDS + Secure Socket Layer
Services Layer
Provisioning
Provisioning
Provisioning
Billing and Metering
Billing and Metering
Billing and Metering
Connection Routing
Connection Routing
Connection Routing
Platform Layer
SQL Server
SQL Server
SQL Server
SQL Azure Fabric
SQL Azure Fabric
SQL Azure Fabric
Management
Services
Management
Services
Management
Services
Infrastructure Layer
Chapter 10 – Cloud Applications
Datasets
Cloud-CoXCS
(Task orchestrator)
CoXCS Tasks
Aneka
Elastic Sizing
(EC2,…, )
Portal (SaaS)
Distribution
Archiving
Local Storage
Aneka
Public Cloud
Private Cloud
Force.com Platform
Metadata Cache
User-base 1:
Application 1
Bulk Processing
Engine
Pivot Tables
Multitenant-aware
Query Optimiser
Metadata
Tables (UDD)
Runtime Application
Generator
Data Tables
Full-text Search
Engine
Shared Database
User-base 2:
Application 2
COMMON
APPLICATION
SCREENS
TENANTSPECIFIC
SCREENS
OBJECTS
(TABLES)
Virtual Application Components
User-base 3:
Application 3
Indexes
User
EyeOS Server
User
eyeos
apps
User
extern
extras
system
users
Client-side scripts
workgroups
Scalability engine
EC2 instances:
web front end
Amazon SQS
Amazon S3:
Video storage
EC2 instances: video rendering
Aneka MayaRender
Render Files
Scenarios
Maya: Train Design
Render Tasks
Aneka
Networked LAN
Gamer
Titan Gaming Portal
Aneka
Gamer
Log
Processing Task
Gamer
Game Server
Log
Processing Task
Game Server
Game Server
Log
Processing Task
Dropbox Folder
Automatic
synchronization
Dropbox Folder
Dropbox Folder
Chapter 11 – Advanced Topics in
Cloud Computing
User Applications
Revenue
Power
Consumption
Reducing Power Cost and
Maximizing Revenue
Reducing Power Cost
and Carbon Emission
Cloud Data Center
VMM
Users
Compute Cloud
Brokers
Negotiate
Bid
Pool Node
Pool Node
Cluster (VM Pool)
Directory
Bank
Auctioneer
Enterprise Resource
Server (Proxy)
Storage Cloud
Cloud Exchange
Enterprise IT Consumer
Compute Cloud
= Cloud Coordinator
Storage Cloud
Market-Oriented Models
Allocation
Decision
Local
Global
Market
Model
Objective
Profit-based
System-based
Application
Model
User
Centric
Hybrid
Bag of
Tasks
Game
Theory
Proportional
Share
Bargaining
Participant
Focus
Commodity
Market
Vickery
Auction
Workflow
Posted
Price
Auction
Single
Sided
Double
Auction
Dutch
Auction
English
Auction
Resource
Centric
Parallel
Applications
Contract
Net
Combinatorial
Auction
First Price
Sealed Auction
System
Centric
Others
eg. Storage
Brokers
Users
Service Request Examiner and Admission Control
SLA
Allocator
- Customer-driven Service Management
- Computational Risk Management
- Autonomic Resource Management
Accounting
Pricing
VM Monitor
Dispatcher
Service Request
Monitor
Virtual
Machines
Physical
Machines
Cloud Data Center
s
physics
biology
medicine
modeling
CAD
science
engineering
bag of tasks
banking
finance
teaching
education
parameter sweep
business
message passing
workflow
3D rendering
imaging
blogging
photos
social
networking
multimedia
map-reduce
Web 2.0 Interfaces: Ajax, Web Services, Service Portals, REST
y
Market Maker
Meta-broker
Cloudbus Middleware
Workflow Engine
Other Middlew
PaaS Ven
Broker
PaaS Vendor 2
ask Model
Thread Model
PSM
MapReduce
Accounting
Metering
Pricing
Billing
Cloud Federation Stack
Conceptual Level
Motivations
Advantages
Opportunities
Obligations
Logical and Operational Level
Federation Model
Cloud Service, Provider, Agreements
Market and Pricing Models
Service Level Agreements
Infrastructural Level
Protocol, Interfaces, and Standards
Programmatic Interoperation
Federation Platforms (RESERVOIR, InterCloud)
Communication is related to
IMF interface requests
Communication is
internal and proprietary
HTTP
OCCI Interface
any channel,
any protocol
Provider’s APIs
Provider’s Infrastructure
Resource
Management Framework
Resources
OCCI Clients
Other Clients
Most interoperable
Least interoperable
Clients can be in
the Cloud or
Enterprise and
provide additional
services (data,
computing, etc…)
Block Storage
Client
Export Data to the Cloud
File System
Client
POSIX (NFS,
CIFS, WebDAV)
Acting in the Role of Managing Data / Storage
iSCSI, FC, FCoE,
LUNs, Targets
Management of
the Cloud Storage
can be standalone
or part of the
overall
management of
your Cloud
Computing
Object Storage
Client
XAM Client
Database /
Table Client
CDMI
Container
Container
Container
Data Storage Cloud
Draw Resources on Demand
Storage Cloud Data Management Interface (CDMI)
Data Services
Service
Application 1
Service Application 2
Service Application 3
Virtualizer
Virtualizer
Virtualizer
Computational Resource
Computational Resource
Computational Resource
VEE Host
VEE Host
VEE Host
RESERVOIR Site 1
RESERVOIR Site 2
Service Provider
manifest
Service
Manager
Service
Manager
Service Manager
SLA
SLA
VEE Manager
(VEEM)
VEE Manager
(VEEM)
VEE Manager
(VEEM)
VEE Hosts
VEE Hosts (e.g.
hypervisor, VJSC Host, …)
VEE Hosts
Site A
Site B
Site C
User
User
Broker
User
User
Interface
VM Manager
(e.g. Eucalyptus)
VM Manager
(e.g. EC2)
Cloud
Coordinator
Cloud
Coordinator
User
Interface
Cloud Exchange
Publish / Query
Offers / Request
User
Interface
User
Cloud
Coordinator
VM Manager
(e.g. Open Nebula)
User
Resource
Negotiation
User
Coral CDN
Windows Azure
Nirvanix
Coral
Connector
Nirvanix
Connector
MetaCDN
Manager
MetaCDN
Database
Amazon S3
Azure
Connector
MetaCDN
Allocator
S3
Connector
XYZ
Connector
MetaCDN
Load Redirector
XYZ
Web
Service Access
SLA
Web Portal
SLA
Applications
Users
SLA
SLA
Users
Applications
Web Portal
Web
Service Access
MetaCDN
Load Redirector
MetaCDN
Allocator
MetaCDN
Database
Nirvanix
Connector
Nirvanix
MetaCDN
Manager
Coral
Connector
Coral CDN
Azure
Connector
Windows Azure
S3
Connector
Amazon S3
XYZ
Connector
XYZ
Buyers
Capacity Provider
(Storage)
SpotCloud
Connector
SLA
Deployment
Comparative
Listing of
Offerings
Capacity Provider
(Compute)
SpotCloud
Connector
QoS and SLA
Monitoring
Transactions Bookkeeping
and Billing Engine
User
Profiles Database
VM
Package Repository
Other Stuff
Index / Map Management
Nodes Management
Infrastructure Management
Storage management
Local caching
File lookup forwarding
Failover master
Slave
Storage management
Local caching
File lookup forwarding
Slave
Storage management
Local caching
File lookup forwarding
Slave
Hierarchical File System
(Files and Directories)
Flat File System
(Files)
Raw File System
(Byte stream)
Client 1
Client 2
Client N
File Map (GUID  Location)
Bucket List
DFS
Failover master
Slave – Bucket N
Slave – Bucket 2
Slave – Bucket 1
DFS Client
DFS Infrastructure
Aneka DFS Wrapper
Service : IService
DFS API
Aneka Container
Application-based
Storage Interface
DFS Service
Download
Study collections