Page 75 - 《软件学报》2025年第5期
P. 75

温金凤 等: 服务器无感知平台性能度量研究                                                           1975


                 serverless  platform  while  developing  and  executing  serverless  applications  in  the  right  way.  To  this  end,  an  empirical  study  is  conducted
                 on  the  characteristics  of  mainstream  commercial  serverless  platforms.  This  study  involves  such  mainstream  serverless  platforms  as  AWS
                 Lambda,  Google  Cloud  Functions,  Microsoft  Azure  Functions,  and  Alibaba  Function  Compute.  This  study  is  divided  into  two  major  parts:
                 feature  summarization  and  runtime  performance  analysis.  In  the  feature  summarization,  the  official  documents  of  these  serverless  platforms
                 are  discussed  and  their  key  features  are  summarized  and  compared  in  terms  of  development,  deployment,  and  runtime.  In  the  runtime
                 performance  analysis,  representative  benchmarks  are  applied  to  analyze  the  runtime  performance  offered  by  these  serverless  platforms  on  a
                 multidimensional  basis.  Specifically,  key  factors  for  the  cold-start  performance  of  the  applications  are  first  analyzed,  such  as  programming
                 languages  and  memory  sizes.  Furthermore,  the  tasks-executing  performance  of  serverless  platforms  is  discussed.  Based  on  the  results  of
                 feature  summarization  and  runtime  performance  analysis,  this  study  sums  up  a  series  of  findings  and  provides  practical  insights  and
                 potential research opportunities for developers, cloud computing vendors, and researchers.
                 Key words:  measurement study; serverless computing; software engineering; cloud computing; platform comparison

                    服务器无感知计算是云计算的一种新兴范型, 在视频处理                   [1,2] 、机器学习  [3,4] 、科学计算  [5] 和大数据分析  [6,7] 等
                 领域得到广泛应用. 它使开发者摆脱了底层云平台复杂且容易出错的管理任务, 如负载均衡、监控和伸缩性, 从而
                 专注于应用逻辑的开发. 该范型的核心概念是函数即服务                   (function-as-a-service, FaaS), 表示应用可以由多个独立
                 的函数组成, 这些函数称为服务器无感知函数, 用于实现特定的小任务. 由一个或多个服务器无感知函数组成的应
                 用称为函数即服务应用        (FaaS  应用). 服务器无感知计算采用按需付费的友好模式, 开发者根据实际资源消耗或分
                 配进行付费, 计费粒度精确到毫秒级. 服务器无感知计算不仅使开发者受益, 也为云计算厂商提供了更好的资源利
                                                                                          [8]
                 用和分配方式. 主流的云计算厂商已经推出了相应的服务器无感知平台, 如亚马逊的                            Lambda 、谷歌的     Cloud
                        [9]
                 Functions 、微软的   Azure Functions  [10] 以及阿里巴巴的  Function Compute [11] . 据预测, 到  2025  年, 预计全球有
                 50%  的企业将采用服务器无感知计算          [12] . 此外, 市场规模也将从   2017  年的  30  亿美元增长到  2025  年的近  220  亿
                 美元  [13] .
                    开发者广泛使用服务器无感知平台开发和执行他们的任务                     [14,15] . 然而, 不同的服务器无感知平台有着不同的
                 开发特点和运行时表现. 在这样的情况下, 不同的服务器无感知平台和不同的配置使得获得的性能表现不一致. 开
                 发者需要一个全面的指导来告诉他们选择哪个服务器无感知平台可以满足他们的应用需求, 以及如何配置参数才
                 能保证应用执行的可用性. 一些度量研究工作               [16,17] 对开源的服务器无感知平台     (如  OpenWhisk [18] 、Knative [19] ) 进
                 行了性能度量分析. 然而, 由于开源平台在实际应用中需要额外的平台部署工作和工程努力, 这可能成为开发者的
                 挑战. 考虑到服务器无感知计算的独特优势, 即减轻开发者底层管理任务的负担, 使开发者能够更专注于应用层面
                 的开发, 因此, 许多开发者更倾向于使用商业的公有云服务器无感知平台, 因为它们提供了更简单易用的部署流程
                 和应用管理功能, 这对提供生产力和减少开发周期具有显著的优势. 此外, 服务器无感知计算概念的广泛流行也直
                 接源自公有云的亚马逊        Lambda 服务的提出. 其他云提供商紧跟其后, 相继推出了类似的服务, 将服务器无感知计
                 算引入主流. 这一趋势对云计算领域产生了深远的影响. 然而, 先前开源平台性能度量的分析结果                             [16,17] 并不能泛化
                 到广泛使用的商业服务器无感知平台, 且相应的指导不适用于相关的开发者. 因此, 需要对基于公有云的服务器无
                 感知平台开展性能度量分析, 以指导广泛使用服务器无感知计算范型的开发者做出明确的决策. 我们提出关于商
                 业服务器无感知平台的性能度量工作             [20] , 但是该工作没有比较不同平台在执行不同类型任务的执行性能. 任务的
                 执行效率是开发者重点关注的应用指标. 另外, 该工作中对冷启动延迟的估算是基于两次调用的时间差, 但第二次
                 调用产生的实例调度延迟往往是无法忽略的, 不能假定认为没有延迟. 因此, 获得的冷启动延迟可能会偏低, 导致
                 结果不准确. 此外, 该工作在性能度量实验中对每组实验开展的重复次数较低, 可能导致结论不可靠. 因此, 现有的
                 性能度量相关工作对主流的公有云服务器无感知平台性能的全面比较和可靠分析方面存在不足, 这使得现有研究
                 难以准确地提供关于应用的平台选择和配置实践的指导和启示.
                    为了填补这一知识空白, 在本文中, 我们将开展这样一项面向主流的公有云服务器无感知平台的度量研究. 本
                 文主要关注的服务器无感知平台, 包括亚马逊               Lambda、谷歌   Cloud Functions、微软  Azure Functions 和阿里巴巴
                 的  Function Compute. 这些平台是当前市场上广泛使用的平台, 由云计算领域的领先云厂商提供, 并且在功能、性
                 能和生态系统等方面都有一定的优势. 通过对这些公有云平台进行深入的研究和多维度的分析, 旨在为软件开发
   70   71   72   73   74   75   76   77   78   79   80