{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:16:25Z","timestamp":1750220185979,"version":"3.41.0"},"reference-count":23,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2022,5,31]],"date-time":"2022-05-31T00:00:00Z","timestamp":1653955200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGMOD Rec."],"published-print":{"date-parts":[[2022,5,31]]},"abstract":"<jats:p>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.<\/jats:p>","DOI":"10.1145\/3542700.3542715","type":"journal-article","created":{"date-parts":[[2022,6,1]],"date-time":"2022-06-01T22:10:16Z","timestamp":1654121416000},"page":"60-67","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["Imperative or Functional Control Flow Handling"],"prefix":"10.1145","volume":"51","author":[{"given":"G\u00e1bor E.","family":"G\u00e9vay","sequence":"first","affiliation":[{"name":"TU Berlin"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tilmann","family":"Rabl","sequence":"additional","affiliation":[{"name":"HPI, Uni Potsdam"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Sebastian","family":"Bre\u00df","sequence":"additional","affiliation":[{"name":"Snowflake Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Lor\u00e1nd","family":"Madai-Tahy","sequence":"additional","affiliation":[{"name":"mindsquare AG"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jorge-Arnulfo","family":"Quian\u00e9-Ruiz","sequence":"additional","affiliation":[{"name":"TU Berlin, DFKI GmbH"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Volker","family":"Markl","sequence":"additional","affiliation":[{"name":"TU Berlin, DFKI GmbH"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2022,6]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/3281629"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/2723372.2750543"},{"key":"e_1_2_1_3_1","volume-title":"Dataflow architectures. Annual review of computer science, 1(1)","author":"Culler D. E.","year":"1986","unstructured":"Arvind and D. E. Culler . Dataflow architectures. Annual review of computer science, 1(1) , 1986 . Arvind and D. E. Culler. Dataflow architectures. Annual review of computer science, 1(1), 1986."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1137\/141000671"},{"key":"e_1_2_1_5_1","volume-title":"CIDR","author":"Boehm M.","year":"2020","unstructured":"M. Boehm , I. Antonov , S. Baunsgaard , M. Dokter , R. Ginth\u00a8or , K. Innerebner , F. Klezin , S. Lindstaedt , A. Phani , B. Rath , B. Reinwald , S. Siddiqi , and S. B. Wrede . SystemDS: A declarative machine learning system for the end-to-end data science lifecycle . In CIDR , 2020 . M. Boehm, I. Antonov, S. Baunsgaard, M. Dokter, R. Ginth\u00a8or, K. Innerebner, F. Klezin, S. Lindstaedt, A. Phani, B. Rath, B. Reinwald, S. Siddiqi, and S. B. Wrede. SystemDS: A declarative machine learning system for the end-to-end data science lifecycle. In CIDR, 2020."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.14778\/1920841.1920881"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/2489837.2489840"},{"key":"e_1_2_1_8_1","volume-title":"Apache Flink: Stream and batch processing in a single engine. Bulletin of the IEEE Computer Society Technical Committee on Data Engineering, 36(4)","author":"Carbone P.","year":"2015","unstructured":"P. Carbone , A. Katsifodimos , S. Ewen , V. Markl , S. Haridi , and K. Tzoumas . Apache Flink: Stream and batch processing in a single engine. Bulletin of the IEEE Computer Society Technical Committee on Data Engineering, 36(4) , 2015 . P. Carbone, A. Katsifodimos, S. Ewen, V. Markl, S. Haridi, and K. Tzoumas. Apache Flink: Stream and batch processing in a single engine. Bulletin of the IEEE Computer Society Technical Committee on Data Engineering, 36(4), 2015."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1851476.1851593"},{"key":"e_1_2_1_10_1","first-page":"5","article-title":"Spinning fast iterative data flows","author":"Ewen S.","year":"2012","unstructured":"S. Ewen , K. Tzoumas , M. Kaufmann , and V. Markl . Spinning fast iterative data flows . Proceedings of the VLDB Endowment , 5 , 2012 . S. Ewen, K. Tzoumas, M. Kaufmann, and V. Markl. Spinning fast iterative data flows. Proceedings of the VLDB Endowment, 5, 2012.","journal-title":"Proceedings of the VLDB Endowment"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/3448016.3457287"},{"key":"e_1_2_1_12_1","volume-title":"Handling iterations in distributed dataflow systems. ACM Computing Surveys (CSUR), 54(9):1--38","author":"G\u00b4evay G. E.","year":"2021","unstructured":"G. E. G\u00b4evay , J. Soto , and V. Markl . Handling iterations in distributed dataflow systems. ACM Computing Surveys (CSUR), 54(9):1--38 , 2021 . G. E. G\u00b4evay, J. Soto, and V. Markl. Handling iterations in distributed dataflow systems. ACM Computing Surveys (CSUR), 54(9):1--38, 2021."},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/3318464.3384678"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/3448016.3457272"},{"key":"e_1_2_1_15_1","volume-title":"JANUS: Fast and flexible deep learning via symbolic graph execution of imperative programs","author":"Jeong E.","year":"2019","unstructured":"E. Jeong , S. Cho , G.-I. Yu , J. S. Jeong , D.-J. Shin , and B.-G. Chun . JANUS: Fast and flexible deep learning via symbolic graph execution of imperative programs . In NSDI. USENIX Association , 2019 . E. Jeong, S. Cho, G.-I. Yu, J. S. Jeong, D.-J. Shin, and B.-G. Chun. JANUS: Fast and flexible deep learning via symbolic graph execution of imperative programs. In NSDI. USENIX Association, 2019."},{"key":"e_1_2_1_16_1","volume-title":"SysML","author":"Moldovan D.","year":"2019","unstructured":"D. Moldovan , J. Decker , F. Wang , A. Johnson , B. Lee , Z. Nado , D. Sculley , T. Rompf , and A. B. Wiltschko . AutoGraph: Imperative-style coding with graph-based performance . In SysML , 2019 . D. Moldovan, J. Decker, F. Wang, A. Johnson, B. Lee, Z. Nado, D. Sculley, T. Rompf, and A. B. Wiltschko. AutoGraph: Imperative-style coding with graph-based performance. In SysML, 2019."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522738"},{"key":"e_1_2_1_18_1","volume-title":"Vrije Universiteit Amsterdam","author":"Orzan S. M.","year":"2004","unstructured":"S. M. Orzan . On distributed verification and verified distribution. PhD thesis , Vrije Universiteit Amsterdam , 2004 . S. M. Orzan. On distributed verification and verified distribution. PhD thesis, Vrije Universiteit Amsterdam, 2004."},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.5555\/3002539"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522715"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/3456859.3456861"},{"key":"e_1_2_1_22_1","volume-title":"ACM","author":"Yu Y.","year":"2018","unstructured":"Y. Yu , M. Abadi , P. Barham , E. Brevdo , M. Burrows , A. Davis , J. Dean , S. Ghemawat , T. Harley , P. Hawkins , Dynamic control flow in large-scale machine learning. In EuroSys, page 18 . ACM , 2018 . Y. Yu, M. Abadi, P. Barham, E. Brevdo, M. Burrows, A. Davis, J. Dean, S. Ghemawat, T. Harley, P. Hawkins, et al. Dynamic control flow in large-scale machine learning. In EuroSys, page 18. ACM, 2018."},{"key":"e_1_2_1_23_1","first-page":"10","article-title":"Spark: cluster computing with working sets","author":"Zaharia M.","year":"2010","unstructured":"M. Zaharia , M. Chowdhury , M. J. Franklin , S. Shenker , and I. Stoica . Spark: cluster computing with working sets . HotCloud , 10 , 2010 . M. Zaharia, M. Chowdhury, M. J. Franklin, S. Shenker, and I. Stoica. Spark: cluster computing with working sets. HotCloud, 10, 2010.","journal-title":"HotCloud"}],"container-title":["ACM SIGMOD Record"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3542700.3542715","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3542700.3542715","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T19:02:22Z","timestamp":1750186942000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3542700.3542715"}},"subtitle":["Why not the Best of Both Worlds?"],"short-title":[],"issued":{"date-parts":[[2022,5,31]]},"references-count":23,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2022,5,31]]}},"alternative-id":["10.1145\/3542700.3542715"],"URL":"https:\/\/doi.org\/10.1145\/3542700.3542715","relation":{},"ISSN":["0163-5808"],"issn-type":[{"type":"print","value":"0163-5808"}],"subject":[],"published":{"date-parts":[[2022,5,31]]},"assertion":[{"value":"2022-06-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}