/
Mastering Cloud Computing Mastering Cloud Computing

Mastering Cloud Computing - PowerPoint Presentation

sherrill-nordquist
sherrill-nordquist . @sherrill-nordquist
Follow
448 views
Uploaded On 2017-04-10

Mastering Cloud Computing - PPT Presentation

Rajkumar Buyya Christian Vecchiola Thamarai Selvi Chapters Part I Foundations Chapter 1 Introduction Chapter 2 Principles of Parallel and Distributed Computing Chapter 3 Virtualization ID: 535995

data cloud storage service cloud data service storage management application user applications file server amp task amazon services aneka

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Mastering Cloud Computing" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Mastering Cloud Computing

Rajkumar Buyya, Christian Vecchiola, Thamarai SelviSlide2

Chapters

Part I: FoundationsChapter 1 — IntroductionChapter 2 — Principles of Parallel and Distributed ComputingChapter 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 ProgrammingChapter 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 ComputingSlide3

Chapter 1 - IntroductionSlide4

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 want to focus on application logic and not maintenance and scalability issues

I want to access and edit my documents and photos from everywhere..

I have a surplus of infrastructure that I want to make use of

I have a lot of infrastructure that I want to rent …

I have infrastructure and middleware and I can host applications

I have infrastructure and provide application services

Global Cloud MarketplaceSlide5
Slide6

Compute

Storage

Applications

Development and Runtime Platform

Private Resources

Cloud Manager

Private Cloud

Private Cloud (Government)

Public Clouds

Government Agencies

Organization Personnel

All users, on any deviceSlide7

Cloud Deployment Models

Private/Enterprise

Clouds

* A public Cloud

model

within

a company’s

own Data

Center

/

infrastructure for

internal and/or

partners use.

Public/Internet

Clouds

* 3rd

party,

multi-tenant Cloud

infrastructure

& services:

* available on

subscription

basis to all.

Hybrid/Inter

Clouds

* Mixed

usage of

private and public

Clouds: Leasing public

cloud services

when private cloud

capacity is

insufficientSlide8

Virtualization

IT outsourcing

Pay as you go

Provisioning

on demand

Elasticity

Utility computing

Scalability

IaaS

PaaS

SaaS

Virtual Datacenters

Green computing

Internet

No capital investments

Quality of Service

Cloudbusrting

Security

Privacy & Trust

IT outsourcing

Service Level Agreement

Billing

Cloud Computing?Slide9

Runtime Environment for Applications

Development and Data Processing Platforms

Examples: Windows Azure,

Hadoop

, Google

AppEngine

, Aneka

Platform as a Service

Virtualized Servers

Storage and Networking

Examples: Amazon EC2, S3,

Rightscale

,

vCloud

Infrastructure as a Service

End user applications

Scientific applications

Office automation, Photo editing,

CRM, and Social Networking

Examples: Google Documents,

Facebook

,

Flickr

,

Salesforce

Software as a Service

Web 2.0 InterfacesSlide10

1950

1960

1970

1980

1990

2000

2010

Mainframes

Clusters

1999

:

Grid Computing

Grids

Clouds

1966

: Flynn’s Taxonomy

SISD

,

SIMD

,

MISD

,

MIMD

1969

: ARPANET

1970

: DARPA’s

TCP/IP

1984: DEC’sVMScluster1984: IEEE 802.3Ethernet & LAN1975: Xerox PARCInvented Ethernet

1990: Lee-Calliau WWW, HTTP, HTML2004: Web 2.02005: Amazon AWS (EC2, S3)1960: Cray’s First Supercomputer 2010: Microsoft Azure1997: IEEE 802.11 (Wi-Fi)1989: TCP/IPIETF RFC 1122

2007: Manjrasoft Aneka2008: Google AppEngine1951: UNIVAC I, First MainframeSlide11

Chapter 2 – Parallel and Distributed ComputingSlide12

Compilers, PVM, MPI, ….

Parallel Programming Environments

Cluster Middleware:

Single System Image and Availability Infrastructure

Network Interface HW

Operating System

Common

SW & Applications

PC / Workstation

Network Interface HW

Operating System

Common

SW & Applications

PC / Workstation

Network Interface HW

Operating System

Common

SW & Applications

PC / Workstation

Network Interface HW

Operating System

Common

SW & Applications

PC / Workstation

High speed network connection

Sequential Applications

ParallelApplicationsSlide13

Computer and network hardware

Hardware

Support for heterogeneous resource sharing, communication, and programming environments for application development

Middleware

User interface for presentation

Applications

Distributed System Stack

Execution platform including network connectivity services

Operative SystemSlide14

Paradigms /

Architectural Models

Message Based

Communication

Client - Server

Object Space

RPC

Distributed Objects

Peer –to-Peer

Java Spaces

Java RMI,

Remoting

, CORBA, ORBIX.DCOM, COM+

RPC / Specific Tasks

MPI Programming, JMS, MSMQ, MQS

Istant

Messaging,

Video Conferencing

DistributedAgents

