49
Mobile Mobile Grid/Cloud Grid/Cloud Computing Computing

Mobile Grid/Cloud Computing

  • Upload
    kolya

  • View
    57

  • Download
    2

Embed Size (px)

DESCRIPTION

Mobile Grid/Cloud Computing. Dealing with mobility. Proxy must be close to device for effectiveness Idea – use a network of proxies and identify how to use the proxy network for multiple moving devices… Where to obtain proxies Fixed backbone infrastructure (Akamai) - PowerPoint PPT Presentation

Citation preview

Page 1: Mobile Grid/Cloud  Computing

Mobile Mobile Grid/Cloud Grid/Cloud Computing Computing

Page 2: Mobile Grid/Cloud  Computing

Dealing with mobility

Proxy must be close to device for effectiveness Idea – use a network of proxies and identify how to

use the proxy network for multiple moving devices…Where to obtain proxies

Fixed backbone infrastructure (Akamai)– Could be effective, but proprietary

Grid infrastructure (MAPGRID)– Open access, but intermittently available

Cloud infrastructure (Charisma)– Open access, limited ability to tailor use of proprietary

backbone resources

Page 3: Mobile Grid/Cloud  Computing

Observations (I) – Proxy-based Techniques

Network proxies support for mobile applications, e.g.: Proxy caching:

[Hadjiefthymiades WWW01], [Xu TKDE04],[Wang TM 07], etc.

Proxy-based content transcoding: [Shenoy, MMCN03] [Change EUROMICRO Journal 07], etc.

Offloading tasks: [Kejariwal, Trans VLSI 06], [Mohapatra, ACM 2003],[ Li, NOSSDAV 2003], etc.

► Grid/Cloud infrastructure support for implementing proxy-based solutions, e.g: using grid machines as proxies for mobile applications [Phan MobiCom 02]

► Online Server or third party Storage► e.g. iPhone 3G MobileMe keeps all user information in the “cloud”

Page 4: Mobile Grid/Cloud  Computing

Observations (II)- Context Awareness and Predictability

Importance of Context information, e.g. Enabling mobile applications:

Location-based services

Achieving service flexibility and adaptability: Layered video transcoding [Shanableh Transaction of Multimedia 05], etc.

Improving system performance: Mobility-aware data allocation (increasing cache hit ratio) [Peng ICPP00], etc.

Predictability and Patterns of Context Exploited for improving handoff performance, reducing task failure rate and dynamic

resource allocation, etc Mobility prediction [Song, IEEE Transaction on Mobile Computing 06] Mobility models [ MCNett SIGMOBILE review 05] [Hong MSWiM99] Characterizing resource availability in desktop grids [Kondo FGCS 07]

Page 5: Mobile Grid/Cloud  Computing

MAPGrid: A New ParadigmGrid Enabled Mobile Applications

VS 3

VS 2

VS 1

Broker

Page 6: Mobile Grid/Cloud  Computing

Research Challenges Resource Discovery

Application aspect Ensure user QoS satisfaction

System View Define an “optimal” grid resource allocation

• User mobility• resource heterogeneity• Grid intermittent availability

Adapt to changing context • User mobility, device energy, and proxy availability

► Data Placement Application aspect

► Guarantee data availability► Improve information retrieval efficiency with user mobility

System View► Address both short term on-demand caching and long term data placement ► Make caching or data replication at finer granularity► Balance availability efficiency tradeoff

Page 7: Mobile Grid/Cloud  Computing

MapGrid

Uses (idle) grid computing resources as the intermediate node cache proxy for mobile applications.

Resources on grid (storage and computation) are intermittently available. MapGrid uses the interval tree data structure for storing the information

about available resources on grid. Mobility pattern has been used to optimal data replication policy in

MapGrid.

7

Page 8: Mobile Grid/Cloud  Computing

Mobile Mobile ClientClient

BrokerBroker

Mobile ClientMobile ClientMonitoringMonitoring

Directory Directory ServiceService

Request Request SchedulerScheduler

Resource Resource ReservationReservation

Placement Placement ManagementManagement

Tertiary Tertiary StorageStorage

Volunteer Servers(Grids)

Grid Grid MonitoringMonitoring

MapGrid Middleware Service ArchitectureMapGrid Middleware Service Architecture

ReqReq

InfoInfo

