Barry Sly-Delgado, Nick Locascio, David Simonetti, B. Wiseman, Benjamín Tovar, D. Thain
An increasing number of distributed applications operate by dispatching function invocations across the nodes of a distributed system. To operate correctly, the code and data dependencies of the function must be distributed along with the invocations in some way. When translating applications to work on large scale distributed systems, managing these dependencies becomes challenging: delivery must be scalable to thousands of nodes; the dependencies must be consistent across the system; and the method must be usable by an unprivileged developer. As a solution, in this paper we present PONCHO, which is a lightweight Python based toolkit which allows users to discover, package, and deploy dependencies as an integral part of distributed applications. PONCHO encapsulates a set of commands to be executed within an environment. PONCHO offers a lightweight solution to create and manage environments increasing the portability of scientific applications as well as reproducibility. In this paper, we evaluate PONCHO with real-world applications in the fields of physics, computational chemistry, and hyperparameter optimization, We observe the challenges that arise when creating and distributing an environment and measure the overheads that emerge as a result.
{"title":"PONCHO: Dynamic Package Synthesis for Distributed and Serverless Python Applications","authors":"Barry Sly-Delgado, Nick Locascio, David Simonetti, B. Wiseman, Benjamín Tovar, D. Thain","doi":"10.1145/3526060.3535459","DOIUrl":"https://doi.org/10.1145/3526060.3535459","url":null,"abstract":"An increasing number of distributed applications operate by dispatching function invocations across the nodes of a distributed system. To operate correctly, the code and data dependencies of the function must be distributed along with the invocations in some way. When translating applications to work on large scale distributed systems, managing these dependencies becomes challenging: delivery must be scalable to thousands of nodes; the dependencies must be consistent across the system; and the method must be usable by an unprivileged developer. As a solution, in this paper we present PONCHO, which is a lightweight Python based toolkit which allows users to discover, package, and deploy dependencies as an integral part of distributed applications. PONCHO encapsulates a set of commands to be executed within an environment. PONCHO offers a lightweight solution to create and manage environments increasing the portability of scientific applications as well as reproducibility. In this paper, we evaluate PONCHO with real-world applications in the fields of physics, computational chemistry, and hyperparameter optimization, We observe the challenges that arise when creating and distributing an environment and measure the overheads that emerge as a result.","PeriodicalId":223581,"journal":{"name":"Proceedings of the 2nd Workshop on High Performance Serverless Computing","volume":"148 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123433240","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":"Session details: Keynote Talk","authors":"I. Foster","doi":"10.1145/3545163","DOIUrl":"https://doi.org/10.1145/3545163","url":null,"abstract":"","PeriodicalId":223581,"journal":{"name":"Proceedings of the 2nd Workshop on High Performance Serverless Computing","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129685538","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}
Information extraction from an image or scanned document is a complex and challenging process since it involves recognizing various visual structures such as tables, boxes, logos, text, charts, etc. Hence, the content extraction applications contain a pipeline of multiple computer vision algorithms, APIs, and models. Deploying such applications for document processing requires a resilient system to deliver high performance. Such applications can be deployed on cloud to leverage the flexible infrastructure and multiple supporting services available there. In this paper, we discuss a scalable and high performance architecture using a serverless platform for deploying information extraction workflows consisting of multiple APIs and computer vision models. Our experiments show that the use of a serverless platform results in a scalable, cost-effective, and low latency deployment of such workflows. Moreover, we discuss the performance and cost trade-offs while choosing cloud services and their configuration. We also show that the use of workload characterization-based performance and cost models to find the optimal serverless instance configuration results in a significant deployment cost reduction.
{"title":"Scalable and Cost-effective Serverless Architecture for Information Extraction Workflows","authors":"Dheeraj Chahal, S. Palepu, Rekha Singhal","doi":"10.1145/3526060.3535458","DOIUrl":"https://doi.org/10.1145/3526060.3535458","url":null,"abstract":"Information extraction from an image or scanned document is a complex and challenging process since it involves recognizing various visual structures such as tables, boxes, logos, text, charts, etc. Hence, the content extraction applications contain a pipeline of multiple computer vision algorithms, APIs, and models. Deploying such applications for document processing requires a resilient system to deliver high performance. Such applications can be deployed on cloud to leverage the flexible infrastructure and multiple supporting services available there. In this paper, we discuss a scalable and high performance architecture using a serverless platform for deploying information extraction workflows consisting of multiple APIs and computer vision models. Our experiments show that the use of a serverless platform results in a scalable, cost-effective, and low latency deployment of such workflows. Moreover, we discuss the performance and cost trade-offs while choosing cloud services and their configuration. We also show that the use of workload characterization-based performance and cost models to find the optimal serverless instance configuration results in a significant deployment cost reduction.","PeriodicalId":223581,"journal":{"name":"Proceedings of the 2nd Workshop on High Performance Serverless Computing","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127645604","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":"Session details: Workshop Presentations","authors":"K. Chard","doi":"10.1145/3545164","DOIUrl":"https://doi.org/10.1145/3545164","url":null,"abstract":"","PeriodicalId":223581,"journal":{"name":"Proceedings of the 2nd Workshop on High Performance Serverless Computing","volume":"137 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127340753","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}
Sabra Ossen, Lucas R. B. Brasilino, Luke Dalessandro, D. M. Swany
Sensor-rich environments are crucial components of the Internet of Things ecosystem and benefit from real-time applications. Many applications perform real-time analytics on these IoT workloads by performing continuous stream processing for a window of sequence data elements. However, executing light-weight stateful functions on server CPUs adds to the communication latency of each small message in a high data rate environment, primarily due to messages traveling through a complex network stack to reach the CPU. Thus, we present an in-network function deployment architecture with low latency and low resource footprint by introducing a new compute layer. We propose an FPGA-based Switch/NIC prototype with a compute layer utilizing RISC-V soft cores and High-Level Synthesis modules. We evaluate the design for two microbenchmarks on a Zynq 7000 FPGA each, achieving less than 10 μs in latency and consuming less than 6 % of resources.
{"title":"Enabling Stateful Functions for Stream Processing in the Programmable Data Plane","authors":"Sabra Ossen, Lucas R. B. Brasilino, Luke Dalessandro, D. M. Swany","doi":"10.1145/3526060.3535461","DOIUrl":"https://doi.org/10.1145/3526060.3535461","url":null,"abstract":"Sensor-rich environments are crucial components of the Internet of Things ecosystem and benefit from real-time applications. Many applications perform real-time analytics on these IoT workloads by performing continuous stream processing for a window of sequence data elements. However, executing light-weight stateful functions on server CPUs adds to the communication latency of each small message in a high data rate environment, primarily due to messages traveling through a complex network stack to reach the CPU. Thus, we present an in-network function deployment architecture with low latency and low resource footprint by introducing a new compute layer. We propose an FPGA-based Switch/NIC prototype with a compute layer utilizing RISC-V soft cores and High-Level Synthesis modules. We evaluate the design for two microbenchmarks on a Zynq 7000 FPGA each, achieving less than 10 μs in latency and consuming less than 6 % of resources.","PeriodicalId":223581,"journal":{"name":"Proceedings of the 2nd Workshop on High Performance Serverless Computing","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121265605","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}
S. Palepu, Dheeraj Chahal, M. Ramesh, Rekha Singhal
The use of highly scalable serverless platforms for web microservices and IoT applications is well known. However, their use for data-intensive applications is restricted due to the stateless nature of serverless functions. Any data retrieval, storage, and the peer-to-peer communication requirement of an application in serverless deployment is satisfied using cloud storage services such as object storage, database, cache, etc. The heterogeneous cloud storage services offered by different cloud service providers have unique deliverable performance. One key challenge is to find the maximum achievable data transfer rate from serverless platforms to cloud storage services. In this work, we evaluate the performance of storage systems available for use with serverless platforms from multiple cloud vendors. Additionally, we examine the effect of cloud service characteristics and configurations on accelerating the data transfer between them. The experimental data provides some key insights to assist with designing application architecture using serverless platforms and cloud storage services.
{"title":"Benchmarking the Data Layer Across Serverless Platforms","authors":"S. Palepu, Dheeraj Chahal, M. Ramesh, Rekha Singhal","doi":"10.1145/3526060.3535460","DOIUrl":"https://doi.org/10.1145/3526060.3535460","url":null,"abstract":"The use of highly scalable serverless platforms for web microservices and IoT applications is well known. However, their use for data-intensive applications is restricted due to the stateless nature of serverless functions. Any data retrieval, storage, and the peer-to-peer communication requirement of an application in serverless deployment is satisfied using cloud storage services such as object storage, database, cache, etc. The heterogeneous cloud storage services offered by different cloud service providers have unique deliverable performance. One key challenge is to find the maximum achievable data transfer rate from serverless platforms to cloud storage services. In this work, we evaluate the performance of storage systems available for use with serverless platforms from multiple cloud vendors. Additionally, we examine the effect of cloud service characteristics and configurations on accelerating the data transfer between them. The experimental data provides some key insights to assist with designing application architecture using serverless platforms and cloud storage services.","PeriodicalId":223581,"journal":{"name":"Proceedings of the 2nd Workshop on High Performance Serverless Computing","volume":"284 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116096130","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}
The next wave of cloud computing - the serverless computing model - is enjoying adoption at scale by different cloud computing vendors. The serverless computing model is already rapidly accelerating the development and deployment of enterprise applications. Unfortunately, the HPC community appears to be left behind in the revolution. The widespread assumption or opinion is that the serverless computing model is not beneficial for the HPC community because the serverless computing model was not primarily designed for scientific computing and users. In this talk, I promise to do three things. First, I'll show why existing popular opinion about HPC and serverless is pre-mature and inaccurate. Second, I'll demonstrate how HPC users and programmers can leverage the serverless computing model for mitigating some of the long-standing challenges and causes of frustration in HPC resource management. In the spirit of transparency, I admit that the path to effectively leveraging serverless for traditional HPC is challenging and has long stretches of darkness. I will identify and discuss some lamp posts on this not-so-well-lit path. Finally, I'll share my perspective on what new lampposts we should build as a community and where we should put them.
{"title":"Bringing Serverless Computing to the HPC Community","authors":"Devesh Tiwari","doi":"10.1145/3526060.3536352","DOIUrl":"https://doi.org/10.1145/3526060.3536352","url":null,"abstract":"The next wave of cloud computing - the serverless computing model - is enjoying adoption at scale by different cloud computing vendors. The serverless computing model is already rapidly accelerating the development and deployment of enterprise applications. Unfortunately, the HPC community appears to be left behind in the revolution. The widespread assumption or opinion is that the serverless computing model is not beneficial for the HPC community because the serverless computing model was not primarily designed for scientific computing and users. In this talk, I promise to do three things. First, I'll show why existing popular opinion about HPC and serverless is pre-mature and inaccurate. Second, I'll demonstrate how HPC users and programmers can leverage the serverless computing model for mitigating some of the long-standing challenges and causes of frustration in HPC resource management. In the spirit of transparency, I admit that the path to effectively leveraging serverless for traditional HPC is challenging and has long stretches of darkness. I will identify and discuss some lamp posts on this not-so-well-lit path. Finally, I'll share my perspective on what new lampposts we should build as a community and where we should put them.","PeriodicalId":223581,"journal":{"name":"Proceedings of the 2nd Workshop on High Performance Serverless Computing","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124711823","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}