Mobile AgentsSlide15

1940

1950

Applications

Parallel Era

Sequential Era

Compilers

Architectures

1960

1970

1980

1990

2000

2010

2020

2030

Applications

Problem Solving Environments

Compilers

Architectures

Problem Solving EnvironmentsSlide16

Processor

Data Input

Data Output

Instruction StreamSlide17

Processor N

Data Output N

Single Instruction Stream

Processor 2

Processor 1

Data Input 1

Data Input 2

Data Input N

Data Output 2

Data Output 1Slide18

Processor N

Instruction

Stream 1

Processor 2

Processor 1

Single Data Input Stream

Single Data Output Stream

Instruction

Stream 2

Instruction

Stream NSlide19

Processor N

Instruction

Stream 1

Processor 2

Processor 1

Instruction

Stream 2

Instruction

Stream N

Data Input 1

Data Input 2

Data Input N

Data Output 1

Data Output 2

Data Output 3Slide20

Core 2

Cache L1

Cache L1

Processor 1

Global System Memory

Memory Bus

Processor 2

Processor N

Processor 1

Local

Memory

Memory Bus

Processor 2

Local

Memory

Memory Bus

Processor 2

Local

Memory

Memory Bus

IPC Channel

IPC ChannelSlide21

+

Large Level

(Processes, Tasks)

Task 1

Task 2

Task N

Function 1

Function 2

Function J

Statements

Statements

Statements

x

load

f

unction f1()

{…}

f

unction f2()

{…}

f

unction

fJ

()

{…}

a

[0] = …

b[0] = …

a[1] = …b[1] = …

a[k] = …b[k] = …Shared MemoryShared MemoryMessages IPCMessages IPCMedium Level(Threads, Functions)Fine Level(Processor, Instructions)

Very Fine Level(Cores, Pipeline, Instructions)Slide22

Hardware

Operating System

Middleware

Applications

Networking and Parallel Hardware

IPC primitives for control and data.

Frameworks for distributed programmingSlide23

Hardware

and OS (

IaaS

)

Middleware (

PaaS

)

Applications (

SaaS

)

Social Networks, Scientific Computing, Enterprise Applications

Virtual hardware, networking, OS images, and storage.

Frameworks for

Cloud Application DevelopmentSlide24

Client-server

client

Server/client

server

Server/client

server

client

Server/client

server

client

server

request

response

Two Tier

(Classic Model)

Three Tier

N Tier Slide25

P2P

peer

peer

peer

peer

peer

peer

peerSlide26

RPC

RPC Service

Main Procedure

Procedure A

Procedure B

Procedure C:Node B

RPC Library

Node A

Program A (RPC Client)

Procedure C

Node B

Program C (RPC Server)

Procedure Registry

Parameters Marshaling and Procedure Name

Return Value

Marshaling

Parameters Unmarshaling and Procedure Name

Return Value

Unmarshaling

NetworkSlide27

DOF interaction

Instance

Object Proxy

Remote Reference Module

Node A

Application A

Node B

Application B

Network

Remote Reference Module

Object Skeleton

Remote

Instance

2

3

7

8

12

13

18

19

1: Ask for Reference

4

6

9

5: Object Activation

10

11

14

15

16

17

20

21Slide28

Application

WS

Client

Invocation

Query

Response (WSDL)

Web

Server

UDDI Registry

WSDL(s)

Web

Server

WSDL

Web Service

Application

WSDL

Web Service

Application

WS

ClientSlide29

WS technology Stack

Web Service Flow

Service Discovery

Service Description

XML-based Messaging

Network

Security

Service Publication

Quality of Service

Management

WSDL

SOAP

HTTP,

FTP,e

-mail, MQ, IIOP, ….

Direct

 UDDI

Static

 UDDI

WSFLSlide30

SOAP Messages

Envelope

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

> <soap:Body xmlns:m

=http://www.stocks.org/stock> <m:GetStockPrice>

<m:StockName>IBM<m:StockName>

</m:GetStockPrice> </

soap:Body></soap:Envelope>Header: Metadata & AssertionsBody: Method CallSlide31

SOAP Messages

Envelope

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

> <soap:Body xmlns:m

=http://www.stocks.org/stock> <m:GetStockPriceResponse>

<m:Price>34.5<m:Price>

</m:GetStockPriceResponse> </

soap:Body></soap:Envelope>Header: Metadata & AssertionsBody: Execution ResultSlide32

Chapter 3 – VirtualisationSlide33

Virtualization Layer

Virtual Hardware

Virtual Networking

Virtual Storage

Software Emulation

Host

Physical Hardware

Physical Storage

Physical Networking

Guest

Applications

Applications

Virtual ImageSlide34

Operative Systems

Execution Stack

Hardware - level Virtualization

Hardware

Programming Languages

Applications

OS- level Virtualization

Programming Language level Virtualization

Application - level VirtualizationSlide35

Aggregation

Sharing

Emulation

Isolation

Virtualization

Physical Resources

Virtual ResourcesSlide36