Moving_ProfileMoving_Profile

ReqReqReq*Req*

Req#Req#

Req@Req@

DataData

1. Resource Discovery2. Schedule Planning

1. Resource Discovery2. Schedule Planning

Reports changes in grid resources

Reports changes in grid resources

Admission ControlAdmission Control

Contains information about available resources on Grid

and Clients

Contains information about available resources on Grid

and Clients

Replace the data to grid resources

Replace the data to grid resources

Mobility Pattern detectionMobility Pattern detection

8

Page 9: Mobile Grid/Cloud  Computing

MapGrid Request: R(VID, itinerary) where VID is the video and itinerary is mobility

information. Grid Loading Factor:

Grid Factor:

10 j. gridon resource available to

resource requested of ratio theis X where

},,,max{),(

a

j

aaaaj

LF

DBWNBWMEMCPUtRLF

),(),(

),(),(

RjDisttRLF

tjtyAvailabilitRGf

jj

If grid j is available at time t equal 1 else 0.

If grid j is available at time t equal 1 else 0.

Distance of grid J from request R.

Distance of grid J from request R.

9

Page 10: Mobile Grid/Cloud  Computing

Grid Resource Discovery for Mobile Services

Partition Service Period

All chunks have VS assignments?

Proxy (VS) Selection

Y

N

• apply mobility or location information• choose the number of chunks (partition)

• decide the size of each chunk

• choose available VSs• choose lighter loaded VSs

• choose “closer” VSs• Satisfy different QoS reqirements on service

response time, service continuity…

Rescheduling if dynamic changes happen

R: < IDR: < IDRR , T , Q , T , QL L , Q, QHH, , , , EERR , itinerary> , itinerary>

• Rescheduling when device has no enough residual energy for the current QoS level

• Rescheduling when grid node fails

Page 11: Mobile Grid/Cloud  Computing

Grid Resource Discovery for Mobile Services

Partition Service Period

All chunks have VS assignments?

Volunteer Server Allocation

Y

N

Problem:► Determine number of partitions and size of

each partitionMachine learning approach using mobility info

Rescheduling if dynamic changes happen

Page 12: Mobile Grid/Cloud  Computing

Grid Resource Discovery for Mobile Services

Partition Service Period

All chunks have VS assignments?

Volunteer Server Allocation

Y

N

Rescheduling if dynamic changes happen

Optimizing grid resource selection► Factors: Load, location, availability,

capacity ► Achieve system-wide load balancing ► Maximize the number of accepted

servicesGraph theoretic approach

Page 13: Mobile Grid/Cloud  Computing

Grid Service Discovery (Multimedia Application)

P2-T2

0

1000

2000

3000

4000

5000

6000

7000

8000

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49

time (hours)

num

be

r o

f re

ject

ion

s

IS-C-SS

IS-C-MS

DS-C-SS

DS-C-MS

DS-D-SS

DS-D-MS

P2: Deterministic data placementP2: Deterministic data placementT2: Random VS availabilityT2: Random VS availability

Collections of services support by Collections of services support by grid significantly increases grid significantly increases

request acceptance and request acceptance and Completion ratios Completion ratios

Uncompleted requests when VSs become unavailable simultaneously

1036

6982

116 118

146168

190

224 231

266

0 0 0 0 0 0 0 0 11

193

104

0

50

100

150

200

250

300

1 2 3 4 5 6 7 8 9 10 11 12

number of VSs that become unavailable simultaneously

nu

mb

er o

f re

qu

ests

th

at

can

no

t b

e co

mp

lete

d no adaptation

with adaptation

Page 14: Mobile Grid/Cloud  Computing

MAPGrid Prototype

Client

Volunteer Servers

BrokerGlobus Toolkit

The Volunteer Server can join and disjoin the grid dynamically .

Failure detection for both client and VSs using Globus life time management control.

Data

Information Services

Life time control

GridFTP

JMF (Java Media Framework)

JADEHttp

Client can specify QoS requirements via friendly GUI

Page 15: Mobile Grid/Cloud  Computing

Mobile Cloud Mobile Cloud ComputingComputing

Page 16: Mobile Grid/Cloud  Computing

What is Cloud Computing

Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services).

It can be rapidly provisioned and released with minimal management effort.

It provides high level abstraction of computation and storage model.

