@article{GevayRablBressetal.2022, author = {G{\´e}vay, G{\´a}bor E. and Rabl, Tilmann and Breß, Sebastian and Madai-Tahy, Lor{\´a}nd and Quian{\´e}-Ruiz, Jorge-Arnulfo and Markl, Volker}, title = {Imperative or functional control flow handling}, series = {SIGMOD record / Association for Computing Machinery, Special Interest Group on Management of Data}, volume = {51}, journal = {SIGMOD record / Association for Computing Machinery, Special Interest Group on Management of Data}, number = {1}, publisher = {Association for Computing Machinery}, address = {New York}, issn = {0163-5808}, doi = {10.1145/3542700.3542715}, pages = {60 -- 67}, year = {2022}, abstract = {Modern data analysis tasks often involve control flow statements, such as the iterations in PageRank and K-means. To achieve scalability, developers usually implement these tasks in distributed dataflow systems, such as Spark and Flink. Designers of such systems have to choose between providing imperative or functional control flow constructs to users. Imperative constructs are easier to use, but functional constructs are easier to compile to an efficient dataflow job. We propose Mitos, a system where control flow is both easy to use and efficient. Mitos relies on an intermediate representation based on the static single assignment form. This allows us to abstract away from specific control flow constructs and treat any imperative control flow uniformly both when building the dataflow job and when coordinating the distributed execution.}, language = {en} } @article{GevayRablBressetal.2022, author = {Gevay, Gabor E. and Rabl, Tilmann and Bress, Sebastian and Maclai-Tahy, Lorand and Quiane-Ruiz, Jorge-Arnulfo and Markl, Volker}, title = {Imperative or Functional Control Flow Handling: Why not the Best of Both Worlds?}, series = {SIGMOD record}, volume = {51}, journal = {SIGMOD record}, number = {1}, publisher = {Association for Computing Machinery}, address = {New York}, issn = {0163-5808}, doi = {10.1109/ICDE51399.2021.00127}, pages = {60 -- 67}, year = {2022}, abstract = {Modern data analysis tasks often involve control flow statements, such as the iterations in PageRank and K-means. To achieve scalability, developers usually implement these tasks in distributed dataflow systems, such as Spark and Flink. Designers of such systems have to choose between providing imperative or functional control flow constructs to users. Imperative constructs are easier to use, but functional constructs are easier to compile to an efficient dataflow job. We propose Mitos, a system where control flow is both easy to use and efficient. Mitos relies on an intermediate representation based on the static single assignment form. This allows us to abstract away from specific control flow constructs and treat any imperative control flow uniformly both when building the dataflow job and when coordinating the distributed execution.}, language = {en} } @article{KaitouaRablMarkl2020, author = {Kaitoua, Abdulrahman and Rabl, Tilmann and Markl, Volker}, title = {A distributed data exchange engine for polystores}, series = {Information technology : methods and applications of informatics and information technology}, volume = {62}, journal = {Information technology : methods and applications of informatics and information technology}, number = {3-4}, publisher = {De Gruyter}, address = {Berlin}, issn = {1611-2776}, doi = {10.1515/itit-2019-0037}, pages = {145 -- 156}, year = {2020}, abstract = {There is an increasing interest in fusing data from heterogeneous sources. Combining data sources increases the utility of existing datasets, generating new information and creating services of higher quality. A central issue in working with heterogeneous sources is data migration: In order to share and process data in different engines, resource intensive and complex movements and transformations between computing engines, services, and stores are necessary. Muses is a distributed, high-performance data migration engine that is able to interconnect distributed data stores by forwarding, transforming, repartitioning, or broadcasting data among distributed engines' instances in a resource-, cost-, and performance-adaptive manner. As such, it performs seamless information sharing across all participating resources in a standard, modular manner. We show an overall improvement of 30 \% for pipelining jobs across multiple engines, even when we count the overhead of Muses in the execution time. This performance gain implies that Muses can be used to optimise large pipelines that leverage multiple engines.}, language = {en} } @article{KunftKatsifodimosSchelteretal.2019, author = {Kunft, Andreas and Katsifodimos, Asterios and Schelter, Sebastian and Bress, Sebastian and Rabl, Tilmann and Markl, Volker}, title = {An Intermediate Representation for Optimizing Machine Learning Pipelines}, series = {Proceedings of the VLDB Endowment}, volume = {12}, journal = {Proceedings of the VLDB Endowment}, number = {11}, publisher = {Association for Computing Machinery}, address = {New York}, issn = {2150-8097}, doi = {10.14778/3342263.3342633}, pages = {1553 -- 1567}, year = {2019}, abstract = {Machine learning (ML) pipelines for model training and validation typically include preprocessing, such as data cleaning and feature engineering, prior to training an ML model. Preprocessing combines relational algebra and user-defined functions (UDFs), while model training uses iterations and linear algebra. Current systems are tailored to either of the two. As a consequence, preprocessing and ML steps are optimized in isolation. To enable holistic optimization of ML training pipelines, we present Lara, a declarative domain-specific language for collections and matrices. Lara's inter-mediate representation (IR) reflects on the complete program, i.e., UDFs, control flow, and both data types. Two views on the IR enable diverse optimizations. Monads enable operator pushdown and fusion across type and loop boundaries. Combinators provide the semantics of domain-specific operators and optimize data access and cross-validation of ML algorithms. Our experiments on preprocessing pipelines and selected ML algorithms show the effects of our proposed optimizations on dense and sparse data, which achieve speedups of up to an order of magnitude.}, language = {en} }