Performance Modeling and Predictive Scheduling for Distributed Stream Data Processing
Authors:
- 10 October 2016
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Big Data
- Vol. 2 (4) , 353-364
Abstract
In a distributed stream data processing system, an application is usually modeled using a directed graph, in which each vertex corresponds to a data source or a processing unit, and edges indicate data flow. In this paper, we propose a novel predictive scheduling framework to enable fast and distributed stream data processing, which features topology-aware modeling for performance prediction and predictive scheduling. For prediction, we present a topology-aware method to accurately predict the average tuple processing time of an application for a given scheduling solution, according to the topology of the application graph and runtime statistics. For scheduling, we present an effective algorithm to assign threads to machines under the guidance of prediction results. To validate and evaluate the proposed framework, we implemented it based on a highly-regarded distributed stream data processing platform, Storm, and tested it with 3 representative applications: word count (stream version), log stream processing and continuous query. Extensive experimental results show 1) The topology-aware prediction method offers an average accuracy of 84.2 percent. 2) The predictive scheduling framework reduces the average tuple processing time by 24.9 percent on average, compared to Storm's default scheduler.Keywords
Funding Information
- AFOSR (FA9550-16-1-0077)
This publication has 21 references indexed in Scilit:
- PRACTISE: Robust prediction of data center time series2015
- Priority-Based Resource Scheduling in Distributed Stream Processing Systems for Big Data Applications2014
- MillWheelProceedings of the VLDB Endowment, 2013
- Adaptive online scheduling in storm2013
- Modeling performance of a parallel streaming engine2013
- Accelerating SQL database operations on a GPU with CUDA2010
- On the Use of Machine Learning to Predict the Time and Resources Consumed by Applications2010
- Hot-spot prediction and alleviation in distributed stream processing applications2008
- Prediction-Based QoS Management for Real-Time Data Streams2006
- Operator Scheduling in a Data Stream Manager2003