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

1980                                                       软件学报  2025  年第  36  卷第  5  期


                 World  任务的实现涵盖了不同编程语言版本, 旨在在运行时性能分析中探究不同服务器无感知平台下执行不同编
                 程语言应用下的冷启动性能. 消耗特定资源的任务旨在在运行时性能分析中研究不同类型资源消耗的应用在不同
                 平台上的执行性能. 在这些任务中, CPU          密集型性任务实现了线性方程求解, 它需要消耗更多的计算量. 内存密集
                 型任务实现了斐波那契数列的递归计算, 它需要消耗大量内存. 磁盘                    IO  密集型任务实现了对磁盘内容的写和压缩
                 操作, 它需要频繁地进行磁盘读写. 网络密集型任务实现了对特定网页内容的读取并返回数据, 它需要借助网络传
                 输数据.

                                                    表 1 微基准测试程序

                        任务类型             任务缩写表示                             任务描述
                      Hello World任务       Hello_task           打印Hello World消息, 实现为不同编程语言版本
                     CPU密集型任务   [34]       CPU_task                 线性方程求解, 输入为矩阵大小
                     内存密集型任务    [35]     Memory_task     采用递归函数计算斐波那契数列, 输入为要计算的数列元素下标
                    磁盘IO密集型任务    [36]     DiskIO_task           将磁盘的内容进行读和写, 输入为文件大小
                     网络密集型任务    [37]     Network_task      从网页中读取数据并进行反序列化, 输入为一个网页链接

                    宏基准测试程序集包含了一系列消耗多种系统资源的真实任务, 这些任务的具体信息展示在表                                 2  中. 这些任
                 务包括图片处理任务、语音识别任务、图计算任务、机器学习训练任务和机器学习推理任务. 图片处理任务实现
                 了图片转化的功能任务. 它首先从云存储中获取待处理的图片, 然后应用不同的转换效果, 如旋转和调色. 最后, 更
                 新后的图片会再次上传到云存储. 语音识别任务实现了对语音文件进行分批处理, 将其转化为文本. 图计算任务实
                 现了图网络的构建. 在该网络中, 节点之间的连接是基于目标节点的连接数概率分布来建立的. 然后, 对生成的图
                 中的节点进行重要程度排序. 机器学习训练任务利用食物评论的文本数据集来训练一个逻辑回归模型. 机器学习
                 推理任务利用已训练好的逻辑回归模型来对输入的用户评论文本进行情感分数的预测.

                                                    表 2 宏基准测试程序

                       任务类型           任务缩写表示                              任务描述
                     图片处理任务   [38]     Image_task    实现对图片的翻转、旋转、过滤、调色和缩略图转化, 输入为图片位置
                     语音识别任务   [39]     Speech_task           实现对语音文件内容的批处理, 将其转化为文本
                     图计算任务   [40]      Graph_task          创建一个图网络, 并选择出重要的节点, 输入为图大小
                   机器学习训练任务     [41]   Train_task   使用食物评论文本数据集进行逻辑回归模型训练, 可预测评论的情感分数
                   机器学习推理任务     [42]  Inference_task         对任意评论进行情感预测, 得到一个情感分数


                 2.2   实验设置
                    本节描述关于运行时性能分析的实验设置. 为了全面可靠地评估平台的运行时性能特性, 我们考虑应用在不
                 同云环境下可能存在显著的性能差异. 现有工作仅使用少数测量次数进行分析和比较                            (如  10  次  [17] 或  20  次  [20] 重复
                 执行), 这种方法可能不足以得出可靠的结论. 为了获得更可靠的结果, 我们参考了现有的服务器无感知计算研究
                 中使用的重复次数       [1,2,5–7,43] , 这些重复次数都不超过  1 000  次. 因此, 本文对每组实验测量都进行了最高的重复次
                 数, 即  1 000  次, 以获得性能数据分布情况. 为了进行公平比较, 我们将基准测试程序部署到各个服务器无感知平
                 台的相同服务地区. 这确保了在更高粒度的节点服务区域上保持一致, 以最大程度地减少网络开销的影响, 这样也
                 可以更相对公平地比较各个平台的性能. 本文以美国东部区域为例, 具体为亚马逊                            Lambda  的  us-east-1、谷歌
                 Cloud Functions 的  us-east1、微软  Azure Functions 的  eastus 和阿里巴巴  Function Compute 的  us-east-1. 另外, 在性
                 能数据分析方面, 我们使用所获得的           1 000  组性能数据的分布、中位数和分位数来比较不同服务器无感知平台执
                 行任务的能力. 为了清晰地展示性能数据的分布情况, 我们使用箱线图的形式进行展示. 实验的设计、分析和总结、
                 应用部署以及性能数据获取是在           2023  年  4  月  26  日–2023  年  7  月  15  日之间进行.
                    在本文的运行时性能分析中, 我们对冷启动性能和执行性能进行了评估, 它们分别是在冷启动和热启动下调
   75   76   77   78   79   80   81   82   83   84   85