Virtualization

Execution Environment

Storage

Network

….

Emulation

High-Level VM

Multiprogramming

Hardware-assisted

Virtualization

Process Level

System Level

Paravirtualization

Full Virtualization

How it is done?

Technique

Virtualization Model

Application

Programming Language

Operating System

Hardware

Partial VirtualizationSlide37

Libraries

API

ABI

Hardware

Operative System

ISA

Applications

Operative System

Hardware

Libraries

Applications

API calls

System calls

ISA

User

ISA

User

ISASlide38

Ring 3

Ring 2

Ring 1

Ring 0

Least privileged mode

(user mode)

Privileged modes

Most privileged mode

(supervisor mode)Slide39

Host

VMM

Virtual Machine

binary translation

instruction mapping

interpretation

……

Guest

In memory

representation

Storage

Virtual Image

Host emulationSlide40

ABI

Hardware

Operative System

ISA

Virtual Machine Manager

ISA

VM

VM

VM

VM

Hardware

ISA

Virtual Machine Manager

ISA

VM

VM

VM

VMSlide41

Virtual Machine Manager

ISA

Virtual Machine Instance

Instructions (ISA)

Interpreter

Routines

Interpreter

Routines

Allocator

DispatcherSlide42

User Instructions

Sensitive Instructions

Privileged InstructionsSlide43

Server A

(running)

VM

VM

VM

VM

Server B

(running)

Virtual Machine Manager

VM

VM

Server A

(running)

VM

VM

VM

VM

Server B

(inactive)

Virtual Machine Manager

VM

VM

Before Migration

After MigrationSlide44

Xen

Hypervisor (VMM)

Memory management CPU state registers

Devices I/O

User Domains (Domain U)

Guest OS

Modified codebase

Hypercalls

into

Xen

VMM

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

Hardware (x86)

Privileged instructions

Hardware trapSlide45

Hypervisor

Binary translation

Instruction caching

Guest Operating System

Unmodified codebase

VMM unaware

User Applications

(unmodified ABI)

Ring 3

Ring 2

Ring 1

Ring 0

Hardware (x86)

Hardware trap (sensitive instructions)

Dynamic / cached translation

(sensitive instructions)Slide46

Hardware (x86)

Host Operating System

VMware Hypervisor (VMM

)

Direct access to hardware

I/O, memory, networking for guests

Save/Restore CPU state for host OS

VMware Driver

Virtual Machine Instance

User Applications

VMware Workstation

Guest Operating System

User Applications

I/OSlide47

Hardware (x86)

Host Operating System

VMware Hypervisor (VMM

)

Direct access to hardware

I/O, memory, networking for guests

Save/Restore CPU state for host OS

VMware Driver

VM Instance

serverd

(daemon)

VMware

VMware

VMware

Web Server

VM Instance

VM InstanceSlide48

Hardware

VMkernel

hostd

VMX

CIM broker

VM

User world API

Resource

scheduling

Device drivers

Storage stack

Network stack

Distributed VM file system

Virtual Ethernet adapter and switch

VM

VM

VMM

VMM

VMM

VMX

VMX

DCUI

syslog

vxpa

SNMP

Third-party CIM plug-insSlide49

Server

ESXi

ESX

vSphere

Server

ESXi

ESX

vSphere

Data Center

vCenter

Server

ESXi

ESX

vSphere

Server

ESXi

ESX

vSphere

Data Center

vCenter

vCloud

Cloud

Infrastructure

Virtualization

vFabric

Platform

Virtualization

Zimbra

Application

VirtualizationSlide50

Latest Pictures.

Hardware (x86)

Hypervisor

(Ring -1)

Hypercalls

MSRs

APIC

Scheduler

Address Management

Partition

Management

Root / Parent Partition

VMWPs

VMMS

WMI

Hypervisor-aware

K

ernel (Ring 0)

VSPs

VID

WinHv

I/O Stack

Drivers

VMBus

Enlightened Child Partition

User Applications

(Ring 3)

Hypervisor-aware

Wndows Kernel (Ring 0)VSCs / ICsWinHvI/O StackDrivers

VMBusEnlightened Child PartitionUser Applications(Ring 3)Hypervisor-aware Linux Kernel (Ring 0)VSCs / ICsLinuxHv

I/O StackDriversVMBusUnenlightened Child PartitionUser Applications(Ring 3)Hypervisor-unaware Kernel (Ring 0)

Processor

MemorySlide51

Chapter 4 – Cloud Computing ArchitectureSlide52

Virtual Machine (VM), VM Management and Deployment

QoS

Negotiation, Admission Control,

Pricing,

SLA Management, Monitoring, Execution Management, Metering, Accounting

Cloud Hosting Platforms

Web 2.0,

Mashups

, Concurrent and Distributed Programming, Workflows , Libraries, Scripting

Cloud Programming Environment and Tools

User

Applications

Social Computing, Enterprise ISV, Scientific Computing, CDNs

Cloud Applications

Cloud Resources

Autonomic Cloud Economy

