Elastic Stream Computing with Clouds

Atsushi Ishii1 and Toyotaro Suzumura1,2   1Tokyo Institute of Technology 2IBM Research - Tokyo 1/41

Executive Summary Data Stream Processing Many Varieties of Sensors

Streaming Digital Data

Processing in real-time fashion

Data Stream Management System

Problem Statement

Real-time Application

Real-time Response

Our Approach

Data Stream Processing Application

Burst of Data Rate

New nodes

Current Data Stream Processing Systems cannot dynamically assign or remove computational nodes

Experimental Results

Optimization Problem

ElasticStream System

2/41

We present a method and an architecture to use virtual machines (VMs) in the cloud environment and to use optimization problem in an elastic fashion to stay ahead of the real-time processing requirements.

Keeping the Applicationʼ’s response latency low

Minimizing the economic cost for cloud environment

Agenda 1. Introduction 2. Our

Approach 3. Implementation 4. Experiment 5. Related Work 6. Conclusion

3/41

Agenda 1. Introduction 2. Our

Approach 3. Implementation 4. Experiment 5. Related Work 6. Conclusion

4/41

Stream Computing } 

A new computing paradigm for processing streaming data in a real-time fashion.

} 

Data Stream Management System: }  System S (IBM), S4 (Yahoo) , Borealis (MIT) Many Varieties of Sensors

Streaming Digital Data 5/41

Processing in real-time fashion

Data Stream Management System

Real-time Application

Real-time Response

Stream Computing } 

Application examples: }  }  } 

Latency-critical anomaly detection Financial data analysis Analyzing data from large scale sensor networks

Many Varieties of Sensors

Streaming Digital Data 6/41

Processing in real-time fashion

Data Stream Management System

Real-time Application

Real-time Response

System S and SPADE System S can scale to large numbers of compute nodes SPADE Program

Source

Aggregate

Functor

Execution files

SPADE Compiler

Sink

Script Files Configuration Files

running on the commodity cluster such as Linux Optimization Scheduler automates resource management   

Processing Element Container

Processing Element Container

Processing Element Container

Processing Element Container

Processing Element Container

System S Data Fabric Transport Operating System

X86 X86 Blade Box

7

X86 X86 Blade Blade

X86 FPGA Blade Blade

X86 X86 Blade Blade

X86 Cell Blade Blade

Problem Statement Data Stream Processing Application

Burst of Data Rate

New nodes

Current stream computing systems do not provide the feature that enables to add new nodes dynamically in run time even if the incoming data rate becomes bursty

} 

8

Problem Statement Data Stream Processing Application

Recent real-time application needs low latency in the responses to the stream data

} 

} 

Bursts ofData data Burst of Rate rate can change the latency New nodes }  To handle all the burst of data, it is needed to add new computational nodes dynamically

} 

Other problems by adding new physical nodes: }  budget limitations, inadequate electrical supply, or even space for hardware 9

Our Approach ‒ Elastic Stream Computing with Clouds } 

We present a method and an architecture that provides elastic stream computing platform with Clouds }  }  } 

adding new resources within a few minutes need not consider where the new resources are located dealing with situations where the data rate suddenly bursts by temporarily adding new VM (Virtual Machine)s

10/41

Agenda 1. Introduction 2. Our

Approach 3. Implementation 4. Experiment 5. Related Work 6. Conclusion

11/41

The Definition of the Cloud }  Only

an IaaS (Infrastructure as a Service)

}  Examples:

Amazon EC2 }  Eucalyptus } 

12/41

Our Proposed System: ElasticStream

13/41

Overview of the ElasticStream (contd.) } 

Application flow in the system can be divided into three parts: }  }  } 

} 

Receiving the incoming data Splitting the data up for multiple nodes Processing the data in parallel

The system also adds cloud VMs if the local environment is overloaded

14/41

Adding new cloud VMs } 

The ElasticStream system calculates the required number of VMs, and then elastically add new virtual machines on the Cloud Local

incoming data

Cloud

Local

Cloud

incoming data

Boot a new VM through the API, and establish the connection

15/41

How can we solve the trade-off issue between latency and financial costs ? } 

Pricing system is pay-as-you-go }  } 

} 

computation time, data transfer, usage of storage, etc (Show sample Amazon price here )

The trade-off between latency and costs exists }  } 

Too many VMs will increase the total costs method to minimize the latency and total costs is needed

16/41

Optimizing the financial cost of using the Cloud environment } 

