虚拟化应用程序资源使用的分析与建模
1. 资源测量
不同平台处理 I/O 虚拟化的方式不同,因此需要同时测量网络接口的数据包速率和字节速率。例如,在 Xen 3.0.3 版本之前,传入的网络数据包通过翻转内存页的所有权在 Dom - 0 和客户域之间传递,接收每个数据包的开销与其大小无关;而较新的 Xen 版本直接将数据包从 Dom - 0 复制到客户域,开销不仅与每秒接收的数据包数量有关,还与每秒接收的字节数有关。同时,区分发送和接收路径,因为它们可能有不同的优化。
基于类似的原因,磁盘测量分为四类。为每个基准测试集收集资源使用跟踪,包含表 1 中所有指标的值、时间间隔和基准测试 ID。在本地系统上收集资源指标后,在虚拟化平台上对相同的基准测试测量 Dom - 0 和 VM 的 CPU 利用率。
2. 模型生成
模型生成的目的是创建能够描述在真实硬件上本地运行的应用程序的一组资源利用率指标与该应用程序在虚拟平台上运行时的 CPU 需求之间关系的模型。创建两个模型:一个预测运行应用程序的虚拟机的 CPU 需求,另一个预测 Dom - 0 在代表客户域执行 I/O 处理时的 CPU 需求。
模型创建采用以下三个关键组件:
- 鲁棒线性回归算法:用于减少异常值的影响。
- 逐步回归方法:仅将最具统计显著性的指标包含在最终模型中。
- 模型细化算法:用于对训练数据进行后处理,消除或重新运行错误的基准测试,并重建更准确的模型。
2.1 模型创建
为了找到本地和虚拟化系统中应用程序资源使用之间的关系,使用在感兴趣的虚拟和本地平台上运行的一组微基准测试收集的资源使用概况。 <