{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,8,5]],"date-time":"2025-08-05T13:10:18Z","timestamp":1754399418927,"version":"3.41.2"},"reference-count":35,"publisher":"Wiley","issue":"18","license":[{"start":{"date-parts":[[2020,4,30]],"date-time":"2020-04-30T00:00:00Z","timestamp":1588204800000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":["onlinelibrary.wiley.com"],"crossmark-restriction":true},"short-container-title":["Concurrency and Computation"],"published-print":{"date-parts":[[2021,9,25]]},"abstract":"<jats:title>Summary<\/jats:title><jats:p>The cloud computing paradigm has emerged as the backbone of modern price\u2010aware scalable computing systems. Many cloud service models are competing to become the leading doorway to access the computational power of cloud providers. Recently, a novel service model, called function\u2010as\u2010a\u2010service (FaaS), has been proposed, which enables users to exploit the cloud computational scalability, left out the configuration and management of huge computing infrastructures. This article discloses Fly, a domain\u2010specific language, which aims at reconciling cloud and high\u2010performance computing paradigms adopting a multicloud strategy by providing a powerful, effective, and pricing\u2010efficient tool for developing scalable workflow\u2010based scientific applications by exploiting different and at the same time FaaS cloud providers as computational backends in a transparent fashion. We present several improvements of the Fly language, as well as a new enhanced version of a source\u2010to\u2010source compiler, which currently supports Symmetric Multiprocessing, Amazon AWS, and Microsoft Azure backends and translation of functions in Java, JavaScript, and Python programming languages. Furthermore, we discuss a performance evaluation of Fly on a popular benchmark for distributed computing frameworks, along with a collection of case studies with an analysis of their performance results and costs.<\/jats:p>","DOI":"10.1002\/cpe.5802","type":"journal-article","created":{"date-parts":[[2020,4,30]],"date-time":"2020-04-30T19:46:07Z","timestamp":1588275967000},"update-policy":"https:\/\/doi.org\/10.1002\/crossmark_policy","source":"Crossref","is-referenced-by-count":7,"title":["Toward a domain\u2010specific language for scientific workflow\u2010based applications on multicloud system"],"prefix":"10.1002","volume":"33","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-9148-9769","authenticated-orcid":false,"given":"Gennaro","family":"Cordasco","sequence":"first","affiliation":[{"name":"Dipartimento di Psicologia Universit\u00e0 degli Studi della Campania \u201cLuigi Vanvitelli\u201d  Caserta Italy"}]},{"given":"Matteo","family":"D'Auria","sequence":"additional","affiliation":[{"name":"Dipartimento di Informatica Universit\u00e0 degli Studi di Salerno  Salerno Italy"}]},{"given":"Alberto","family":"Negro","sequence":"additional","affiliation":[{"name":"Dipartimento di Informatica Universit\u00e0 degli Studi di Salerno  Salerno Italy"}]},{"given":"Vittorio","family":"Scarano","sequence":"additional","affiliation":[{"name":"Dipartimento di Informatica Universit\u00e0 degli Studi di Salerno  Salerno Italy"}]},{"given":"Carmine","family":"Spagnuolo","sequence":"additional","affiliation":[{"name":"Dipartimento di Informatica Universit\u00e0 degli Studi di Salerno  Salerno Italy"}]}],"member":"311","published-online":{"date-parts":[[2020,4,30]]},"reference":[{"key":"e_1_2_11_1_1","doi-asserted-by":"crossref","unstructured":"ShawishA SalamaM. Cloud computing: Paradigms and technologies.Inter\u2010cooperative collective intelligence: Techniques and applications;2014.","DOI":"10.1007\/978-3-642-35016-0_2"},{"key":"e_1_2_11_2_1","unstructured":"NadareishviliI MitraR McLartyM AmundsenM.Microservice Architecture: Aligning Principles Practices and Culture;2016."},{"key":"e_1_2_11_3_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.simpat.2018.09.002"},{"key":"e_1_2_11_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1327452.1327492"},{"key":"e_1_2_11_5_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.procs.2016.08.281"},{"key":"e_1_2_11_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/3154524"},{"key":"e_1_2_11_7_1","doi-asserted-by":"crossref","unstructured":"CordascoG De ChiaraR RaiaF ScaranoV SpagnuoloC VicidominiL. Designing computational steering facilities for distributed agent based simulations. Proceedings of the 2013 ACM SIGSIM Principles of Advanced Discrete Simulation;2013.","DOI":"10.1145\/2486092.2486147"},{"key":"e_1_2_11_8_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.simpat.2017.12.005"},{"key":"e_1_2_11_9_1","unstructured":"CordascoG D'AuriaM NegroA ScaranoV SpagnuoloC. Towards a Domain\u2010specific language for scientific computing on multicloud systems. Paper presented at: Proceedings of the 1st I. Workshop on Parallel Programming Models in High\u2010Performance Cloud;2019."},{"key":"e_1_2_11_10_1","unstructured":"ProjectE.Xtext language engineering for everyone!;2019. Accessed December 2019."},{"key":"e_1_2_11_11_1","unstructured":"Inc. A.Amazon web services \u2010 AWS Lambda;2019. Accessed December 2019."},{"key":"e_1_2_11_12_1","unstructured":"Corporation M. Microsoft Azure functions;2019. Accessed December 2019."},{"key":"e_1_2_11_13_1","unstructured":"HwangH FoxGC DongarraJJ.Distributed and cloud computing from parallel processing to the Internet of Things;2013."},{"key":"e_1_2_11_14_1","unstructured":"RossumG. Python reference manual. Technical report;1995."},{"key":"e_1_2_11_15_1","unstructured":"DMRitchie. The Limbo programming language.Inferno Programmer's Manual 2;2018."},{"key":"e_1_2_11_16_1","unstructured":"ChamberlainB CallahanD ZimaHP.Parallel programmability and the chapel language.Int J High Perform Comput Appl2007."},{"key":"e_1_2_11_17_1","unstructured":"BlumofeRD JoergCF KuszmaulBC LeisersonCE RandallKH ZhouY. Cilk: an efficient multi threaded runtime system. PPOPP '95: Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming SIGPLAN.1995;7\u2010216."},{"volume-title":"Hadoop: The Definitive Guide","year":"2009","author":"White T","key":"e_1_2_11_18_1"},{"key":"e_1_2_11_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/2934664"},{"key":"e_1_2_11_20_1","unstructured":"MPI F. MPI: a message\u2010passing interface. Technical report;1994."},{"issue":"3","key":"e_1_2_11_21_1","first-page":"66","article-title":"OpenCL: a parallel programming standard for heterogeneous computing systems","volume":"12","author":"Stone JE","year":"2010","journal-title":"Search Results Web results IEEE Design & Test of Computers"},{"key":"e_1_2_11_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/99.660313"},{"key":"e_1_2_11_23_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.parco.2011.05.005"},{"key":"e_1_2_11_24_1","doi-asserted-by":"crossref","unstructured":"WozniakJ ArmstrongT WildeM KatzDS LuskE FosterI. Swift\/T: large\u2010scale application composition via distributed\u2010memory dataflow processing. Paper presented at: Proceedings of the 13th IEEE\/ACM International Symposium Cluster Cloud and Grid Computing;2013.","DOI":"10.1109\/CCGrid.2013.99"},{"key":"e_1_2_11_25_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.future.2013.05.003"},{"key":"e_1_2_11_26_1","article-title":"Serverless computing: current trends and open problems","author":"Baldini I","year":"2017","journal-title":"CoRR\u00a0abs\/1706.03178 (arXiv)"},{"key":"e_1_2_11_27_1","doi-asserted-by":"crossref","unstructured":"McGrathG BrennerPR. Serverless computing: design implementation and performance. Paper presented at: Proceedings of the 2017 IEEE 37th International Conference on Distributed Computing Systems Workshops (ICDCSW);2017.","DOI":"10.1109\/ICDCSW.2017.36"},{"key":"e_1_2_11_28_1","doi-asserted-by":"crossref","unstructured":"StiglerM.Beginning serverless computing: developing with Amazon web services microsoft azure and Google cloud;2017.","DOI":"10.1007\/978-1-4842-3084-8_3"},{"key":"e_1_2_11_29_1","unstructured":"JetBrains. MPS: domain\u2010specific language creator by JetBrains;2019. Accessed December 2019."},{"key":"e_1_2_11_30_1","unstructured":"Tablesaw.JTablesaw is a Java dataframe similar to Pandas in Python and the R data frame;2019. Accessed December 2019."},{"key":"e_1_2_11_31_1","unstructured":"Dataframe JS. Dataframe\u2010js provides an immutable data structure for javascript and datascience;2019. Accessed December 2019."},{"key":"e_1_2_11_32_1","unstructured":"LocalStack. LocalStack 2019. Accessed December 2019."},{"key":"e_1_2_11_33_1","doi-asserted-by":"crossref","unstructured":"LeeH FoxG. Big data benchmarks of high\u2010performance storage systems on commercial bare metal clouds. Paper presented at: Proceedings of the 2019 IEEE 12th International Conference on Cloud Computing (CLOUD);2019.","DOI":"10.1109\/CLOUD.2019.00014"},{"key":"e_1_2_11_34_1","unstructured":"The 20 newsgroup dataset.2019. Accessed December 2019."},{"key":"e_1_2_11_35_1","doi-asserted-by":"crossref","unstructured":"CordascoG SpagnuoloC ScaranoV. Toward the new version of D\u2010MASON: Efficiency effectiveness and correctness in parallel and distributed agent\u2010based simulations. Paper presented at: Proceedings of the IEEE 30th International Parallel and Distributed Processing Symposium;2016; IEEE.","DOI":"10.1109\/IPDPSW.2016.52"}],"container-title":["Concurrency and Computation: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fcpe.5802","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/cpe.5802","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/full-xml\/10.1002\/cpe.5802","content-type":"application\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/cpe.5802","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,8,30]],"date-time":"2023-08-30T01:31:49Z","timestamp":1693359109000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/cpe.5802"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,4,30]]},"references-count":35,"journal-issue":{"issue":"18","published-print":{"date-parts":[[2021,9,25]]}},"alternative-id":["10.1002\/cpe.5802"],"URL":"https:\/\/doi.org\/10.1002\/cpe.5802","archive":["Portico"],"relation":{},"ISSN":["1532-0626","1532-0634"],"issn-type":[{"type":"print","value":"1532-0626"},{"type":"electronic","value":"1532-0634"}],"subject":[],"published":{"date-parts":[[2020,4,30]]},"assertion":[{"value":"2019-12-08","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-04-03","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-04-30","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}],"article-number":"e5802"}}