We need to calculate the least number of VMs to keep latency low

} 

In this research, we formulate the trade-off between the latency and the costs into an optimization problem

17/41

Our Proposed Scheduling Policy } 

We use the term TimeSlot for an interval for }  } 

} 

solving the optimization problem manipulating the cloud VMs

To calculate the required number of VMs, we need to predict the future data rate for the next TimeSlot. } 

An example of the algorithm for prediction: } 

SDAR Algorithm (Sequentially Discounting Auto Regression Model)

VM3 VM2 VM1 TimeSlot

18/41

1

2

3

4

5

6

7

8

9

Target Application Types } 

Data Parallel Application

}  }  }  } 

distributes a data stream computes in parallel Most of the applications belong to this type This research focuses on this type } 

} 

e.g. Real-time mining for Twitter streams

Task Parallel Application }  } 

distributes a computation process duplicate input stream } 

19/41

e.g. Computation-intensive SST (Singular Spectrum Transformation) algorithm

Formulation } 

Objective Function }  } 

For running time

Data transfer(upload)

Min : VMtype

Minimizing the cost for the Cost = ∑ ( Ptype + PNin × Dtype ) × xtype    ...(1) type cloud environment The solution is the numbers Where : of the VMs for each instance ∀xtype ≥ 0,   ∀xtype ∈ N , VMtype types

∑ (D

type

× xtype ) ≥ ( Dnext − Dlocal )    ...(2)

type

} 

Constraint: } 

} 

When the future data rate is larger than the amount of data that local nodes can handle, The rest of the data must be assigned to the Cloud VMs

20/41

Sum of the data which can be uploaded to Cloud Ptype: PNin: Dtype: xtype: Dnext: Dlocal:

The amount of the data which is needed to be uploaded to Cloud

price for running a VM price for 1-GB data upload data stream assigned each instance type # of the VMs for each instance type future data rate data stream which local nodes can handle

Compared with ad-hoc scheduling policies } 

When the data rate bursts, the system could add several nodes with several ad-hoc policies } 

} 

Our optimization problem approach can obtain the cost-optimal numbers of VMs directly, and also support multiple instance types

Optimization problem approach could be extended for other requirements: }  } 

e.g. Region for running VMs     Multiple Cloud providers

21/41

Agenda 1. Introduction 2. Our

Approach 3. Implementation 4. Experiment 5. Related Work 6. Conclusion

22/41

About System S (again) } 

Large-scale, distributed stream computing platform developed by IBM Research

} 

Describe the data-flow graphs by its special stream-application language called SPADE [Gedik,SIGMOD,2008]*

} 

SPADE allows users to create customized operations written in C/C++ or Java } 

The ElasticStream system uses C++ UDOPs

*Bugra Gedik, et al., SPADE: The System S Declar ative Stream Processing Engine” SIGMOD 2008

23/41

SPADE : The Language for the Stream Application •  A stream-centric and operator-based language for stream processing application for System S

•  Also supports all of the basic stream-relational operators with rich windowing semantics

•  System S treats operator as one processing unit •  Input/Output data of the operator is called Tuple •  System S describes the data flow graphs using operators [Program] vstream MySchema(symbol : String, tradedate : String, closingprice : Double, volume : Integer) vstream aggregatedData(symbol: String, avgPrice : Double) stream myODBCstream(schemaFor(MySchema)) := Source()[ stcp://sensorserver.ibm.com:12345 , csvFormat, noDelays] stream StockMovingAverage (schemaFor(aggregatedData)) := Aggregate(myODBCstream ) [symbol] {Any(symbol),Avg(closingprice)} Nil := DbAppend(StockMovingAverage)[connection:"DB2Person"; access:"StockSink"]{}

24/41

Elastic Stream Processing on System S The ElasticStream system is built on top of System S and constructed with data flow graphs written in SPADE }  We implemented C/C++ based UDOPs (UserDefined Operators) to extend System S to enable System S Cloud-ready . }  In current System S, restarting the job is required for adding nodes dynamically } 

}  } 

some data will be lost Implemented the feature which enable to add/remove nodes in runtime as operators

25/41

System Processing Flow Applicationʼ’s processing 1.  Splits the incoming data up for each computational nodes 2.  Each nodes compute in parallel 3.  Aggregates the results and outputs them } 

Manipulating the cloud 1.  Predicts data rate for the next TimeSlot 2.  Calculates the # of VMs 3.  Adds/Removes VMs on the cloud environment } 