Adaptive Management

User-level

Middleware

Core

Middleware

System

Infrastructure

SaaS

PaaS

IaaS

IaaS

(M)

Pure

PaaS

Pure

SaaSSlide53

Physical Infrastructure

Datacenter

Cluster

Desktop /

Heterogeneous Resources

Third Party

IaaS

Cloud

Infrastructure Management Software

Scheduling

Pricing / Billing

Monitoring

QoS

SLA Management

Reservation

VM Pool Management

VM Image Repository

Provisioning

Web Services, Portals, REST API

Web based Management InterfaceSlide54

Programming API / Libraries

Physical Infrastructure

IaaS

Providers

PaaS

Core Middleware

Resources Management

Application

Management

User

Management

QoS

/ SLA Management &

Billing

Elasticity & Scaling

Runtime

Web Services, Portals, REST API

Web based InterfaceSlide55

DataSynapse

,

Zimory

Pools,

Elastra

CloudServer

, Aneka, ….

Platform as a Service Solutions

PaaS

IaaS

IaaS

(M)

Datacenters, Clusters, Desktop Grids

Physical Infrastructure

KVM,

Xen

,

VMWare

, …

Virtual Machine Technology

Eucalyptus,

OpenNebula

,

VMWare

vCloud

, OpenPEX, InterGrid, … Infrastructure Management SoftwareSlide56

Datacenter

Public Cloud

Cluster

Desktop Grids /

NOWs

Public Cloud

Dynamic

Provisioning

IaaS

(M)

Paas

Private Cloud

Hybrid / Heterogeneous CloudSlide57

Private

Users

Public Services

Industries

Enterprises

3

rd

Party Cloud

Public Cloud

Private Cloud

Private Cloud

Public Cloud

Community Cloud

Federal and

Government Bodies

Development

Platforms

Infrastructure

Application

ServicesSlide58

Chapter 5 – Aneka

: Cloud Application Platform Slide59

Multiple Infrastructures

Multi-core

Cluster

Grid

Cloud

Thread

Task

...

MapReduce

2100

2100

2100

2100

2100

2100

2100

2100

Aneka

Multiple Applications

1. SDK

2. RuntimeSlide60

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

Infrastruscture

Enterprise Desktop Grid

Data Centers

Clusters

Public Cloud

Persistence and Security

Fabric Services

Hardware Profiling

Dynamic Resource Provisioning

Foundation Services

Billing & Reporting

Resource Reservation

Storage

Licensing & Accounting

Execution Services

Independent Bag of Tasks

Distributed Threads

MapReduce

other models…

Middleware - Container

Application Development & Management

SDK: APIs & Tools

Management: Tools, Interfaces and APIs

PAL – Platform Abstraction LayerSlide61

Aneka Repository

Aneka

Containers

Node

Manager

Node

Manager

Aneka

Containers

Aneka

Containers

Node

Manager

Node

Manager

Aneka

Containers

Management Console

update

HTTP

File Share

……Slide62
Slide63
Slide64
Slide65

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

Infrastruscture

Enterprise Desktop Grid

Data Centers

Clusters

Public Cloud

Persistence & Security

Fabric Services

Hardware Profiling

Resource Provisioning

High-Availability

Membership

Foundation Services

Billing & Reporting

Resource Reservation

Storage

Licensing & Accounting

Application Services

Bag of Tasks

Distributed Threads

MapReduce

Other models…

PSM

Middleware - Container

Application Development & Management

Software Development Kit: APIs & Tools

Management: Tools, Interfaces and APIs

PAL – Platform Abstraction LayerSlide66

Reservation

Provisioning

Reporting

Accounting

Mandatory

Index (master)

Scheduling

Failover

Mandatory

Index (slave)

Storage

Storage Node

Allocation

Mandatory

Index (slave)

Execution

Worker Node

Reservation

Provisioning

Reporting

Accounting

Mandatory

Index (master)

Scheduling

Master Node

Allocation

Mandatory

Index (slave)

Execution

Worker Node

Allocation

MandatoryIndex (slave)ExecutionWorker NodeMandatory

Index (slave)StorageStorage NodeSlide67

Dynamic Resources

Amazon EC2

Storage Service

Provisioning

Service

Task Scheduling Service

Reporting, Billing,

Accouting

Master Node

Slave Node

Task Execution Service

Static Resources

AWSSlide68

Provisioning

Service

Application

Management & Scheduling

Reporting, Billing,

Accouting

Desktops & Workstations

Low priority workloads

High

Performance

and

QoS

Public Clouds

Cluster Resources

Aneka Hybrid Cloud

QoSSlide69

Resource Provisioning

Application

Management &

Scheduling

Resource Reservation

Master Node

Desktop Machines

Virtual Clusters

Workstations

ClustersSlide70

Resource Provisioning

Application

Management &

Scheduling

Master Node

Reporting,

Billing,

Accouting

Amazon EC2 Instance

Amazon EC2 Instances

Slave Nodes

EC2 BoundariesSlide71

