Data-Intensive and High Performance Computing on Cloud Environments Gagan Agrawal 1.

Post on 03-Jan-2016

216 views 0 download

Tags:

Transcript of Data-Intensive and High Performance Computing on Cloud Environments Gagan Agrawal 1.

Data-Intensive and High Performance Computing on Cloud Environments

Gagan Agrawal

1

Outline

• Introduction to Cloud Computing• Ongoing Projects in Cloud Computing

‣ Data-intensive computing Middleware System‣ Resource Provisioning with Budget and Time Constraints‣ Workflow consolidation with power constraints ‣ An Elastic Cache on the Amazon Cloud

• Other Research Projects‣ Heterogeneous High-Performance Computing‣ Deep web Integration and Mining ‣ Scientific Data Management

2

3

Utilities: Things We Can’t Live without

4

Utility Costs Depend on Usage

Utility Providers Consumers

Resource on Demand

5

Utility Costs Depend on Usage

Utility Providers Consumers

Pay Per Usage

$

$

$

Utilities of Today Haven’t Always Been Utilities

6

Hand-pumpA Horse Cart: Your purchase and `maintain’ the source of power for your transportation

7

How Do We Currently Do Computing?

Resources are co-located on site

Computing ResourcesSupport Personnel

Computing Consumer

8

How Do We Currently Do Computing?

Resources are co-located on site

Computing ResourcesSupport Personnel

Computing Consumer

9

Computing as a Utility

Cloud “Utility” Providers:Amazon AWS, Azure,

Cloudera, Google App Engine

Consumers:Companies, labs, schools, et

al.

10

ProcessedResults

Computing as a Utility

Algorithms& Data

Cloud “Utility” Providers:Amazon AWS, Azure,

Cloudera, Google App Engine

Consumers:Companies, labs, schools, et

al.

11

ProcessedResults

Computing as a Utility

Algorithms& Data

Cloud “Utility” Providers:Amazon AWS, Azure,

Cloudera, Google App Engine

Consumers:Companies, labs, schools, et

al.

12

Why Now?

• It has finally become cost-effective to offer computing as a service

• Large companies, e.g., Amazon, Microsoft, Google, Yahoo!‣ Already have the computing personnel,

infrastructure in place‣ Decreasing costs of hardware‣ Virtualization advancements

13

Example of Cost Effectiveness at the Provider

14

Why Now?

• This creates a win-win situation

• For the provider:‣ They get paid to fully utilize

otherwise idle hardware

• For the user:‣ They save on costs‣ Example: Amazon’s Cloud is

$0.10 per machine-hour

15

Promises of Cloud Computing

• Cost Associativity‣ Running 1 machine for 10

hours = running 10 machines for 1 hour

• Elasticity‣ Cloud applications can

stretch and contract their resource requirements

• “Infinite resources”

Research Challenges

• How do we exploit cost associativity and elasticity of the cloud for various applications?

• How do the cloud providers provide adequate QoS to various applications and users ‣ Maximize their revenue, lower their costs

• How do we develop effective services to support applications on cloud providers

• How can we combine the use of cloud and traditional resources for various applications‣ (HPC) Cloud Bursting

• How do we effectively manage large scale data on the cloud?

16

Outline

• Introduction to Cloud Computing• Ongoing Projects in Cloud Computing

‣ Data-intensive computing Middleware Systems‣ Resource Provisioning with Budget and Time Constraints‣ Workflow consolidation with power constraints ‣ An Elastic Cache on the Amazon Cloud

• Other Research Projects‣ Heterogeneous High-Performance Computing‣ Deep web Integration and Mining ‣ Scientific Data Management

17

April 20, 202318

•Growing need for analysis of large scale data ‣Scientific ‣Commercial

• Data-intensive Supercomputing (DISC) • Map-Reduce has received a lot of attention

‣ Database and Datamining communities ‣ High performance computing community

• Closely coupled with interest in cloud computing

Motivation

April 20, 202319

•Positives: ‣Simple API

- Functional language based - Very easy to learn

‣Support for fault-tolerance - Important for very large-scale clusters

•Questions‣Performance?

- Comparison with other approaches

‣Suitability for different class of applications?

Map-Reduce: Positives and Questions

Class of Data-Intensive Applications

• Many different types of applications ‣ Data-center kind of applications

- Data scans, sorting, indexing ‣ More ``compute-intensive`` data-intensive applications

- Machine learning, data mining, NLP - Map-reduce / Hadoop being widely used for this class

‣ Standard Database Operations - Sigmod 2009 paper compares Hadoop with Databases and OLAP systems

• What is Map-reduce suitable for?• What are the alternatives?

‣ MPI/OpenMP/Pthreads – too low level?

April 20, 202320

Our Work

• Proposes MATE (a Map-Reduce system with an AlternaTE API) based on Generalized Reduction ‣ Phoenix implemented Map-Reduce in shared-memory

systems‣ MATE adopted Generalized Reduction, first proposed in

FREERIDE that was developed at Ohio State 2001-2003‣ Observed API similarities and subtle differences between

MapReduce and Generalized Reduction

• Comparison for ‣ Data Mining Applications ‣ Compare performance and API ‣ Understand performance overheads

• Will an alternative API be better for ``Map-Reduce``?

April 20, 202321

Comparing Processing Structures

22

• Reduction Object represents the intermediate state of the execution• Reduce func. is commutative and associative• Sorting, grouping.. overheads are eliminated with red. func/obj.

April 20, 2023

Observations on Processing Structure

• Map-Reduce is based on functional idea ‣ Do not maintain state

• This can lead to overheads of managing intermediate results between map and reduce‣Map could generate intermediate results of very large

size

• MATE API is based on a programmer managed reduction object ‣ Not as ‘clean’ ‣ But, avoids sorting of intermediate results ‣ Can also help shared memory parallelization ‣ Helps better fault-recovery

April 20, 202323

April 20, 202324

Results: Data Mining (I)

• K-Means: 400MB dataset, 3-dim points, k = 100 on one WCI node with 8 cores

0

20

40

60

80

100

120

1 2 4 8

PhoenixMATEHadoop

Avg

. Tim

e P

er

Itera

tion

(sec)

# of threads

Outline

• Introduction to Cloud Computing• Ongoing Projects in Cloud Computing

‣ Data-intensive computing Middleware Systems‣ Resource Provisioning with Budget and Time Constraints‣ Workflow consolidation with power constraints ‣ An Elastic Cache on the Amazon Cloud

• Other Research Projects‣ Heterogeneous High-Performance Computing‣ Deep web Integration and Mining ‣ Scientific Data Management

25

26

Resource Provisioning Motivation: Adaptive Applications

Earthquake modelingCoastline forecasting Medical systems

• Time-Critical Event Processing- Compute-intensive- Time constraints- Application-specific flexibility- Application Quality of Service (QoS)

27

Adaptive Applications (Cont’d)

Adaptive Applications that perform time-critical event processing

• Application-specific flexibility: parameter adaptation• Trade-off between application QoS and execution time

HPC ApplicationsHPC Applications(compute-intensive)(compute-intensive)HPC ApplicationsHPC Applications(compute-intensive)(compute-intensive)

• Aim at maximize performance• Do not consider adaptation

Deadline-drivenDeadline-drivenSchedulingSchedulingDeadline-drivenDeadline-drivenSchedulingScheduling

• Not very compute-intensive

28

Challenges

-- Resource Budget Constraints

•Elastic Cloud Computing

- Pay-as-you-go model

•Satisfy the Application QoS with the Minimum Resource Cost

•Dynamic Resource Provisioning

- Dynamically varying application workloads

- Resource budget

29

Background: Pricing Model

•Charged Fees

‣Base price

‣Transfer fee

•Linear Pricing Model

•Exponential Pricing Model

Base price charged for the smallest amount of CPU

cycles

Transfer fee for each CPU allocation change

CPU cycle at the ith allocation

Time duration at the ith allocation

Number of CPU cycle allocations

30

Problem Description

• Adaptive Applications

‣ Adaptive parameters

‣ Benefit

‣ Time constraint

• Cloud Computing Environment

‣ Resource budget

‣ Overprovisioning/Underprovisioning

• Goal

‣ Maximize the application benefit while satisfying the time constraints and resource budget

31

Approach Overview

Dynamic Resource Dynamic Resource Provisioning Provisioning (feedback control)(feedback control)

Dynamic Resource Dynamic Resource Provisioning Provisioning (feedback control)(feedback control)

Resource ModelResource Model(with optimization)(with optimization)Resource ModelResource Model(with optimization)(with optimization)

• Resource Provisioning Controller

‣ Multi-input-multi-output (MIMO) feedback control model

‣ Modeling between adaptive parameters and performance metrics

‣ Control policy: reinforcement learning

• Resource Model

‣ Map change of parameters to change in CPU/memory allocations

‣ Optimization: avoid frequent resource changes

change to the adaptive parameters

change to CPU/memoryallocations

32

Resource Provisioning Controller

Performance Performance MetricsMetrics Performance Performance MetricsMetrics

Multi-Input-Multi-Input-Multi-Output Multi-Output ModelModel

Multi-Input-Multi-Input-Multi-Output Multi-Output ModelModel

Control Control PolicyPolicyControl Control PolicyPolicy

00

• Satisfy time constraints and resource budget

00

• Relationship between adaptive parameters and performance metrics

00

• Decide how to change values of the adaptive parameters

00

33

Control Model Formulation -- Performance Metrics

•Performance Metrics

‣Processing progress: ratio between the currently obtained application benefit and the elapsed execution time

‣Performance/cost ratio: ratio between the currently obtained application benefit and the cost of the resources that have been assigned

•Notation

Application benefit obtained at time step kElapsed execution time at time step kResource cost at time step k

34

Control Model Formulation -- Multi-Input-Multi-Output Model

• Auto-Regressive-Moving-Average with Exogenous Inputs (ARMAX)

‣Second-order model

‣ is ith adaptive parameter at time step k

‣ are updated at the end of every interval

Previous observed performance metricsPrevious and current values of adaptive parameters

35

Framework Design

ApplicationApplicationApplicationApplication

Virtualization Management (Eucalyptus, Open Virtualization Management (Eucalyptus, Open Nebular...)Nebular...)

Xen HypervisorXen Hypervisor

VMVM VMVM...

Xen HypervisorXen Hypervisor

VMVM VMVM...

Xen HypervisorXen Hypervisor

VMVM VMVM...

ServiceDeployment

ServiceWrapper

Resource ProvisioningController

Application Controller

ResourceModel

ModelOptimizer

PerformanceManager

PriorityAssignment

StatusQuery

PerformanceAnalysis

Outline

• Introduction to Cloud Computing• Ongoing Projects in Cloud Computing

‣ Data-intensive computing Middleware Systems‣ Resource Provisioning with Budget and Time Constraints‣ Workflow consolidation with power constraints ‣ An Elastic Cache on the Amazon Cloud

• Other Research Projects‣ Heterogeneous High-Performance Computing‣ Deep web Integration and Mining ‣ Scientific Data Management

36

37

Workflow Consolidation: Motivation

• Another Critical Issue in Cloud Environment: Power Management

‣HPC servers consume a lot of energy

‣Significant adverse impact on the environment

• To Reduce Resource and Energy Costs

‣Server consolidation

‣Minimize the total power consumption and resource costs without a substantial degradation in performance

38

Problem Description

• Our Target Applications

‣ Workflows with DAG structure

‣ Multiple processing stages

‣ Opportunities for consolidation

• Research Problems

‣ Combine parameter adaptation, budget constraints and resource allocation with consolidation and power optimization

‣ Challenge: consolidation without parameter adaptation

‣ Support power-aware parameter adaptation -- future work

39

Contributions

• A power-aware consolidation framework, pSciMapper, based on hierarchical clustering and an optimization search method

• pSciMapper is able to reduce the total power consumption by up to 56% with a most a 15% slowdown for the workflow

• pSciMapper incurs low overhead and thus suitable for large-scale scientific workflows

40

The pSciMapper Framework Design

Offline Analysis Online Consolidation

Scientific WorkflowsScientific WorkflowsScientific WorkflowsScientific Workflows

Resource Usage Resource Usage GenerationGenerationResource Usage Resource Usage GenerationGeneration

Temporal Feature Temporal Feature ExtractionExtractionTemporal Feature Temporal Feature ExtractionExtraction

Feature ReductionFeature Reductionand Modelingand ModelingFeature ReductionFeature Reductionand Modelingand Modeling

Time Series

KnowledgeKnowledgebasebase

Temporal Signatures

model

Hierarchical Hierarchical ClusteringClusteringHierarchical Hierarchical ClusteringClustering

Optimization Optimization SearchSearchAlgorithmAlgorithm

Optimization Optimization SearchSearchAlgorithmAlgorithm

Time VaryingTime VaryingResource Resource ProvisioningProvisioning

Time VaryingTime VaryingResource Resource ProvisioningProvisioning

ConsolidatedWorkloads

Outline

• Introduction to Cloud Computing• Ongoing Projects in Cloud Computing

‣ Data-intensive computing Middleware Systems‣ Resource Provisioning with Budget and Time Constraints‣ Workflow consolidation with power constraints ‣ An Elastic Cache on the Amazon Cloud

• Other Research Projects‣ Heterogeneous High-Performance Computing‣ Deep web Integration and Mining ‣ Scientific Data Management

41

Motivation: Data-Intensive Services on Clouds

• Cloud can provide flexible storage • Data-intensive services can be executed on clouds • Caching is an age-old idea to accelerate services

‣ On clouds, can we exploit elasticity

• A cost-sensitive elastic cache for clouds!

42

43

Problem: Query Intensive Circumstances

. . .

. . .

. . .

44

Scaling up to Handle Load. .

.

0

1

2

invoke:

haitimap(29)

(29 mod 3) = 2Which proxy has the page?h(k) = (k mod num_proxies)

h(29)

HIT!reply: data(29)

Derived Data Cache(Cloud Nodes)

HaitiMap

46

Scaling up to Handle Load. .

.

0

1

2

(29 mod 4) = 1Which proxy has the page?h(k) = (k mod num_proxies)

h(29) MISS

Derived Data Cache(Cloud Nodes)

Service Infrastructure

HaitiMap

invoke:

haitimap(29)

3

Outline

• Introduction to Cloud Computing• Ongoing Projects in Cloud Computing

‣ Resource Provisioning with Budget and Time Constraints‣ Workflow consolidation with power constraints ‣ An Elastic Cache on the Amazon Cloud‣ Data-intensive computing Middleware System

• Other Research Projects‣ Heterogeneous High-Performance Computing‣ Deep web Integration and Mining ‣ Scientific Data Management

47

Heterogeneous High Performance Computing

• Heterogeneous arch., a common place‣ Eg., Today’s desktops & notebooks‣ Multi-core CPU + Graphics card on PCI-E

• A Recent HPC system‣ Eg., Tianhe-1 [5th fastest SC, NOV 2009] ‣ Use Multi-core CPUs and GPU (ATI Radeon HD 4870)

on each node

• Multi-core CPU and GPU usage still divided‣ Resources may be under-utilized

• Can Multi-core CPU and GPU be used simultaneously for computation?

48

Overall System Design

49

User Input:Simple C code with

annotations

Application Developer

Multi-core

Middleware API

GPU Code for

CUDA

Compilation Phase

Code Generator

Run-time System

Worker Thread Creation and Management

Map Computation to CPU and GPU

Dynamic Work Distribution

Key Components

Performance of K-Means (Heterogeneous - NUCS)

50

60%

Outline

• Introduction to Cloud Computing• Ongoing Projects in Cloud Computing

‣ Resource Provisioning with Budget and Time Constraints‣ Workflow consolidation with power constraints ‣ An Elastic Cache on the Amazon Cloud‣ Data-intensive computing Middleware System

• Other Research Projects‣ Heterogeneous High-Performance Computing‣ Deep web Integration and Mining ‣ Scientific Data Management

51

52

The Deep Web

• The definition of “the deep web” from Wikipedia

The deep Web refers to World Wide Web content that is not part of the surface web, which is indexed by standard search engines.

• Some Examples: Expedia, Priceline

53

The Deep Web is Huge and Informative• 500 times larger than the

surface web• 7500 terabytes of information

(19 terabytes in the surface web)

• 550 billion documents (1 billion in the surface web)

• More than 200,000 deep web sites

• Relevant to every domain: scientific, e-commerce, market

• 95 percent of the deep web is publicly accessible (with access limitations)

54

How to Access Deep Web Data1. A user issues query through input interfaces of deep web data sources

2. Query is translated into SQL style query

3. Trigger search on backend database

4. Answers returned through network

Select priceFrom ExpediaWhere depart=CMH and arrive=SEA and dedate=“7/13/10” and redate=“7/16/10”

55

System OverviewD eepW eb

S chem a M in ing

Source Input Ouput Constraint

S1 A1 B1,B2 C2

S2 A1 B2,B3 C1

D1

D2

D3

D 4

D ata S ource M odel D ata S ourceD ependency M ode l

S ys tem M odels

QueryP lann ing

QueryOptim iza tion

FaultTo lerance

C o m plexS tructured Q uery

A pproxim ateQuery

A nsw ering

E xploring P art of S E E DE E P Q uerying P art of S E E DE E P

A ggregatio n/Lo wS electiv ity Q uery

Hidden schema discoveryData source integration

Structured SQL querySampling the deep webOnline aggregationLow selectivity query

Summary

• Research in Cloud, High Performance Computing and Data-Intensive Computing (including data mining and web mining)

• Currently working with 10 PhD students and 5 MS students

• 10 PhDs completed in last 6 years • To get Involved

‣ Join 888 in Winter 2011

56