On-Demand Self Service, Heterogeneous Access,Resource Pooling.

Page 17: Mobile Grid/Cloud  Computing

Essential Characteristics

On-Demand Self Service: A consumer can unilaterally provision computing

capabilities, automatically without requiring human interaction with each service’s provider.

Heterogeneous Access: Capabilities are available over the network and accessed

through standard mechanisms that promote use by heterogeneous thin or thick client platforms.

17

Page 18: Mobile Grid/Cloud  Computing

Resource Pooling: The provider’s computing resources are pooled to serve multiple

consumers using a multi-tenant model. Different physical and virtual resources dynamically assigned and

reassigned according to consumer demand.

Measured Service: Cloud systems automatically control and optimize resources used

by leveraging a metering capability at some level of abstraction appropriate to the type of service.

It will provide an analyzable and predictable computing platform.

18

Essential Characteristics (cont.)

Page 19: Mobile Grid/Cloud  Computing

Service Models Cloud Software as a Service (SaaS):

The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure.

The applications are accessible from various client devices such as a web browser (e.g., web-based email).

The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage,…

Examples: Caspio, Google Apps, Salesforce, Nivio, Learn.com.

19

Page 20: Mobile Grid/Cloud  Computing

Cloud Platform as a Service (PaaS): The capability provided to the consumer is to deploy onto the

cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider.

The consumer does not manage or control the underlying cloud infrastructure.

Consumer has control over the deployed applications and possibly application hosting environment configurations.

Examples: Windows Azure, Google App.

20

Service Models (cont.)

Page 21: Mobile Grid/Cloud  Computing

Cloud Infrastructure as a Service (IaaS): The capability provided to the consumer is to provision

processing, storage, networks, and other fundamental computing resources.

The consumer is able to deploy and run arbitrary software, which can include operating systems and applications.

The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls).

Examples: Amazon EC2, GoGrid, iland, Rackspace Cloud Servers, ReliaCloud.

21

Service Models (cont.)

Page 22: Mobile Grid/Cloud  Computing

Service Model at a glance: Picture From http://en.wikipedia.org/wiki/File:Cloud_Computing_Stack.svg

22

Service Models (cont.)

Page 23: Mobile Grid/Cloud  Computing

Deployment Models Private Cloud:

The cloud is operated solely for an organization. It may be managed by the organization or a third party and may exist on premise or off premise.

Community Cloud: The cloud infrastructure is shared by several organizations and supports a

specific community that has shared concerns. It may be managed by the organizations or a third party and may exist on

premise or off premise.

Public Cloud: The cloud infrastructure is made available to the general public or a large

industry group and it is owned by an organization selling cloud services.

Hybrid cloud: The cloud infrastructure is a composition of two or more clouds (private,

community, or public).

23

Page 24: Mobile Grid/Cloud  Computing

Service Model at a glance: Picture From http://en.wikipedia.org/wiki/File:Cloud_computing_types.svg

24

Deployment Models (cont.)

Page 25: Mobile Grid/Cloud  Computing

Evolution of Computing Environment: Evolution of Computing Environment: [Satyanarayanan_2001] : [Satyanarayanan_2001] :

Toward Pervasive Computing environmentToward Pervasive Computing environment25

Cloud Cloud Computing Computing

PromisesPromises

Towards Pervasive Computing

Page 26: Mobile Grid/Cloud  Computing

Cloudlet It has been shown that a one hop connection from mobile

device to internet is not efficient. Humans are sensitive to the current delay in clouds

latency is unlikely to improve significantly security and firewall it is unlikely that latency improves (although

increase in bandwidth).

Cloudlet Between mobile devices and cloud pools (Infrastructure).

A cloudlet (micro edition of cloudmicro edition of cloud)only contains soft states such as cache copies of data or code.

26

Page 27: Mobile Grid/Cloud  Computing

Cloudlets are as the infrastructure for mobile cloud computing. From: [Satyanarayanan_2009]

27

The prototype based on this systems is implemented in CMU and called Kimberley [Satyanarayanan_2009] .

Cloudlet (cont.)

Page 28: Mobile Grid/Cloud  Computing

28

Dynamic Task Reconfiguration

How can we support dynamic task/service reconfiguration to achieve energy gains (i.e. migrate computationally expensive tasks from the device to the proxy and use the results locally)