26/41

Components for the applicationʼ’s process } 

StreamManager }  } 

} 

LatencyAggregator }  } 

} 

Splits the data stream Manages the TCP connection

Aggregates the latency result Output a log

Computational Component on the Cloud } 

The computational component of the prototype system is currently written in Ruby

27/41

Components for manipulating the cloud } 

FutureDetection } 

} 

Optimizer } 

} 

Predicts data rates for next TimeSlot

Calculates the numbers of the VMs for each instance types for next TimeSlot

VM Manager }  } 

Communicates Amazon EC2 Manages VMsʼ’ start/stop

28/41

Agenda 1. Introduction 2. Our

Approach 3. Implementation 4. Experiment 5. Related Work 6. Conclusion

29/41

Performance Evaluation Local Environment

Cloud Environment

CPU AMD Phenom 9850 QuadCore Processor 2.5GHz, Memory 8GB *1 (Computational node) 1Gbps Network CPU AMD Phenom 9350e QuadCore Processor 2GHz, Memory 4GB *1 (For ElasticStream System)

Software CentOS 5.4 kernel 2.6.18-128 AMD64, gcc version 4.1.2, Ruby 1.9.1 30/41

Amazon Linux AMI Beta 2010.11.1 • Small instance   ($0.095/h) • Medium instance   ($0.19/h)

… Region: US-West Latency: about 100ms (From Tokyo Tech)

Application for the experiment } 

} 

Regular expression matching application for a data stream like Twitter Each tuples in the stream is 1KB } 

} 

Data rate changes from 200KB/s to 2000KB/s

Outputs the data to the local nodes only when the matching process succeeds

31/41

Compare the static patterns } 

Static pattern }  } 

Local: only use the local machine Static: use some VMs with local machine } 

} 

Dynamic pattern } 

} 

        (VM: Small*1 + Medium*2)

ElasticStream: Our approach

We used a component that provides a precise input data rate instead of using the future detection algorithm }  32/41

This is intended for measuring the best performance, but this will be replaced with more sophisticated change point detection algorithms such as SDAR

Result 1(1/3) } 

ElasticStream system kept the latency low using cloud VMs

33/41

Generated data rate that has 3 bursts local nodes cannot handle

Result 1(2/3) Unexpected bursts (within a sec.) are caused because the data distribution is stopped for a short while when new VM is added on the cloud (This issue will be solved for future )

34/41

Result 1(3/3) This is because the system used an average data rate value. To handle such burst, we could use maximum data rate value

35/41

Result 2 } 

ElasticStream system was able to reduce the total current cost by 80%

Amazon EC2 charge cost every hour This is a simulation score in the case of being charged every 5 minutes.

36/41

reduced the total current cost by 80%, against the Static pattern

Discussion } 

The reduction ratio of total costs

}  }  } 

TAll: Total running time of the application TBurst: Total time when the data rate bursted The reduction ratio of running costs is TBurst / TAll } 

} 

The system cannot handle the burst whose interval is less than TimeSlot } 

} 

Only if the data transfer costs (or etc.) can be ignored

One possible solution would be to shorten the TimeSlot interval

Making TimeSlot too short may bring the additional overhead of the VM boot time } 

We could solve this issue by calculating optimal TimeSlot interval by experiments, or allowing one to prepare extra VMs in

advance

37/41

Agenda 1. Introduction 2. Our

Approach 3. Implementation 4. Experiment 5. Related Work 6. Conclusion

38/41

Related work (1/2) } 

Using cloud environment for batch processing [Bossche, Cloud, 2010] } 

} 

They run a scheduling algorithm as a preprocessing step

We scheduled and updated the combination of VMs periodically } 

we focus on data stream processing that needs to handle continuously arriving and potentially infinite data streams

39/41

Related work (2/2) } 

Load balancing in the data stream management system } 

Load balancing by Load Shedding

} 

Elastic scaling of terminating threads in a operator

[Mozafari, ICDE, 2010]

[Schneider, IPDPS, 2009]

} 

Job scheduling } 

Focused on the locality of the input data and fairness of the jobs users submitted [Zaharia,EuroSys,2010]

40/41

Agenda 1. Introduction 2. Our

Approach 3. Implementation 4. Experiment 5. Related Work 6. Conclusion

41/41

Summary and Future Work }  Summary }  }  }  } 

Presented the ElasticStream system Presented optimization problem for costoptimal usage for cloud environment Implemented a feature to assign or remove computational resources dynamically Evaluated these features using Amazon EC2

}  Future }  } 

