• 中国计算机学会会刊
  • 中国科技核心期刊
  • 中文核心期刊

计算机工程与科学

• 高性能计算 • 上一篇    下一篇

虚拟化环境中线程级SLO保障的I/O软件框架研究

刘希明,李雨轩,宫晓利,张金   

  1. (南开大学计算机学院,天津 300071)
  • 收稿日期:2018-08-21 修回日期:2018-10-18 出版日期:2019-05-25 发布日期:2019-05-25
  • 基金资助:

    国家重点研发计划(2018YFB1003405);国家自然科学基金(61702286);天津市自然科学基金(18JCYBJC15600);天津市优秀企业科技特派员基金(17JCTPJC49500);体系结构国家重点实验室开放课题(CARCH201604)

A thread-level SLO-aware I/O framework for virtualization

LIU Ximing,LI Yuxuan,GONG Xiaoli,ZHANG Jin   

  1. (College of Computer Science,Nankai University,Tianjin 300071,China)
  • Received:2018-08-21 Revised:2018-10-18 Online:2019-05-25 Published:2019-05-25

摘要:

云计算产业的快速发展使得虚拟化技术在各大云服务商心目中占据重要地位。为了获取更高的利润,云服务商需要在保障用户体验的前提下尽可能地利用设备性能。通过利用I/O请求的优先级和重要性等信息,研究者们已经在Linux内核中实现了很多提高程序性能的方法。然而,虚拟机中的这些信息在传递到宿主机的过程中会丢失,所以
提出了一种基于服务水平目标SLO的I/O保障框架。首先分析了I/O请求优先级等信息丢失的原因,并提出了传递这些信息需要解决的关键性问题。在此基础上,本文提出的框架通过对Linux内核、virtio协议以及KVM的I/O虚拟化程序QEMU进行扩展,成功地将虚拟机线程的SLO信息传送至宿主机并在此基础上实现了基于SLO信息的调度器。最后,通过实验验证了框架的可行性,优先级最高的线程吞吐量可以达到260 KB/s,优先级最低的线程吞吐量只有10 KB/s,成功证明了由框架传递下来的SLO信息对宿主机中调度器的调度起到了积极作用。

关键词: 虚拟化, 块设备I/O, SLO, 线程级

Abstract:

Virtualization technology takes an important place for the cloud service provider (CSP) because of the rapid development of cloud computing. In order to obtain more profits, the CSP need to maximize hardware performance as much as possible while ensuring good user experience. By leveraging information such as the priority and importance of I/O requests, researchers have proposed many methods to improve program performance in Linux kernel. However, the information in virtual machines can get lost during the transfer to the host. We therefore propose an I/O assurance framework based on servicelevel objective (SLO). We firstly explore the reasons for the loss of information such as I/O request priority, and then present the key issues to be addressed for information delivering. Our framework transmits the SLO information of the threads in the virtual machine to the host machine successfully by expanding Linux kernel, the virtio protocol and KVM I/O virtualization program QEMU. What's more, we implement a scheduler based on SLO. Experimental results verify the feasibility of the proposed framework. The thread with highest priority has a throughput up to 260 KB/s while the throughput of the thread with lowest priority is 10 KB/s. we prove that the SLO information delivered by the proposed framework plays a positive role in the scheduling of the scheduler in the host machine.
 

Key words: virtualization, block device I/O, SLO, thread-level