Approach:Identify “energy intensive” components that can be dynamically migrated to a proxy► What to reconfigure?

computation/communication characteristics of tasks (use Profiling) Current residual power of the device

► When to reconfigure? Identify set of policies that dictate how often or under what conditions reconfigurations should be initiated

Page 29: Mobile Grid/Cloud  Computing

29

Dynamo: Dynamic Task Reconfiguration

►Cast the distribution problem as a “Source Parametric Flow Network”.

►Use Current residual energy at device to make the flow graph “source parametric”

How to maintain an optimized component distribution under dynamic device power conditions?

Problem

Solution

Page 30: Mobile Grid/Cloud  Computing

30

Source Parametric Flow Graph

D P

device proxy

Rd

Rp

Runtime on Device

Runtime on Proxy

M1

M2

Mn

A1

Ai = Energy cost of

executing task Mi at the

proxy.

infinite

Ap

A2

An

B1

Bi = Energy cost of

executing task Mi at the device.

Bd

infin

ite

B2

Bn

X1

Yn

• If Mi is executing on the Device, then Xi = communication costs in energy terms

• If Mi is executing on the Proxy, then Yi = communication costs in energy terms

Xn

Y1

Y2

X2

Page 31: Mobile Grid/Cloud  Computing

31

High Level Algorithm► The minimum cut of the graph determines which

components can be moved to the proxy.► Can be solved using a modified FIFO Pre-Flow push

algorithm. ► Complexity = O(n3)

FOR (each reconfiguration interval) DOBEGIN

o update list of components/residual energy on device

o generate network flow grapho determine component partitioning (min cut)

o IF (new partition) o reconfigure components between device

and proxyEND

Page 32: Mobile Grid/Cloud  Computing

AlfredO Platform (ETH Zurich)

SaaS distribution model for physical services (MW 2008, 2009) Mobile Phones as universal interfaces to cloud applications Supports partition and distribution of modularized applications in a client-server setup

OSGI-based (Open Services Gateway Initiative) Focus on presentation and logic modules

32

Virtual ticket machineTurn the phone into an

interface for theticket machine

Home 3D Planner

Page 33: Mobile Grid/Cloud  Computing

AlfredO architecture and applications (MW 2009)

Component Based Architecture Supports optimal task migration between server and mobile client [Middleware 2009].

Generate an application graph and determine a cut (tasks done on server side and remaining will be done on mobile side) to meet the required optimization issues.

Premise: Modularized application and Model of resource consumption and dependencies among application modules

Goal: Partition the application between phone and server based on different criteria (bandwidth, memory)

Page 34: Mobile Grid/Cloud  Computing

34

S1 S2 S3

S4

S5S7

S6S6

S8

S1 S2 S3

S4

S5S7

S6

S8

Mobile CutMobile CutMobile CutMobile CutMobile CutMobile CutMobile CutMobile Cut

S1 S2 S3

S4

S5S7

S6

S8

Original PlanOriginal PlanAlfredO

Page 35: Mobile Grid/Cloud  Computing

AlfredO (MW 2009)

Page 36: Mobile Grid/Cloud  Computing

Just like ISPs cloud computing could be considered in different Tiers.

The backbone Cloud which usually large organization such as Google, Yahoo, Microsoft support them.

The second tier is edge Cloud which is near end user.

Tier 2-Cloud (Edge Cloud)

Tier 1-Cloud (Backbone Clouds,. Amazon EC2, Azure,… )

CHARISMA: Tiered Clouds

Page 37: Mobile Grid/Cloud  Computing

Mobile ClientMobile Client Middleware(Broker)Middleware(Broker) Cloudlet and Cloud Cloudlet and Cloud PoolPool

Cloud Service Registry and Discovery

AdmissionControl

Mobile Profile Monitoring

Qos Monitoring , Service Discovery

Scheduler

Mobile Client

Cloudlet Pools

Mobile Profile Analyzer

Qos Analyzer

Cloud Pools

Qos Monitoring

Page 38: Mobile Grid/Cloud  Computing

38

Middleware BlocksMiddleware Blocks FunctionalitiesFunctionalities

Admission Control Accepts or rejects mobile client requests according to the resources available and mobile profile (it could be power-aware, resource –aware and…. Policies, Maybe Game Theory could be used for optimal admission policy).

