{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T03:24:13Z","timestamp":1740108253287,"version":"3.37.3"},"reference-count":25,"publisher":"Springer Science and Business Media LLC","issue":"5","license":[{"start":{"date-parts":[[2021,8,23]],"date-time":"2021-08-23T00:00:00Z","timestamp":1629676800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2021,8,23]],"date-time":"2021-08-23T00:00:00Z","timestamp":1629676800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"DOI":"10.13039\/501100002322","name":"Coordena\u00e7\u00e3o de Aperfei\u00e7oamento de Pessoal de N\u00edvel Superior","doi-asserted-by":"publisher","award":["0001"],"award-info":[{"award-number":["0001"]}],"id":[{"id":"10.13039\/501100002322","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100004263","name":"funda\u00e7\u00e3o de amparo \u00e0 pesquisa do estado do rio grande do sul","doi-asserted-by":"publisher","award":["19\/2551-0001895-9"],"award-info":[{"award-number":["19\/2551-0001895-9"]}],"id":[{"id":"10.13039\/501100004263","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100004263","name":"funda\u00e7\u00e3o de amparo \u00e0 pesquisa do estado do rio grande do su","doi-asserted-by":"publisher","award":["21\/2551-0000725-7"],"award-info":[{"award-number":["21\/2551-0000725-7"]}],"id":[{"id":"10.13039\/501100004263","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100003593","name":"conselho nacional de desenvolvimento cient\u00edfico e tecnol\u00f3gico","doi-asserted-by":"publisher","award":["437693\/2018-0"],"award-info":[{"award-number":["437693\/2018-0"]}],"id":[{"id":"10.13039\/501100003593","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Computing"],"published-print":{"date-parts":[[2023,5]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Several real-world parallel applications are becoming more dynamic and long-running, demanding online (at run-time) adaptations. Stream processing is a representative scenario that computes data items arriving in real-time and where parallel executions are necessary. However, it is challenging for humans to monitor and manually self-optimize complex and long-running parallel executions continuously. Moreover, although high-level and structured parallel programming aims to facilitate parallelism, several issues still need to be addressed for improving the existing abstractions. In this paper, we extend self-adaptiveness for supporting autonomous and online changes of the parallel pattern compositions. Online self-adaptation is achieved with an online profiler that characterizes the applications, which is combined with a new self-adaptive strategy and a model for smooth transitions on reconfigurations. The solution provides a new abstraction layer that enables application programmers to define non-functional requirements instead of hand-tuning complex configurations. Hence, we contribute with additional abstractions and flexible self-adaptation for responsiveness at run-time. The proposed solution is evaluated with applications having different processing characteristics, workloads, and configurations. The results show that it is possible to provide additional abstractions, flexibility, and responsiveness while achieving performance comparable to the best static configuration executions.<\/jats:p>","DOI":"10.1007\/s00607-021-00998-8","type":"journal-article","created":{"date-parts":[[2021,8,23]],"date-time":"2021-08-23T11:02:58Z","timestamp":1629716578000},"page":"1039-1057","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["Online and transparent self-adaptation of stream parallel patterns"],"prefix":"10.1007","volume":"105","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-3299-2641","authenticated-orcid":false,"given":"Adriano","family":"Vogel","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6263-7723","authenticated-orcid":false,"given":"Gabriele","family":"Mencagli","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4690-3964","authenticated-orcid":false,"given":"Dalvan","family":"Griebler","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7433-376X","authenticated-orcid":false,"given":"Marco","family":"Danelutto","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7506-3685","authenticated-orcid":false,"given":"Luiz Gustavo","family":"Fernandes","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2021,8,23]]},"reference":[{"issue":"6","key":"998_CR1","doi-asserted-by":"publisher","first-page":"1012","DOI":"10.1007\/s10766-013-0273-6","volume":"42","author":"M Aldinucci","year":"2014","unstructured":"Aldinucci M, Campa S, Danelutto M, Kilpatrick P, Torquati M (2014) Design patterns percolating to parallel programming framework implementation. Int J Parallel Prog 42(6):1012\u20131031","journal-title":"Int J Parallel Prog"},{"key":"998_CR2","doi-asserted-by":"crossref","unstructured":"Aldinucci M, Danelutto M, Kilpatrick P, Torquati M (2017) Fastflow: high-level and efficient streaming on multicore. Programming multi-core and many-core computing systems, parallel and distributed computing pp 261\u2013280","DOI":"10.1002\/9781119332015.ch13"},{"key":"998_CR3","doi-asserted-by":"crossref","unstructured":"Danelutto M, Mencagli G, Torquati M, Gonz\u00e1lez V\u00e9lez H, Kilpatrick P (2020) Algorithmic skeletons and parallel design patterns in mainstream parallel programming. Int J Parallel Prog 49: 1\u201322","DOI":"10.1007\/s10766-020-00684-w"},{"key":"998_CR4","doi-asserted-by":"crossref","unstructured":"De Matteis T, Mencagli G (2016) Keep calm and react with foresight: strategies for low-latency and energy-efficient elastic data stream processing. SIGPLAN Not 51(8):13:1\u201313:12","DOI":"10.1145\/3016078.2851148"},{"key":"998_CR5","doi-asserted-by":"publisher","first-page":"136","DOI":"10.1016\/j.future.2018.05.012","volume":"87","author":"D De Sensi","year":"2018","unstructured":"De Sensi D, De Matteis T, Danelutto M (2018) Simplifying self-adaptive and power-aware computing with Nornir. Future Gener Comput Syst 87:136\u2013151","journal-title":"Future Gener Comput Syst"},{"issue":"4","key":"998_CR6","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/3132710","volume":"14","author":"D De Sensi","year":"2017","unstructured":"De Sensi D, De Matteis T, Torquati M, Mencagli G, Danelutto M (2017) Bringing parallel patterns out of the corner: the P$$^{3}$$ARSEC benchmark suite. ACM Trans Archit Code Optim 14(4):1\u201326","journal-title":"ACM Trans Archit Code Optim"},{"issue":"24","key":"998_CR7","doi-asserted-by":"publisher","first-page":"e4175","DOI":"10.1002\/cpe.4175","volume":"29","author":"Astorga D del Rio","year":"2017","unstructured":"del Rio Astorga D, Dolz MF, Fern\u00e1ndez J, Garc\u00eda JD (2017) A generic parallel pattern interface for stream and data processing. Concurr Comput 29(24):e4175","journal-title":"Concurr Comput"},{"issue":"01","key":"998_CR8","doi-asserted-by":"publisher","first-page":"1740005","DOI":"10.1142\/S0129626417400059","volume":"27","author":"D Griebler","year":"2017","unstructured":"Griebler D, Danelutto M, Torquati M, Fernandes LG (2017) SPar: a DSL for high-level and productive stream parallelism. Parallel Process Lett 27(01):1740005","journal-title":"Parallel Process Lett"},{"key":"998_CR9","first-page":"698","volume-title":"Higher-level parallelism abstractions for video applications with SPar","author":"D Griebler","year":"2017","unstructured":"Griebler D, Hoffmann RB, Danelutto M, Fernandes LG (2017) Higher-level parallelism abstractions for video applications with SPar. IOS Press, Bologna, pp 698\u2013707"},{"key":"998_CR10","doi-asserted-by":"publisher","first-page":"4603","DOI":"10.1007\/s11227-019-02914-6","volume":"76","author":"D Griebler","year":"2019","unstructured":"Griebler D, Vogel A, De Sensi D, Danelutto M, Fernandes LG (2019) Simplifying and implementing service level objectives for stream parallelism. J Supercomput 76:4603\u20134628","journal-title":"J Supercomput"},{"key":"998_CR11","doi-asserted-by":"crossref","unstructured":"Grulich P, Sebastian B, Zeuch S et\u00a0al Grizzly: efficient stream processing through adaptive query compilation. In: ACM SIGMOD international conference on management of data, pp 2487\u20132503 (2020)","DOI":"10.1145\/3318464.3389739"},{"key":"998_CR12","doi-asserted-by":"crossref","unstructured":"Hellerstein J, Diao Y, Parekh S, Tilbury D (2004) Feedback control of computing systems. Wiley, p 456","DOI":"10.1002\/047166880X"},{"key":"998_CR13","doi-asserted-by":"crossref","unstructured":"Herodotou H, Chen Y, Lu J (2020) A survey on automatic parameter tuning for big data processing systems. ACM Comput Surv 53(2):1\u201337","DOI":"10.1145\/3381027"},{"key":"998_CR14","doi-asserted-by":"crossref","unstructured":"Janjic V, Brown C, Mackenzie K, et al (2016) RPL: a domain-specific language for designing and implementing parallel C++ applications. In: Euromicro international conference on parallel, distributed, and network-based processing, pp 288\u2013295. IEEE","DOI":"10.1109\/PDP.2016.122"},{"key":"998_CR15","unstructured":"Kalavri V, Liagouris J, Hoffmann M et al (2018) Three steps is all you need: fast, accurate, automatic scaling decisions for distributed streaming dataflows, pp 783\u2013798"},{"issue":"4","key":"998_CR16","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/3132618","volume":"12","author":"X Liu","year":"2017","unstructured":"Liu X, Dastjerdi AV, Calheiros RN, Qu C, Buyya R (2017) A stepwise auto-profiling method for performance optimization of streaming applications. ACM Trans Auton Adap 12(4):1\u201333","journal-title":"ACM Trans Auton Adap"},{"key":"998_CR17","doi-asserted-by":"crossref","unstructured":"Lv Q, Josephson W, Wang Z, Charikar M, Li K (2006) Ferret: a toolkit for content-based similarity search of feature-rich data. In: ACM SIGOPS\/EuroSys European conference on computer systems, pp 317\u2013330","DOI":"10.1145\/1218063.1217966"},{"issue":"11","key":"998_CR18","doi-asserted-by":"publisher","first-page":"2748","DOI":"10.1109\/TPDS.2021.3073970","volume":"32","author":"G Mencagli","year":"2021","unstructured":"Mencagli G, Torquati M, Cardaci A et al (2021) Windflow: high-speed continuous stream processing with parallel building blocks. IEEE Trans Parallel Distrib Syst 32(11):2748\u20132763","journal-title":"IEEE Trans Parallel Distrib Syst"},{"key":"998_CR19","doi-asserted-by":"crossref","unstructured":"Metzger P, Cole M, Fensch C, Aldinucci M, Bini E (2020) Enforcing deadlines for skeleton-based parallel programming. In: IEEE RTAS, pp 188\u2013199","DOI":"10.1109\/RTAS48715.2020.000-7"},{"issue":"2","key":"998_CR20","first-page":"98","volume":"53","author":"S Rajadurai","year":"2018","unstructured":"Rajadurai S, Bosboom J, Wong WF, Amarasinghe S (2018) Gloss: Seamless live reconfiguration and reoptimization of stream programs. ACM Not 53(2):98\u2013112","journal-title":"ACM Not"},{"issue":"8","key":"998_CR21","doi-asserted-by":"publisher","first-page":"784","DOI":"10.1109\/TSE.2017.2704579","volume":"44","author":"S Shevtsov","year":"2017","unstructured":"Shevtsov S, Berekmeri M, Weyns D, Maggio M (2017) Control-theoretical software adaptation: a systematic literature review. IEEE T Software Eng 44(8):784\u2013810","journal-title":"IEEE T Software Eng"},{"key":"998_CR22","unstructured":"Torquati M (2019) Harnessing parallelism in multi\/many-cores with streams and parallel patterns. Computer Science Dept. - University of Pisa, Italy (Ph.D. thesis)"},{"issue":"6","key":"998_CR23","doi-asserted-by":"publisher","first-page":"1194","DOI":"10.1002\/spe.2948","volume":"51","author":"A Vogel","year":"2021","unstructured":"Vogel A, Griebler D, Fernandes LG (2021) Providing high-level self-adaptive abstractions for stream parallelism on multicores. Softw Pract Exp 51(6):1194\u20131217","journal-title":"Softw Pract Exp"},{"key":"998_CR24","doi-asserted-by":"crossref","unstructured":"Vogel A, Mencagli G, Griebler D, Danelutto M, Fernandes LG (2021) Towards on-the-fly self-adaptation of stream parallel patterns. In: Euromicro international conference on parallel, distributed and network-based processing. IEEE, Valladolid, pp 89\u201393","DOI":"10.1007\/s00607-021-00998-8"},{"key":"998_CR25","doi-asserted-by":"crossref","unstructured":"Voss M, Asenjo R, Reinders J (2019) Pro TBB: C++ parallel programming with threading building blocks. Apress","DOI":"10.1007\/978-1-4842-4398-5"}],"container-title":["Computing"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s00607-021-00998-8.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s00607-021-00998-8\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s00607-021-00998-8.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,11,7]],"date-time":"2023-11-07T18:58:22Z","timestamp":1699383502000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s00607-021-00998-8"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,8,23]]},"references-count":25,"journal-issue":{"issue":"5","published-print":{"date-parts":[[2023,5]]}},"alternative-id":["998"],"URL":"https:\/\/doi.org\/10.1007\/s00607-021-00998-8","relation":{},"ISSN":["0010-485X","1436-5057"],"issn-type":[{"type":"print","value":"0010-485X"},{"type":"electronic","value":"1436-5057"}],"subject":[],"published":{"date-parts":[[2021,8,23]]},"assertion":[{"value":"14 May 2021","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"4 August 2021","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"23 August 2021","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 have no conflicts of interest to declare that are relevant to the content of this article.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Conflict of interest"}}]}}