work

To improve component that predicts future data rate To implement the proposed elastic features into a data stream management system itself

42/41

Elastic Stream Computing with Clouds

cloud environment and to use optimization problem in an elastic fashion to stay ahead of the real-time processing requirements. Keeping the Applicationʼ's.

4MB Sizes 3 Downloads 296 Views

Recommend Documents

Elastic Stream Computing with Clouds
[email protected]. Abstract—Stream computing, also known as data stream processing, has emerged as a new processing paradigm that processes incoming data streams from tremendous numbers of .... reduce the time needed to set up servers if we prepare i

Elastic Stream Computing with Clouds
C. Cloud Environment. Cloud computing is a way to use computational resources ... Cloud is only an IaaS (Infrastructure as a Service) such as. Amazon EC2 or ...

Elastic computing with R and Redis - GitHub
May 16, 2016 - Listing 3 presents a parallel-capable variation of the boot function from the ... thisCall

Mixed Priority Elastic Resource Allocation in Cloud Computing ... - IJRIT
Cloud computing is a distributed computing over a network, and means the ... In this they use the stack to store user request and pop the stack when they need.

Mixed Priority Elastic Resource Allocation in Cloud Computing ... - IJRIT
resources properly to server this comes under the infrastructure as a service ... in datacenter by reducing the load in server by allocating the virtual machine to ...

Network Slicing with Elastic SFC
Huawei Technologies Canada Inc., Ottawa, Ontario CANADA ...... [24] D.F. Rogers, R.D. Plante, R.T. Wong, and J.R. Evans, “Aggregation and Disaggre- ... ment of Computer Science, University of Copenhagen, Denmark, 1999. Internet.

Elastic Routing in Wireless Networks With Directional ... - IEEE Xplore
Abstract— Throughput scaling law of a large wireless network equipping directional antennas at each node is analyzed based on the information-theoretic ...

elastic foundation model of rolling contact with friction - Universitatea ...
R=150 mm, D=300 mm, b=40 mm, ν=0.3, E=2.12*105 Mpa, K=3*108 Mpa – the ... The finite element method are one of the best methods to determinations.

elastic foundation model of rolling contact with friction - Universitatea ...
R=150 mm, D=300 mm, b=40 mm, ν=0.3, E=2.12*105 Mpa, K=3*108 Mpa – the maxim stiffness in this node If the pressure is changed the direction and it is ...

A Huge Challenge With Directional Antennas: Elastic ... - IEEE Xplore
an elastic routing protocol, which enables to increase per-hop distance elastically according to the scalable beamwidth, while maintaining a constant average ...

Watch Painting The Clouds With Sunshine (1951) Full Movie Online ...
Watch Painting The Clouds With Sunshine (1951) Full Movie Online HD Streaming Free Download.pdf. Watch Painting The Clouds With Sunshine (1951) Full ...

Extending Modern PaaS Clouds with BSP to Execute ...
Extending Modern PaaS Clouds with BSP to Execute Legacy. MPI Applications. Hiranya Jayathilaka, Michael Agun. Department of Computer Science. UC Santa Barbara, Santa Barbara, CA, USA. Abstract. As the popularity of cloud computing continues to in- cr

Comments on “Variations of tropical upper tropospheric clouds with ...
Feb 27, 2009 - RONDANELLI AND LINDZEN: CLOUD VARIATIONS WITH SST .... peratures within 0.5 C of the observed SSTs and normalizing by the sum of ...

Download Building Clouds with Windows Azure Pack ...
Virtualization and Cloud space including MCSE for Private Cloud. ... virtualization and private cloud solutions comprising the product lines of Microsoft, VMware, ...

Elastic Remote Methods - KR Jayaram
optimize the performance of new or existing distributed applications while de- ploying or moving them to the cloud, engineering robust elasticity management components is essential. This is especially vital for applications that do not fit the progra

Temperature__________ Clouds
Name___________________________Date_________ Time______Observation Location: ______ ... Go outside about an hour or so after sunset or later…see times on star map. Get away from the lights of ... Below and to the south (right) of ORION you will see

Scheduling Jobs With Unknown Duration in Clouds - IEEE Xplore
Here, we present a load balancing and scheduling algo- rithm that is throughput-optimal, without assuming that job sizes are known or are upper-bounded. Index Terms—Cloud computing, performance evaluation, queueing theory, resource allocation, sche