Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 138

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 I have a lot of
infrastructure, but infrastructure that I
I do not know for want to rent …
how long… I have a surplus of
infrastructure that I
want to make use of

I cannot invest in
infrastructure, I
just started my
business….
I have infrastructure
and middleware and I
can host applications

I want to focus on
application logic and
not maintenance and
Global Cloud Marketplace
scalability issues

I have infrastructure
and provide
application services

I want to access and


edit my documents
and photos from
everywhere..
Subscription-Oriented Cloud Services:
X{compute, apps, data, ..}
Manjrasoft as a Service (..aaS)

Public Clouds

Applications

Development and
Runtime Platform
Compute
Cloud
Storage
Manager

Private
Clients
Cloud

Other Govt.
Cloud Services Cloud Services

10
Public Clouds

Applications
Applications

Development
Developmentand
and
Runtime
RuntimePlatform
Platform
Compute
Compute

All Storage
Storage
Allusers,
users, on
onany
anydevice
device

Cloud
CloudManager
Manager

Private
PrivateResources
Resources

Private Cloud Private Cloud (Government)

Organization
OrganizationPersonnel
Personnel Government
GovernmentAgencies
Agencies
Cloud Deployment Models

Public/Internet Private/Enterprise Hybrid/Inter


Clouds Clouds Clouds

* 3rd party, * Mixed usage of


* A public Cloud model
multi-tenant Cloud private and public
within a company’s
infrastructure Clouds: Leasing public
own Data Center /
& services: cloud services
infrastructure for
when private cloud
internal and/or
* available on capacity is
partners use.
subscription basis to all. insufficient
No capital
investments CClloou
uddbbuus
srrtitinng
g
SSaaaaSS Quality
Quality of
of Service
Service

IInntte GGrreeen
Pay
Pay as
as you
you go
go errnne PPaaaaSS en ccoom
mppuutitin
ett ngg

IIaaaaSS
Billing
Billing
mppuutitinngg
o
y cco m
L eevveell UUtitilliitty
Elasti g e L
city o u
uttssoouurrcciinng i c e
SSeerrvvic meenntt
IITT o AAggrreeeem

i r
rtuuaall rss
t
y IT VVi nntteer
bilit IT outsourcing
outsourcing accee
l a
Sca DDaatta
PPrriivvaacy
cy &
& TTrruusstt
s iioonniinngg
ii s
PPrroovv em m aanndd Security
d e Cloud
oonn d Cloud
n
r t u
uaalliizzaatitioon Computing?
Computing?
VViirt
Web 2.0 Software as a Service
Interfaces End
End user
user applications
applications
Scientific
Scientific applications
applications
Office
Office automation,
automation, Photo
Photo editing,
editing,
CRM,
CRM, and
and Social
Social Networking
Networking
Examples:
Examples: Google
Google Documents,
Documents, Facebook,
Facebook, Flickr,
Flickr, Salesforce
Salesforce

Platform as a Service
Runtime
Runtime Environment
Environment for
for Applications
Applications
Development
Development and
and Data
Data Processing
Processing Platforms
Platforms
Examples:
Examples: Windows
Windows Azure,
Azure, Hadoop,
Hadoop, Google
Google AppEngine,
AppEngine, Aneka
Aneka

Infrastructure as a Service
Virtualized
Virtualized Servers
Servers
Storage
Storage and
and Networking
Networking
Examples:
Examples: Amazon
Amazon EC2,
EC2, S3,
S3, Rightscale,
Rightscale, vCloud
vCloud
2010: Microsoft
1970: DARPA’s TCP/IP 1999: Grid Computing Azure

1984: IEEE 802.3 1997: IEEE 2008: Google


Ethernet & LAN 802.11 (Wi-Fi) AppEngine
1966: Flynn’s Taxonomy
SISD, SIMD, MISD, MIMD 1989: TCP/IP
2007: Manjrasoft Aneka
IETF RFC 1122
1969: ARPANET
1984: DEC’s 2005: Amazon
1951: UNIVAC I, VMScluster AWS (EC2, S3)
First Mainframe
1975: Xerox PARC
Invented Ethernet 2004: Web 2.0
Clouds 1990: Lee-Calliau
1960: Cray’s First WWW, HTTP, HTML
Grids Supercomputer

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 PC / Workstation PC / Workstation PC / Workstation
Common Common Common Common
SW & Applications SW & Applications SW & Applications SW & Applications

Operating System Operating System Operating System Operating System

Network Interface HW Network Interface HW Network Interface HW Network Interface HW

High
Highspeed
speednetwork
networkconnection
connection
Applications
User interface for presentation
Distributed System Stack

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
MPI Programming,
Programming, JMS,
JMS,
MSMQ, MQS
MSMQ, MQS

Message
Message Based
Based
Communication
Communication

Paradigms
Paradigms //
Architectural
Architectural
Models
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
Instruction
Stream
Stream

Data
Data Input
Input Data
Data Output
Output

Processor
Processor
Single
Single Instruction
Instruction Stream
Stream

Data
Data Input
Input 11 Data
Data Output
Output 11

Processor
Processor 11

Data Data
Data Output
Output 22
Data Input
Input 22

Processor
Processor 22

Data Data
Data Output
Output N
N
Data Input
Input N
N

Processor
Processor N
N
Instruction
Instruction Instruction
Instruction Instruction
Instruction
Stream
Stream 11 Stream
Stream 22 Stream
Stream NN

Stream
Output Stream
Stream
Input Stream

Processor
Processor 11

Data Output
Data Input
Single Data

Single Data
Processor
Processor 22
Single

Single
Processor
Processor N
N
Instruction
Instruction Instruction
Instruction Instruction
Instruction
Stream
Stream 11 Stream
Stream 22 Stream
Stream NN

Data
Data Input
Input 11 Data
Data Output
Output 11

Processor
Processor 11

Data
Data Input
Input 22 Data
Data Output
Output 22

Processor
Processor 22

Data
Data Input
Input N
N Data
Data Output
Output 33

Processor
Processor N
N
Cache
Cache L1
L1 Cache
Cache L1
L1

Core 2

IPC Channel IPC Channel

Processor 1 Processor 2 Processor N Processor 1 Processor 2 Processor 2


Memory
Bus Memory Memory Memory
Bus Bus Bus
Global
Global System
System Memory
Memory Local
Local Local
Local Local
Local
Memory
Memory Memory
Memory Memory
Memory
Messages Messages
IPC IPC Large
Large Level
Level
(Processes,
(Processes, Tasks)
Tasks)
Task 1 Task 2 Task N

Shared Shared
function f1() Memory function f2() function fJ()
Memory Medium
{…} {…} {…} Medium Level
Level
Function 1 Function 2 Function J (Threads,
(Threads, Functions)
Functions)

a[0] = … a[1] = … a[k] = … Fine


Fine Level
Level
b[0] = … b[1] = … b[k] = …
(Processor,
(Processor,
Statements Statements Statements Instructions)
Instructions)

Very
Very Fine
Fine Level
Level
(Cores,
(Cores, Pipeline,
Pipeline,
+ x load Instructions)
Instructions)
Frameworks
Frameworks forfor Applications
Applications
distributed
distributed
programming
programming

