[论文解读] An Experimental Study on Microservices based Edge Computing Platforms
本文使用Docker容器在边缘计算平台上评估微服务部署策略,表明在单个容器中同时运行计算密集型和I/O密集型微服务可维持接近基线的性能,而内存密集型工作负载仅在与同类类型竞争时才会遭受性能损失。研究发现,通过cgroups进行容器资源控制可显著减少干扰,尤其在资源受限的边缘环境中效果明显。
The rapid technological advances in the Internet of Things (IoT) allows the blueprint of Smart Cities to become feasible by integrating heterogeneous cloud/fog/edge computing paradigms to collaboratively provide variant smart services in our cities and communities. Thanks to attractive features like fine granularity and loose coupling, the microservices architecture has been proposed to provide scalable and extensible services in large scale distributed IoT systems. Recent studies have evaluated and analyzed the performance interference between microservices based on scenarios on the cloud computing environment. However, they are not holistic for IoT applications given the restriction of the edge device like computation consumption and network capacity. This paper investigates multiple microservice deployment policies on the edge computing platform. The microservices are developed as docker containers, and comprehensive experimental results demonstrate the performance and interference of microservices running on benchmark scenarios.
研究动机与目标
- 研究在资源受限的边缘设备上部署多个微服务时的性能表现及干扰情况。
- 评估尽管违反“每个容器仅运行一个进程”的原则,但在边缘平台上将多个微服务部署在单个容器中是否具有可行性。
- 比较在雾计算与边缘计算环境中,微服务工作负载的性能干扰模式差异。
- 识别在边缘设备上平衡性能、资源利用率与系统可维护性的最优微服务部署策略。
提出的方法
- 将微服务开发为具有不同资源特征的Docker容器:计算密集型(L)、内存密集型(S)和磁盘I/O密集型(B)。
- 设计四种部署策略:单容器配置(启用/禁用cgroups)与独立容器配置(启用/禁用cgroups)。
- 在基于Raspberry Pi的边缘平台进行实验,使用基准工作负载:CPU(lmbench)、内存(COPY)和磁盘I/O(Bonnie++)。
- 通过CPU延迟、内存带宽(GB/s)和磁盘I/O吞吐量(MB/s)等指标测量性能表现。
- 应用cgroups以强制实施资源限制,并在受控测试场景中隔离容器间的干扰。
- 在相同工作负载下对比四种部署配置(情况1至情况4)的结果,以隔离容器化与资源控制的影响。
实验结果
研究问题
- RQ1尽管违反“每个容器仅运行一个进程”的规则,在边缘设备上将多个微服务部署在单个容器中是否可行?
- RQ2在部署多个微服务时,雾计算与边缘计算平台之间的性能干扰有何差异?
- RQ3在CPU、内存和I/O资源有限的边缘设备上,容器整合与资源争用之间的权衡是什么?
- RQ4哪些微服务类型组合(CPU、内存、I/O)在共置于单个容器时表现出最少的性能下降?
主要发现
- 在单个容器中同时运行计算密集型(L)和磁盘I/O密集型(B)微服务仅导致12%的性能下降,表明共处部署可接受。
- 在单个容器中同时运行内存密集型(S)和计算密集型(L)微服务导致41%的性能下降,是性能最差的配置。
- 在独立容器部署中启用cgroups(情况4)显著减少了干扰,并提升了所有微服务组合的性能表现,优于未启用cgroups的情况。
- 内存密集型微服务仅在与同类型服务共处同一容器时才表现出明显的性能影响。
- 磁盘I/O密集型微服务(B+B)即使在隔离状态下也因资源争用导致显著性能下降,表明在I/O负载下存在高度争用。
- 整体性能最佳的情况为情况4(独立容器且启用cgroups),此时微服务被完全隔离并实施资源控制,所有组合均实现了接近基线的性能表现。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。