{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,26]],"date-time":"2026-02-26T15:27:53Z","timestamp":1772119673528,"version":"3.50.1"},"reference-count":17,"publisher":"Springer Science and Business Media LLC","issue":"2-3","license":[{"start":{"date-parts":[[2022,12,26]],"date-time":"2022-12-26T00:00:00Z","timestamp":1672012800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2022,12,26]],"date-time":"2022-12-26T00:00:00Z","timestamp":1672012800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"name":"European High-Performance Computing Joint Undertaking","award":["956137"],"award-info":[{"award-number":["956137"]}]},{"name":"European High-Performance Computing Joint Undertaking","award":["956137"],"award-info":[{"award-number":["956137"]}]},{"name":"European High-Performance Computing Joint Undertaking","award":["956137"],"award-info":[{"award-number":["956137"]}]},{"name":"University of Innsbruck and Medical University of Innsbruck"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Int J Parallel Prog"],"published-print":{"date-parts":[[2023,6]]},"abstract":"<jats:title>Abstract<\/jats:title>\n                  <jats:p>Runtime systems can significantly reduce the cognitive complexity of scientific applications, narrowing the gap between systems engineering and domain science in HPC. One of the most important angles in this is automating data migration in a cluster. Traditional approaches require the application developer to model communication explicitly, for example through MPI primitives. Celerity, a runtime system for accelerator clusters heavily inspired by the SYCL programming model, instead provides a purely declarative approach focused around access patterns. In addition to eliminating the need for explicit data transfer operations, it provides a basis for efficient and dynamic scheduling at runtime. However, it is currently only suitable for accessing array-like data from runtime-controlled tasks, while real programs often need to interact with opaque data local to each host, such as handles or database connections, and also need a defined way of transporting data into and out of the virtualised buffers of the runtime. In this paper, we introduce a graph-based approach and declarative API for expressing side-effect dependencies between tasks and moving data from the runtime context to the application space.<\/jats:p>","DOI":"10.1007\/s10766-022-00743-4","type":"journal-article","created":{"date-parts":[[2022,12,26]],"date-time":"2022-12-26T12:02:45Z","timestamp":1672056165000},"page":"150-171","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["Declarative Data Flow in a Graph-Based Distributed Memory Runtime System"],"prefix":"10.1007","volume":"51","author":[{"given":"Fabian","family":"Knorr","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Peter","family":"Thoman","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Thomas","family":"Fahringer","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2022,12,26]]},"reference":[{"key":"743_CR1","doi-asserted-by":"crossref","unstructured":"Alpay, A., Heuveline, V.: SYCL beyond OpenCL: The architecture, current state and future direction of hipSYCL. In: International Workshop on OpenCL, pp. 1(2020)","DOI":"10.1145\/3388333.3388658"},{"issue":"2","key":"743_CR2","doi-asserted-by":"publisher","first-page":"225","DOI":"10.1016\/0304-3975(96)00031-X","volume":"162","author":"BS Baker","year":"1996","unstructured":"Baker, B.S., Coffman, E.G., Jr.: Mutual exclusion scheduling. Theoret. Comput. Sci. 162(2), 225\u2013243 (1996)","journal-title":"Theoret. Comput. Sci."},{"key":"743_CR3","doi-asserted-by":"crossref","unstructured":"Bauer, M., Treichler, S., Slaughter, E., Aiken, A.: Legion: Expressing locality and independence with logical regions. In: SC\u201912: Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis. IEEE (2012)","DOI":"10.1109\/SC.2012.71"},{"key":"743_CR4","doi-asserted-by":"crossref","unstructured":"Bodlaender, H.L., Jansen, K.: On the complexity of scheduling incompatible jobs with unit-times. In: International Symposium on Mathematical Foundations of Computer Science, pp. 291\u2013300. Springer (1993)","DOI":"10.1007\/3-540-57182-5_21"},{"issue":"12","key":"743_CR5","doi-asserted-by":"publisher","first-page":"3202","DOI":"10.1016\/j.jpdc.2014.07.003","volume":"74","author":"HC Edwards","year":"2014","unstructured":"Edwards, H.C., Trott, C.R., Sunderland, D.: Kokkos: Enabling manycore performance portability through polymorphic memory access patterns. J. Parallel Distribut. Comput. 74(12), 3202\u20133216 (2014)","journal-title":"J. Parallel Distribut. Comput."},{"issue":"6","key":"743_CR6","doi-asserted-by":"publisher","first-page":"846","DOI":"10.1007\/s10766-021-00704-3","volume":"49","author":"A Ernstsson","year":"2021","unstructured":"Ernstsson, A., Ahlqvist, J., Zouzoula, S., Kessler, C.: Skepu 3: Portable high-level programming of heterogeneous systems and hpc clusters. Int. J. Parallel Prog. 49(6), 846\u2013866 (2021)","journal-title":"Int. J. Parallel Prog."},{"issue":"1","key":"743_CR7","doi-asserted-by":"publisher","first-page":"62","DOI":"10.1007\/s10766-017-0490-5","volume":"46","author":"A Ernstsson","year":"2018","unstructured":"Ernstsson, A., Li, L., Kessler, C.: Skepu 2: Flexible and type-safe skeleton programming for heterogeneous parallel systems. Int. J. Parallel Prog. 46(1), 62\u201380 (2018)","journal-title":"Int. J. Parallel Prog."},{"issue":"4","key":"743_CR8","doi-asserted-by":"publisher","first-page":"516","DOI":"10.1145\/321296.321300","volume":"12","author":"SW Golomb","year":"1965","unstructured":"Golomb, S.W., Baumert, L.D.: Backtrack programming. J. ACM (JACM) 12(4), 516\u2013524 (1965)","journal-title":"J. ACM (JACM)"},{"key":"743_CR9","doi-asserted-by":"crossref","unstructured":"Gschwandtner, P., Kissmann, R., Huber, D., et\u00a0al.: Porting Real-World Applications to GPU Clusters: A Celerity and Cronos Case Study. In: 2021 IEEE 17th International Conference on eScience (eScience), pp. 90\u201398. IEEE (2021)","DOI":"10.1109\/eScience51609.2021.00019"},{"key":"743_CR10","doi-asserted-by":"crossref","unstructured":"Keryell, R., Yu, L.Y.: Early experiments using SYCL single-source modern C++ on Xilinx FPGA: Extended abstract of technical presentation. In: Proceedings of the International Workshop on OpenCL, pp. 1\u20138 (2018)","DOI":"10.1145\/3204919.3204937"},{"key":"743_CR11","unstructured":"Khronos Group: SYCL$$^{{\\rm TM}}$$ 2020 Specification (revision 4). https:\/\/www.khronos.org\/registry\/SYCL\/specs\/sycl-2020\/html\/sycl-2020.html (2021)"},{"issue":"3","key":"743_CR12","doi-asserted-by":"publisher","first-page":"425","DOI":"10.1016\/0196-6774(86)90032-5","volume":"7","author":"JM Robson","year":"1986","unstructured":"Robson, J.M.: Algorithms for maximum independent sets. J. Algorithm. 7(3), 425\u2013440 (1986)","journal-title":"J. Algorithm."},{"key":"743_CR13","unstructured":"Thoman, P., Jordan, H., et\u00a0al.: CELERITY: Towards an Effective Programming Interface for GPU Clusters. In: Euromicro International Conference on Parallel, Distributed, and Network-Based Processing (PDP), pp. 18\u201328 (2018)"},{"key":"743_CR14","doi-asserted-by":"crossref","unstructured":"Thoman, P., Salzmann, P., Cosenza, B., Fahringer, T.: Celerity: High-Level C++ for Accelerator Clusters. In: European Conference on Parallel Processing, pp. 291\u2013303. Springer (2019)","DOI":"10.1007\/978-3-030-29400-7_21"},{"key":"743_CR15","doi-asserted-by":"crossref","unstructured":"Thoman, P., Tischler, F., et\u00a0al.: The Celerity High-level API: C++20 for Accelerator Clusters. Int. J. Parallel Program. (accepted, to appear in 2022)","DOI":"10.1007\/s10766-022-00731-8"},{"issue":"4","key":"743_CR16","doi-asserted-by":"publisher","first-page":"805","DOI":"10.1109\/TPDS.2021.3097283","volume":"33","author":"CR Trott","year":"2022","unstructured":"Trott, C.R., Lebrun-Grandi\u00e9, D., Arndt, D., Ciesko, J., et al.: Kokkos 3: Programming model extensions for the exascale era. IEEE Trans. Parallel Distrib. Syst. 33(4), 805\u2013817 (2022). https:\/\/doi.org\/10.1109\/TPDS.2021.3097283","journal-title":"IEEE Trans. Parallel Distrib. Syst."},{"key":"743_CR17","doi-asserted-by":"publisher","first-page":"126","DOI":"10.1016\/j.ic.2017.06.001","volume":"255","author":"M Xiao","year":"2017","unstructured":"Xiao, M., Nagamochi, H.: Exact algorithms for maximum independent set. Inf. Comput. 255, 126\u2013146 (2017)","journal-title":"Inf. Comput."}],"container-title":["International Journal of Parallel Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10766-022-00743-4.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10766-022-00743-4\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10766-022-00743-4.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,3,30]],"date-time":"2023-03-30T07:13:31Z","timestamp":1680160411000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10766-022-00743-4"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,12,26]]},"references-count":17,"journal-issue":{"issue":"2-3","published-print":{"date-parts":[[2023,6]]}},"alternative-id":["743"],"URL":"https:\/\/doi.org\/10.1007\/s10766-022-00743-4","relation":{"has-preprint":[{"id-type":"doi","id":"10.21203\/rs.3.rs-2045925\/v1","asserted-by":"object"}]},"ISSN":["0885-7458","1573-7640"],"issn-type":[{"value":"0885-7458","type":"print"},{"value":"1573-7640","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,12,26]]},"assertion":[{"value":"8 September 2022","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"21 November 2022","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"26 December 2022","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Declarations"}},{"value":"The authors declare no competing interests.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Conflict of interest"}}]}}