[发明专利]时延可预测的NVMe存储虚拟化方法和系统有效
申请号: | 202011620231.4 | 申请日: | 2020-12-30 |
公开(公告)号: | CN112667356B | 公开(公告)日: | 2023-01-31 |
发明(设计)人: | 姚建国;郭成;彭博;陈义全;王一静 | 申请(专利权)人: | 上海交通大学;阿里云计算有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 胡晶 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 时延可 预测 nvme 存储 虚拟 方法 系统 | ||
1.一种时延可预测的NVMe存储虚拟化方法,其特征在于,包括:
步骤1:输入虚拟机类型和延时指标;
步骤2:分配物理列队,计算限流阈值;
步骤3:负载运行一个周期,限制非延时敏感虚拟机I/O,收集性能数据;
步骤4:根据性能数据进行物理列队重分配;
步骤5:判断延时指标是否达标,若达标则执行步骤6,若没有达标则执行步骤7;
步骤6:调整限流阈值;
步骤7:判断负载是否结束,若没有结束则返回步骤3继续执行;
将物理队列分为:
1对1物理队列:被1对1地分配给高优先级虚拟队列;
虚拟机绑定的物理队列:与虚拟机绑定,所有低优先级的虚拟队列与其他同属于一个虚拟机的低优先级虚拟队列共享物理队列;
虚拟机类型包括:延时敏感虚拟机和非延时敏感虚拟机;
通过共享内存的方式在主机驱动中为虚拟机内的每一对NVMe I/O队列建立影子虚拟队列,并映射到主机端NVMe驱动的物理队列;
为每一个虚拟机启动一个I/O指令轮询线程,并分别绑定单独的CPU,在I/O流程中负责I/O指令的转发;当虚拟机在预设时间内没有I/O指令下发时,暂停其I/O轮询线程并出让CPU,直到有新I/O指令流到来;
所述虚拟机包括:
调度器:周期性的对系统资源的分配以及系统参数进行调整;
探测器:包括嵌入在轮询线程内的性能探针和全局数据处理器,为调度器提供实时系统运行数据,包括实时I/O指令数和指令级I/O时延。
2.根据权利要求1所述的时延可预测的NVMe存储虚拟化方法,其特征在于,基于多级的负载感知的队列分配算法,在每一个调度周期的开始,通过调度器对I/O队列做动态分配,所述多级的负载感知的队列分配算法包括:
多级虚拟队列权重更新算法:更新所有的虚拟队列权重,作为虚拟队列排序依据;
物理队列分配算法:根据排序结果分配物理队列。
3.根据权利要求1所述的时延可预测的NVMe存储虚拟化方法,其特征在于,基于I/O指令节流机制,系统整体的I/O指令提交速率v与延时敏感虚拟机的I/O速率成正比,表示为:
得到虚拟机瞬时提交的指令数b,它与延时敏感虚拟机的I/O队列深度d成正比:
因此,系统的到达曲线表示为:
获取服务曲线:
基于实时微积分理论,根据到达曲线和服务曲线得到延时上界:
其中,c为非延时敏感虚拟机的个数,p为延时敏感虚拟机的每秒进行读写操作的次数,T为限流阈值;R表示硬件每秒处理命令的速度,表示I/O命令的最小完成延时;探测器实时抓取系统运行时延数据并反馈给调度器,调度器内的决策器对比该数据与延时目标,增大或减小限流阈值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学;阿里云计算有限公司,未经上海交通大学;阿里云计算有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011620231.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种显示设备及人像定位方法
- 下一篇:同步施工电缆长度测量装置及使用方法