Mobile Profile Monitoring

Monitors mobile profile.

Mobile Profile Analyzer

Analyzes mobile profile specially power level, location pattern,… for optimal scheduling.

Scheduler It schedules the accepted requests and design a plan according to the negotiations done with Cloudlets (Schedule Queue).

Qos Monitoring, Service Discovery (Cloud and Cloudlets)

It discovers cloudlets (maybe based on ontology and semantics) in the area (like UDDI), its Qos during service from mobile client. It also registers its services and middleware business on UDDI for accessing mobile clients.

Qos Analyzer It is analyzing the Cloudlets services and make a list of suitable cloudlets and policy of admission.

Mobile Client Block Functionalities

Qos Monitoring Reports the Middleware about the Qos of the cloudlets.

Page 39: Mobile Grid/Cloud  Computing

Barcode Reader: Sample Application

Simple barcode reader service has been implemented. In this scenario the user takes a picture of the barcode for

getting some information about the object, for example the cheapest price location.

The picture is sent to cloudlet for processing. The cloudlet extracts the information and queries Amazon

or other clouds for price and returns back to the user

39

Page 40: Mobile Grid/Cloud  Computing

CloudCloudCloudletCloudlet

40

Page 41: Mobile Grid/Cloud  Computing

Cloud(Amazon)Cloud(Amazon)

CloudletCloudlet

Cloud(Yahoo)Cloud(Yahoo)

Yahoo Cloud (Flicker) as a Cache.

41

Page 42: Mobile Grid/Cloud  Computing

42http://www.youtube.com/watch?v=fQywFeN1wdM

Page 43: Mobile Grid/Cloud  Computing

Cloud computing

Remote access to distributed and shared cluster resources Potentially owned by someone else (e.g. Amazon, Google, …)

Users rent a small fraction of vast resource pools• Advertised service-level-agreements (SLAs)

• Resources are opaque and isolated

Offer high availability, fault tolerance, and extreme scale

Relies on OS, network, and storage virtualization/isolation

SLAs

Web Services

Virtualization

Page 44: Mobile Grid/Cloud  Computing

Ad Hoc

Future: Interoperable NetworkingHeterogeneous access technologies available

End devices equipped with multiple radio interfaces

Applications are run over the most efficient access

networks

802.11b

802.11a

Bluetooth

GPRS

UMTS

Wi-Fi

Cellular......

Reliable Secure QoS over

multiple access networks

Page 45: Mobile Grid/Cloud  Computing

Always Best Connected: Solution Components

access discovery

access selection

AAA support

mobility management

content adaptation

profile handling

• what accesses are currently available?• what are their bandwidth and delay?

• what access to choose; what is “best”?• user/network-based solution• one or multiple accesses in parallel

• session continuity, session transfer• support for real-time services

• authentication, authorization, accounting• accesses, services... single logon

• applications adapting to access & device

• personal profiles for ABC• access selection & content adaptation

Page 46: Mobile Grid/Cloud  Computing

Access Selection: Benefits Continual connectivity

Uninterrupted Internet access even when some of the access networks are unavailable

High throughput/QoS Connect via the access network with highest data rate and/or

shortest delay Broader bandwidth

Aggregate the bandwidth offered by multiple access networks Energy Conservation

Different power consumption properties of access networks provide chances for better energy efficiency.

Enhanced Security Transmitting sensitive data on multiple access networks

potentially provides higher security.

Page 47: Mobile Grid/Cloud  Computing

Access Selection: Research Challenges

Non-predetermined traffic flows start/terminate at discrete time points.

Access networks’ bandwidth and delay might fluctuate.

How to select appropriate access networks for application traffic flows?

QoS requirements Energy consumption User/application

specified access preferences

Dynamicity Multiple Constraints

Page 48: Mobile Grid/Cloud  Computing

Groupware apps

Multiparty collaborationsSegutiReliability + Security

Page 49: Mobile Grid/Cloud  Computing

Summary

New Generation of Pervasive and Mobile Computing Applications with diverse content Need significant enhancements in system and software support

Distributed mobile middleware can significantly improve performance of next generation mobile applications. Open interfaces will yield much more optimized solutions for distributed

mobile devices.

The use of cross-layer design architectures is inevitable for future mobile systems, if we are to realize cumulative benefits of independent research at each system layer.