Provisioning

Service

Application

Management & Scheduling

Reporting, Billing,

Accouting

Public Clouds

Desktops & Workstations

Clusters

Virtual Cluster Resources

Resource

Reservation

Master Node

Local InfrastructureSlide72

Unknown

Initialized

Running

Paused

Stopped

Pausing

Resuming

Starting

Stopping

IService.Start

()

IService.Stop

()

IService.Continue

()

IService.Pause

()

<Error>Slide73

Chapter 6 – Concurrent

Computing: Thread ProgrammingSlide74

CPU: single die

Core 1

Core 2

Core N

Cache L1

Cache L1

Cache L1

Cache L2

To MemorySlide75

Execution Timeline

Thread Local Storage

Instructions

(program counter)

Thread

Thread

Thread

Main Thread

Process

Shared MemorySlide76

Process

Units of work

Result

Process

Units of work

Result

a. Embarrassingly parallel

b. Inherently sequentialSlide77

A

4 x 6

B

6

x 3

C

4 x 3

2

1

2,1Slide78

Process

Units of work

Result

Unit 1

Unit 2

Unit 5

Unit 4

Unit 3Slide79

Unstarted

Running

Stopped

Wait

SleepJoin

Start()

Interrupt()

Abort()

Suspended

Suspend

Requested

Suspend()

Resume ()

Abort

Requested

Wait()/Sleep()/Join()

Normal Completion

Unstarted

Started

Running

Completed

StagingIn

Queued

Staging

Out

Aborted

Rejected

Failed

Start()

a.

System.Threading.Thread

life cycle.b. Aneka.Threading.AnekaThread life cycle.Slide80

Chapter 7 – High-Throughput Computing: Task ProgrammingSlide81

Middleware

Access

Node(s)

Computing Nodes

Local Node

Tasks

Remote EnvironmentSlide82

1

6

4

5

2

7

8

9

3

0

11

10

1

2

4

3

0

1

6

4

5

2

3

0

7

9

3

0

11

4215

6810

MPI_COMM_WORLD

Group A

Group B

Communicator A

Communicator BSlide83

MPI Include File

MPI Environment Initialization

MPI Environment Shutdown

Prototypes declaration

Do Work and Message Passing

Do Work

Do Work

Serial Code

Serial Code

Parallel Code

Code Section

Header

SectionSlide84

Workflow Application Modeling & Definition Tools

Workflow

Specification

Task + Data Scheduler

Data Movement

Data Provenance

Dependency Manager

Runtime

Manager

Language Interpreter

Fault Management

Workflow Enactment Engine

Middleware Supporting Clusters, Grids, and Clouds

Distributed Computing Resources

Interaction with Distributed Resources

Interaction with Information Services

Users

Workflow Design & Definition

Workflow Execution & Control

Resource Info Service

Application Info Service

Information Services

Run Time

Build TimeSlide85

Local Node

(… more tasks)

AnekaApplication

Task1 :

ITask

Task2 :

ITask

AnekaTask

AnekaTask

Index

Node

Membership

Catalogue

StorageService

TaskScheduler

TaskExecution

Service

Aneka Cloud

TaskManagerSlide86

Client Machine

File dependencies

Index

Node

Membership

Catalogue

StorageService

TaskScheduler

TaskExecution

Service

Aneka Cloud

Web Service

TaskManager

AnekaTask

AnekaTask

Remote FTP

Result Files

Input/Output

FilesSlide87

IJobManager

TaskManager

AnekaApplication

<

AnekaTask

,

TaskManager

>

PSM Model

PSM Model

PSMJobInfo

PSMCommandInfo

PSMParameterInfo

PSMFileInfo

PSMContext

AnekaTask

ITask

Aneka

ApplicationModelSlide88

Offspring Environment

IDistributionEngine

AppInstance

IOffspringPlugin

DefaultPlugin

LogPlugin

AutoPlugin

Strategy

Controller

ITaskStrategy

Workflow Logic 1

Workflow Logic N

TaskStrategyBase

Local

Engine

AnekaEngine

DistributionEngineBase

TaskManager

Aneka CloudSlide89

StrategyController

Control Thread

(Strategy Management)

Monitoring Thread

(Feedback from Distribution Engine)

Init Application

Init Strategy

Submit Tasks

Wait

Release Strategy

Shutdown Application

Yes

No

Complete or Stop?

Task Feedback

Task Failed?

Invoke

OnSuccess

Invoke

OnFailed

Yes

No

New Task?

Signal

Iteration Complete?

Yes

Submit

No

Yes

NoSlide90

Chapter 8 – Data Intensive Computing: Map-Reduce ProgrammingSlide91

Data/compute

intensive problems

Compute

intensive problems

Current Problems

Data

intensive problems

Heterogeneous Formats

Distributed Petabytes

Data Complexity

(volume/format/distribution)

Homogeneous Formats

Non-distributed Megabytes or Gigabytes

Computational

Complexity

Model Solvers

Simulations

Simple search

Statistical Models