Middleware
Middleware
IPC
IPC primitives
primitives for
for
control and data.
control and data.

Operating
Operating System
System

Networking
Networking and
and
Parallel
Parallel Hardware
Hardware
Hardware
Hardware
Social
Social Networks,
Networks,
Scientific
Scientific Computing,
Computing,
Enterprise Applications
Enterprise Applications

Applications
Applications (SaaS)
(SaaS)

Frameworks
Frameworks for
for
Cloud Application
Cloud Application
Development
Development
Middleware
Middleware (PaaS)
(PaaS)

Virtual
Virtual hardware,
hardware,
networking,
networking, OSOS images,
images,
and
and storage.
storage.
Hardware
Hardware and
and OS
OS (IaaS)
(IaaS)
Client-server
request
request

Two
Two Tier
Tier
(Classic Model)
(Classic Model)
client
client response server
response server

Three
Three Tier
Tier

client
client Server/client server
server
Server/client

NN Tier
Tier
server
server

client
client Server/client Server/client
Server/client
Server/client
server
server
P2P

peer
peer

peer
peer

peer
peer
peer
peer

peer
peer

peer
peer
peer
peer
RPC
Node
Node AA Node
Node BB

Main Procedure Procedure


Procedure Registry
Registry

Procedure
Procedure AA Procedure
Procedure C:Node
C:Node BB
Procedure
Procedure CC

Procedure
Procedure BB RPC
RPC Library
Library RPC
RPC Service
Service

Program
Program AA (RPC
(RPC Client)
Client) Program
Program CC (RPC
(RPC Server)
Server)

Parameters
Parameters Marshaling
Marshaling Return
Return Value
Value Parameters
Parameters Unmarshaling
Unmarshaling Return
Return Value
Value
and
and Procedure
Procedure Name
Name Unmarshaling
Unmarshaling and
and Procedure Name
Procedure Name Marshaling
Marshaling

Network
Network
DOF interaction
Node
Node AA Node
Node BB
Application
Application BB

21
21
10
10 16
16
Instance Remote
15
15
Instance
5:
5: Object
Object
1:
1: Ask
Ask for
for Object
Object
Object Proxy
Proxy Object Skeleton
Skeleton Activation
Activation
Reference
Reference
99 11
11 20
20 17
17 14 66 44
14

Remote
Remote Reference
Reference Module
Module Remote
Remote Reference
Reference Module
Module

Application
Application AA
88 12
12 77
13
13
22 19
19 18 33
18

