Kostas Meladakis, Chrysostomos Zeginis, K. Magoutis, D. Plexousakis
Function-as-a-Service (FaaS) is a modern cloud service model that has gained significant attention from the research and industry communities in recent years for its many benefits such as dynamic scaling, cost efficiency, faster programming, flexibility to microservices and containers technology. However, the building and deployment of serverless applications come with many challenges that need to be tackled, like workflow design complexity and migration of other applications. When transactions between different parties are involved, the workflow becomes knotty and the communication between participants and all properties of transactions have to be properly resolved. Transactions have widely been discussed in Business processes, so same practices might be adopted by serverless workflows. In this work we provide guidelines and mapping mechanisms for transforming transactional Business Process Modeling Notation 2.0 (BPMN2) applications to a serverless platform. We shed light on the current inability of function orchestrators to express workflow definitions, and deal with various architectural dilemmas that stem from the dissimilar nature of stateful BPMN vs. stateless serverless applications. We overcome the unbalanced capabilities between well-established BPMN notations and function orchestration definitions and illustrate how to exploit and combine cloud native services that comes with FaaS to create serverless applications.
{"title":"Transferring transactional business processes to FaaS","authors":"Kostas Meladakis, Chrysostomos Zeginis, K. Magoutis, D. Plexousakis","doi":"10.1145/3565382.3565882","DOIUrl":"https://doi.org/10.1145/3565382.3565882","url":null,"abstract":"Function-as-a-Service (FaaS) is a modern cloud service model that has gained significant attention from the research and industry communities in recent years for its many benefits such as dynamic scaling, cost efficiency, faster programming, flexibility to microservices and containers technology. However, the building and deployment of serverless applications come with many challenges that need to be tackled, like workflow design complexity and migration of other applications. When transactions between different parties are involved, the workflow becomes knotty and the communication between participants and all properties of transactions have to be properly resolved. Transactions have widely been discussed in Business processes, so same practices might be adopted by serverless workflows. In this work we provide guidelines and mapping mechanisms for transforming transactional Business Process Modeling Notation 2.0 (BPMN2) applications to a serverless platform. We shed light on the current inability of function orchestrators to express workflow definitions, and deal with various architectural dilemmas that stem from the dissimilar nature of stateful BPMN vs. stateless serverless applications. We overcome the unbalanced capabilities between well-established BPMN notations and function orchestration definitions and illustrate how to exploit and combine cloud native services that comes with FaaS to create serverless applications.","PeriodicalId":132528,"journal":{"name":"Proceedings of the Eighth International Workshop on Serverless Computing","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126495702","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Truls Asheim, Tanvir Ahmed Khan, Baris Kasicki, Rakesh Kumar
Serverless computing has seen rapid growth in the past few years due to its seamless scalability and zero resource provisioning overhead for developers. In serverless, applications are composed of a set of very short-running functions which are invoked in response to events such as HTTP requests. For better resource utilization, cloud providers interleave the execution of thousands of serverless functions on a single server. Recent work argues that this interleaved execution and short run-times cause the serverless functions to perform poorly on modern processors. This is because interleaved execution thrashes the microarchitectural state of a function, thus forcing its subsequent execution to start from a cold state. Further, due to their short-running nature, serverless functions are unable to amortize the warm-up latency of microarchitectural structures, meaning that most the function execution happen from cold state. In this work, we analyze a function's performance sensitivity to microarchitectural state thrashing induced by interleaved execution. Unlike prior work, our analysis reveals that not all functions experience performance degradation because of microarchitectural state thrashing. The two dominating factors that dictate the impact of thrashing on function performance are function execution time and code footprint. For example, we observe that only the functions with short execution times (< 1 ms) show performance degradation due to thrashing and that this degradation is exacerbated for functions with large code footprints.
{"title":"Impact of microarchitectural state reuse on serverless functions","authors":"Truls Asheim, Tanvir Ahmed Khan, Baris Kasicki, Rakesh Kumar","doi":"10.1145/3565382.3565879","DOIUrl":"https://doi.org/10.1145/3565382.3565879","url":null,"abstract":"Serverless computing has seen rapid growth in the past few years due to its seamless scalability and zero resource provisioning overhead for developers. In serverless, applications are composed of a set of very short-running functions which are invoked in response to events such as HTTP requests. For better resource utilization, cloud providers interleave the execution of thousands of serverless functions on a single server. Recent work argues that this interleaved execution and short run-times cause the serverless functions to perform poorly on modern processors. This is because interleaved execution thrashes the microarchitectural state of a function, thus forcing its subsequent execution to start from a cold state. Further, due to their short-running nature, serverless functions are unable to amortize the warm-up latency of microarchitectural structures, meaning that most the function execution happen from cold state. In this work, we analyze a function's performance sensitivity to microarchitectural state thrashing induced by interleaved execution. Unlike prior work, our analysis reveals that not all functions experience performance degradation because of microarchitectural state thrashing. The two dominating factors that dictate the impact of thrashing on function performance are function execution time and code footprint. For example, we observe that only the functions with short execution times (< 1 ms) show performance degradation due to thrashing and that this degradation is exacerbated for functions with large code footprints.","PeriodicalId":132528,"journal":{"name":"Proceedings of the Eighth International Workshop on Serverless Computing","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124876135","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Serverless computing becomes prevalent and is widely adopted for various applications. Deep learning inference tasks are appropriate to be deployed using a serverless architecture due to the nature of fluctuating task arrival events. When serving a Deep Neural Net (DNN) model in a serverless computing environment, there exist many performance optimization opportunities, including various hardware support, model graph optimization, hardware-agnostic model compilation, memory size and batch size configurations, and many others. Although the serverless computing frees users from cloud resource management overhead, it is still very challenging to find an optimal serverless DNN inference environment among a very large optimization opportunities for the configurations. In this work, we propose All-You-Can-Inference (AYCI), which helps users to find an optimally operating DNN inference in a publicly available serverless computing environment. We have built the proposed system as a service using various fully-managed cloud services and open-sourced the system to help DNN application developers to build an optimal serving environment. The prototype implementation and initial experiment result present the difficulty of finding an optimal DNN inference environment with the varying performance.
{"title":"All-you-can-inference: serverless DNN model inference suite","authors":"Subin Park, J. Choi, Kyungyong Lee","doi":"10.1145/3565382.3565878","DOIUrl":"https://doi.org/10.1145/3565382.3565878","url":null,"abstract":"Serverless computing becomes prevalent and is widely adopted for various applications. Deep learning inference tasks are appropriate to be deployed using a serverless architecture due to the nature of fluctuating task arrival events. When serving a Deep Neural Net (DNN) model in a serverless computing environment, there exist many performance optimization opportunities, including various hardware support, model graph optimization, hardware-agnostic model compilation, memory size and batch size configurations, and many others. Although the serverless computing frees users from cloud resource management overhead, it is still very challenging to find an optimal serverless DNN inference environment among a very large optimization opportunities for the configurations. In this work, we propose All-You-Can-Inference (AYCI), which helps users to find an optimally operating DNN inference in a publicly available serverless computing environment. We have built the proposed system as a service using various fully-managed cloud services and open-sourced the system to help DNN application developers to build an optimal serving environment. The prototype implementation and initial experiment result present the difficulty of finding an optimal DNN inference environment with the varying performance.","PeriodicalId":132528,"journal":{"name":"Proceedings of the Eighth International Workshop on Serverless Computing","volume":"46 3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114307052","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Serverless computing is a new computing paradigm that enables application developers to focus on the core service logic of their applications. To protect the host kernel from attacks, serverless service providers need to ensure isolation between application sandboxes while keeping the startup latency and memory usage low. Existing architectures provide the warm start functionality to alleviate the startup latency. However, as warm starts are achieved at the cost of high memory usage, handling all requests as warm starts is virtually impossible. Therefore, mitigating the cold start overhead is key to improving startup latency. In the real world, serverless applications tend to be uncomplicated; they only issue simple system calls and do not modify the underlying filesystem. While existing architectures support full-fledged virtualization, serverless applications support many functionalities and data structures that are unnecessary for simple applications. This paper proposes Sentinel, a serverless architecture to target those simple applications. By stripping the unnecessary functionalities and providing the bare minimum OS virtualization needed to execute the targeted applications, Sentinel achieves drastic improvement compared to existing architectures; up to 10× shorter startup overhead, 8.13× shorter end-to-end execution latency, and 98% lower memory usage.
{"title":"Sentinel","authors":"Joe Hattori, S. Kato","doi":"10.1145/3565382.3565880","DOIUrl":"https://doi.org/10.1145/3565382.3565880","url":null,"abstract":"Serverless computing is a new computing paradigm that enables application developers to focus on the core service logic of their applications. To protect the host kernel from attacks, serverless service providers need to ensure isolation between application sandboxes while keeping the startup latency and memory usage low. Existing architectures provide the warm start functionality to alleviate the startup latency. However, as warm starts are achieved at the cost of high memory usage, handling all requests as warm starts is virtually impossible. Therefore, mitigating the cold start overhead is key to improving startup latency. In the real world, serverless applications tend to be uncomplicated; they only issue simple system calls and do not modify the underlying filesystem. While existing architectures support full-fledged virtualization, serverless applications support many functionalities and data structures that are unnecessary for simple applications. This paper proposes Sentinel, a serverless architecture to target those simple applications. By stripping the unnecessary functionalities and providing the bare minimum OS virtualization needed to execute the targeted applications, Sentinel achieves drastic improvement compared to existing architectures; up to 10× shorter startup overhead, 8.13× shorter end-to-end execution latency, and 98% lower memory usage.","PeriodicalId":132528,"journal":{"name":"Proceedings of the Eighth International Workshop on Serverless Computing","volume":"149 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122399511","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Mohak Chadha, Victor Pacyna, Anshul Jindal, Jiatao Gu, M. Gerndt
Microservice architecture is the common choice for developing cloud applications these days since each individual microservice can be independently modified, replaced, and scaled. As a result, application development and operating cloud infrastructure were bundled together into what is now commonly called DevOps. However, with the increasing popularity of the serverless computing paradigm and its several advantages such as no infrastructure management, a pay-per-use billing policy, and on-demand fine-grained autoscaling, there is a growing interest in utilizing FaaS and server-less CaaS technologies for refactoring microservices-based applications. Towards this, we migrate a complex IoT platform application onto OpenWhisk (OW) and Google Cloud Run (GCR). We comprehensively evaluate the performance of the different deployment strategies, i.e., Google Kubernetes Engine (GKE)-Standard, OW, and GCR for the IoT platform using different load testing scenarios. Results from our experiments show that while GKE standard performs best for most scenarios, GCR is always cheaper wrt costs.
微服务架构是目前开发云应用程序的常用选择,因为每个单独的微服务都可以独立修改、替换和扩展。因此,应用程序开发和操作云基础设施被捆绑在一起,形成了现在通常所说的DevOps。然而,随着无服务器计算范式的日益普及,以及它的一些优点(如无需基础设施管理、按使用付费计费策略和按需细粒度自动伸缩),人们对利用FaaS和无服务器CaaS技术重构基于微服务的应用程序的兴趣越来越大。为此,我们将复杂的物联网平台应用程序迁移到OpenWhisk (OW)和Google Cloud Run (GCR)上。我们全面评估了不同部署策略的性能,即Google Kubernetes引擎(GKE)-Standard, OW和GCR用于物联网平台,使用不同的负载测试场景。我们的实验结果表明,虽然GKE标准在大多数情况下表现最好,但GCR的成本总是更低。
{"title":"Migrating from microservices to serverless: an IoT platform case study","authors":"Mohak Chadha, Victor Pacyna, Anshul Jindal, Jiatao Gu, M. Gerndt","doi":"10.1145/3565382.3565881","DOIUrl":"https://doi.org/10.1145/3565382.3565881","url":null,"abstract":"Microservice architecture is the common choice for developing cloud applications these days since each individual microservice can be independently modified, replaced, and scaled. As a result, application development and operating cloud infrastructure were bundled together into what is now commonly called DevOps. However, with the increasing popularity of the serverless computing paradigm and its several advantages such as no infrastructure management, a pay-per-use billing policy, and on-demand fine-grained autoscaling, there is a growing interest in utilizing FaaS and server-less CaaS technologies for refactoring microservices-based applications. Towards this, we migrate a complex IoT platform application onto OpenWhisk (OW) and Google Cloud Run (GCR). We comprehensively evaluate the performance of the different deployment strategies, i.e., Google Kubernetes Engine (GKE)-Standard, OW, and GCR for the IoT platform using different load testing scenarios. Results from our experiments show that while GKE standard performs best for most scenarios, GCR is always cheaper wrt costs.","PeriodicalId":132528,"journal":{"name":"Proceedings of the Eighth International Workshop on Serverless Computing","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116994027","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Proceedings of the Eighth International Workshop on Serverless Computing","authors":"","doi":"10.1145/3565382","DOIUrl":"https://doi.org/10.1145/3565382","url":null,"abstract":"","PeriodicalId":132528,"journal":{"name":"Proceedings of the Eighth International Workshop on Serverless Computing","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120977252","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}