Practical Cloud Workloads for Serverless FaaS

Jeongchul Kim, Kyungyong Lee
{"title":"Practical Cloud Workloads for Serverless FaaS","authors":"Jeongchul Kim, Kyungyong Lee","doi":"10.1145/3357223.3365439","DOIUrl":null,"url":null,"abstract":"Serverless computing is gaining popularity with the Function-asa-Service (FaaS) execution model. Without incurring overheads involved in provisioning cloud instances and with high availability and scalability, serverless computing allows developers to focus on implementation of core application logic using other well-developed cloud services. By abstracting the complex resource management task, serverless computing opens new opportunities for the cloud service adoption even to non-cloud experts [2]. With the popularity, many research results have been published using the FaaS execution model. They include investigation of serverless computing opportunities [1], proposing new serverless applications, function run-time optimization, and public service comparison. Without a common test benchmark suite, authors in the previous work had evaluated proposed systems using fairly simple FaaS applications, such as micro-benchmarks that emphasize specific resources exclusively, e.g., CPU, disk I/O, and network. However, such simple workloads do not represent realistic FaaS system applications, and the evaluations might not compare proposed systems appropriately. To overcome the limitation of lacking a comprehensive benchmark suite for the serverless computing and FaaS execution model, the authors create FunctionBench that provides various FaaS workloads that are ready to be executed on public cloud function execution services - AWS Lambda, Google Cloud Functions, and Azure functions1. Since the inception of serving the FaaS workloads, we keep working to expand the supported applications and add scenarios in big-data processing, back-end web applications, and security. To represent big-data applications, we add a MapReduce WordCount workload, which counts the number of occurrences of each word in a given partitioned input dataset from Wikipedia. To cover web back-end applications, we add Chameleon. The application renders a template using the Chameleon module in Python PIP library to create an HTML table of N rows and M columns that are provided as input arguments. Another web-related application is JSON serialize-deserialize module. The application performs JSON deserialization using a JSON-encoded string dataset (Awesome JSON Dataset) downloaded from a public object storage service, and it serializes the JSON object again. To represent security-related applications, we add Pyaes benchmark that performs private key-based encryption and decryption. It is a pure-Python implementation of the AES block-cipher algorithm in CTR mode. We also add gzip-compression benchmark to represent realistic disk IO-heavy applications. The degree (High, Medium, Low) of resource usage characteristics of newly proposed applications are summarized in Table 1. Please refer to [3] to read the description of comprehensive applications list. The proposed FunctionBench provides a variety of FaaS applications in multiple categories, and we are sure that it will enable fair evaluation of new research work in the relevant field with practical application scenarios.","PeriodicalId":91949,"journal":{"name":"Proceedings of the ... ACM Symposium on Cloud Computing [electronic resource] : SOCC ... ... SoCC (Conference)","volume":"255 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2019-11-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"27","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the ... ACM Symposium on Cloud Computing [electronic resource] : SOCC ... ... SoCC (Conference)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3357223.3365439","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 27

Abstract

Serverless computing is gaining popularity with the Function-asa-Service (FaaS) execution model. Without incurring overheads involved in provisioning cloud instances and with high availability and scalability, serverless computing allows developers to focus on implementation of core application logic using other well-developed cloud services. By abstracting the complex resource management task, serverless computing opens new opportunities for the cloud service adoption even to non-cloud experts [2]. With the popularity, many research results have been published using the FaaS execution model. They include investigation of serverless computing opportunities [1], proposing new serverless applications, function run-time optimization, and public service comparison. Without a common test benchmark suite, authors in the previous work had evaluated proposed systems using fairly simple FaaS applications, such as micro-benchmarks that emphasize specific resources exclusively, e.g., CPU, disk I/O, and network. However, such simple workloads do not represent realistic FaaS system applications, and the evaluations might not compare proposed systems appropriately. To overcome the limitation of lacking a comprehensive benchmark suite for the serverless computing and FaaS execution model, the authors create FunctionBench that provides various FaaS workloads that are ready to be executed on public cloud function execution services - AWS Lambda, Google Cloud Functions, and Azure functions1. Since the inception of serving the FaaS workloads, we keep working to expand the supported applications and add scenarios in big-data processing, back-end web applications, and security. To represent big-data applications, we add a MapReduce WordCount workload, which counts the number of occurrences of each word in a given partitioned input dataset from Wikipedia. To cover web back-end applications, we add Chameleon. The application renders a template using the Chameleon module in Python PIP library to create an HTML table of N rows and M columns that are provided as input arguments. Another web-related application is JSON serialize-deserialize module. The application performs JSON deserialization using a JSON-encoded string dataset (Awesome JSON Dataset) downloaded from a public object storage service, and it serializes the JSON object again. To represent security-related applications, we add Pyaes benchmark that performs private key-based encryption and decryption. It is a pure-Python implementation of the AES block-cipher algorithm in CTR mode. We also add gzip-compression benchmark to represent realistic disk IO-heavy applications. The degree (High, Medium, Low) of resource usage characteristics of newly proposed applications are summarized in Table 1. Please refer to [3] to read the description of comprehensive applications list. The proposed FunctionBench provides a variety of FaaS applications in multiple categories, and we are sure that it will enable fair evaluation of new research work in the relevant field with practical application scenarios.
无服务器FaaS的实用云工作负载
随着功能即服务(FaaS)执行模型的出现,无服务器计算越来越受欢迎。无服务器计算不会产生用于配置云实例的开销,并且具有高可用性和可伸缩性,因此开发人员可以使用其他开发良好的云服务专注于实现核心应用程序逻辑。通过抽象复杂的资源管理任务,无服务器计算为云服务的采用(甚至是非云专家)开辟了新的机会。随着FaaS执行模型的普及,许多使用FaaS执行模型的研究成果已经发表。它们包括对无服务器计算机会的调查[1]、提出新的无服务器应用程序、功能运行时优化和公共服务比较。在没有通用测试基准套件的情况下,作者在之前的工作中使用相当简单的FaaS应用程序来评估被提议的系统,例如专门强调特定资源的微基准测试,例如CPU、磁盘I/O和网络。然而,这种简单的工作负载并不代表实际的FaaS系统应用程序,并且评估可能无法适当地比较所建议的系统。为了克服缺乏针对无服务器计算和FaaS执行模型的全面基准套件的限制,作者创建了FunctionBench,它提供了各种FaaS工作负载,这些工作负载可以在公共云功能执行服务(AWS Lambda、谷歌cloud Functions和Azure Functions)上执行。自开始服务FaaS工作负载以来,我们一直在努力扩展支持的应用程序,并在大数据处理、后端web应用程序和安全方面添加场景。为了表示大数据应用程序,我们添加了一个MapReduce WordCount工作负载,它计算来自Wikipedia的给定分区输入数据集中每个单词的出现次数。为了覆盖web后端应用程序,我们添加了Chameleon。该应用程序使用Python PIP库中的Chameleon模块呈现一个模板,以创建一个包含N行和M列的HTML表,这些表作为输入参数提供。另一个与web相关的应用是JSON序列化-反序列化模块。应用程序使用从公共对象存储服务下载的JSON编码字符串数据集(Awesome JSON dataset)执行JSON反序列化,并再次序列化JSON对象。为了表示与安全相关的应用程序,我们添加了执行基于私钥的加密和解密的Pyaes基准。它是CTR模式下AES块密码算法的纯python实现。我们还添加了gzip压缩基准来表示实际的磁盘io较多的应用程序。表1总结了新提出的应用程序的资源使用特征的程度(高、中、低)。请参阅[3]阅读综合应用程序列表的描述。提议的FunctionBench提供了多个类别的各种FaaS应用,我们确信它将在实际应用场景中对相关领域的新研究工作进行公平评估。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信