Network
Network
Web
Web WSDL(s)
WSDL(s) Web
Web Service
Service
Server
Server
see
s p
poonns )
WS
WS Client
Client RRees SSDDLL) UDDI
UDDI Registry
Registry
((W
W Web
Web WSDL
WSDL
Server
Server

Application
Application QQuueerryy
IInn
vvoo
ccaa

Web
Web Service
Service
titio
onn

WSDL
WSDL
WS
WS Client
Client
Application
Application
Application
Application
WS technology Stack

WSFL Web
WSFL Web Service
Service Flow
Flow
Static 
Static  UDDI
UDDI Service
Service Discovery
Discovery

Service
of Service
Direct 
Direct  UDDI Service
Service Publication

Management
UDDI Publication

Management
Quality of
Security
WSDL Service
Service Description

Security
WSDL Description

Quality
SOAP
SOAP XML-based
XML-based Messaging
Messaging

HTTP,
HTTP, FTP,e-mail,
FTP,e-mail, MQ,
MQ, IIOP,
IIOP, ….
…. Network
Network
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”>
Envelope
Envelope
<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> Header:
Header: Metadata
Metadata &
& Assertions
Assertions

<soap:Body xmlns:m=http://www.stocks.org/stock>
<m:GetStockPrice>
<m:StockName>IBM<m:StockName>
</m:GetStockPrice>
</soap:Body>

Body:
Body: Method
Method Call
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”>
Envelope
Envelope
<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> Header:
Header: Metadata
Metadata &
& Assertions
Assertions

<soap:Body xmlns:m=http://www.stocks.org/stock>
<m:GetStockPriceResponse>
<m:Price>34.5<m:Price>
</m:GetStockPriceResponse>
</soap:Body>

Body:
Body: Execution
Execution Result
Result
</soap:Envelope>
Chapter 3 – Virtualisation
Virtual
VirtualImage
Image Applications
Applications Applications
Applications
Guest
Guest

Virtual
VirtualHardware
Hardware Virtual
VirtualStorage
Storage Virtual
VirtualNetworking
Networking
Virtualization
Virtualization Layer
Layer
Software
Software Emulation
Emulation

Host
Host Physical
PhysicalHardware
Hardware Physical
PhysicalStorage
Storage Physical
PhysicalNetworking
Networking
Applications
Application
Application-- level
level
Virtualization
Virtualization

Programming Languages
Execution Stack

Programming
Programming
Language
Languagelevel
level
Virtualization
Virtualization

Operative Systems
OS-
OS- level
levelVirtualization
Virtualization

Hardware
Hardware
Hardware-- level
level
Virtualization
Virtualization
Virtual
Virtual
Resources
Resources

Sharing Aggregation Emulation Isolation Virtualization


Virtualization

Physical
Physical
Resources
Resources
How
How itit isis done?
done? Technique
Technique Virtualization
Virtualization Model
Model

Emulation
Emulation Application
Application

Execution
Execution Programming
Programming
Process
Process Level
Level High-Level
High-Level VM
VM
Environment
Environment Language
Language

Storage
Storage Operating
Operating
Multiprogramming
Multiprogramming System
System
Virtualization
Virtualization

Network
Network Hardware-assisted
Hardware-assisted
Virtualization
Virtualization

Full
Full Virtualization
Virtualization
System
System Level
Level Hardware
Hardware

…. Paravirtualization
Paravirtualization
….

Partial
Partial Virtualization
Virtualization
Applications Applications
Applications
API calls
API
API
Libraries
Libraries Libraries
Libraries

ABI
ABI System calls User
User ISA
Operative
OperativeSystem
System Operative
OperativeSystem
System ISA

ISA ISA
ISA

Hardware
Hardware Hardware
Hardware
Least privileged mode
(user mode)
Ring 3
Privileged modes
Ring 2
Ring 1

Ring 0

Most privileged mode


(supervisor mode)
Guest
In
In memory
memory
representation
representation

Virtual Image
Storage

VMM Host
Hostemulation
emulation

Virtual Machine

binary
binary translation
translation
instruction
instructionmapping
mapping
interpretation
interpretation
……
……

Host
VM
VM VM
VM VM
VM VM
VM
ISA
ISA

Virtual
VirtualMachine
MachineManager
Manager
VM
VM VM
VM VM
VM VM
VM
ABI
ABI ISA
ISA

Operative
OperativeSystem
System Virtual
VirtualMachine
MachineManager
Manager

ISA
ISA ISA
ISA

Hardware
Hardware Hardware
Hardware
Virtual
VirtualMachine
MachineInstance
Instance

ISA
ISA
Instructions (ISA)

Interpreter
Interpreter
Interpreter
Dispatcher
Dispatcher Interpreter
Routines
Routines
Routines
Routines

Allocator
Allocator

Virtual
Virtual Machine
Machine Manager
Manager
Privileged Instructions

Sensitive Instructions

User Instructions
VM
VM

VM
VM VM
VM VM
VM VM
VM VM
VM

Virtual
VirtualMachine
MachineManager
Manager

Server
Server AA Server
Server BB
(running)
(running) (running)
(running)
Before
Before Migration
Migration

VM
VM VM
VM VM
VM

VM
VM VM
VM VM
VM

Virtual
VirtualMachine
MachineManager
Manager

Server
Server AA Server
Server BB
(running)
(running) (inactive)
(inactive)
After
After Migration
Migration
User
UserApplications
Applications
(unmodified
(unmodifiedABI)
ABI)
Management
ManagementDomain
Domain(Domain
(Domain0)
0)
••VM
VMManagement
Management
••HTTP
HTTPinterface
interface Ring 3
••Access
Accesstotothe
theXen
XenHypervisor
Hypervisor User
UserDomains
Domains (Domain
(Domain U)
U)
Ring 2 ••Guest
GuestOS
OS
Ring 1 ••Modified
Modified codebase
codebase
••Hypercalls
Hypercallsinto
into Xen
XenVMM
VMM
Ring 0
Privileged
instructions

Xen
Xen Hypervisor
Hypervisor (VMM)
(VMM)
••Memory management
Memory management
••CPU
CPUstate
stateregisters
registers
••Devices
DevicesI/O
I/O

Hardware
trap

Hardware
Hardware (x86)
(x86)
User
UserApplications
Applications
Ring 3 (unmodified
(unmodifiedABI)
ABI)
Ring 2
Ring 1
Guest
Guest Operating
OperatingSystem
System
Ring 0 ••Unmodified
Unmodifiedcodebase
codebase
••VMM
VMMunaware
unaware

Hypervisor
Hypervisor
••Binary
Binarytranslation
translation
••Instruction
Instructioncaching
caching

Hardware trap
Dynamic / cached translation (sensitive
(sensitive instructions) instructions)

Hardware
Hardware (x86)
(x86)
I/O User
User Applications
Applications

Guest
GuestOperating
OperatingSystem
System
User
UserApplications
Applications VMware
VMware
Workstation
Workstation Virtual
VirtualMachine
MachineInstance
Instance

Host
Host Operating
OperatingSystem
System VMware
VMwareHypervisor
Hypervisor(VMM)
(VMM)
••Direct
Direct access tohardware
access to hardware
VMware
VMware ••I/O,
I/O, memory,
memory,networking
networkingfor
forguests
guests
Driver
Driver ••Save/Restore
Save/Restore CPU state forhost
CPU state for hostOS
OS

Hardware
Hardware (x86)
(x86)
serverd
serverd
(daemon)
(daemon) VMware
VMware

VMware
VMware
Web
Web
Server
Server VMware
VMware VM
VMInstance
Instance VM
VMInstance
Instance VM
VMInstance
Instance

Host
Host Operating
OperatingSystem
System VMware
VMwareHypervisor
Hypervisor(VMM)
(VMM)
••Direct access to hardware
Direct access to hardware
VMware
VMware ••I/O,
I/O, memory,
memory,networking
networking for
forguests
guests
Driver
Driver ••Save/Restore
Save/RestoreCPU
CPUstate
statefor
forhost
hostOS
OS

Hardware
Hardware (x86)
(x86)
CIM
CIM vxpa
vxpa SNMP
SNMP
broker
broker VM VM VM
VM VM VM
hostd
hostd DCUI
DCUI syslog
syslog VMX
VMX VMX
VMX VMX
VMX
Third-party
Third-party
CIM
CIMplug-ins
plug-ins
User VMM
VMM VMM
VMM VMM
VMM
Userworld
world API
API

Distributed
DistributedVMVM Virtual
VirtualEthernet
Ethernet
file
filesystem
system adapter
adapterand
andswitch
switch

Resource Storage
Storagestack
stack Network
Network stack
stack
Resource
scheduling
scheduling
VMkernel
VMkernel Device
Devicedrivers
drivers

Hardware
Hardware
Application
Application
Zimbra
Zimbra Virtualization
Virtualization

Platform
Platform
vFabric
vFabric Virtualization
Virtualization

vCloud
vCloud

vCenter
vCenter vCenter
vCenter
Infrastructure
Infrastructure
vSphere
vSphere vSphere
vSphere vSphere
vSphere vSphere
vSphere Virtualization
Virtualization

ESXi
ESXi ESXi
ESXi ESXi
ESXi ESXi
ESXi
ESX
ESX ESX
ESX ESX
ESX ESX
ESX

Server
Server Server
Server Server
Server Server
Server

Data
DataCenter
Center Data
Data Center
Center

Cloud
Cloud
VMWPs
VMWPs
User
UserApplications
Applications User
UserApplications
Applications User
UserApplications
Applications
(Ring
(Ring3)
3) (Ring
(Ring3)
3) (Ring
(Ring 3)
3)
VMMS WMI
VMMS WMI

Hypervisor-aware
Hypervisor-aware Hypervisor-aware
Hypervisor-aware Hypervisor-aware
Hypervisor-aware Hypervisor-unaware
Hypervisor-unaware
Kernel
Kernel(Ring
(Ring0)
0) Wndows
WndowsKernel
Kernel(Ring
(Ring0)
0) Linux
LinuxKernel
Kernel(Ring
(Ring0)
0) Kernel
Kernel(Ring
(Ring0)
0)
VSPs
VSPs VID
VID VSCs
VSCs//ICs
ICs VSCs
VSCs//ICs
ICs

WinHv
WinHv WinHv
WinHv LinuxHv
LinuxHv
I/O
I/O I/O
I/O I/O
I/O
Stack
Stack
Drivers
Drivers Latest Pictures.
Stack
Stack
Drivers
Drivers
Stack
Stack
Drivers
Drivers

VMBus
VMBus VMBus
VMBus VMBus
VMBus

Root
Root//Parent
ParentPartition
Partition Enlightened
Enlightened Child
Child Partition
Partition Enlightened
Enlightened Child
ChildPartition
Partition Unenlightened
Unenlightened Child
ChildPartition
Partition

Hypervisor
Hypervisor Address
Address Partition
Partition
Hypercalls
Hypercalls MSRs
MSRs APIC
APIC Scheduler
Scheduler
(Ring
(Ring -1)
-1) Management
Management Management
Management

Hardware
Hardware (x86)
(x86) Processor Memory
Chapter 4 – Cloud Computing Architecture
Pure SaaS

Cloud Applications
SaaS

User
User
Applications
Applications Social Computing, Enterprise ISV, Scientific Computing, CDNs

Cloud Programming Environment and Tools


PaaS
Pure PaaS

Autonomic
Autonomic Cloud
User-level
User-level Web
Web 2.0,
2.0, Mashups,
Mashups, Concurrent
Concurrent and
and Distributed
Distributed Programming,
Programming,

Adaptive
Adaptive Management
Middleware
Middleware
Workflows
Workflows ,, Libraries,
Libraries, Scripting
Scripting

Cloud Hosting Platforms


IaaS

Management
Cloud Economy
QoS
QoS Negotiation,
Negotiation, Admission
Admission Control,
Control, Pricing,
Pricing, SLA
SLA Management,
Management,
IaaS (M)

Monitoring,
Monitoring, Execution
Execution Management,
Management, Metering,
Metering, Accounting
Accounting

Economy
Core
Core
Middleware
Middleware
Virtual
Virtual Machine
Machine (VM),
(VM), VM
VM Management
Management and
and Deployment
Deployment

Cloud Resources
System
System
Infrastructure
Infrastructure
Web based Management Interface
Web
Web Services,
Services, Portals,
Portals, REST
REST API
API

Infrastructure Management Software

Pricing
Pricing // Billing
Billing QoS
QoS SLA
SLA Management
Management Scheduling
Scheduling
Provisioning
Provisioning

Monitoring
Monitoring Reservation
Reservation VM
VM Image
Image Repository
Repository VM
VM Pool
Pool Management
Management

Physical Infrastructure

Desktop
Desktop //
Datacenter
Datacenter Cluster
Cluster Heterogeneous
Heterogeneous Resources
Resources Third Party IaaS Cloud
Web based Interface
Web
Web Services,
Services, Portals,
Portals, REST
REST API
API Programming
Programming API
API // Libraries
Libraries

PaaS Core Middleware

User
User
Elasticity
Elasticity &
& Management
Management
Scaling
Scaling
Application
Application
Runtime
Runtime Management
Management

QoS
QoS // SLA
SLA Management
Management &
&
Resources
Resources Management
Management Billing
Billing

Physical Infrastructure IaaS Providers


Platform as a Service Solutions
PaaS

DataSynapse,
DataSynapse, Zimory
Zimory Pools,
Pools,
Elastra
Elastra CloudServer,
CloudServer, Aneka,
Aneka, ….
….

Infrastructure Management Software


IaaS

Eucalyptus, OpenNebula, VMWare


IaaS (M)

vCloud, OpenPEX, InterGrid, …

Virtual Machine Technology


KVM, Xen, VMWare, …

Datacenters, Clusters, Desktop Grids


Physical Infrastructure
Hybrid
Hybrid // Heterogeneous
Heterogeneous Cloud
Cloud

Private Public
Public Cloud
Cloud
Private Cloud
Cloud

Paas
Dynamic
Provisioning
IaaS (M)

Public
Public Cloud
Cloud
Datacenter
Datacenter Cluster
Cluster Desktop
Desktop Grids
Grids //
NOWs
NOWs
Community
Community Cloud
Cloud

Infrastructure Application
Application
Services
Services
33rdrd Party
Party Cloud
Cloud
Public
Public Cloud
Cloud
Development
Development Private
Private Cloud
Cloud
Platforms
Platforms

Public
Public Cloud
Cloud Private
Private Cloud
Cloud
Federal
Federal and
and
Government
Government Bodies
Bodies

Private
Private
Users
Users
Industries
Industries
Enterprises
Enterprises
Public
Public Services
Services
Chapter 5 – Aneka: Cloud Application Platform
Multiple Applications

Thread Task ... MapReduce

1. SDK

Aneka

2. Runtime

Multi-core Cluster Grid Cloud


2100 2100 2100 2100

2100 2100 2100 2100

Multiple Infrastructures
Distributed
Distributed Threads
Threads
MapReduce
MapReduce
other
other models…
models…

Persistence
Persistence and
Foundation Services
Billing
Billing &
& Reporting
Reporting
Resource
Resource Reservation
Reservation

and Security
Storage
Storage

Security
Licensing
Licensing &
& Accounting
Accounting

Fabric Services
Dynamic
Dynamic Resource
Resource
Provisioning
Provisioning

Hardware
Hardware Profiling
Profiling

PAL – Platform Abstraction Layer

Infrastruscture
ECMA
ECMA 334:
334: .NET
.NET or
or Mono
Mono // Windows,
Windows, Linux,
Linux, &
& Mac
Mac

Enterprise
Enterprise Desktop
Desktop Grid
Grid Data
Data Centers
Centers Clusters
Clusters Public
Public Cloud
Cloud
HTTP
HTTP
File
File Share
Share
……
……

Aneka
Aneka Repository
Repository

te
upda
Node
Node Node
Node
Manager
Manager Manager
Manager
Aneka
Aneka Aneka
Aneka
Containers
Containers Containers
Containers

Node
Node
Manager
Manager
Aneka
Aneka
Containers
Containers

Node
Node
Manager
Manager
Aneka
Aneka
Management
Management Containers
Containers
Console
Console
100%
90%
Infrastrucutre Overhead 80%
70%
60%
50%
40%
30%
20%
10%
0%
1 2 4 8 16 32 64 128 200
Number of Resources
600 1000

500
(minutes: decimal scale)

(minutes: log2 scale)


400 100

300

200 10

Time
Time

100

0 1
1 2 4 8 16 32 64 128 200 1 2 4 8 16 32 64 128 200
Number of Resources Number of Resources

Ideal Execution Time Actual Execution Time Ideal Execution Time Actual Execution Time
35 100%
90%
30
80%
Infrastructure Overhead (m)

Infrastrucutre Overhead
25 70%
60%
20
50%
15 40%
10 30%
20%
5
10%
0 0%
1 2 4 8 16 32 64 128 200 1 2 4 8 16 32 64 128 200
Number of Resources Number of Resources
Middleware - Container

Application Services

Persistence
Distributed
Distributed Threads MapReduce Bag
Bag of
of Tasks PSM Other
Other models…

Persistence &
Threads MapReduce Tasks PSM models…

Foundation Services
Storage
Storage Resource
Resource Reservation
Reservation Billing
Billing &
& Reporting
Reporting Licensing
Licensing &
& Accounting
Accounting

& Security
Security
Fabric Services
High-Availability
High-Availability Resource
Resource Provisioning
Provisioning Hardware
Hardware Profiling
Profiling Membership
Membership

PAL – Platform Abstraction Layer

Infrastruscture
ECMA
ECMA 334:
334: .NET
.NET or
or Mono
Mono // Windows,
Windows, Linux,
Linux, &
& Mac
Mac

Enterprise
Enterprise Desktop
Desktop Grid
Grid Data
Data Centers
Centers Clusters
Clusters Public
Public Cloud
Cloud
Index (master) Index (master) Index (slave)
Scheduling Scheduling
Storage
Accounting Failover Accounting
Mandatory
Reporting Reporting
Reservation Storage
Storage Node
Node
Reservation
Provisioning Provisioning
Mandatory Mandatory

Master
Master Node
Node Index (slave)
Storage
Mandatory

Storage
Storage Node
Node

Index (slave) Index (slave) Index (slave)


Execution Execution Execution
Allocation Allocation Allocation
Mandatory Mandatory Mandatory

Worker
Worker Node
Node Worker
Worker Node
Node Worker
Worker Node
Node
Amazon EC2
Master Node

Reporting, Billing,
Accouting

AWS
AWS

Task Scheduling Storage Provisioning Dynamic


Dynamic Resources
Resources
Service Service Service
Slave Node

Task Execution
Service
Static
Static Resources
Resources
QoS
Aneka Hybrid
Cloud

Reporting, Billing, Accouting

High
Performance Public
and QoS
Public Clouds
Clouds
Application Provisioning
Management & Scheduling Service

Low priority workloads

Desktops
Desktops &
& Workstations
Workstations Cluster
Cluster Resources
Resources
Master Node

Resource
Provisioning

Application
Management & Resource
Scheduling Reservation
Virtual
Virtual Clusters
Clusters

Desktop
Desktop Machines
Machines
Workstations
Workstations Clusters
Clusters
Master Node
Slave Nodes

Reporting,
Billing, Accouting
Application
Management & Resource
Scheduling Provisioning
Amazon
Amazon EC2
EC2 Instances
Instances

Amazon
Amazon EC2
EC2 Instance
Instance
EC2 Boundaries
Local
Local Infrastructure
Infrastructure
Master Node

Provisioning
Reporting, Billing, Accouting Service

Application Resource
Management & Scheduling Reservation

Desktops
Desktops &
& Workstations
Workstations Clusters
Clusters Virtual
Virtual Cluster
Cluster Resources
Resources
Unknown Initialized

IService.Start()

Starting

Pausing

<Error> IService.Pause()
Running Paused

Resuming

IService.Continue()
IService.Stop() Stopping

Stopped
Chapter 6 – Concurrent Computing: Thread Programming
To Memory

CPU: single die


Cache
Cache L2
L2

Cache
Cache L1
L1 Cache
Cache L1
L1 Cache
Cache L1
L1

Core 1 Core 2 Core N


Process
Process
Timeline
Execution Timeline Shared
Shared Memory
Memory

Main
Main Thread
Thread

Thread
Thread Local
Local
Storage
Storage
Execution

Instructions
Instructions
(program
(programcounter)
counter)

Thread
Thread

Thread
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 Result

Unit 3 Unit 4

Unit 5
Unstarted Unstarted

Start()
Start()

Abort() StagingIn Started Re


Suspend()
Abort
Suspend Running Requested
Requested No
rm
al
C om
)
e( ple
tio
m
esu n Queued Aborted
R
Wait Stopped
Suspended SleepJoin

Wait()/Sleep()/Join() Interrupt() Running

Staging Completed
Out

a. System.Threading.Thread life cycle. 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 8
0
1 10
9
7
6
4
3 5 11

0 7 4 8
5
Group A 11 1
10 Group B
3 9 2 6

2 1 5 2 0
0
4
3 6 4 3
1
Communicator A Communicator B
MPI
MPI Include
Include File
File
Header
Header
Section
Section
Prototypes
Prototypes declaration
declaration

Do
Do Work
Work Serial
Serial Code
Code

MPI
MPI Environment
Environment Initialization
Initialization

Code
Code Do Parallel
Parallel
Do Work
Work and
and Message
Message
Section
Section Passing Code
Code
Passing

MPI
MPI Environment
Environment Shutdown
Shutdown

Do
Do Work
Work Serial
Serial Code
Code
Users
Users

Workflow
Workflow
Design
Design && Workflow
Workflow Application
Application Modeling
Modeling &
& Definition
Definition Tools
Tools
Definition
Definition
Information Services

Build Time Workflow


Workflow
Specification
Specification Resource
Resource Info
Info Service
Service
Run Time
Application
Application Info
Info Service
Service

Workflow Enactment Engine


Interaction
Interaction with
with
Information Services
Information Services
Workflow
Workflow Task
Task ++ Data
Data Scheduler
Scheduler
Execution
Execution &
&
Control Data
Data Dependency
Dependency Language
Language
Control
Movement
Movement Manager
Manager Interpreter
Interpreter
Data
Data Runtime
Runtime Fault
Fault
Provenance
Provenance Manager
Manager Management
Management

Interaction
Interaction with
with Middleware
Middleware Supporting
Supporting Clusters,
Clusters, Grids,
Grids, and
and Clouds
Clouds
Distributed
Distributed
Resources
Resources

Distributed
Distributed Computing
Computing Resources
Resources
StorageService
StorageService
TaskScheduler
TaskScheduler
AnekaApplication TaskManager
Index
Task1
Task1 :: ITask
ITask Node
AnekaTask
AnekaTask
Task2
Task2 :: ITask
ITask
AnekaTask
AnekaTask Membership
Membership
(… more tasks) Catalogue
Catalogue TaskExecution
TaskExecution
Service
Service
Aneka Cloud

Local Node
File
File dependencies
dependencies
Result
Result Files
Files
Input/Output
Input/Output
Files
Files
Remote FTP

Client Machine

StorageService
StorageService
TaskScheduler
TaskScheduler

Web Service
Index
Node

TaskManager
Membership
Membership
Catalogue
Catalogue TaskExecution
TaskExecution
AnekaTask
AnekaTask
Service
Service
Aneka Cloud
AnekaTask
AnekaTask
PSMParameterInfo
PSMParameterInfo PSMContext
PSMContext
PSMCommandInfo
PSMCommandInfo PSMFileInfo
PSMFileInfo
PSM
PSM Model
Model
PSMJobInfo
PSMJobInfo

IJobManager
IJobManager

PSM
PSM Model
Model ITask
ITask

AnekaTask
AnekaTask

TaskManager
TaskManager

Aneka
Aneka
Application
Application AnekaApplication<AnekaTask,
AnekaApplication<AnekaTask, TaskManager>
TaskManager>
Model
Model
Offspring Environment

IOffspringPlugin
IOffspringPlugin

DefaultPlugin
DefaultPlugin

AutoPlugin AppInstance
AppInstance
LogPlugin
LogPlugin AutoPlugin
Strategy
Strategy IDistributionEngine
IDistributionEngine
Controller
Controller

DistributionEngineBase
DistributionEngineBase

ITaskStrategy
ITaskStrategy

Local
Local AnekaEngine
AnekaEngine
Engine
Engine
TaskStrategyBase
TaskStrategyBase
TaskManager
TaskManager
Aneka Cloud
Workflow
Workflow Workflow
Workflow
Logic
Logic 11 Logic
Logic NN
StrategyController

Control
Control Thread
Thread Monitoring
Monitoring Thread
Thread
(Strategy
(Strategy Management)
Management) (Feedback
(Feedback from
from Distribution
Distribution Engine)
Engine)

Init
Init Application
Application Task
Task
Feedback
Feedback
Init
Init Strategy
Strategy
Task Failed?

Submit
Submit Tasks
Tasks No Yes

Wait
Wait Invoke
Invoke OnSuccess
OnSuccess Invoke
Invoke OnFailed
OnFailed

No Complete New Task? Yes


or Stop?
Yes
No
Submit
Submit
Release
Release Strategy
Strategy
Yes Iteration
Signal
Signal Complete?
Shutdown
Shutdown
Application
Application No
Chapter 8 – Data Intensive Computing: Map-
Reduce Programming
Heterogeneous
HeterogeneousFormats
Formats
Distributed
DistributedPetabytes
Petabytes

Data
Data Data/compute
Data/compute
intensive
intensiveproblems
problems intensive
intensiveproblems
problems

Data
DataComplexity
Complexity
(volume/format/distribution)
(volume/format/distribution)

Compute
Compute
Current
CurrentProblems
Problems intensive
intensiveproblems
problems

Homogeneous
HomogeneousFormats
Formats
Non-distributed
Non-distributed
Megabytes
Megabytesor
orGigabytes
Gigabytes

Model
ModelSolvers
Solvers Computational
Computational Statistical
StatisticalModels
Models
Simulations
Simulations Complexity
Complexity Decision
Decisionsupport
support
Simple
Simplesearch
search Knowledge
Knowledgegeneration
generation
Storage
Facility
Information Storage
Instrument & Discovery Facility

Scientist
Storage
Facility
Compute Site

Storage Compute Site


Facility
Instrument

Compute Site Storage


Facility Scientist

Compute Site
Key
Key Ring
Ring

Storage
Storage Peer
Peer

Storage
Storage Peer
Peer

Request
Request
Coordinator
Coordinator Storage
Storage Peer
Peer
Pluggable
Pluggable Storage
Storage Failure
Failure and
and Membership
Membership
Engine
Engine (BDB,
(BDB, MySQL)
MySQL) Detection
Detection

Storage
Storage Peer
Peer
Storage
Storage Peer
Peer

Storage
Storage Peer
Peer
Tablet
Tablet Server
Server
Tablet
Tablet Server
Server Tablet
Tablet Server
Server

Master
Master Server
Server Tablet
Tablet Server
Server

Tablet
Tablet Server
Server Tablet
Tablet Server
Server

Logs
Logs
Logs
Logs
Chubby
Chubby
Tablet
TabletFiles
Files
Tablet
TabletFiles
Files Logs
Logs
Logs Logs

Tablet Tablet
TabletFiles
Files
TabletFiles
Files GFS
GFS
MapReduce Infrastructure / Runtime
Distributed File System

Map Input
InputData
Data
Map File
File
Task
Task
Input
InputData
Data
File
File
Reduce
Reduce Map
Map
Output
OutputData
Data Task
Task Task
Task Input
InputData
Data
File
File
File
File
Output
OutputData
Data Map
Map Input
InputData
Data
File
File Task
Task File
File

Input
InputData
Data
Map
Map File
File
Task
Task
Input
InputData
Data
Output
OutputData
Data File
File
File
File
Reduce
Reduce
Task
Task

Map
Map
Input
InputData
Data
Task
Task
Output Aggregation by Key Input File
File
User
User Program
Program
(1) fork
(1) fork
(1) fork

Master
Master

(2) assign map (2) assign reduce

Worker
Worker (6) write
Output
Output
Split
Split00 (4) local Worker
Worker File
File00
Split
Split11 (3) read write
Worker (5) remote read
Split
Split22 Worker
Split
Split33 Output
Output
Split
Split44 Worker
Worker File
File11
Worker
Worker

intermediate
input files map phase files reduce phase output files
Input
Input Input
Input Input
Input Input
Input
File
File File
File File
File File
File

RR RR RR RR Stage

XX XX XX XX XX XX

M
M M
M M
M M
M

Channels Vertices
(processes)
M
M M
M

Output
Output Output
Output
File
File File
File
Aneka Cloud

Map Reduce Map


Map Reduce
Reduce
Map Reduce
Task Task Task
Task Task
Task
Task Task
MapReduce MapReduce
MapReduce
MapReduce
DFS Implementation Execution Execution
Execution Service
Service
Execution Service
Service

Split
Split00
Split
Split11
Split
Split22
Split
Split33
Map
Map Reduce
Reduce
Split
Split44
Output
Output Task
Task Task
Task
File
File00 intermediate files MapReduce
MapReduce
Execution
Execution Service
Service
Output
Output
File
File11

Reducer
Reducer Mapper
Mapper MapReduce
MapReduce
Scheduling
Scheduling Service
Service
MapReduceApplication
MapReduceApplication

Input
InputData
Data File
File Input
InputData
Data File
File
Input
InputData
Data File
File Input
InputData
Data File
File

Client Machine
MapReduceSchedulerService

Message translation
and Event Triggering

MapReduceScheduler

upload queue upload thread


Aneka Middleware initialization queue
initialization thread
dispatch queue
MapReduceApplication
MapReduceApplication
failure queue dispatch thread
MapReduce
MapReduce resubmission queue
Execution
Execution Services
Services
reporting queue report thread

DFS Implementation
MapReduceExecutorService

Message translation
and Event Triggering

ExecutorManager

command command thread


queue
Aneka Middleware completion thread

job and task report thread


information
MapReduce
MapReduce
Scheduling
Scheduling Service
Service Sandbox

MapReduceExecutor MapReduceExecutor

Reduce
Reduce Task
Task Map
Map Task
Task

DFS Implementation
Header:
Header: 33 bytes
bytes magic
magic
number, 1 byte version
number, 1 byte version

…….

Record
Record Block:
Block:

Integer
Integer (4
(4 bytes)
bytes)
Length
Length of the block
of the block

Integer
Integer (4
(4 bytes)
bytes) Key
Key byte
byte array
array Value
Value byte
byte array
array
Length
Length of the key
of the key
SKIPPED, 62%

DEBUG
INFO, 22% ERROR
INFO
SKIPPED
WARN

ERROR, 4%
DEBUG, 12% WARN, 0%
189439

76895

54878 55523

3 10 180 6 984 4385 5 5 31 10 610 610

re se se til er m ice e e r e D e r e r
Sto Ba Ba onU tain r ith erv r vic logu ndle r vic PPE r vic erve r vic dule
e e I e e
tio
n hm ithm rati n go tS gS Cata eH
a gS SK S PS S
ge kSch
e
ca o r it o r u Co gAl b ea lin p ag nin u ler FT r a
li fig i
pp Al
g lg in rt du h es
s io ed Sim Sto Ta
s
A o nA Con si on H ea che bers M o vis Sch
o isi vi tS Pr
Ad ov P ro d en Mem r ce
r y
eP rit en ou
w ar r io dep R es
A eP In
tion lin
lic
a ad
pp De
A
User
Large
ECG
ECG Sensor
Sensor Number

Embedded
Embedded Bluetooth
Bluetooth
w)
1 Enabled
Enabled d vie
le
Data
Data Communication &
Communication & tai
(de

User Requests
User Requests
Processor
Processor Module
Module

ECG
ECG Sensor
Sensor Module
Module

SaaS
User Requests
Bluetooth connectivity

ECG
ECG Data
Data Analysis
Analysis
as
as a Service
Service
2

Dynamically
Dynamically Scalable
Scalable

PaaS
4 Runtime
Runtime Security
Security
(QoS-based
(QoS-based scaling
scaling of
of Runtime
3 computing resources)
computing resources)

Wireless / Mobile 3G Network


IaaS

6 5
Jeeva Portal

Aneka

Task Graph

A A : BLAST
B : Create Data Vector
Initial Phase
B C : HH Classifier
D : SS Classifier
E : TT Classifier
Classification F : HS Classifier
Phase C D E F G H G : ST Classifier
H : TH Classifier

I : Predict Final Secondary


Final Phase
I Structure
Chapter 9 – Cloud Platforms in Industry
Compute Services Storage Services Communication Services Additional Services

Amazon Elastic Amazon Simple Amazon Simple Queue


Amazon GovCloud
Compute Cloud (EC2) Storage Service (S3) Service (SQS)

Amazon Elastic Amazon Elastic Block Amazon Simple


Notification Service Amazon CloudWatch
MapReduce Store (EBS)
(EBS)
Amazon Flexible
AWS Elastic Beanstalk Amazon ElastiCache Amazon Simple Email Payment Service (FPS)
Service (SES)

AWS Cloudformation Amazon SimpleDB Amazon DevPay


Amazon Route 53

Amazon Relational Amazon Fullfillment


Autoscaling Amazon Virtual Private Web Service (FWS)
Database Service (RDS) Cloud (VPC)
Amazon Mechanical
Amazon Direct Turk
Amazon CloudFront
Connect
Alexa Web Information
Amazon Elastic Load Service
Amazon Import/Export
Balancing

Alexa Top Sites

Amazon
Amazon AWS
AWS Platform
Platform
Data Store
Web App
Web App Web App Web App Url Fetch

Image Manipulation

Task Queue
Sandboxed Runtime
Environment Sandboxed Runtime Environment Cron Jobs

Python
Python SDK
SDK
Google
Google AppEngine
AppEngine Infrastructure
Infrastructure
Local
Local Machine
Machine

Development
Development Runtime
Runtime
Windows Azure Platform

Management portal

Compute Storage Networking Identity Marketplace

Windows Azure Windows Azure Windows Azure DataMarket


Compute Storage Connect
ment
AppFabric Applications
t SQL Azure
Service Bus
AppFabric
ools Access
AppFabric
Integration Control

Content Delivery
Network (CDN)
re
AppFabric
Caching
Performance

Enterprise
Enterprise Level
Level Infrastructure
Infrastructure

Windows Azure Windows Azure AppFabric SQL Azure Marketplace


HTTP / REST

PHP SQL Server Applications and Tools WCF Data Services

ODBC 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 Management Management


Services Services Services

Infrastructure
Infrastructure Layer
Layer
Chapter 10 – Cloud Applications
Datasets

Cloud-CoXCS
Cloud-CoXCS
(Task
(Task orchestrator)
orchestrator)
CoXCS Tasks
Aneka

Elastic Sizing
(EC2,…, )
Portal (SaaS)

Distribution
Archiving

Local Storage
Aneka

Public Cloud

Private Cloud
Force.com Platform

User-base 1: Metadata Cache


Application 1
Bulk Processing
Engine

Metadata
Metadata Multitenant-aware
Pivot
Pivot Tables
Tables
Tables
Tables (UDD)
(UDD) Query Optimiser

Runtime Application
Generator
Data
Data Tables
Tables
Full-text Search
Shared Database Engine

User-base 2: COMMON TENANT-


TENANT- Indexes
COMMON OBJECTS
OBJECTS
Application 2 APPLICATION
APPLICATION SPECIFIC
SPECIFIC (TABLES)
(TABLES)
SCREENS
SCREENS SCREENS
SCREENS

Virtual Application Components

User-base 3:
Application 3
User

EyeOS Server
User
eyeos

apps
User
extern

extras

system

users

Client-side scripts workgroups


EC2 instances:
web front end
Scalability engine

Amazon SQS

Amazon S3: EC2 instances: video rendering


Video storage
Render Tasks Aneka
Aneka MayaRender

Render Files
Networked LAN
Scenarios

Maya: Train Design


Gamer

Titan Gaming Portal


Aneka
Gamer

Gamer Log
Log
Processing
Processing Task
Task
Game Server

Game Server Log


Log
Processing
Processing Task
Task

Game Server Log


Log
Processing
Processing Task
Task
Dropbox Folder

Automatic
synchronization

Dropbox Folder Dropbox Folder


Chapter 11 – Advanced Topics in Cloud
Computing
User
User Applications
Applications
Revenue

Power
Consumption

ti oonn
loluuti
o
Reducing
Reducing Power
Power Cost
Cost and
and
SS Maximizing
Maximizing Revenue
Revenue
d
d
lloouu
CC
nn
r
reeee
GG

Reducing
Reducing Power
Power Cost
Cost
and
and Carbon
Carbon Emission
Emission

Cloud
Cloud Data
Data Center
Center
VMM
VMM
Pool
Pool Node
Node
Users
Users

Compute
Compute Cloud
Cloud Pool
Pool Node
Node

Brokers
Brokers
Negotiate
Bid Cluster
Cluster (VM
(VM Pool)
Pool)
y
cit
pa
Ca
st
ue

Bank
Bank
q

Directory
Directory
Re

Auctioneer
Auctioneer
Storage
Storage Cloud
Cloud
Enterprise
Enterprise Resource
Resource
Server (Proxy)
Server (Proxy)
Cloud
Cloud Exchange
Exchange

Enterprise
Enterprise IT
IT Consumer
Consumer
Compute
Compute Cloud
Cloud
= Cloud Coordinator Storage
Storage Cloud
Cloud
Market-Oriented
Market-OrientedModels
Models

Allocation
Allocation Application
Application Participant
Participant
Objective
Objective Market
Market Model
Model
Decision
Decision Model
Model Focus
Focus

User
User Resource
Resource System
System
Local
Local Global
Global Profit-based
Profit-based System-based
System-based Hybrid
Hybrid Centric
Centric Centric
Centric Centric
Centric

Bag
Bag of
of Parallel
Parallel Others
Others
Workflow
Workflow
Tasks
Tasks Applications
Applications eg.
eg. Storage
Storage

Game
Game Proportional
Proportional Commodity
Commodity Posted
Posted Contract
Contract
Bargaining
Bargaining Auction
Auction
Theory
Theory Share
Share Market
Market Price
Price Net
Net

Single
Single Double
Double Combinatorial
Combinatorial
Sided
Sided Auction
Auction Auction
Auction

Vickery
Vickery Dutch
Dutch English
English First
First Price
Price
Auction
Auction Auction
Auction Auction
Auction Sealed
Sealed Auction
Auction
Users
Users Brokers
Brokers

Service
Service Request
Request Examiner
Examiner and
and Admission
Admission Control
Control
-- Customer-driven
Customer-driven Service
Service Management
Management
-- Computational
Computational Risk
Risk Management
Management
-- Autonomic
Autonomic Resource
Resource Management
Management
SLA
SLA
Allocator
Allocator
Pricing
Pricing Accounting
Accounting

Service
Service Request
Request
VM
VM Monitor
Monitor Dispatcher
Dispatcher Monitor
Monitor

Virtual
Virtual
Machines
Machines

Physical
Physical
Machines
Machines

Cloud
Cloud Data
Data Center
Center
physics optimization risk analysis 3D rendering
biology modeling banking imaging blogging
teaching
medicine CAD finance photos

ss social
science engineering education business multimedia
networking

bag of tasks parameter sweep workflow message passing map-reduce

yy Web 2.0 Interfaces: Ajax, Web Services, Service Portals, REST

Market
Market Maker
Maker
Meta-broker
Meta-broker Other Middlew
Cloudbus Middleware

Workflow
Workflow Engine
Engine
PaaS Ven

Broker
Broker
PaaS Vendor 2
ask Model Thread Model PSM MapReduce

Accounting Metering Pricing Billing


Cloud Federation Stack
Conceptual Level
Motivations
Motivations
Advantages
Advantages
Opportunities
Opportunities
Obligations
Obligations

Logical and Operational Level


Federation
Federation Model
Model
Cloud
Cloud Service,
Service, Provider,
Provider, Agreements
Agreements
Market
Market and
and Pricing
Pricing Models
Models
Service
Service Level
Level Agreements
Agreements

Infrastructural Level
Protocol,
Protocol, Interfaces,
Interfaces, and
and Standards
Standards
Programmatic
Programmatic Interoperation
Interoperation
Federation
Federation Platforms
Platforms (RESERVOIR,
(RESERVOIR, InterCloud)
InterCloud)
Communication is related to Communication is
IMF interface requests internal and proprietary

Provider’s
Provider’s Infrastructure
Infrastructure

Resource
Resource Resources
Resources

Interface
Management
Management Framework

OCCI Interface
Framework
HTTP

OCCI

OCCI
OCCI Clients
Clients
APIs

any channel,
Provider’s APIs

any protocol
Provider’s

Other
Other Clients
Clients

Most interoperable Least interoperable


Clients
Clients can
can be
be in
in
the
the Cloud
Cloud or
or
Enterprise
Enterprise and
and
provide additional
provide additional
services
services (data,
(data,
computing, Object
Object Storage Database
Database //
computing, etc…)
etc…) File
File System
System Storage XAM
XAM Client
Client
Block
Block Storage
Storage Client
Client Table
Table Client
Client
Client
Client
Client
Client

Export Data to the Cloud POSIX (NFS, Multip


CDMI le,
CIFS, WebDAV) Propr
ietary
iSCSI, FC, FCoE, Interf
aces
LUNs, Targets Container
Container

Management
Management of of
the
the Cloud
Cloud Storage
Storage Container
Container
can
can be
be standalone
standalone
Storage
Data // Storage

or
or part
part of
of the
the
overall
overall
management
management of of
Managing Data

your
your Cloud
Cloud Container
Container
of Managing

Data
Data Storage
Storage Cloud
Cloud
Computing
Computing
Draw Resources on Demand
Role of

Storage
Storage Cloud
Cloud Data
Data Management
Management Interface
Interface (CDMI)
the Role

(CDMI)
in the
Acting in
Acting

Data
Data Services
Services
Service
Service Service
ServiceApplication
Application22 Service
ServiceApplication
Application33
Application
Application11

Virtualizer
Virtualizer Virtualizer
Virtualizer Virtualizer
Virtualizer

Computational
Computational Resource
Resource Computational
Computational Resource
Resource Computational
Computational Resource
Resource

VEE Host
VEE Host VEE Host
VEE Host VEE Host
VEE Host

RESERVOIR
RESERVOIR Site
Site 11 RESERVOIR
RESERVOIR Site
Site 22
Service
Service Provider
Provider

manifest
manifest

Service
Service Service
Service
Manager
Manager QoS Service
Service Manager
Manager
Manager
Manager

SLA
SLA SLA
SLA

VEE
VEE Manager
Manager VEE
VEE Manager
Manager VEE
VEE Manager
Manager
(VEEM)
(VEEM) (VEEM)
(VEEM) (VEEM)
(VEEM)

VEE
VEE Hosts
Hosts (e.g.
(e.g.
VEE
VEE Hosts
Hosts VEE
VEE Hosts
Hosts
hypervisor,
hypervisor, VJSC
VJSC Host,
Host, …)
…)

Site
Site AA Site
Site BB Site
Site CC
User
User
User
User
Broker
Broker
User
User

User
User
Interface
Interface

VM
VM Manager
Manager
(e.g.
(e.g. Eucalyptus)
Eucalyptus)
VM
VM Manager
Manager
Cloud
Cloud (e.g.
(e.g. EC2)
EC2)
Coordinator
Coordinator
User
User
Cloud
Cloud Interface
Interface
Coordinator
Coordinator

Cloud
Cloud Exchange
Exchange
Publish / Query User User
User
User
User User
Interface
Offers / Request
Interface
User
User Cloud
Cloud Resource
Coordinator
Coordinator Negotiation

VM
VM Manager
Manager
(e.g.
(e.g. Open Nebula)
Open Nebula)
Coral
Coral CDN
CDN Windows
Windows Azure
Azure
Nirvanix
Nirvanix

Amazon
Amazon S3
S3
Coral
Coral
Azure
Azure
Nirvanix
Nirvanix Connector
Connector
Connector
Connector
Connector
Connector
S3
S3
MetaCDN
MetaCDN Connector
MetaCDN Connector
Database
Database MetaCDN
MetaCDN
MetaCDN Allocator
Allocator
Manager
Manager
XYZ
XYZ
Connector
Connector
MetaCDN
MetaCDN
Load XYZ
XYZ
Load Redirector
Redirector

Web
Web SLA
SLA
Service Access
Service Access
Web
Web Portal
Portal
SLA
SLA

Applications
Applications
Users
Users
SLA
SLA
SLA
SLA Applications
Users
Users Applications

Web
Web
Web
Web Portal
Portal Service
Service Access
Access

MetaCDN
MetaCDN
Load
Load Redirector
Redirector MetaCDN
MetaCDN
Manager
Manager

MetaCDN
MetaCDN MetaCDN
MetaCDN
Database
Database Allocator
Allocator

Nirvanix
Nirvanix Coral
Coral Azure
Azure S3
S3 XYZ
XYZ
Connector
Connector Connector
Connector Connector
Connector Connector
Connector Connector
Connector

Nirvanix
Nirvanix Coral
Coral CDN
CDN Windows
Windows Azure
Azure Amazon
Amazon S3
S3 XYZ
XYZ
Buyers
Buyers Capacity
Capacity Provider
Provider
(Storage) Capacity
Capacity Provider
Provider
(Storage)
(Compute)
(Compute)
SpotCloud
SpotCloud
Connector SpotCloud
SpotCloud
Connector
SLA
SLA Connector
Connector
Deployment
Deployment

Comparative
Comparative
Listing
Listing of
of
QoS
QoS and
andSLA
SLA
Offerings
Offerings Monitoring
Monitoring

Transactions
Transactions Bookkeeping
Bookkeeping
and User
User
and Billing
Billing Engine
Engine
Profiles Database
Profiles Database

VM
VM
Package Repository
Package Repository

SpotCloud
Other Stuff
Index / Map Management
Nodes Management
Infrastructure Management

Storage management
Local caching
Failover master
File lookup forwarding

Slave

Storage management
Local caching
File lookup forwarding

Slave
Storage management
Local caching
File lookup forwarding

Slave
Hierarchical File System Flat File System Raw File System
(Files and Directories) (Files) (Byte stream)

Client
Client 11 Client
Client 22 Client
Client N
N

File Map (GUID  Location) DFS


Bucket List

Failover master

Slave – Bucket N Slave – Bucket 2 Slave – Bucket 1


DFS Client DFS Infrastructure

Aneka DFS Wrapper


Service : IService
DFS
DFS API
API

Aneka Container DFS Service

Application-based
Application-based
Storage
Storage Interface
Interface

You might also like