基于KVM/QEMU的I/O访问频率感知缓存方法

栏目: 服务器 · 发布时间: 5年前

原文作者: Vera Rimmer, Davy Preuveneers, Marc Juarez, Tom Van Goethem and Wouter Joosen

原文题目: I/O access frequency-aware cache method on KVM/QEMU

原文来源: Cluster Computing, 2017, 20(8):1-13.

随着IT技术的快速发展,云计算被认为是下一代的计算基础设施。云计算的一个重要组成部分是虚拟机技术,它能够以更好的资源利用率降低数据中心成本。在云计算环境中,由于 VDI具有提高资源利用率、保护和整合等优点,因而得到了广泛的应用。通过在同一主机上整合多个来宾虚拟机,VDI可以在虚拟机之间共享主机物理资源,从而提高资源利用率和密度。虽然在有限的服务器资源上整合虚拟机是VDI的优势,但这种资源整合确实会成为产生高I/O性能的障碍。

优化I/O虚拟化开销是一项具有挑战性的任务,因为它需要仔细检查 guest 虚拟机和执行这些虚拟机的主机之间的多个软件层。

图1说明了KVM/QEMU的I/O路径。如图1所示,管理程序通过使用模拟器来分配虚拟设备,如网络或存储。在写操作的情况下,在虚拟机上生成的应用程序数据通过来宾内核的文件系统和设备驱动层传输到管理程序,到达主机内核,存储在物理设备中。

基于KVM/QEMU的I/O访问频率感知缓存方法 图1 KVM/QEMU I/O 路径

在这种环境中,适当地放置缓存对于减少I/O流量非常重要。虚拟化的I/O缓存可以在VM层或管理程序中实现。尽管VM层中的缓存很容易实现和管理,但是它对客户操作系统的依赖性很强,使得将缓存组件移植到其他操作系统(如 Linux 到Window,反之亦然)变得很困难。

本文提出了一种在KVM/QEMU之上实现的管理程序级缓存,称为hypercache,它可以通过截取qemu中的I/O请求来减少I/O虚拟化路径。它还利用缓存块映射,通过考虑相关数据的访问频率,有效地管理缓存内存。

在研究I/O虚拟化开销之后。本文建议的方法的主要目标是尽量减少管理程序中的开销,以生成更好的I/O性能。因此本文为提出的目标开发了超高速缓存。如 图2显示了超高速缓存的总体结构。

基于KVM/QEMU的I/O访问频率感知缓存方法 图2 超高速缓存的总体结构

首先,hypercache通过在来宾虚拟机和主机之间提供I/O执行路径的快捷方式来提高I/O吞吐量。为了减少I/O延迟,hypercache会截获qemu中的I/O请求,并使用内存中的元数据表检查必要数据的可用性。第二,hypercache利用数据块的I/O访问频率,确保对重要I/O请求的快速响应。此外,通过在QEMU中合并数据块,然后将它们传输到主机内核,hypercache可以减轻连接到主机的物理I/O设备上的磁盘争用。

图3a演示了元数据存储库结构。主表(tmaster)是存储库的顶部组件,它保留指向索引表(tindx)的指针以及指向缓冲区表(tbuf)的指针。缓冲表用于维护历史块缓冲区(HB)和写回块缓冲区(WB)。此外,它还指向两个块缓冲区的起始地址和当前空地址。在读操作的情况下,如果在hb中找不到高访问频率的块,那么它们将被超高速缓存捕获并存储在当前空地址指向的历史块缓冲区中。

基于KVM/QEMU的I/O访问频率感知缓存方法

图3 元数据存储库和执行过程

最后,本文的实验结果表明,与现有的QEMU相比,其方法将I/O带宽提高了4.7倍。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法神探

算法神探

[美] 杰瑞米·库比卡 / 啊哈磊、李嘉浩 / 电子工业出版社 / 2017-2 / 65

《算法神探:一部谷歌首席工程师写的CS小说》围绕程序设计典型算法,精心编织了一个扣人心弦又趣味横生的侦探缉凶故事。小说主人公运用高超的搜索技巧和精深的算法知识,最终识破阴谋、缉拿元凶。其间,用二分搜索搜查走私船、用搜索树跟踪间谍、用深度优先搜索逃离监狱、用优先队列开锁及用最佳优先搜索追寻线索等跌宕起伏又富含算法精要的情节,让读者在愉悦的沉浸式体验中快速提升境界,加深对程序世界的理解。《算法神探:一......一起来看看 《算法神探》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具