云计算性能分析与赛博助手虚拟设备解决方案
1. 云资源性能分析
在云计算环境中,不同实例类型对于指令组合和应用类型存在偏好,某些实例类型在特定应用场景下表现更优。然而,真实的科学应用在虚拟化资源上运行时可能会出现不稳定的情况。这就使得用户面临着复杂的任务,即选择合适的虚拟化基础设施,并对应用进行调优。
为了探究为云环境调优应用是否值得,我们使用 CacheBench 中手动调优的基准测试,来测试简单、可移植的代码优化(如循环展开等)的效果。基于特定的实验设置,对 ci.xlarge 实例类型进行测试,每个实例运行 1 到 8 个基准测试进程。测试结果表明:
- 当工作集小于 L1 缓存大小时,对未优化的 CacheBench 基准测试进行编译器优化,其性能不到对手动调优基准测试进行编译器优化所达到峰值性能的 60%。这意味着在 EC2 上运行应用时,如果不花费时间进行应用优化,会导致较大的性能损失。
- 当工作集介于 L1 和 L2 缓存大小之间时,手动调优基准测试的性能仍然更好,但优势有所减小。
- 当工作集大于 L2 缓存大小时,手动调优基准测试的性能低于未优化的应用。
鉴于未优化和手动调优版本的同一应用之间存在性能差异,并且为虚拟环境进行调优有望在多个物理系统上实现稳定性能,我们将应用在云平台上的调优作为未来的研究问题。
一些新的云服务提供商似乎解决了我们所发现的大部分瓶颈问题。例如,Penguin Computing 提供了 Penguin on Demand™ (PODTM) 和 HPC as a Service 等服务,通过高速互连的云实例,将集中的、非虚拟化的高性能计算资源引入云环境,扩展了云模型。