Decision support

Knowledge generationSlide92

Compute Site

Instrument

Storage Facility

Storage Facility

Compute Site

Compute Site

Scientist

Instrument

Scientist

Storage Facility

Storage Facility

Storage Facility

Information & Discovery

Compute SiteSlide93

Storage Peer

Key Ring

.

Pluggable Storage Engine (BDB,

MySQL

)

Failure and Membership

Detection

Storage Peer

Request

Coordinator

Storage Peer

Storage Peer

Storage Peer

Storage PeerSlide94

Tablet Server

Tablet Server

Tablet Server

Tablet Server

Tablet Server

Tablet Server

Master Server

Chubby

GFS

Logs

Tablet Files

Logs

Tablet Files

Logs

Tablet Files

Logs

Tablet FilesSlide95

MapReduce Infrastructure / Runtime

Map

Task

Reduce

Task

Map

Task

Map

Task

Map

Task

Map

Task

Reduce

Task

Aggregation by Key

Input

Output

Input Data File

Input Data File

Input Data File

Input Data File

Input Data File

Input Data File

Input Data File

Output Data File

Output Data File

Output Data File

Distributed File SystemSlide96

Worker

Worker

Worker

Worker

Worker

Master

Split 0

Split 1

Split 2

Split 3

Split 4

Output File 0

Output File 1

User Program

(1

) fork

(1

) fork

(1

) fork

(2) assign map

(2) assign reduce

(3) read

(4) local

write

(5) remote read

(6) write

i

nput files

m

ap phase

reduce phase

output files

i

ntermediate

filesSlide97

R

R

R

R

X

X

X

X

X

X

M

M

M

M

M

M

Stage

Input File

Input File

Input File

Input File

Output File

Output File

Vertices (processes)

ChannelsSlide98

Aneka Cloud

MapReduce

Scheduling Service

MapReduceApplication

Reducer

Mapper

Input Data File

Input Data File

Input Data File

Input Data File

Client Machine

MapReduce

Execution Service

Map

Task

Reduce

Task

MapReduce

Execution Service

Map

Task

Reduce

Task

MapReduce

Execution Service

Map

Task

Reduce

Task

DFS Implementation

Split 0Split 1Split 2

Split 3Split 4

intermediate filesOutput File 0Output File 1Slide99

MapReduceSchedulerService

MapReduceScheduler

upload queue

initialization queue

d

ispatch queue

failure queue

resubmission queue

reporting queue

upload thread

initialization thread

dispatch thread

r

eport thread

DFS Implementation

Message translation

and Event Triggering

Aneka Middleware

MapReduceApplication

MapReduce

Execution ServicesSlide100

MapReduceExecutorService

ExecutorManager

job and task

information

c

ommand thread

report thread

c

ompletion thread

DFS Implementation

Message translation

and Event Triggering

Aneka Middleware

MapReduce

Scheduling Service

MapReduceExecutor

Map Task

MapReduceExecutor

Reduce Task

Sandbox

c

ommand

queueSlide101

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 arraySlide102
Slide103
Slide104

User Requests

Wireless / Mobile 3G Network

ECG Sensor

ECG Sensor Module

Embedded Bluetooth Enabled

Data Communication & Processor Module

Bluetooth connectivity

IaaS

P

aaS

Dynamically Scalable Runtime

(

QoS

-based scaling of computing resources)

Security Runtime

SaaS

ECG Data Analysis as a Service

User Requests

User Requests

User

(detailed view)

Large Number

1

2

3

6

4

5Slide105

Jeeva

Portal

A

B

C

D

E

F

G

H

I

A : BLAST

B : Create Data Vector

C : HH Classifier

D : SS Classifier

E : TT Classifier

F : HS Classifier

G : ST Classifier

H : TH Classifier

I

: Predict Final Secondary

Structure

Initial Phase

Classification

Phase

Final Phase

Task Graph

AnekaSlide106

Chapter 9 – Cloud Platforms in IndustrySlide107

Communication Services

Amazon Simple Queue Service (SQS)

Amazon Simple Notification Service (EBS)

Amazon Simple Email Service (SES)

Amazon Route 53

Amazon Virtual Private Cloud (VPC)

Amazon Direct Connect

Amazon Elastic Load Balancing

Storage Services

Amazon Simple Storage Service (S3)

Amazon Elastic Block Store (EBS)

Amazon

ElastiCache

Amazon

SimpleDB

Amazon Relational Database Service (RDS)

Amazon

CloudFront

Amazon Import/Export

Compute Services

Amazon Elastic Compute Cloud (EC2)

Amazon Elastic

MapReduce

AWS Elastic Beanstalk

AWS

Cloudformation

Autoscaling

Amazon AWS Platform

Additional Services

Amazon

GovCloud

Amazon Flexible Payment Service (FPS)

Amazon

DevPay

Amazon

Fullfillment

Web Service (FWS)

Amazon Mechanical Turk

Alexa

Web Information Service

Amazon

CloudWatch

Alexa

Top SitesSlide108

