Skitter: A Distributed Stream Processing Framework with Pluggable Distribution Strategies
This program is tentative and subject to change.
Context Distributed Stream Processing Frameworks (DSPFs) are popular tools for expressing real-time Big Data applications that have to handle enormous volumes of data in real time. These frameworks distribute their applications over a cluster in order to scale horizontally along with the amount of incoming data.
Inquiry Crucial for the performance of such applications is the distribution strategy that is used to partition data and computations over the cluster nodes. In some DSPFs, like Apache Spark or Flink, the distribution strategy is hardwired into the framework which can lead to inefficient applications. The other end of the spectrum is offered by Apache Storm, which offers a low-level model wherein programmers can implement their own distribution strategies on a per-application basis to improve efficiency. However, this model conflates distribution and data processing logic, making it difficult to modify either. As a consequence, today’s cluster application developers either have to accept the built-in distribution strategies of a high-level framework or accept the complexity of expressing a distribution strategy in Storm’s low-level model.
Approach We propose a novel programming model wherein data processing operations and their distribution strategies are decoupled from one another and where new strategies can be created in a modular fashion.
Knowledge The introduced language abstractions cleanly separate the data processing and distribution logic of a stream processing application. This enables the expression of stream processing applications in a high-level framework while still retaining the flexibility offered by Storm’s low-level model.
Grounding We implement our programming model as a domain-specific language, called Skitter, and use it to evaluate our approach. Our evaluation shows that Skitter enables the implementation of existing distribution strategies from the state of the art in a modular fashion. Our performance evaluation shows that the strategies implemented in Skitter exhibit the expected performance characteristics and that applications written in Skitter obtain throughput rates in the same order of magnitude as Storm.
Importance Our work enables developers to select the most performant distribution strategy for each operation in their application, while still retaining the programming model offered by high-level frameworks.
This program is tentative and subject to change.
Wed 4 JunDisplayed time zone: Belgrade, Bratislava, Budapest, Ljubljana, Prague change
13:30 - 15:00 | Concurrency and DistributionResearch Papers at S 9 Chair(s): Gordana Rakić Department of Mathematics and Informatics, Faculty of Sciences, University of Novi Sad | ||
13:30 30mTalk | Consistent Distributed Reactive Programming with Retroactive Computation Research Papers Tetsuo Kamina Oita University, Tomoyuki Aotani Sanyo-Onoda City University, Hidehiko Masuhara Institute of Science Tokyo | ||
14:00 30mTalk | Conversational Concurrency With Dataspaces and Facets Research Papers Sam Caldwell Northeastern University, Tony Garnock-Jones Maastricht University, Matthias Felleisen Northeastern University | ||
14:30 30mTalk | Skitter: A Distributed Stream Processing Framework with Pluggable Distribution Strategies Research Papers Mathijs Saey Vrije Universiteit Brussel, Joeri De Koster Vrije Universiteit Brussel, Wolfgang De Meuter Vrije Universiteit Brussel |