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

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


                 59.89 ms, 阿里巴巴  Function Compute 执行时间为  196.65 ms. 这些结果表明亚马逊    Lambda 执行图计算任务需要
                 更长的时间, 且该平台产生的成本更高, 而微软             Azure Functions 和阿里巴巴  Function Compute 则需要较少的时间,
                 产生的成本分别是       0.000 32  美元和  0.000 61  美元. 图计算任务的特点是先构建固定节点个数大小的图, 但每次执
                 行时节点连接信息都是不同的, 然后对生成的图执行                 PageRank  算法以挑选出重要节点. 因此, 这种任务的计算复
                 杂度是不确定的, 亚马逊       Lambda 在处理此类任务时的能力可能相对不稳定. 而且, 根据图                 12  中图计算任务的性
                 能数据分布来看, 亚马逊       Lambda 在执行这类任务时所产生的性能结果也表现出不稳定, 其上下四分位数的范围
                 为  238.88 ms 到  2 174.70 ms, 存在着  10  倍的性能差距. 相反, 谷歌  Cloud Functions、微软  Azure Functions 和阿里
                 巴巴  Function Compute 所获得的图计算任务结果相对较为稳定. 因此, 对于图计算任务而言, 微软                  Azure Functions
                 和阿里巴巴    Function Compute 可以提供最快的执行性能, 这些平台产生相对低的成本; 考虑到所获性能的稳定性,
                 图计算任务不适合执行在亚马逊            Lambda 上执行, 而可以在谷歌      Cloud Functions、微软  Azure Functions 和阿里巴
                 巴  Function Compute 上执行.
                    对于机器学习训练任务, 根据表          8  中该任务的中位数结果, 微软        Azure Functions 执行该任务所需的执行性能
                 是最优的, 约需    11 s, 而且产生的成本也是最低的        (0.075 11  美元), 而其他  3  个平台的执行时间超过    35 s, 产生的成
                 本超过   0.3  美元. 若不考虑基于内存消耗策略的微软          Azure Functions, 其他平台中阿里巴巴    Function Compute 的执
                 行时间相对较短, 仅需       35 950.95 ms 完成机器学习训练任务, 而亚马逊        Lambda 和谷歌  Cloud Functions 分别执行
                 37 949.61 ms 和  40 856.46 ms. 根据图  13  中机器学习训练任务的性能数据分布, 亚马逊           Lambda  和阿里巴巴
                 Function Compute 获得的性能结果更为稳定, 其上下四分位数的范围分别为              37 526.99–38 505.36 ms, 以及  35 324.74–
                 36 720.12 ms. 总体而言, 这些性能数据在范围内相差           1 000 ms 左右. 因此, 对于机器学习训练任务而言, 微软
                 Azure Functions 和阿里巴巴  Function Compute 可以提供相对快的执行性能, 且这两个平台产生的成本相对低; 考
                 虑到性能数据分布的稳定性, 可选择在亚马逊              Lambda 和阿里巴巴    Function Compute 上执行该任务.
                    对于机器学习推理任务, 根据表          8 中该任务的中位数性能结果, 微软          Azure Functions 执行该任务的时间约    5 s,
                 而其他   3  个平台的执行时间超过       11 s. 从成本来看, 在微软    Azure Functions 产生的成本约为   0.03  美元, 而在其他
                 平台产生的成本约为        0.1  美元. 若不考虑基于内存消耗策略的微软            Azure Functions, 其他  3  个平台中阿里巴巴
                 Function Compute 的执行时间相对较短, 约为     11 s 左右. 根据图  13  中机器学习推理任务的性能数据分布, 亚马逊
                 Lambda 和阿里巴巴    Function Compute 获得的性能结果更为稳定. 因此, 对于机器学习推理任务而言, 微软                 Azure
                 Functions 和阿里巴巴  Function Compute 可以提供相对快的执行性能, 这些平台产生相对低的成本; 考虑到性能数
                 据分布的稳定性, 可以选择在亚马逊           Lambda 和阿里巴巴    Function Compute 上执行.
                    根据前面关于微基准测试程序的成本分析可知, 各个平台的计费价格相差不大. 在保持分配内存一致的情况
                 下, 执行时间短的应用产生的成本较低. 这一现象在宏基准测试程序的执行性能和成本结果中也得到了验证.
                    发现: 宏基准测试程序是需要消耗平台上多种资源的复杂任务. 结果显示这些复杂任务在不同平台上的执行
                 性能表现和微基准测试程序有着相似或不同之处. 考虑复杂任务的执行性能速度的大小, 仍然是基于内存消耗的
                 微软  Azure Functions 提供最快的执行性能, 且这个平台产生的成本最低. 但对于其他               3  个基于内存分配的平台, 阿
                 里巴巴   Function Compute 可以为复杂任务提供更快的执行效率, 并产生更低的成本. 这一点和微基准测试程序的
                 结果保持一致. 对于      4  个服务器无感知平台的性能稳定性, 不同的任务在不同的平台上执行其稳定性存在差异. 图
                 片处理任务在亚马逊        Lambda 和微软  Azure Functions 上执行稳定; 机器学习训练和推理任务在亚马逊            Lambda 和
                 阿里巴巴   Function Compute 上执行稳定; 语音识别任务在亚马逊         Lambda 执行稳定. 从这些任务来看, 和微基准测
                 试程序表现类似, 亚马逊       Lambda 为大部分任务提供强的执行稳定性, 但执行速度不一定是最优的. 不同的是, 对
                 于图计算任务, 即任务执行的计算复杂度不确定的任务, 亚马逊                   Lambda 是最不稳定的, 表明了该平台对这类任务
                 的处理能力需进一步提高. 但是, 其他          3  个平台可以为该类任务提供稳定性能结果.

                 5   启示和机会

                    本节将讨论基于本文研究结果为开发者和云计算厂商带来的启示, 以及为研究者带来的潜在研究机会.
   92   93   94   95   96   97   98   99   100   101   102