Development

Runtime

Local Machine

Python SDK

Google

AppEngine

Infrastructure

Sandboxed Runtime Environment

Sandboxed Runtime Environment

Data Store

Url

Fetch

Image Manipulation

Task Queue

Cron

Jobs

Web App

Web App

Web App

Web AppSlide109

Compute

Enterprise Level Infrastructure

Storage

Networking

Identity

Marketplace

Management portal

Windows Azure Platform

Local Development Environment

Performance

Development Tools

Windows Azure Compute

Windows Azure Storage

Windows Azure Connect

Content Delivery Network (CDN)

AppFabric

Caching

AppFabric

Service Bus

AppFabric

Integration

AppFabric

Access Control

Tools

Windows Azure

SDK

AppFabric

SDK

SQL Azure

DataMarket

Applications

Marketplace

SQL Azure

Windows Azure

AppFabric

Windows AzureSlide110

Infrastructure Layer

Platform Layer

Tabular Data Stream (TDS)

TDS + Secure Socket Layer

SQL Server

SQL Azure Fabric

Management Services

SQL Server

SQL Azure Fabric

Management Services

SQL Server

SQL Azure Fabric

Management Services

Services Layer

Provisioning

Billing and Metering

Connection Routing

Provisioning

Billing and Metering

Connection Routing

Provisioning

Billing and Metering

Connection Routing

ODBC

ADO.NET

PHP

SQL Server Applications and Tools

WCF Data Services

HTTP / REST

Client Layer

Client Premises or Windows Azure PlatformSlide111

Chapter 10 – Cloud ApplicationsSlide112

Aneka

Cloud-

CoXCS

(Task orchestrator)

Elastic Sizing (EC2,…, )

CoXCS

Tasks

DatasetsSlide113

Local Storage

Aneka

Private Cloud

Public Cloud

Archiving

Distribution

Portal (

SaaS

)Slide114

Force.com

Platform

Metadata Cache

Bulk Processing Engine

Multitenant-aware Query

Optimiser

Runtime Application Generator

Full-text Search Engine

Shared Database

Data Tables

Pivot Tables

Metadata Tables (UDD)

Virtual Application Components

COMMON APPLICATION SCREENS

TENANT-SPECIFIC

SCREENS

OBJECTS (TABLES)

Indexes

User-base 3: Application 3

User-base 1: Application 1

User-base 2: Application 2Slide115

User

User

User

EyeOS

Server

eyeos

apps

extern

extras

system

users

workgroups

Client-side scriptsSlide116

Scalability engine

EC2 instances: video rendering

EC2 instances:

web front end

Amazon SQS

Amazon S3:

Video storageSlide117

Aneka

Networked LAN

Aneka

MayaRender

Maya: Train Design

Render Files

Scenarios

Render TasksSlide118

Gamer

Gamer

Gamer

Titan Gaming Portal

Game Server

Game Server

Game Server

Aneka

Log

Processing Task

Log

Processing Task

Log

Processing TaskSlide119

Dropbox

Folder

Dropbox

Folder

Dropbox

Folder

Automatic

synchronizationSlide120

Chapter 11 – Advanced Topics in Cloud ComputingSlide121

Reducing Power Cost and Carbon Emission

Reducing Power Cost and Maximizing Revenue

Revenue

Power Consumption

Cloud Data Center

User Applications

Green Cloud SolutionSlide122

Users

Brokers

Compute Cloud

Pool Node

Pool Node

Cluster (VM Pool)

Compute Cloud

Storage Cloud

Storage Cloud

Cloud Exchange

Directory

Bank

Auctioneer

VMM

Enterprise IT Consumer

Enterprise Resource Server (Proxy)

Request Capacity

Negotiate

Bid

= Cloud CoordinatorSlide123

Local

Global

Allocation Decision

Profit-based

System-based

Hybrid

Objective

Market Model

Application Model

Participant Focus

Bag of Tasks

Workflow

Parallel Applications

Others

eg

. Storage

User Centric

Resource Centric

System Centric

Game Theory

Proportional Share

Bargaining

Commodity Market

Posted Price

Auction

Contract Net

Single Sided

Double Auction

Combinatorial Auction

Vickery Auction

Dutch AuctionEnglish AuctionFirst Price Sealed AuctionMarket-Oriented ModelsSlide124

Service Request Examiner and Admission Control

- Customer-driven Service Management

- Computational Risk Management

- Autonomic Resource Management

Pricing

Accounting

Dispatcher

VM Monitor

Service Request Monitor

Users

Brokers

Physical Machines

Virtual

Machines

SLA Allocator

Cloud Data CenterSlide125

PEX

OSC

IBM Blue Cloud

multimedia

education

science

engineering

business

….

bag of tasks

parameter sweep

workflow

message passing

map-reduce

….

Aneka

Task Model

Thread Model

PSM

MapReduce

Accounting

Metering

Pricing

Billing

QoS and SLA

Res. Provisioning & Reservation

Workflow

Engine

Broker

Cloudbus Middleware

