用于多根I/O 虚拟化共享系统的I/O 资源管理方法技术方案

技术编号:7837720 阅读:208 留言:0更新日期:2012-10-12 02:30
本发明专利技术公开一种用于多根I/O虚拟化共享系统的I/O资源管理方法,所述方法是指利用一个主控制根节点对多根I/O虚拟化共享系统中的所有I/O设备进行集中式的初始化配置和分配管理,包括:步骤1,主控制根节点对系统中的I/O资源枚举发现和初始化配置;步骤2,主控制根节点通过PCIe管理模块,辅助管理用户管理和控制系统中的I/O设备资源,执行管理用户制定的I/O资源分配策略;步骤3,主控制根节点通过PCIe管理模块和I/O资源分配表,建立设备功能与其所属的根节点的映射关系,实现I/O资源动态分配。

【技术实现步骤摘要】

本专利技术涉及i/o虚拟化技术,特别是涉及一种用于多根i/o虚拟化共享系统的I/O资源管理方法。
技术介绍
在传统数据中心或云计算中心中,每个刀片服务器都拥有独立的I/O资源,如网卡、HBA适配器等。然而计算与I/O资源的紧密耦合,使得两类资源的扩展同时受到服务器空间的限制。此外,高性能I/O设备(如IOGigE网卡)仅依附一台服务器,无疑降低了其利用效率,提高了系统总成本。为解决上述问题,就要解除计算与I/O资源的紧密耦合,其关 键就是实现I/O设备在多个服务器之间的共享。近年来,I/O设备的共享技术得到了变革性的发展,行业标准组织PCI特别兴趣小组 PCI-SIG 先后制定了 PCI-SIG Single Root I/O Virtualization (SR-IOV :单根 IO 虚拟化)和 PCI-SIG Multi-Root 1/0 Virtualization (MR-I0V :多根 10 虚拟化)规范。具备SR-IOV能力的PCI Express设备能够被运行在同一宿主机上的不同虚拟机(VM/Guest)所共享,并为虚拟机提供接近本机的1/0性能。目前SR-IOV已得到1/0设备厂商的广泛支持,如支持SR-IOV的千兆以太网卡、10G以太网卡、HBA适配器等。具备MR-IOV能力的PCI Express设备能够被多个宿主机上运行的若干虚拟机(VM/Guest)所共享,MR-IOV技术可以完全解除计算与1/0间的紧密耦合。但由于PCI-SIG的MR-IOV协议对原有系统的较大改动(包括对PCIe基本协议、PCIe设备结构和PCIe交换机结构的修改),难以被工业界接受。然而,对于像SR-IOV和多功能设备等本身具备有同时供多个虚拟机直接共享的能力,如果对其提供一系列附加支持,实现1/0资源在多个根节点之间共享是可行的。当一个1/0设备通过PCIe交换机结构被多个根节点共享时,每个根节点在系统启动后都将尝试枚举该设备。这将引起系统竞争,一个根节点对拓扑结构中I/o设备的修改,会影响其他根节点的运行,最终导致系统不能正常工作。
技术实现思路
为解决上述问题,本专利技术提供了一种多根1/0虚拟化共享系统中的1/0资源管理方法,用于解决多根10虚拟化共享系统的资源管理和分配的技术问题,避免多根1/0虚拟化共享系统中各根节点的冲突和竞争。本专利技术公开一种用于多根1/0虚拟化共享系统的1/0资源管理方法,包括步骤I,主控制根节点对系统中的1/0资源枚举发现和初始化配置;步骤2,主控制根节点通过PCIe管理模块,辅助管理用户管理和控制系统中的1/0设备资源,执行管理用户制定的I/o资源分配策略;步骤3,主控制根节点通过PCIe管理模块和1/0资源分配表,建立设备功能与其所属的根节点的映射关系,实现I/o资源动态分配。用于多根I/O虚拟化共享系统的I/O资源管理方法,所述步骤2包括步骤21,PCIe管理模块收集系统中所有PCIe组件信息并呈现给管理用户,辅助管理用户初始化或者修改资源分配策略;步骤22,PCIe管理模块根据用户的I/O资源分配策略,发送设备分配指令,实现I/O资源的分配管理。用于多根I/O虚拟化共享系统的资源管理方法,所述PCIe组件信息包括根节点信息,所述根节点信息,包括根节点的数目、每个根节点拥有的I/O资源以及各根节点的负载状态;I/O设备信息,所述I/O设备信息,包括设备功能ID号、设备功能描述信息以及设备功能占用情况。 用于多根I/O虚拟化共享系统的I/O资源管理方法,所述I/O资源分配表包括所述资源分配表位于多根I/O虚拟化共享控制器的每个PCIe下游端口中,每个I/O设备对应一张I/O资源分配表;所述资源分配表记录了设备功能与其所属的根节点的映射关系;其中,表索引是设备功能在主控制根节点PCIe域中的ID号,表条目内容描述了设备功能所属的根节点标识ID及其在所属根节点PCIe域中的ID号。用于多根I/O虚拟化共享系统的I/O资源管理方法,所述步骤3中的I/O资源动态分配包括I/O资源初始化分配,所述I/O资源初始化分配指在系统初始化时,主控制根节点为各从属根节点分配设备功能,建立初始的PCIe拓扑结构的过程; I/O资源回收,所述I/O资源回收指在不影响其他根节点工作的情况下,主控制根节点在从属根节点删除I/o设备功能的过程;I/O资源再分配,所述I/O资源再分配指在不影响其他根节点工作的情况下,主控制根节点向从属根节点增加I/o设备功能的过程。用于多根I/O虚拟化共享系统的I/O资源管理方法,所述I/O资源初始化分配包括步骤61,管理用户根据根节点的需求和系统的I/O资源制定初始的分配策略,并通过PCIe管理模块发送设备分配指令;步骤62,PCIe管理模块通过发送设备分配事务包,执行管理用户的资源分配策略;所述设备分配事务包,是PCIe内存写事务包,所述PCIe内存写事务包指示了要操作的设备功能ID号,即在主控制根节点PCIe域中的ID号、该设备功能所属的根节点标识ID以及其在所属根节点PCIe域中的ID号;其中,所属根节点ID号为从属根节点ID号,指示一个设备分配指令;步骤63,PCIe下游端口接收到步骤62中所述设备分配事务包,解析事务包获取要操作的设备功能ID号、其所属的根节点标识ID以及其在所属根节点PCIe域中的ID号;并将由设备功能所属的根节点标识ID和其在所属根节点PCIe域中的ID号组成内容,写入要操作的设备功能ID号指示的I/O资源分配表相应的表项中,进而为各从属根节点指定了分配的I/O设备功能;步骤64,主控制根节点完成对从属根节点的I/O设备资源初始化分配后,从属根节点被引导进行PCIe设备重扫描,发现和初始化配置分配得到的设备功能。用于多根I/O虚拟化共享系统的I/O资源管理方法,所述I/O资源回收包括步骤71,管理用户根据需求决定从某个根从属节点删除某个设备功能,通过PCIe管理软件发送设备回收指令;步骤72,PCIe管理模块通过发送设备分配事务包,执行管理用户的资源回收指令;所述设备分配事务包,是PCIe内存写事务包,所述PCIe内存写事物包指示了要操作的I/O设备功能ID号、该设备功能所属的根节点ID号以及其在所属根节点PCIe域中的ID号;其中,功能所属的根节点标识ID为主控制根节点标识ID,指示一个设备回收指令;步骤73,PCIe下游端口接收设备分配事务包,解析事务包获取要操作的设备功能ID号、其所属的根节点标识ID以及其在所属根节点PCIe域中的ID号;步骤74,所属根节点标识ID判定;如果配置事务包中指示的所属根节点标识ID为主控制根节点标识ID,指示一个设备回收指令;步骤75,读取事务包要操作的设备功能ID号指示的I/O资源分配表对应的表项,·向表项指示的从属根节点发送一个虚拟热插拔事件,通知有I/o设备功能将被拔除;步骤76,复位操作的设备功能ID号指示的I/O资源分配表相应的表项;将由主控制根节点标识ID和值为全零的功能ID号组成内容,写入要操作的设备功能ID号指示的I/O资源分配表相应的表项中;步骤77,目标从属根节点接收到该热插拔事件,将该设备从PCIe拓扑结构中移除,并卸载相应的驱动程序。用于多根I/O虚拟化共享系统的I/本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于多根I/o虚拟化共享系统的I/O资源管理方法,其特征在于,包括 步骤I,主控制根节点对系统中的I/O资源枚举发现和初始化配置; 步骤2,主控制根节点通过PCIe管理模块,辅助管理用户管理和控制系统中的I/O设备资源,执行管理用户制定的I/O资源分配策略; 步骤3,主控制根节点通过PCIe管理模块和I/O资源分配表,建立设备功能与其所属的根节点的映射关系,实现I/O资源动态分配。2.如权利要求I所述的用于多根I/O虚拟化共享系统的I/O资源管理方法,其特征在于,所述步骤2包括 步骤21,PCIe管理模块收集系统中所有PCIe组件信息并呈现给管理用户,辅助管理用户初始化或者修改资源分配策略; 步骤22,PCIe管理模块根据用户的资源分配策略,发送设备分配指令,实现I/O资源的分配管理。3.如权利要求2所述的用于多根I/O虚拟化共享系统的I/O资源管理方法,其特征在于,所述PCIe组件信息包括 根节点信息,所述根节点信息,包括根节点的数目、每个根节点拥有的I/O资源以及各根节点的负载状态; I/O设备信息,所述I/O设备信息,包括设备功能ID号、设备功能描述信息以及设备功能占用情况。4.如权利要求I所述的用于多根I/O虚拟化共享系统的I/O资源管理方法,其特征在于,所述I/O资源分配表包括 所述资源分配表位于多根I/O虚拟化共享控制器的每个PCIe下游端口中,每个I/O设备对应一张I/O资源分配表;所述资源分配表记录了设备功能与其所属的根节点的映射关系;其中,表索引是设备功能在主控制根节点PCIe域中的ID号,表条目内容描述了设备功能所属的根节点标识ID及其在所属根节点PCIe域中的ID号。5.如权利要求I所述的用于多根I/O虚拟化共享系统的I/O资源管理方法,其特征在于,所述步骤3中的I/O资源动态分配包括 I/O资源初始化分配,所述I/O资源初始化分配指在系统初始化时,主控制根节点为各从属根节点分配设备功能,建立初始的PCIe拓扑结构的过程; I/O资源回收,所述I/O资源回收指在不影响其他根节点工作的情况下,主控制根节点在从属根节点删除I/O设备功能的过程; I/O资源再分配,所述I/O资源再分配指在不影响其他根节点工作的情况下,主控制根节点向从属根节点增加I/O设备功能的过程。6.如权利要求5所述的用于多根I/O虚拟化共享系统的I/O资源管理方法,其特征在于,所述I/o资源初始化分配包括 步骤61,管理用户根据根节点的需求和系统的I/O资源制定初始的分配策略,并通过PCIe管理模块发送设备分配指令; 步骤62,PCIe管理模块通过发送设备分配事务包,执行管理用户的资源分配策略;所述设备分配事务包,是PCIe内存写事务包,所述PCIe内存写事务包指示了要操作的设备功能ID号,即在主控制根节点PCIe域中的ID号、该设备功能所属的根节点标识ID以及其在所属根节点PCIe域中的ID号;其中,所属根节点ID号为从属根节点ID号,指示一个设备分配指令; 步骤63,PCIe下游端口接收到步骤62中所述设备分配事务包,解析事务包获取要操作的设备功能ID号、其所属的根节点标识ID以及其在所属根节点PCIe域中的ID号;并将由设备功能所属的根节点标识ID和其在所属根节点PCIe域中的ID号组成内容,写入要操作...

【专利技术属性】
技术研发人员:刘小丽曹政安学军张佩珩孙凝晖王展苏勇
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1