Abstract

Data analytics are moving beyond the limits of a single platform. In this paper, we present the cost-based optimizer of Rheem, an open-source cross-platform system that copes with these new requirements. The optimizer allocates the subtasks of data analytic tasks to the most suitable platforms. Our main contributions are: (i) a mechanism based on graph transformations to explore alternative execution strategies; (ii) a novel graph-based approach to determine efficient data movement plans among subtasks and platforms; and (iii) an efficient plan enumeration algorithm, based on a novel enumeration algebra. We extensively evaluate our optimizer under diverse real tasks. We show that our optimizer can perform tasks more than one order of magnitude faster when using multiple platforms than when using a single platform.

Highlights

  • Modern data analytics are characterized by (i) increasing query/task 1 complexity, (ii) heterogeneity of data sources, and (iii) a proliferation of data processing platforms

  • Challenges Devising a cost-based optimizer for crossplatform settings is challenging for many reasons: (i) Platforms vastly differ in their supported operations; (ii) the optimizer must consider the cost of moving data across platforms; (iii) the optimization search space is exponential with the number of atomic operations in a task; (iv) cross-platform settings are characterized by high uncertainty, i.e., data distributions are typically unknown, and cost functions are hard to calibrate; and (v) the optimizer must be extensible to accommodate new platforms and emerging application requirements

  • Tasks and datasets We considered a broad range of data analytics tasks from different areas, namely text mining (TM), relational analytics (RA), machine learning (ML), and graph

Read more

Summary

Introduction

Modern data analytics are characterized by (i) increasing query/task 1 complexity, (ii) heterogeneity of data sources, and (iii) a proliferation of data processing platforms (platforms, for short). Challenges Devising a cost-based optimizer for crossplatform settings is challenging for many reasons: (i) Platforms vastly differ in their supported operations; (ii) the optimizer must consider the cost of moving data across platforms; (iii) the optimization search space is exponential with the number of atomic operations in a task; (iv) cross-platform settings are characterized by high uncertainty, i.e., data distributions are typically unknown, and cost functions are hard to calibrate; and (v) the optimizer must be extensible to accommodate new platforms and emerging application requirements. While we present the system design of Rheem in [4] and briefly discuss the data movement aspect in [43], in this paper, we describe in detail how our cost-based cross-platform optimizer tackles all of the above research challenges.. Rheem supports neither nested loops nor control-flow operators

Rheem background
Section 4
Overview
Plan enrichment
Plan inflation
Graph-based operator mappings
Operator inflation
Cost estimation
Cost learner
Cardinality estimation
Data movement
Channel conversion graph
Minimum conversion tree problem
Finding minimum conversion trees
Kernelization
Channel conversion graph exploration
Correctness and complexity
Plan enumeration
Plan enumeration algebra
Data structures
Algebra operations
Applying the algebra
Lossless pruning
Enumeration algorithm
Dealing with uncertainty
Experiments
General setup
Multi-platform optimization
Optimizer scalability
Optimizer internals
10 Related work
11 Conclusion
A Proofs
Findings
B Data movement algorithm details
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call