Other Middleware

Market Maker

Meta-broker

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

Desktop Computers

Applications

Models

Technology

InterCloud

Public Cloud Infrastructure

Amazon EC2 / S3

Microsoft Azure

Google AppEngine

Core Technologies

Infrastructure

PaaS Vendor 1

PaaS Vendor 3

PaaS Vendor 2

physics

biology

medicine

optimization

modeling

CAD

teaching

risk analysis

banking

finance

3D rendering

imaging

Scalable Execution Application Manager

Cluster Datacenter

social

networking

blogging

photosSlide126

Cloud Federation Stack

Motivations

Advantages

Opportunities

Obligations

Federation Model

Cloud Service, Provider, Agreements

Market and Pricing Models

Service Level Agreements

Protocol, Interfaces, and Standards

Programmatic Interoperation

Federation Platforms (RESERVOIR,

InterCloud

)

Infrastructural Level

Logical and Operational Level

Conceptual LevelSlide127

OCCI Interface

Provider’s APIs

Resources

Resource

Management Framework

OCCI Clients

Other Clients

HTTP

Provider’s Infrastructure

any channel,

any protocol

Most interoperable

Least interoperable

Communication is

internal and proprietary

Communication is related to

IMF interface requestsSlide128

Container

Container

Container

Information Services (Future)

Data Services

Storage Services

Cloud Data Management

Storage Cloud Data Management Interface (CDMI)

Data Storage Cloud

Draw Resources on Demand

Multiple,

Proprietary

Interfaces

iSCSI

, FC,

FCoE

,

LUNs, Targets

POSIX (NFS,

CIFS,

WebDAV

)

CDMI

Export Data to the Cloud

Block Storage Client

File System Client

Object Storage Client

XAM Client

Database / Table Client

Clients Acting in the Role of Using Data Storage Interface

Clients can be in the Cloud or Enterprise and provide additional services (data,

computing, etc…)

Data Storage Management Client

Clients Acting in the Role of Managing Data / Storage

Management of the Cloud Storage can be standalone or part of the overall management of your Cloud ComputingSlide129

VEE

Host

Computational Resource

Virtualizer

VEE

Host

Computational Resource

Virtualizer

VEE

Host

Computational Resource

Virtualizer

RESERVOIR Site 1

RESERVOIR Site 2

Service Application 1

Service Application 3

Service Application 2Slide130

VEE Manager

(VEEM)

Service Manager

VEE Hosts (e.g.

hypervisor, VJSC Host, …)

QoS

VEE Manager

(VEEM)

VEE Manager

(VEEM)

VEE Hosts

VEE Hosts

Service Manager

Service Manager

Site A

Site B

Site C

SLA

SLA

Service Provider

manifestSlide131

Cloud Exchange

Cloud

Coordinator

Cloud

Coordinator

Cloud

Coordinator

VM Manager

(e.g. Open Nebula)

VM Manager

(e.g. EC2)

VM Manager

(e.g. Eucalyptus)

User

Interface

User

Interface

User

Interface

User

User

Broker

User

User

Resource

Negotiation

Publish / Query

Offers / Request

User

UserSlide132

Nirvanix

Coral CDN

Windows Azure

Amazon S3

XYZ

Web

Service Access

Web Portal

Nirvanix

Connector

Coral

Connector

Azure

Connector

S3

Connector

XYZ

Connector

MetaCDN

Manager

MetaCDN

Database

MetaCDN

Allocator

MetaCDN

Load Redirector

SLA

Users

Applications

SLASlide133

XYZ

Nirvanix

Coral CDN

Windows Azure

Amazon S3

Web

Service Access

Web Portal

Nirvanix

Connector

Coral

Connector

Azure

Connector

S3

Connector

XYZ

Connector

MetaCDN

Manager

MetaCDN

Database

MetaCDN

Allocator

MetaCDN

Load Redirector

Users

Applications

SLA

SLASlide134

Comparative

Listing of

Offerings

Buyers

SpotCloud

Capacity Provider (Compute)

SpotCloud

Connector

Capacity Provider (Storage)

SpotCloud

Connector

VM

Package Repository

Transactions Bookkeeping and Billing Engine

QoS

and SLA Monitoring

User

Profiles Database

SLA

Deployment Slide135

Other StuffSlide136

Index / Map Management

Nodes Management

Infrastructure Management

Failover master

Storage management

Local caching

File lookup forwarding

Slave

Storage management

Local caching

File lookup forwarding

Slave

Storage management

Local caching

File lookup forwarding

SlaveSlide137

File Map (GUID

 Location)

Bucket List

Failover master

Slave – Bucket 1

Slave – Bucket 2

Slave – Bucket N

DFS

Client 1

Client 2

Client N

Hierarchical File System

(Files and Directories)

Flat File System

(Files)

Raw File System

(Byte stream)Slide138

Aneka Container

Aneka DFS Wrapper Service :

IService

DFS Service

DFS API

DFS Client

DFS Infrastructure

Application-based Storage Interface