CN101446928B - 虚拟机器监视器 - Google Patents

虚拟机器监视器 Download PDF

Info

Publication number
CN101446928B
CN101446928B CN2008102106429A CN200810210642A CN101446928B CN 101446928 B CN101446928 B CN 101446928B CN 2008102106429 A CN2008102106429 A CN 2008102106429A CN 200810210642 A CN200810210642 A CN 200810210642A CN 101446928 B CN101446928 B CN 101446928B
Authority
CN
China
Prior art keywords
mentioned
storer
virtual server
processor
resource
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2008102106429A
Other languages
English (en)
Other versions
CN101446928A (zh
Inventor
上原敬太郎
对马雄次
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of CN101446928A publication Critical patent/CN101446928A/zh
Application granted granted Critical
Publication of CN101446928B publication Critical patent/CN101446928B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Abstract

在有I/O器件的专有分配功能的虚拟机器监视器上,具有取得I/O器件的物理位置信息的接口,使用所取得的物理位置信息,根据所指定的方针,优化对虚拟服务器的资源的分配,虚拟机器监视器具备对宾OS所请求的I/O器件、CPU数、存储量,根据所提供的方针(在资源分配中决定优先进行哪一种分配的参数)分配资源的接口,另外,在虚拟机器监视器中具备把虚机器监视器分配的资源的物理位置信息适当变换后通知给宾OS的接口。

Description

虚拟机器监视器 
技术领域
本发明涉及由虚拟机器监视器在物理计算机上使虚拟服务器工作,向虚拟服务器分配I/O器件的虚拟计算机的改良。 
背景技术
伴随着近年来的半导体技术的发展,出现了在一个基片上集成多个芯片的多芯片处理器或者把存储器控制器搭载在处理器基片上的存储器控制器综合处理器。为了有效地灵活运用这样集成的计算机资源,发现了很多把以往分散在多个服务器中的处理集约到一个服务器中以减少成本的动向。在这种服务器的集约时有效的方法是根据服务器分割,使多个操作系统在一台服务器上动作的方法。在服务器分割中,有以节点单位或者处理器(芯片)或I/O器件等部件单位支持硬件分割的物理分割方式、由称为超大型或者虚拟机器监视器的固件实现的逻辑分割方式。 
在逻辑分割方式中,在虚拟机器监视器提供的逻辑服务器上执行各操作系统(宾OS),根据虚拟机器监视器,通过多个逻辑处理器向物理处理器映射,能够以比节点更细微的单位分割区划。进而,关于处理器(芯片),在多个逻辑区划之间,还能够在时分切换一个物理处理器(芯片)的同时执行。由此,能够生成并且同时执行比物理处理器(芯片)数多的逻辑区划。作为以逻辑分割为目的的虚拟机器监视器软件,专利文献1中记载的技术是代表性的。 
然而,与高集成化比较容易的处理器或者存储器相比较,由于必须具有输入输出的端口(路径),因此关于本质上难以集成的I/O器件,数量并没有减少,但却观察到现有的CPU与I/O器件的平衡被破坏的倾向。为了增加I/O器件的数量,考虑使用I/O开关增设插槽的对策。然而,由于用I/O开关加大了处理器或者存储器与I/O器件的距离,产生出没有充分提取出I/O性能的情况。 
因此,采取使特定的虚拟服务器专有当前在多个虚拟服务器中共有的I/O器件,确保充分的I/O性能这样的方法。作为支持基于这种虚拟服务器的I/O器件专有的功能,如在非专利文献1中公开的那样,已知Intel公司制定的VT-d。 
另一方面,由于微芯片的发展或者综合存储器控制器的处理器的出现,存在处理器·存储器·I/O器件这样的资源配置不均衡的倾向。在这种不均衡的系统上为了确保性能和可靠性,需要使用了物理位置信息的资源分配。在现有的OS中,有使特定的处理器与存储器相对应的Affinity控制这样的构造,而为了支持该构造,作为取得物理位置信息的标准接口,规定ACPI(高级配置和能量接口)(非专利文献2)。在该Affinity控制中,根据OS或者应用使用哪个CPU和存储器这样的关系,进行资源的分配。【专利文献1】美国专利第6496847号【非专利文献1】Inter Virtualization Technology for Dirested I/O Architecture Specification,[online],Inter Corp.,平成19年8月24日检索,互联网<ftp://download.inter.com/technology/computing/vptech(r)_VT_for_Direct_10.pdf>【非专利文献2】Advanced Configuration and Power InterfaceSpecification Revision 3.0,[online],Hewlett-Packard,Intel,Microsoft,Phoenix,and Toshiba,平成19年8月24日检索,互联网<http://www.acpi.info/> 
发明的内容
发明要解决的课题然而,在上述那样的现有OS中,处理器和存储器的位置信息能够使用ACPI的构造进行控制。然而,I/O器件由于是从所有应用共同参照的资源,因此不存在使用I/O器件的物理位置信息的Affinity 控制这样的概念。实际上,在ACPI中规定的System Resource AffinityTable(SRAT)或者System Locality Distance Information Table(SLDIT)中,只有处理器和存储器的物理位置信息是对象,I/O器件的物理位置信息是所管理的对象以外。 
另一方面,如果使用虚拟机器监视器进行分配使得特定的虚拟服务器专有I/O器件,则I/O器件的物理位置信息在确保虚拟服务器的性能或者可靠性方面成为重要的参数。然而,在现有的ACPI基础的接口中,没有取得I/O的物理位置信息的方法。 
另外,即使假设虚拟机器监视器对虚拟服务器分配了适当的资源,但在虚拟服务器上的宾OS不能正确利用其物理位置信息的情况下,宾OS的Affinity控制不能正确动作,其结果,存在不能确保与物理服务器同等的性能或者可靠性这样的问题点。 
本发明的目的在于在具有I/O器件的专有分配功能的虚拟机器监视器上,具有取得I/O器件的物理位置信息的接口,使用所取得的物理位置信息,遵从所指定的方针优化对虚拟服务器的资源分配。进而,目的在于具有把虚拟机器监视器取得的物理位置信息适当变换后通知给虚拟服务器的接口,对虚拟服务器上的宾OS也能执行与在物理服务器上执行了宾OS时同样的Affinity控制。 
用于解决课题的方法
本发明是具备用内部网络连接一个以上服务、一个以上存储器和一个以上I/O器件,向虚拟服务器分配上述处理器和存储器以及I/O器件的虚拟机器监视器的多处理器系统,上述虚拟机器监视器具备取得把包括上述多处理器系统的上述处理器、存储器和I/O器件以及网络的硬件的物理位置信息包括在内的硬件的结构信息的物理硬件信息取得单元、接受包括所生成的虚拟服务器的处理器数、存储量和I/O器件以及资源的分配方针的生成请求的接受单元、在根据上述接收的生成请求,把I/O器件分配到上述虚拟服务器中以后,把上述处理器和存储器分配到上述虚拟服务器中使得满足上述分配方针的分配处理单元。 
进而,上述虚拟机器监视器还具备向上述虚拟服务器通知对上述虚拟服务器分配的处理器和存储器以及I/O器件的物理位置信息的通知单元。 
发明的效果
从而,本发明取得I/O器件的物理位置信息,能遵从在生成请求中所指定的资源的分配方针,使用所取得的物理位置信息,优化对虚拟服务器的资源的分配。 
进而通过向虚拟服务器通知虚拟机器监视器分配的资源的物理位置信息,能够在虚拟服务器上实现与物理服务器上同样的控制。
附图说明 图1表示第1实施形态,是表示适用本发明的多处理器系统和虚拟机器监视器的结构的框图。图2表示第1实施形态,是表示物理硬件结构信息取得I/F的结构的说明图。图3表示第1实施形态,是表示物理组件结构表的结构的说明图。图4表示第1实施形态,是表示I/O转接器结构表的结构的说明图。图5表示第1实施形态,是表示组件间距离对应表的结构的说明图。图6表示第1实施形态,是表示物理网络结构表的结构的说明图。图7表示第1实施形态,是表示虚拟服务器1的逻辑硬件请求I/F的结构的说明图。图8表示第1实施形态,是表示虚拟服务器1的物理-逻辑硬件分配表的结构的说明图。图9表示第1实施形态,是表示多处理器系统上的虚拟服务器1的一个例子的框图。图10表示第1实施形态,是表示使方针成为CPU-存储器优先 的虚拟服务器2的逻辑硬件请求I/F的结构的说明图。图11表示第1实施形态,是表示使方针成为I/O-存储器优先的虚拟服务器2的逻辑硬件请求I/F的结构的说明图。图12表示第1实施形态,是表示使方针成为CPU-存储器优先的虚拟服务器2的物理-逻辑硬件分配表的结构的说明图。图13表示第1实施形态,是表示使方针成为I/O-存储器优先的虚拟服务器2的逻辑硬件请求I/F的结构的说明图。图14表示第1实施形态,是表示使方针成为CPU-存储器优先的虚拟服务器2的资源间距离计算表的结构的说明图。图15表示第1实施形态,是表示使方针成为I/O-存储器优先的虚拟服务器2的资源间距离计算表的结构的说明图。图16表示第1实施形态,是表示使方针成为CPU-存储器优先的多处理器系统上的虚拟服务器1、2的结构的框图。图17表示第1实施形态,是表示使方针成为I/O-存储器优先的多处理器系统上的虚拟服务器1、2的结构的框图。图18表示第1变形例,是表示逻辑硬件请求I/F的结构的说明图。图19表示第1变形例,是表示物理-逻辑硬件分配表的结构的说明图。图20表示第1变形例,是表示多处理器系统上的虚拟服务器1的结构的框图。图21表示第1变形例,是表示使方针成为CPU-存储器优先的虚拟服务器2的逻辑硬件请求I/F的结构的说明图。图22表示第1变形例,是表示使方针成为CPU-I/O优先的虚拟服务器2的逻辑硬件请求I/F的结构的说明图。图23表示第1变形例,是表示使方针成为CPU-存储器优先的虚拟服务器2的物理-逻辑硬件分配表的结构的说明图。图24表示第1变形例,是表示使方针成为CPU-I/O优先的虚拟服务器2的物理-逻辑硬件分配表的结构的说明图。 图25表示第1变形例,是表示使方针成为CPU-存储器优先的虚拟服务器2的资源间距离计算表的结构的说明图。图26表示第1变形例,是表示使方针成为CPU-I/O优先的虚拟服务器2的资源间距离计算表的结构的说明图。图27表示第1变形例,是使方针成为CPU-存储器优先时的多处理器系统上的虚拟服务器1、2的框图。图28表示第1变形例,是使方针成为CPU-I/O优先时的多处理器系统上的虚拟服务器1、2的框图。图29表示第2变形例,是表示虚拟服务器1的逻辑硬件请求I/F的结构的说明图。图30表示第2变形例,是表示虚拟服务器1的物理-逻辑硬件分配表的结构的说明图。图31表示第2变形例,是表示多处理器系统上的虚拟服务器1的结构的框图。图32表示第2变形例,是表示使方针成为可靠性优先的虚拟服务器2的逻辑硬件请求I/F的结构的说明图。图33表示第2变形例,是表示使方针成为频带优先的虚拟服务器2的逻辑硬件请求I/F的结构的说明图。图34表示第2变形例,是表示使方针成为省电优先的虚拟服务器2的逻辑硬件请求I/F的结构的说明图。图35表示第2变形例,是表示使方针成为可靠性优先的虚拟服务器1、2的物理-逻辑硬件分配表的结构的说明图。图36表示第2变形例,是表示使方针成为频带优先的虚拟服务器1、2的物理-逻辑硬件分配表的结构的说明图。图37表示第2变形例,是表示使方针成为可靠性优先的虚拟服务器1、2的组件·网络分配表的结构的说明图。图38表示第2变形例,是表示使方针成为频带优先的虚拟服务器1、2的组件·网络分配表的结构的说明图。图39表示第2变形例,是表示使方针成为可靠性优先时的分配 资源功耗计算表的结构的说明图。图40表示第2变形例,是表示使方针成为功耗优先时的组件·网络分配表的结构的说明图。图41表示第2变形例,是使方针成为可靠性优先的虚拟服务器1、2的多处理器系统上的框图。图42表示第2变形例,是使方针成为频带优先的虚拟服务器1、2的多处理器系统上的框图。图43表示第2实施形态,是表示虚拟服务器1的逻辑硬件请求I/F的结构的说明图。图44表示第2实施形态,是表示虚拟服务器1的物理-逻辑硬件分配表的结构的说明图。图45表示第2实施形态表示的是多处理器系统上的虚拟服务器1的结构的框图。图46表示第2实施形态,是表示物理硬件结构信息的结构的说明图。图47表示第2实施形态,是表示逻辑硬件结构信息通知I/F的结构的说明图。图48表示第2实施形态,是表示主物理地址与宾物理地址的关系的图。图49表示第3实施形态,是表示虚拟服务器2的逻辑硬件请求I/F的结构的说明图。图50表示第2实施形态,是表示虚拟服务器1、2的物理-逻辑硬件分配表的结构的说明图。图51表示第2实施形态,是表示虚拟服务器1、2的物理-逻辑硬件分配表的其它结构的说明图。图52表示第2实施形态,是表示虚拟服务器2的资源功耗计算表的结构的说明图。图53表示第2实施形态,是表示虚拟服务器2的资源功耗计算表的其它结构的说明图。 图54表示第2实施形态,是多处理器系统上的虚拟服务器1、2的框图。图55表示第1实施形态,是表示在虚拟机器监视器中进行的逻辑硬件分配处理的一个例子的流程图。图56表示第1实施形态,是同样表示逻辑硬件分配处理的I/O转接器分配处理的子程序的流程图。图57表示第1实施形态,是同样表示逻辑硬件分配处理的CPU以及存储器选择处理的子程序的流程图。图58表示第1实施形态,是同样表示逻辑硬件分配处理的方针评价处理的子程序的流程图。图59表示第1实施形态,是同样表示逻辑硬件分配处理的组件间距离计算处理的子程序的流程图。图60表示第1实施形态,是同样表示逻辑硬件分配处理的组件共用数计算处理的子程序的流程图。图61表示第1实施形态,是同样表示逻辑硬件分配处理的有效频带计算处理的子程序的流程图。图62表示第1实施形态,是同样表示逻辑硬件分配处理的功耗计算处理的子程序的流程图。图63表示第1实施形态,是同样表示逻辑硬件分配处理的CPU以及存储器分配处理的子程序的流程图。图64表示第1实施形态,是多处理器系统的结构图。 
具体实施方式
以下,根据附图说明本发明的一个实施形态 
图1表示第1实施形态,是表示适用本发明的多处理器系统(计算机)以及在其上面工作的虚拟机器监视器和宾OS的关系的框图。 
多处理器系统100采取在模块间连接I/F(接口)200上连接了一个以上的CPU插口(处理器包)110、存储器控制器130、1 /O插孔160a、160b的结构。另外,模块间连接I/F200构成多处理器系统100的内部网络。这里,在CPU插口110与存储器控制器130之间,CPU插口110与I/O插孔16a、160b之间,存储器控制器130与I/O插孔160a、160b之间的模块间连接I/F200不需要一定是相同的I/F。即使它们是相互不同的I/F,在以下的说明中也不会产生差别。另外,把I/O插孔160a、160b的总称作为I/O插孔160。另外,也可以存在搭载了存储器控制器130或者I/O插孔160的功能的芯片组。进而,如图1所示,也可以是存储器控制器130搭载在CPU插口110上的结构。CPU插口110包括一个以上CPU芯片(处理器芯片)120。存储器控制器130经过存储器I/F140与一个以上的DIMM(对偶联机存储器模块)150连接。I/O插孔160经过I/O和连接I/F170,搭载一个以上的I/O转接器180a~180f,在I/O转接器180a~180f的顶端连接I/O器件190d。进而,在I/O连接I/F170的顶端有I/O桥或者I/O开关,也可以构成多级I/O。另外,I/O转接器180a~180f由NIC或者HBA(主总线适配器)等构成,把它们的总称作为I/O转接器180。 
在多处理器系统100上有一个以上的服务处理器220,经过模块信息取得I/F210收集上述各模块(物理的构成要素)的物理位置信息或者连接信息。服务处理器220既可以作为多处理器系统100的选择件以外装的形式搭载,也可以是作为一个I/O器件搭载的形态。另外,在用LAN等连接的其它计算机上也可以具有服务处理器220的功能。另外,I/O器件由进行数据的输入输出的装置构成。 
在多处理器系统100上,进行由虚拟机器监视器300所执行的,向一个以上的虚拟服务器分割多处理器系统100上的资源,并提供给宾OS360a~360c。虚拟机器监视器300经过物理硬件结构信息取得接口320,接受服务处理器220收集的模块的物理结构信息和连接信息。另外,把宾OS360a~360c的总称作为OS360。 
宾OS360由逻辑硬件请求I/F350向虚拟机器监视器300通知作为虚拟服务器所需要的资源。另外,在宾OS360的起动时(即, 虚拟服务器的起动时),多处理器系统100的管理者向虚拟机器监视器300通知用控制台230设定的逻辑硬件请求I/F310。虚拟机器监视器300参照位于虚拟机器监视器300上的物理-逻辑硬件分配表310,在考虑了包含在逻辑硬件请求I/F350中的资源分配方针的基础上,通过物理-逻辑硬件分配接口330取得所必需的物理资源的信息。虚拟机器监视器300具备根据所取得的物理资源的信息和逻辑硬件请求I/F310,把物理资源作为逻辑硬件进行分配的逻辑硬件分配处理单元801。虚拟机器监视器300分配的物理资源的信息由虚拟机器监视器300变换成逻辑硬件结构信息,经过逻辑硬件结构信息通知I/F340,通知给宾OS360。 
另外,在多处理器系统100中,具备输入装置和输出装置,连接管理者使用的控制台230,向虚拟机器监视器300或者服务处理器220提供指令,从虚拟机器监视器300或者服务控制器220接收处理的结果,在输出装置上进行显示。 
<多处理器系统的结构>
进而,更详细地说明本第1实施形态中的多处理器系统100的结构。110a~110d的4个CPU插口由模块间连接I/F200环形连接。各个CPU插口110分别具有2个CPU芯片120,在多处理器系统100的整体中,有8个CPU芯片120。在以下的说明中,有时从图中的左侧开始,把这8个CPU芯片的CPU芯片的通用号码称为#0~#7。 
各个CPU插口110上的存储器控制器130分别有4个存储器I/F140,分别连接4个DIMM(存储器)150。这里为了使以后的说明简单,设各个DIMM150是1GB,每一个CPU插口是4GB,在多处理器系统整体中搭载了16GB的存储器。在以下的说明中,有时从图中左侧开始,把这16片DIMM150的通用号码称为DIMM#0~#15。 
I/O插孔160由2个I/O插孔160a和160b构成,分别各有2个模块间连接I/F200,I/O插孔160a分别连接计算机插孔 110a和110b,I/O插孔160b分别连接计算机插口110c和110d。I/O插孔160分别有4个I/O连接I/F170,在I/F连接I/F170的顶端具备I/O插槽175,连接I/O转接器180。 
在多处理器系统100的整体中有8个I/O插槽175,如果从图中的左侧开始设把I/O插槽175的通用号码作为#0~#7,则在I/O插槽#0上连接I/O连接器180a,在I/O插槽#2上连接I/O转接器180b,在I/O插槽#3上连接I/O转接器180c,在I/O插槽#4上连接I/O转接器180d,在I/O插槽#5上连接I/O转接器180e,在I/O插槽#7上连接I/O转接器180f。在该例子中,在I/O插头#1以及I/O插槽#6上没有连接任何器件。图64是表示了在与图1的结构相对应的多处理器系统100上,执行虚拟机器监视器300、宾OS1 360a、宾OS2 360b、宾OS3 360c的状况的结构图。虚拟机器监视器300的程序存在于某一个I/O器件190上或者服务处理器200的ROM201上,在多处理器系统300的起动时,从上述保存位置向存储器150(在本例中是存储器150#0)上展开,在虚拟机器CPU芯片120的某一个上执行。执行虚拟机器监视器300的CPU芯片120既可以固定,也可以例如根据其时刻空闲的CPU芯片或者处理负荷少的CPU芯片执行等,根据CPU芯片的工作状态,执行的CPU芯片可变。宾OS360在由虚拟机器监视器300分割的逻辑服务器370上,在所分配的I/O器件190的某一个上存在程序,在逻辑服务器370的起动时,在分配到370的存储器150上展开,由分配到370的CPU芯片300执行。在图64的例子中,宾OS1 360a在存储器150#5上展开并执行,宾OS2 360b在存储器150#10上展开并执行,宾OS3360c在存储器150#13上展开并执行。另外,在本例中为了易于了解,例示了在一个存储器模块上配置了宾OS 360的例子,而根据宾OS的尺寸或者存储器交错的设定,也可以分散配置在多个存储器模块上。 
图2~图6表示虚拟机器监视器300经由服务处理器220 得到的多处理器系统100的物理硬件结构信息取得I/F320。图2表示物理硬件结构信息取得I/F320的内容。物理硬件结构信息取得I/F320由物理组件结构表400、I/O转接器结构表450、组件间距离对应表500、物理网络结构表550的4类表构成。这些表是虚拟机器监视器300以预定周期或者预定定时,查询服务处理器220经过模块信息取得I/F210收集的硬件资源的信息而生成(或者更新)的。虚拟机器监视器300设定的物理硬件结构信息取得I/F320保存在图1表示的I/O插孔160的物理位置信息保存在存储器165或者存储器150中。 
图3表示物理硬件结构信息取得I/F320的物理组件结构表400的结构。物理组件结构表400由表示资源的通用号码的资源#405、表示资源种类的资源种类410、表示与通用号码相对应的资源的范围的范围415、表示每个组件的通用号码的组件#420、表示组件种类的组件种类425、按照通用号码特定了的资源的功耗的430、用于使该资源动作的组件的功耗435构成。在本实施形态说明中,组件#420指CPU插口110或者I/O插孔160那样成为物理地插拔或者电源的on/off对象的目标,多个资源能够连接到一个组件#420上。在本实施形态的例子中,CPU芯片120或者DIMM150与CPU插口110这样的组件连接,I/O转接器180与I/O插孔160这样的组件连接。在存储器控制器130与CPU插孔110不同时或者存在芯片组时等,它们还可以成为独立的组件。物理组件接触表400是表示这样的资源与组件的包含关系的表。用范围415表示的资源表示包含在组件#420中。在资源410是存储器的情况下,除去对应的DIMM150的号码以外,还表示物理地址的范围。在该例子中,由于每一个DIMM各是1GB,因此从0x0_0000_0000到0x0_3_FFFF_FFFF的16GB根据所属的CPU插口被4分割。各资源成为工作状态时的功耗[W]表示为430,成为资源基础的组件成为工作状态时的功耗表示为435。例如设芯片#0工作,芯片#1不工作。这种情况下,资源的功耗由于是每个芯片20,因此是20, 而成为基础的组件的CPU插口的功耗如果依据物理组件结构表400由于是80,因此合计20+80=100成为仅是芯片#0工作时的功耗。另外,在这里为了减小物理组件结构表400的尺寸,在范围415中,把属于同一个组件的多个资源汇总用一个项目表示,而也可以使用在每一个资源不同的项目。 
另外,资源的功耗430和组件的功耗435使用在服务处理器220的ROM221中预先设定的值。另外,在该R OM中预先保存I/O转接器180的功耗或各组件之间的频带或等待时间等与组件的性能有关的信息。 
图4表示I/O转接器结构表450的结构。I/O转接器结构表450存在多处理器系统100上的所有I/O转接器180部分的项目,由表示I/O转接器180的通用号码的I/O转接器#455、表示I/O转接器的识别符的I/O转接器460、安装了该I/O转接器的I/O插槽#465、表示I/O转接器的种类的转接器种类470、该I/O转接器的功耗475的各项目构成。转接器种类470记述网络接口卡(NIC)或者主线转接器(HBA)这样的转接器的种类。 
图5表示组件间距离对应表500的结构。组件间距离对应表500存在与多处理器系统100上的所有组件相对应的项目,由表示组件的识别符的组件#420、表示组件种类的组件种类425、表示该组件与其它组件的距离的对组件间距离510构成。对组件间距离510只在所有的组件部分中划分,表示从组件#420的组件到对组件间距离510的组件的距离。在系统整体中有N个组件时,对组件间距离510构成N×N的矩阵。通常由于可以认为到达自身的距离是0,因此在该矩阵的对角线部分中一般排列0。在本实施形态中,由于模块间连接I/F200的性能假定为全部等价,因此把经过几次模块间连接I/F200到达目标组件的次数作为距离。把该距离处理为组件的物理位置信息。例如,从CPU插口110a到I/O插孔160b的距离在图1中,由于从CPU插口110a到CPU插口110d的距离经由一次模块间连接I/F200,从CPU插口110d到I/O插孔160b经由一次模块间连接I /F200,因此组件间的距离合计成为2。 
另外,在模块间连接I/F不均匀的情况下,可以考虑使用位于后述的物理网络结构表550中的等待时间570的合计值表示距离这样的方法。 
另外,在本实施形态中,由于存储器150与计算机插口110直接连接,因此计算机插口110与存储器150的距离是0,从而没有包含在组件间距离对应表500中,而在存储器150连接到内部网络(组件间连接I/F200)的情况下,可以把存储器150加入到组件#420中,把各组件间的距离设定在组件间距离对应表500中。 
另外,组件间距离对应表500能够由虚拟机器监视器300根据物理硬件结构信息取得I/F320的信息生成。另外,也可以是服务处理器220根据物理硬件结构信息取得I/F320的信息生成组件间距离对应表500,通知给虚拟机器监视器300。 
图6表示物理网络结构表550的结构。物理网络结构表550由对于多处理器系统100上的所有的模块间连接I/F200,表示模块间连接I/F200的连接的通用号码的网络#555、表示从哪个组件420a连接哪个组件420b,而且,组件420a与组件420b之间的频带560和等待时间570的项目构成。在本实施形态中,连接CPU插口110之间的网络频带560为6,而连接CPU插口110与I/O插孔160之间的网络频带560是其一半的3。另外,频带560的单位例如是[Gbps],等待时间570的单位例如是[nsec]。 
以上是物理硬件结构信息取得I/F320的内容。服务处理器220经过模块信息取得I/F210,从各资源·组件收集这些信息。而且,虚拟机器监视器300从服务处理器220取得物理硬件结构信息取得I/F320。像物理网络结构表550或者组件间距离对应表500那样,服务处理器220对于仅是查询模块单体不能得到的信息,在多处理器系统100的初始化时或者结构变更时,可以考虑使用经过模块信息取得I/F210以及模块间连接I/F200的查询协议,自动检测连接关系的方法,或者在结构变更时服务处理器220等在非易失性存储器等中 预先保存管理者使用的系统管理工具(存在于多处理器系统100以外)的信息,并且根据其信息构成的方法。 
<虚拟服务器的结构>
图7~图9表示第1实施形态中的虚拟服务器1_370a的逻辑硬件请求I/F350和与其相对应的虚拟服务器的结构。 
图7表示在起动宾OS360时,对于虚拟机器监视器300,在虚拟服务器1_370a(参照图9、图16)的起动中请求必要资源的逻辑硬件请求I/F350a的结构。该逻辑硬件请求I/F350a由管理者在控制台230中设定。 
逻辑硬件请求I/F350a由表示虚拟服务器的通用号码的#351、表示在虚拟服务器中工作的宾OS360的识别符的宾名352、分配给虚拟服务器的I/O转接器353、分配给虚拟服务器的CPU芯片数354、分配给虚拟服务器的存储量355、表示分配给虚拟服务器的资源的方针资源分配方针356、虚拟服务器的优先度357构成。虚拟服务器#351是用于识别系统上的虚拟服务器的识别符,并不一定在所要求的宾一侧设定。宾名352是用于识别各宾OS360的信息(例如,宾OS360的种类(Windows(登录商标)/Linux等)也包含在其中。I/O转接器353是该宾OS请求的I/O转接器180的列表。这里,请求I/O转接器180a和180c。CPU芯片数354是宾OS360a所需要的CPU芯片的数量。这里设需要4个芯片。存储量355是宾OS360a所需要的存储量。这里设需要4GB部分。资源分配方针356表示分配资源时的方针,是本发明中的成为关键的参数。作为资源分配方针356,例如,可以考虑以下的方针。·性能优先:选择缩短组件间的距离的配置 CPU-存储器优先:使得CPU与存储器间的距离缩短(在CPU的存储器访问多时有效) CPU-I/O优先:使得CPU与I/O器件间的距离缩短(在I/O中断多时等有效。) I/O器件-存储器优先:使得缩到I/O器件与存储器间的距 离(在来自I/O器件的DMA传送多时等有效) CPU-I/O器件-存储器优先:使得接近配置各种资源(使虚拟服务器的整体性能平衡的情况)·可靠性优先:使得减少虚拟服务器之间的共同的组件·网络·频带优先:使得加大网络的有效频带·功耗优先:使得减小系统整体的功耗在本实施形态以下的说明中,在性能优先中把所设定的方针的一个例子设为CPU-I/O优先。其中,虚拟服务器1(360a)由于是多处理器系统100上的最初的虚拟服务器,因此能够获得基本上所请求的资源的可能性高。优先度357是在虚拟服务器之间所请求的资源发生了竞争时,用于决定使哪一个虚拟服务器优先而使用的参数。作为表示优先度的一个例子,在这里用整数表示值越大优先度越高。其中,在第1实施形态中,设所有的虚拟服务器具有相同的优先度。 
另外,在本实施形态中,把提供给虚拟服务器的方针仅取为一个,而也可以选择提供优先度高的主要方针和优先度低的次要方针,在满足主要方针的结构中还尽可能满足次要方针的结构。进而,还可以考虑在多个方针中用数值提供加权那样的接口。这里由于为了简化说明,方针仅取为1个。 
图8表示与根据图7表示的虚拟服务器1_370a的逻辑硬件请求I/F350a,虚拟机器监视器300的逻辑硬件分配处理单元801进行了物理资源的分配的结果相对应的物理-逻辑硬件分配表310的结构和内容。另外,关于虚拟机器监视器300进行硬件分配硬件资源的处理,在后述的图55~图63中详细叙述。 
物理-逻辑硬件分配表310由表示虚拟服务器的通用号码的#351、表示该虚拟服务器的起动状态的on/off311、作为表示该虚拟服务器使用的资源的使用资源#的I/O转接器312、CPU芯片313、存储器314、使用组件#315、使用网络#316构成。在本实施形态中,根据逻辑硬件请求I/F350a,在虚拟服务器1_370a中分配I/O转接器#1、3,CPU芯片#0、1、2、3,DIMM#4、5、6、7。 另外,在使用资源#的存储器314中相对应的物理地址从0x1_0000_0000起成为4GB部分(有时把该0x1_0000_0000称为虚拟服务器1的基本地址)。另外,表示了作为搭载了这些资源的组件的识别符,在使用组件#315中设定110a、110b、160a,作为在连接中使用的网络#,在使用网络#316中设定了#1、5、6的例子。 
关于从图7的逻辑硬件(HW)请求I/F350生成图8的物理-逻辑H/W分配表310的具体的顺序在后面叙述。 
图9表示根据上述逻辑硬件请求I/F350a和物理-逻辑硬件(HW)分配表310,虚拟机器监视器300的逻辑硬件分配处理单元801在多处理器系统100上分配的虚拟服务器1_370a。图中用虚线包围的部分表示在图1的资源中分配给虚拟服务器1-370a的资源。 
<第1实施形态中的动作>
以下,用图10~17说明本第1实施形态的动作。 
图10和图11表示由虚拟机器监视器300的逻辑硬件分配处理单元801如上述图9所示那样分配了虚拟服务器1_370a以后,对于接着的虚拟服务器2的逻辑硬件请求I/F350b以及350c。逻辑硬件请求I/F350b和350c每一个都请求相同的I/O转接器353、CPU芯片数354、存储量355。差别仅是资源分配方针356,在逻辑硬件请求I/F350b中成为「CPU-存储器优先」,而在逻辑硬件请求I/F350c中成为「I/O-存储器优先」。在以下的例子中,表示根据这些方针的差别,分配不同资源的情况。 
图12和图13表示对于上述图10、图11的对虚拟服务器2的逻辑硬件请求I/F350,虚拟机器监视器300的逻辑硬件分配处理单元801进行了分配的结果的二种物理-逻辑硬件分配表310。每一个I/O转接器312都是相同的#2,但是使用CPU芯片数313和存储器314不同。在图12的逻辑物理-逻辑硬件分配表310b的一方中,分配CPU芯片#4、5和DIMM#8、9、10、11,而在图13的物理-逻辑硬件分配表310c中,分配存储器CPU芯片#6、7和DIMM#0、1、2、3。在这两种以外也可以考虑资源的分配方法,而作为排 除本质上没有变化的分配方法等,加入若干种分配方法的候选。 
在图10的逻辑硬件请求I/F350b中,由于请求CPU-存储器优先的方针,因此向虚拟服务器2分配CPU插口110c的CPU芯片#4、#5和与CPU插口110c连接的存储器#8~11,通过使资源的距离为0,选择CPU与存储器的距离短的一方。另一方面,在图11的逻辑硬件请求I/F350c中,由于请求I/O-存储器优先的方针,因此选择最接近I/O转接器#2的存储器#0~#3,使得I/O器件与存储器的距离成为最短。这样,虚拟机器监视器300的逻辑硬件分配处理单元801根据所请求的方针,能够优化分配给虚拟服务器的硬件资源。 
图14表示与图12表示的分类表310b相对应,虚拟机器监视器300计算了各资源间的距离的资源间距离计算表600b。资源间距离计算表600b是表示虚拟服务器的识别符(或者连续号码)的虚拟服务器的号码#351和用于在各个虚拟服务器号码#351计算虚拟服务器内的资源之间的距离的表。在类别601中,存在表示与资源分配方针相对应的CPU-存储器、I/O-存储器、CPU-I/O的3种类别。根据所属的组件#和组件间距离对应表500,虚拟机器监视器300在每一个类别601,计算从资源from602到资源to603的组件间距离604。在本例中,由于CPU芯片#4、#5和DIMM#8、9、10、11的每一个都搭载在同一个组件110c上,因此组件间距离604成为0。另一方面,由于搭载了I/O转接器#2的组件160a与搭载了DIMM#8、9、10、11的组件110c的距离如果根据组件间距离对应表500是2,因此组件间距离604成为2,CPU芯片#4、5与I/O转接器#2间的距离也同样成为2。最后,在每一个类别601计算组件间距离的总和605。在本例中,成为CPU-存储器是0,I/O-存储器是2,CPU-I/O是4。 
图15表示与图13表示的物理-逻辑硬件分配表310c相对应的资源间距离计算表600c。搭载了CPU芯片#6、#7的组件110d与搭载了DIMM#0、1、2、3的组件110a之间的距离由于是1,因 此组件间距离604成为1。另一方面,搭载了I/O转接器#2的组件160a与搭载了DIMM#0、1、2、3的组件110a之间的距离由于是1,因此组件间距离604成为1。最后,搭载了CPU芯片#6、7的组件110d与搭载了I/O转接器#2的组件160a的距离由于是2,因此组件间距离604成为2。组件间距离的总和605成为CPU-存储器是2,I/O-存储器是1,CPU-I/O是4。 
从如以上那样计算了资源间距离计算表600的资源的分配候选中,选择最满足资源分配方针的候选。在350b中的「CPU-存储器优先」的情况下选择组件间距离的总和605的CPU-存储器的值小的资源分配。与此不同,在「I/O-存储器优先」的情况下,选择组件间距离的总和605的I/O-存储器的值小的资源分配。在把物理-逻辑硬件分配表310b与310c比较的情况下,在「CPU-存储器优」的情况下选择310b,在「I/O-存储器优先」的情况下选择310c的资源分配。 
图16是与图12表示的物理-逻辑硬件分配表310b相对应的虚拟服务器2_370b的结构图。虚拟服务器2_370b如图中用点划线所示,由CPU插口110c和与其连接的存储器以及I/O转接器180b构成。 
图17是与图13表示的物理-逻辑硬件分配表310c相对应的虚拟服务器的结构图。虚拟服务器2_370b如图中用点划线所示,由CPU插口110d上的CPU芯片#6、7,CPU插口110a上的DIMM#0、1、2、3,I/O转接器180b构成。 
依据以上的例子,根据逻辑硬件请求I/F350的资源分配方针的差别,即使在要求了相同的I/O转接器、CPU芯片数、存储量的情况下,也能分配不同的资源,能自动地构成管理者所希望的虚拟服务器。 
<变形例1>
接着表示第1实施形态的第1变形例。图18~图20中,图18表示本变形例1中的虚拟服务器1_370a的逻辑硬件请求I/ F350d,图19表示从该逻辑硬件请求I/F350d,虚拟机器监视器300的逻辑硬件分配处理单元801进行了分配的结果的物理-逻辑硬件分配表310d,图20表示虚拟服务器1_370a的结构。作为I/O转接器请求180a和180c这一点与上述第1实施形态相同,而与上述第1实施形态不同点在于虚拟服务器1请求2个CPU芯片和8GB的存储器。对于该请求,虚拟机器监视器300的逻辑硬件分配处理单元801从作为请求方针的CPU-I/O优先的方针进行了图19、20表示的资源的分配。 
接着,在图21~28中,表示在上述图18~图20的虚拟服务器1的分配以后,进行了图21表示的逻辑硬件请求I/F350e的虚拟服务器2的资源请求,进行了图22表示的逻辑硬件请求I/F350f的虚拟服务器2的资源请求的情况。虚拟服务器2与上述第1实施形态相同,请求I/O转接器180b和CPU芯片数2、4GB的存储器。但在图21的逻辑硬件请求I/F350e中,作为资源分配方针356,指定「CPU-存储器优先」,在350f中,作为资源分配方针356,指定「CPU-I/O优先」。 
图23和图24是分别在上述图21、图22的物理-逻辑硬件分配表310e、310f的对于虚拟服务器2的不同资源分配的例子中,虚拟机器监视器300的逻辑硬件分配处理单元801进行了分配的结果。在物理-逻辑硬件分配表310e中,在同一个CPU插口110c上分配CPU芯片和存储器,而在物理-逻辑硬件分配表310f中,在CPU插口110a上分配CPU芯片,在CPU插口110d上分配DIMM。 
图25和图26是根据物理-逻辑硬件分配表310e310f的每一个的分配,计算资源间距离计算表600e、600f的结果。在图25的资源间距离计算表600e中,组件间距离的总和605的CPU-存储器成为0,I/O-存储器成为2,CPU-I/O成为4。另一方面,在图26的资源间距离计算表600f中,组件间距离的总和605的CPU-存储器成为2,I/O-存储器成为2,CPU-I/O成为2。其结果,在「CPU-存储器优先」的情况下选择CPU-存储器的组件间距离的总 和605小的310e的分配,在「CPU-I/O优先」的情况下选择CPU-I/O的组件间距离的总和605小的310f的分配。 
图27是与上述图23的物理-逻辑硬件分配表310e相对应的虚拟服务器的结构图。虚拟服务器2-370b由CPU插口110c上的CP0芯片#4、5和DIMM#8、9、10、11和I/O转接器180b构成。 
图28是与上述图24的物理-逻辑硬件分配表310f相对应的虚拟服务器的结构图。虚拟服务器2_370b由CPU插口110a上的CPU芯片#0、1,CPU插口110d上的DIMM#12、13、14、15,I/O转接器180b构成。 
以上是第1实施形态的第1变形例。 
<变形例2>
接着表示第1实施形态的第2变形例。图29~图31中,图29表示本变形例2中的虚拟服务器1_370a的逻辑硬件请求I/F350g,图30表示物理-逻辑硬件分配表310g,图31表示虚拟服务器1_370a的结构。作为I/O转接器,请求180a和180c这一点与上述的第1实施形态相同,但CPU芯片仅请求一个,存储器也仅请求2GB。另外,作为方针,通过CPU-存储器-I/O优先,选择各组件间的距离尽可能接近的配置。这种情况由于是最初的虚拟服务器,因此首先选择与连接所必需的I/O转接器180a、180c的I/O插孔160a接近的CPU插口110a,通过分配110a上的CPU芯片和DIMM,使得能够满足该方针。 
图32~图34表示对于虚拟服务器2的只是资源分配方针356不同的3个逻辑硬件请求I/F350。在全部中共用,以请求I/O和转接器353是180b,请求CPU芯片数354是1,请求存储量355是2GB优先度是5共用。图32的逻辑硬件请求I/F350h作为资源分配方针356指定「可靠性优先」。图33的逻辑硬件请求I/F350i作为资源分配方针356指定「频带优先」。图34的逻辑硬件请求I/F350j作为资源分配方针356指定「省电优先」。以下,观察根据 各方针选择哪种结构。 
图35~图36表示与两种资源分配相对应的物理-逻辑硬件列表310。在图35的物理-逻辑硬件分配表310h中,作为CPU芯片和存储器分配与虚拟服务器1使用的不同的CPU插口110b上的CPU芯片#2和DIMM#4、5,满足所请求的可靠性优先的方针。另一方面,在图36的物理-逻辑硬件分配表310i中,分配与虚拟服务器1使用的相同的CPU插口110a上的CPU芯片#1和DIMM#2、3,满足所请求的频带优先的方针。 
在分配方针不是至上述实施形态为止那样的距离优先的情况下,作为资源分配的基准,需要代替上述资源间距离计算表600的其它的指标。 
图37~图38表示代替上述资源间距离计算表600的组件·网络分配表650。组件·网络分配表650是虚拟机器监视器300的逻辑硬件分配处理单元801用于调查在多个虚拟服务器之间共用的组件或者网络以及有效网络频带的表,由表示虚拟服务器的识别符或者连续号码的虚拟服务器#351、表示在虚拟服务器之间共用的组件的识别符的共用组件#651、表示为了使用共用的组件而利用的网络的识别符的共用网络#652的项目,进而,与在各虚拟服务器内使用的所有网络相对应的网络#653、共用数654、有效频带655这样的各项目构成。 
图37的组件·网络分配表650h是与图35的物理-逻辑硬件分配表310h的资源分配相对应的表。作为共用组件#651,I/O插孔160a与其相当,没有共用网络#652。由于没有对各网络#653共用,因此共用数654成为1。有效频带655成为用共用数654(即虚拟服务器的数)除与物理网络结构表550的各网络#555相对应的频带560的值得到的值。这种情况下,由于共用数是1,因此网络的频带560的值直接成为有效频带655。 
图38的组件·网络分配表650i是与图36的物理-逻辑硬件分配表310i的资源分配相应的表。作为共用组件#651,I/O插孔 160a和CPU插口110a与相当。另外,作为共用网络#652,与连接I/O插孔160a和CPU插口110a的网络#5相当。在这种情况下由于共用数654是2,因此有效频带655成为原有网络频带560的一半的值。 
在资源分配方针356表示「可靠性优先」的情况下,选择共用组件数·公用网络数尽可能少的结构。这种情况下,由于虚拟服务器1和虚拟服务器2请求的I/O转接器位于相同的I/O插孔160a上,因此不可能使共用组件数成为0。然而,在把分别与物理-逻辑硬件分配表310h和310i相对应的组件·网络分配表650h、650i进行比较的情况下,可知与图35表示的物理-逻辑硬件分配表310h相对应的一方的共用组件数少。从而,对于所请求的方针「可靠性优先」的图32的逻辑硬件请求I/F350h的请求,选择图35表示的物理-逻辑硬件分配表310h的分配。 
在资源分配方针356是「频带优先」的情况下选择网络的有效频带尽可能大的结构。这种情况下,如果把图37的组件·网络分配表650h与650i进行比较,则组件·网络分配表650h结构的一方有效频带大。从而,对于方针是「频带优先」的逻辑优先请求I/F350i的请求,选择有效频带成为最大的图37的物理-逻辑硬件分配表310h的分配。 
图39表示在与所请求的方针是省电优先的情况下使用的图35的物理-逻辑硬件分配表310h相对应的分配资源功耗计算表700h。本表不是由虚拟服务器单位,而是对于在系统整体中使用的资源和组件,由虚拟机器监视器300构成,对象的硬件由表示是资源还是组件的类别701、表示资源种类/组件种类的702、表示使用资源或者组件的识别符的使用资源/组件#703、表示各资源的功耗的功耗704以及功耗的总和705构成。作为资源,有CPU芯片、存储器、I/O插槽、I/O转接器的各项目,列举了所使用的资源。另外,功耗704参照物理组件结构表400的资源功耗430以及I/O转接器结构表450的功耗475的项目,设计各个值。类别701在组件的项目中, 列举使用各资源时成为必需的组件组间的功耗704根据物理组件结构表400的组件功耗435设定。功耗的总和705作为功耗704的总和,由虚拟机器监视器300计算。图40表示与图36的物理-逻辑硬件分配表310i相对应的分配资源功耗计算表700i。由于正在使用的资源的数本身在物理-逻辑硬件分配表310h和310i中没有变化,因此虽然资源的项目与正在使用的资源的号码#有差别但是几乎相同。产生差别的是组件的项目,在物理-逻辑硬件分配表310h中使用的组件是3个,而在物理-逻辑硬件分配表310i中使用的组件合计成为2个。从而,如果比较功耗的总和705,则在图39的分配资源功耗计算表700h中是345[W]这样的值,而在700i中成为265[W]这样的值。 
在逻辑硬件请求I/F350的资源分配方针356是「省电优先」的情况下,虚拟机器监视器300选择功耗的总和705尽可能小的分配方法。从而,对于方针是「省电优先」的图34的逻辑硬件请求I/F350j的请求,虚拟机器监视器300的逻辑硬件分配处理单元801选择图36的物理-逻辑硬件分配表310i的分配。 
图41是与图36的物理-逻辑硬件分配表310h相对应的虚拟服务器的结构图。 
图42是与图37的物理-逻辑硬件结构表310i相对应的虚拟服务器的结构图。 
以上是第1实施形态的第2变形例。 
另外,上述中在优先功耗的方针的情况下,代替功耗,也可以使用各资源以及组件的发热量。 
<第1实施形态1中的资源分配的具体顺序>
这里,使用图55~62详细说明第1实施形态中从逻辑硬件结构请求I/F350生成物理-逻辑硬件结构表310的顺序。 
图55表示在虚拟机器监视器300的逻辑硬件分配处理单元801中进行的逻辑硬件分配处理整体的流程。成为首先分配由宾OS360请求的I/O转接器,进而,从未分配的CPU、存储器中选择 并分配,遵从所请求的方针进行评价,选择最接近所请求的方针的CPU·存储器的组合这样的顺序。 
首先进入到步骤800。虚拟机器监视器300的逻辑硬件分配处理单元801在物理-逻辑硬件分配表310中确保虚拟服务器351的项目。然后进入到步骤805。 
步骤805判定在逻辑硬件请求I/F350a中请求的I/O转接器353的分配请求是专有还是共有。如果判定结果是专有则进入到步骤810,如果是共有则进入到步骤830。 
步骤810判定所请求的I/O转接器353是否能够分配。在已经分配到其它的虚拟服务器中而不可分配的情况下,进入到步骤820,如果能分配则进入到步骤830。 
步骤820是对于逻辑硬件请求I/F350应答错误的步骤。错误应答以后,进入到步骤890。 
步骤830成为I/O转接器分配处理。图56表示I/O转接器分配处理830的子程序的流程。该子程序结束以后,进入到步骤840。 
步骤840是把分配候选CPU841和分配候选存储器842设定为空集合( 
Figure G2008102106429D00251
)的步骤。这里,分配候选CPU841和分配候选存储器842表示在至此为止的组合中最接近分配方针的CPU与存储器的组合的候选。在该时刻由于还没有选择CPU·存储器,因此作为空集合( 
Figure G2008102106429D00252
)。然后进入到步骤850。 
步骤850是从未分配的CPU·存储器中选择满足请求的CPU·存储器的处理。图57表示CPU/存储器选择处理850的子程序的流程。在该子程序结束时,在有错误应答的情况下进入到步骤820。没有错误应答的情况下进入到步骤860。 
步骤860是对于在步骤850中选择的CPU·存储器,进行遵从分配方针的评价的步骤。图58表示方针评价860的子程序的流程。在该子程序结束以后,进入到步骤870。 
步骤870是判定是否还有未分配的CPU/存储器的组合的 步骤。在还剩有的情况下返回到步骤850。在没有的情况下进入到步骤880。 
步骤880是把分配候选CPU841和分配候选存储器842分配到物理-逻辑硬件分配表310的虚拟服务器351的处理。图63表示CPU/存储器分配处理880的子程序的流程。如果该子程序结束,则逻辑硬件分配处理结束。 
步骤890是在步骤850中,在分配的过程中出错的情况(或者在步骤810中分配的资源不足的情况)下,清除物理-逻辑硬件分配表310的虚拟服务器351的项目的步骤。该项目的清除以后,逻辑硬件分配处理结束。 
图56表示I/O转接器分配处理830的子程序的流程。首先,进入到步骤900。 
步骤900是从I/O转接器结构表450选择与逻辑硬件请求I/F350a的I/O转接器353相对应的I/O转接器#455,添加到物理-逻辑硬件结构表310的虚拟服务器351的项目的使用I/O转接器312的步骤。然后进入到步骤901。 
步骤901是从I/O转接器结构表450选择与I/O转接器353相对应的I/O插槽#465,物理组件结构表400的资源种类410从I/O插槽的项目搜索与I/O插槽#465相对应的项目,把相对应的组件420添加到物理-逻辑硬件结构表310的虚拟服务器351的项目的使用组件315的步骤。然后进入到步骤902。 
步骤902是判定是否分配了所有的I/O转接器353的步骤。在还残存没有分配的转接器的情况下,返回到步骤900。在没有残存的情况下,I/O转接器分配处理830结束。 
图57表示CPU/存储器选择处理850的子程序。首先进入到步骤905。 
步骤905是判定是否能够分配在逻辑硬件请求I/F350a请求的CPU芯片数354和存储量355的步骤。在不能分配的情况下进入到步骤907。如果能分配则进入到步骤906。 
步骤906是从未分配的组合中,选择满足在逻辑硬件请求I/F350a请求的CPU芯片数354和存储量355的CPU芯片和存储器,设定在暂时分配CPU851和暂时分配存储器852中的步骤。由此,CPU/存储器选择处理850结束。 
步骤907是错误应答的步骤。由此,CPU/存储器选择处理850结束。 
图58表示方针评价860的子程序的流程。首先进入到步骤910。 
步骤910是根据逻辑硬件请求I/F350a的分配方针356进行条件分支的步骤。在分配方针356是CPU-存储器优先、CPU-I/O优先、I/O-存储器优先、CPU-I/O-存储器优先的任一种的情况下,进入到步骤920。在方针356是可靠性优先的情况下,进入到步骤930。在方针356是频带优先的情况下,进入到步骤940。在方针356是省电优先的情况下,进入到步骤950。 
步骤920是组件间距离计算处理。图59表示子程序的流程。在该子程序结束后,进入到步骤911。 
步骤930是组件共用数计算处理。图60表示子程序的流程。结束后进入到步骤911。 
步骤940是有效频带计算处理。图61表示子程序的流程。结束后进入到步骤911。 
步骤950是功耗计算处理。图62表示子程序的流程。结束后进入步骤911。 
步骤911是判定分配候选CPU841和分配候选存储器842是否是空集合( 
Figure G2008102106429D00271
)的步骤。在是空集合( 
Figure G2008102106429D00272
)的情况下,进入到步骤913。不是的情况下,进入到步骤912。 
步骤912是与分配候选方针值843相比较,判定暂时分配方针值853是否小的步骤。这里,作为方针值,是遵从各分配方针356,用于定量地评价所分配的资源·组件的结构的指数,定义为越是小的值越接近所请求的方针。在暂时分配方针值853比分配候选方针值843 小的情况下进入到步骤913。否则的情况下,方针评价860结束。 
步骤913是把暂时分配CPU851、暂时分配存储器852、暂时分配方针值853分别代入到分别候选CPU841、分配候选存储器842、分配候选方针值843的步骤。通过该处理,在分配候选CPU841、分配候选存储器842、分配候选方针值843中,保持在此前的分配中方针值最小的组合的CPU·存储器的组合。通过该处理,方针评价860结束。 
另外,在图58的步骤913中,分配候选方针值843以接续暂时分配方针值853的值的形式设定,在第1次的步骤912中,分配候选方针值843的初始值不确定,但是由于第1次在图55的步骤840中,分配候选CPU841和分配候选存储器842设定为 
Figure G2008102106429D00281
因此在步骤911的判定中,一定朝向步骤913,不通过步骤912。另外,也可以用预定的最大值把分配候选方针值843初始化。 
图59表示组件间距离计算920的子程序的流程。首先进入到步骤921。 
步骤921是使用逻辑硬件请求I/F350a的虚拟服务器351的I/O转换器353、暂时分配CPU851、暂时分配存储器852生成资源间距离计算表600的步骤。具体地讲,由以下的处理构成。(1)从物理组件结构表400求各资源的所属的组件。(2)根据组件间距离对应表500,把各组件间的距离设定为资源间距离计算表600的组件间距离604。(3)在每一个类别601中求组件间距离604的合计,代入到∑605。然后,进入到步骤922。 
步骤922是根据逻辑硬件请求I/F350a的分配方针356进行条件分支的步骤。在方针356是CPU-存储器优先的情况下,进入到步骤923。在方针356是CPU-I/O优先的情况下,进入到步骤924。在方针356是I/O-存储器优先的情况下,进入到步骤925。在方针356是CPU-I/O-存储器优先的情况下,进入到步骤926。 
步骤923是把与资源间距离计算表600的类别601的CPU-存储器相对应的∑605作为暂时分配方针值853的步骤。由此,组件间距离计算920结束。 
步骤924是把与资源间距离计算表600的类别601的CPU-I/O相对应的∑605作为暂时分配方针值853的步骤。由此,组件间距离计算920结束。 
步骤925是把与资源间距离计算600的类别601的I/O-存储器相对应的∑605作为暂时分配方针值853的步骤。由此,组件间距离计算920结束。 
步骤926是把资源间距离计算表600的所有类别601的∑605的合计作为暂时分配方针值853的步骤。由此,组件间距离计算920结束。 
图60表示组件共用数计算930的子程序的流程。首先进入到步骤931。 
步骤931是把使用了逻辑硬件请求I/F350a的I/O转接器353、暂时分配CPU851、暂时分配存储器852的虚拟服务器351包括在内,对于所有分配完毕的虚拟服务器,生成组件·网络分配表650的步骤。具体地讲,由以下处理构成。(1)从物理组件结构表400求各资源所属的组件。(2)把在不同虚拟服务器之间共用的组件设定到共用组件#651中。(3)把共用组件#的数设定到共用数654中。然后,进入到步骤932。步骤932是把与组件·网络分配表650的虚拟服务器351相对应的共用数654作为暂时分配方针值853的步骤。由此,组件共用数计算930结束。 
图61表示有效频带计算940的子程序的流程。首先进入到步骤941。 
步骤941是把使用了逻辑硬件请求I/F350a的I/O转接 器353、暂时分配CPU851、暂时分配存储器852的虚拟服务器351包括在内,对于所有分配完毕的虚拟服务器,生成组件·网络分配表650的步骤。具体地讲,包括以下的处理。(1)从物理组件结构表400求出各资源所属的组件。(2)从物理网络结构表550求在组件间使用的网络,设定到网络#653中。(3)把在不同虚拟服务器之间共用的网络#653设定到共用网络#652中的中。(4)从物理网络结构表550的频带560求各网络的频带,把用共有数654除该频带的值设定到有效频带655中。然后,进入到步骤942。 
步骤942是把与组件·网络分配表650的虚拟服务器351相对应的有效频带655的负值作为暂时分配方针值853的步骤。这里,定义为方针值853越小越接近所请求的方针。另一方面,有效频带的绝对值越大越好。因此,通过把有效频带的值为负的值作为暂时分配方针值853,使得最终选择有效频带最大的结构。由此,有效频带计算940结束。 
图62表示功耗计算950的子程序的流程。首先进入到步骤951。 
步骤951是把使用了逻辑硬件请求I/F350a的I/O转接器353、暂时分配CPU851、暂时分配存储器852的虚拟服务器351包括在内,对于所有分配完毕的虚拟服务器,计算分配资源功耗计算表700的步骤。具体地讲,包括以下的处理。(1)从物理组件结构表400求各资源所属的组件。(2)从物理组件结构表400,对分配完毕的所有资源的资源功耗430以及组件求功耗,设定到计算表700的功耗704中。(3)计算所有功耗7404的合计,设定到∑705中。然后进入到步骤952。 
步骤952是把分配资源功耗计算表700的功耗合计705作 为暂时分配方针值853的步骤。由此,功耗计算950结束。 
图63表示CPU/存储器分配处理880的子程序的流程。首先进入到步骤960。 
步骤960是把分配候选CPU841添加到物理-逻辑硬件结构表310的虚拟服务器351的项目的使用CPU芯片313,把分配候选存储器842添加到使用存储器314中的步骤。然后进入到步骤961。 
步骤961是物理组件结构表400的资源种类410从CPU芯片的项目搜索与CPU芯片313相对应的项目,把相对应的组件420添加到物理-逻辑硬件结构表310的虚拟服务器351的项目的使用组件315中,同样是资源种类410从存储器的项目添加到与存储器314相对应的项目的使用组件315中的步骤。然后进入到步骤962。 
步骤962是判定是否分配了所有的分配候选CPU841以及分配候选存储器842的步骤。在还有未分配的分配候选CPU841以及分配候选存储器842情况下,返回到步骤960。如果没有,则CPU/存储器分配处理880结束。 
通过以上一系列的动作,虚拟机器监视器300能够根据从控制台230指示的逻辑硬件请求I/F350,生成物理-逻辑硬件分配表310。 
如上所述,依据本第1实施形态,虚拟机器监视器300取得表示多处理器系统100内的组件的物理位置信息的组件间的距离,预先设定组件间距离对应表500,另外,取得物理的网络结构或者各资源的功耗,预先设定物理组件结构表400和I/O转接器结构表450以及物理网络结构表。而且,虚拟机器监视器300从控制台230接受作为虚拟服务器的生成(或者设定)请求的逻辑硬件请求I/F350,首先,选择所请求的I/O转接器180,向所请求的虚拟服务器进行I/O转接器180的专有分配。接着,虚拟机器监视器300通过在虚拟服务器中从上述组件间距离对应表500或者物理组件结构表400,参照资源的物理位置信息或者功耗,从进行专有分配的I/O器件,选择满足所请求的方针的CPU和存储器分配到虚拟服务器中,能够对 所请求的方针提供最佳的虚拟服务器。 
特别是,在一个物理计算机中使多个虚拟服务器(宾OS)工作的情况下,即使在每一个虚拟服务器中方针不同,也能从I/O器件、CPU插口、存储器的物理位置信息,在各虚拟服务器中自动分配最佳的结构,能够提高虚拟计算机的可用性。<第2实施形态>(逻辑硬件结构通知I/F) 
图43~图48表示本发明的第2实施形态。另外,本第2实施形态的多处理器系统100的结构与上述第1实施形态相同。 
图43表示虚拟服务器1_370a的逻辑硬件请求I/F350k。在逻辑硬件请求I/F350k中,请求4个CPU芯片和8GB的存储器,作为I/O转接器,请求180d和180f。 
图44表示与上述图43的逻辑硬件请求I/F350k相对应的物理-逻辑硬件分配表310k。图45中表示分配在图1的多处理器系统100上的虚拟服务器1_370a的配置。图中用虚线包围的部分是虚拟服务器1_370a。 
这里,考虑虚拟服务器1_370a上的宾OS1_360a的动作。宾OS1_360a是多处理器系统100上的OS,具有与以上述那样的ACPI为基准的CPU和存储器有关的Affinity控制的功能。通过根据Affinity控制的功能,对宾OS360上的应用,分配CPU插口110c上的CPU芯片#4、5和DIMM#8、9、10、11,或者分配CPU插口110d上的CPU芯片#6、7和DIMM#12、13、14、15,缩短从CPU芯片到存储器的访问的等待时间,谋求提高性能。然而为了使用这种Affinity控制的功能,宾OS1_360a需要知道虚拟服务器1的硬件配置。为此,需要从虚拟机器监视器300向宾OS360的结构信息通知I/F(逻辑硬件结构信息通知I/F340)。 
图46表示位于虚拟机器监视器300上的物理硬件结构信息750。这是从物理-逻辑硬件分配表310二次制作的信息,由表示CPU芯片120的识别符或者连续号码的主CPU芯片#751、表示所分配的存储器150的物理地址的起点的主物理地址基础752以及表示所 分配的存储器150的量的主物理地址范围753构成。然而,即使对宾OS1_360a直接通知该信息,宾OS1-360a也不能正确地进行Affinity控制。这是因为虚拟机器监视器300分配到宾OS360a的多处理器系统100上的主物理地址基础与宾OS1_360a中的宾物理地址基础不同。 
图48表示主物理地址空间与宾物理地址空间的关系。对于主物理地址基础的0x2_0000_0000分配了宾OS1-360a的情况下,产生地址的移动,使得宾物理地址基础的0x0_0000_0000相当于主物理地址基础的0x2_0000_0000。从而,在对于宾OS1-360a通知逻辑硬件结构信息的情况下,需要考虑该移动进行通知。 
图47表示从虚拟机器监视器300对宾OS1-360a的逻辑硬件结构信息通知I/F340。逻辑硬件结构信息通知I/F340由表示分配到宾OS360的CPU芯片120的识别符或者连续号码的宾CPU芯片#341、表示分配到宾OS360的基础地址的宾物理地址基础342、表示分配到宾OS360的地址范围的宾物理地址范围343构成。图47中,宾CPU芯片#341在宾OS360内从0起顺序地重新排号。宾物理地址基础342成为从主物理地址基础752减去虚拟服务器1-370a的基础地址0x2_0000_0000的值。宾物理地址范围343设是与主物理地址范围753相同的值。根据上述,宾OS1-360a生成为了进行以ACPI为基础的Affinity控制而能够利用的使用逻辑硬件结构信息。虚拟机器监视器300生成该逻辑硬件结构信息通知I/F340,通知给宾OS360。另外,这里采用了仅通知CPU#341和存储器的地址范围的组,而还能够通知更高度的信息(例如包括资源间距离计算表600那样的距离的信息)。这种情况下,把主物理地址变换为宾物理地址这样的原则没有改变。 
如上所述,依据本发明的第2实施形态,虚拟机器监视器300对虚拟服务器分配适当的资源,虚拟服务器上的宾OS360通过取得虚拟机器监视器300生成的逻辑硬件结构信息通知I/F340,能够正确地利用所使用的组件的物理位置信息,能够使宾OS360的 Affinity控制正确动作,确保与物理服务器同等的性能或者可靠性。<第3实施形态>(资源的再分配) 
使用图43~图45以及图49~图54,说明本发明的第3实施形态。与上述第2实施形态相同,图45表示根据图43表示的逻辑硬件请求I/F350k,虚拟机器监视器300像图44表示的物理-逻辑硬件分配表310k那样分配了虚拟服务器1_370a的结果。 
在如图45那样分配了虚拟服务器1_370a的状态下,假定与图49表示的虚拟服务器2有关的逻辑硬件请求I/F350m从控制台230输入到虚拟机器监视器300。在图49的逻辑硬件请求I/F350m中,优先度357成为10,成为比虚拟服务器1的逻辑硬件请求I/F350k的优先度5大的值。在这种情况下,向虚拟机器监视器300请求再次分配已经分配到虚拟服务器1的资源,使得满足优先度更高的虚拟服务器2的资源分配方针。 
图50表示在虚拟服务器1_370a中保持分配完毕的资源不变,虚拟机器监视器300对虚拟服务器2_370b分配了资源时的物理-逻辑硬件分配表310m。另外,图51表示从虚拟服务器1_370a暂时接受分配完毕的资源,在对虚拟服务器2_370b分配了资源以后,重新在虚拟服务器1_370a中分配了资源时的物理-逻辑硬件分配表310n。另外,图52表示根据图50的物理-逻辑硬件分配表310m计算的资源间距离计算表600m,图53表示根据图51的物理-逻辑硬件分配表310n计算的资源间距离计算表600n。 
图49的逻辑硬件请求I/F350m的资源分配方针356成为「I/O-存储器优先」,如果比较资源间距离计算表600的「I/O-存储器」的组件间距离的总和605,则图52的计算表600m中是2,而图53的计算表600n中成为1,可知进行了资源的再配置成为能够更满足虚拟服务器2的资源分配方针的配置。图54表示根据物理-逻辑硬件分配表310n,虚拟机器监视器300在多处理器系统100上分配了虚拟服务器1_370a和虚拟服务器2_370b的情况。 
这样在有优先度不同的多个逻辑硬件请求的情况下,通过 从优先度高的逻辑硬件请求I/F350起顺序分配资源,对于优先度更高的请求能够优先分配资源。其中,在进行资源的再配置的情况下,有时需要CPU以及存储器的移动。关于CPU的移动,需要寄存器内容的复制、超高速缓冲存储器或者TLB的闪存等,另外,关于存储器的移动需要存储器的复制。关于CPU或者存储器的具体的移动方法可以使用已知或者众所周知的方法。 
如上所述,依据本发明的第3实施形态,在向多处理器系统100新分配虚拟服务器时,在暂时释放已经分配的资源以后,通过按照虚拟服务器的优先度高的顺序进行资源的再次分配,能够构成更适宜的虚拟服务器。 
产业上的可利用性
如上所述,本发明能够适用于由多个处理器或者I/O器件构成,分割为多个虚拟服务器的计算机系统及其虚拟机器监视器。 

Claims (11)

1.一种虚拟机器监视器,具有包括多个处理器、多个存储器和多个I/O器件的计算机资源,上述计算机资源分成组并所属于各自的组件,在这些组件相互之间使用内部网络连接的多处理器系统上使虚拟服务器工作,所述虚拟机器监视器的特征在于:
上述虚拟机器监视器具备:
物理硬件信息取得单元,取得硬件的结构信息,所述硬件的结构信息包括表示上述多处理器系统的上述处理器、存储器和I/O器件的每一个与其所属的组件的包含关系的信息;
接受单元,接受包括所生成的虚拟服务器的处理器数、存储量和I/O器件以及资源的分配方针的生成请求;
分配处理单元,当把在上述接受到的生成请求中指定的I/O器件分配到上述虚拟服务器中以后,把所请求的个数的处理器和所请求的数量的存储器分配到上述虚拟服务器中,以便满足上述分配方针。
2.根据权利要求1所述的虚拟机器监视器,其特征在于:
上述接受单元接受第2虚拟服务器的生成请求,
上述分配处理单元暂时释放针对上述虚拟服务器已经分配的处理器、存储器的分配,将在上述第2虚拟服务器的生成请求中指定的I/O器件分配给上述第2虚拟服务器,为了满足包含在上述第2虚拟服务器的生成请求中的处理器数、存储量以及资源分配方针,从包含分配被释放的处理器的处理器组以及包含分配被释放的存储器的存储器组,选择向该第2虚拟服务器分配的处理器以及存储器,基于上述分配完毕的虚拟服务器的资源的分配方针,再次配置该虚拟服务器的处理器和存储器。
3.根据权利要求1所述的虚拟机器监视器,其特征在于:
上述物理硬件信息取得单元根据表示上述处理器、存储器和I/O器件的每一个与其所属的组件的包含关系的信息,求出处理器与存储器之间以及处理器与I/O器件之间的距离,
上述分配处理单元,基于上述资源的分配方针,向分配了上述I/O器件的上述虚拟服务器分配处理器和存储器,使得上述处理器、存储器以及I/O器件的距离的总和成为最小。
4.根据权利要求1所述的虚拟机器监视器,其特征在于:
上述分配处理单元把上述一个I/O器件分配给一个虚拟服务器,避免在多个虚拟服务器之间的共用。
5.根据权利要求1所述的虚拟机器监视器,其特征在于:
上述物理硬件信息取得单元根据表示上述处理器、存储器和I/O器件的每一个与其所属的组件的包含关系的信息,求出处理器与存储器之间的距离,
上述分配处理单元在上述资源的分配方针为优先对处理器和存储器的访问的情况下,向分配了上述I/O器件的上述虚拟服务器分配处理器和存储器,使得上述处理器与存储器之间的距离的总和成为最小。
6.根据权利要求1所述的虚拟机器监视器,其特征在于:
上述物理硬件信息取得单元根据表示上述处理器、存储器和I/O器件的每一个与其所属的组件的包含关系的信息,求出处理器与I/O器件之间的距离,
上述分配处理单元在上述资源的分配方针为优先对处理器和I/O器件的访问的情况下,向分配了上述I/O器件的上述虚拟服务器分配处理器和存储器,使得上述处理器与I/O器件之间的距离的总和成为最小。
7.根据权利要求1所述的虚拟机器监视器,其特征在于:
上述物理硬件信息取得单元根据表示上述处理器、存储器和I/O器件的每一个与其所属的组件的包含关系的信息,求出存储器与I/O器件之间的距离,
上述分配处理单元在上述资源的分配方针为优先对存储器和I/O器件的访问的情况下,向分配了上述I/O器件的上述虚拟服务器分配处理器和存储器,使得上述存储器与I/O器件之间的距离的总和成为最小。
8.根据权利要求1所述的虚拟机器监视器,其特征在于:
上述物理硬件信息取得单元根据表示上述处理器、存储器和I/O器件的每一个与其所属的组件的包含关系的信息,求出处理器、存储器以及I/O器件相互的距离,
上述分配处理单元在上述资源的分配方针为确保虚拟服务器的整体性能的情况下,向分配了上述I/O器件的上述虚拟服务器分配处理器和存储器,使得上述处理器、存储器以及I/O器件的距离的总和成为最小。
9.根据权利要求1所述的虚拟机器监视器,其特征在于:
上述物理硬件信息取得单元根据表示上述处理器、存储器和I/O器件的每一个与其所属的组件的包含关系的信息,求出连接处理器、存储器以及I/O器件的内部网络的路径,
上述分配处理单元在上述资源的分配方针为优先虚拟服务器的可靠性的情况下,向分配了上述I/O器件的有上述生成请求的新的虚拟服务器分配处理器和存储器,使得在已经分配的虚拟服务器使用的内部网络和上述新的虚拟服务器使用的内部网络中,重复的内部网络的数量总和成为最小。
10.根据权利要求1所述的虚拟机器监视器,其特征在于:
上述物理硬件信息取得单元根据表示上述处理器、存储器和I/O器件的每一个与其所属的组件的包含关系的信息,求出连接处理器、存储器以及I/O器件的内部网络的路径,
上述分配处理单元在上述资源的分配方针为使内部网络的频带优先的情况下,在已经分配的虚拟服务器使用的内部网络和有上述生成请求的新的虚拟服务器使用的内部网络中,把用虚拟服务器的数除重复的内部网络的频带的值作为有效频带,为了使该有效频带成为最大值,向分配了上述I/O器件的上述新的虚拟服务器分配处理器和存储器。
11.根据权利要求1所述的虚拟机器监视器,其特征在于:
上述物理硬件信息取得单元根据表示上述处理器、存储器和I/O器件的每一个与其所属的组件的包含关系的信息,分别求出上述处理器、存储器、I/O器件以及各自所属的组件的耗电,
上述分配处理单元在上述资源的分配方针为使耗电优先的情况下,向分配了上述I/O器件的与有上述生成请求的新的虚拟服务器分配处理器和存储器,以使已经分配的虚拟服务器的处理器、存储器、I/O器件以及组件的耗电、上述新的虚拟服务器使用的处理器、存储器、I/O器件以及组件的耗电的总和成为最小。
CN2008102106429A 2007-11-28 2008-08-13 虚拟机器监视器 Expired - Fee Related CN101446928B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2007307626 2007-11-28
JP2007-307626 2007-11-28
JP2007307626 2007-11-28
JP2008169803A JP5210730B2 (ja) 2007-11-28 2008-06-30 仮想マシンモニタ及びマルチプロセッサシステム
JP2008-169803 2008-06-30
JP2008169803 2008-06-30

Publications (2)

Publication Number Publication Date
CN101446928A CN101446928A (zh) 2009-06-03
CN101446928B true CN101446928B (zh) 2011-05-25

Family

ID=40742614

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008102106429A Expired - Fee Related CN101446928B (zh) 2007-11-28 2008-08-13 虚拟机器监视器

Country Status (3)

Country Link
JP (1) JP5210730B2 (zh)
KR (1) KR101090651B1 (zh)
CN (1) CN101446928B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014186945A1 (zh) * 2013-05-21 2014-11-27 华为技术有限公司 实现物理资源和虚拟资源对应的方法和基础输入输出系统

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101068537B1 (ko) * 2008-12-18 2011-09-28 한국전자통신연구원 가상화 플랫폼을 이용한 가상화 관리 장치 및 그 제어방법
JP4962921B2 (ja) 2009-08-26 2012-06-27 日本電気株式会社 コンピュータのメモリ再配置制御方法およびプログラム並びにコンピュータシステム
FR2952731B1 (fr) * 2009-11-13 2011-11-04 Bull Sas Procede et dispositif d'optimisation d'execution d'applications logicielles dans une architecture multiprocesseur comprenant plusieurs controleurs d'entree/sortie et unites de calcul secondaires
KR101277274B1 (ko) * 2009-11-27 2013-06-20 한국전자통신연구원 자원 간의 물리적/논리적 관계를 맵핑하는 방법 및 장치
EP2509000A4 (en) 2009-12-04 2017-09-20 Nec Corporation Server and flow control program
US8898663B2 (en) * 2009-12-16 2014-11-25 Symantec Corporation Storage visibility in virtual environments
US8346934B2 (en) 2010-01-05 2013-01-01 Hitachi, Ltd. Method for executing migration between virtual servers and server system used for the same
KR101334842B1 (ko) * 2010-03-02 2013-12-02 한국전자통신연구원 가상화 지원 단말 플랫폼을 위한 가상머신 관리장치 및 방법
JP5600277B2 (ja) * 2010-09-27 2014-10-01 株式会社日立システムズ クラウドサービス再配置システムと方法およびプログラム
US9009509B2 (en) 2011-02-04 2015-04-14 Panasonic Intellectual Property Corporation Of America Virtual computer system, device sharing control method, computer-readable recording medium, and integrated circuit
JP5839032B2 (ja) 2011-02-24 2016-01-06 日本電気株式会社 ネットワークシステム、コントローラ、及びフロー制御方法
JP5696891B2 (ja) * 2011-03-31 2015-04-08 日本電気株式会社 Io構成によるジョブスケジューリング方法
CN102915292B (zh) * 2011-08-02 2015-12-09 北京大学 基于多核处理器的通信方法及其检测方法和控制方法
WO2013042271A1 (ja) 2011-09-22 2013-03-28 富士通株式会社 電子計算機システム及び仮想マシン配置方法
WO2013072978A1 (ja) * 2011-11-18 2013-05-23 株式会社日立製作所 計算機、仮想マシン配備方法及びプログラム
KR101867960B1 (ko) 2012-01-05 2018-06-18 삼성전자주식회사 매니 코어 시스템을 위한 운영체제 동적 재구성 장치 및 방법
US9626222B2 (en) 2012-01-17 2017-04-18 Alcatel Lucent Method and apparatus for network and storage-aware virtual machine placement
CN104303168B (zh) * 2012-04-25 2016-12-07 英派尔科技开发有限公司 用于灵活资源需求应用的认证
JP5881852B2 (ja) * 2012-11-15 2016-03-09 三菱電機株式会社 仮想計算機システム
JP5945512B2 (ja) 2013-02-13 2016-07-05 株式会社日立製作所 計算機システム、及び仮想計算機管理方法
JP5660149B2 (ja) * 2013-03-04 2015-01-28 日本電気株式会社 情報処理装置、ジョブスケジューリング方法およびジョブスケジューリングプログラム
US10229043B2 (en) * 2013-07-23 2019-03-12 Intel Business Machines Corporation Requesting memory spaces and resources using a memory controller
CN104811361B (zh) * 2014-01-24 2018-06-15 新华三技术有限公司 一种生成虚拟化网络设备的方法和装置
JP6323101B2 (ja) 2014-03-20 2018-05-16 富士通株式会社 配置制御プログラム、方法及び装置
WO2016056060A1 (ja) * 2014-10-07 2016-04-14 株式会社日立製作所 計算機及びベクタの設定方法
KR101647099B1 (ko) * 2014-12-18 2016-08-09 권영민 가상화 멀티 세션 지원을 위한 서버 구조
US9535606B2 (en) * 2014-12-22 2017-01-03 Intel Corporation Virtual serial presence detect for pooled memory
US20160179582A1 (en) * 2014-12-23 2016-06-23 Intel Corporation Techniques to dynamically allocate resources for local service chains of configurable computing resources
EP3391213A1 (en) * 2015-12-18 2018-10-24 Telefonaktiebolaget LM Ericsson (publ) Method and arrangement for utilization of a processing arrangement
CN106412075A (zh) * 2016-10-14 2017-02-15 郑州云海信息技术有限公司 一种基于云计算的资源配置方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001282560A (ja) * 2000-03-31 2001-10-12 Hitachi Ltd 仮想計算機制御方法及びその実施装置並びにその処理プログラムを記録した記録媒体
US20030163651A1 (en) * 2002-02-26 2003-08-28 International Business Machines Corporation Apparatus and method of transferring data from one partition of a partitioned computer system to another
US6912625B2 (en) * 2003-01-09 2005-06-28 International Business Machines Corporation Method, system, and computer program product for creating and managing memory affinity in logically partitioned data processing systems
US20060253682A1 (en) * 2005-05-05 2006-11-09 International Business Machines Corporation Managing computer memory in a computing environment with dynamic logical partitioning
JP4702127B2 (ja) * 2006-03-22 2011-06-15 日本電気株式会社 仮想計算機システム及びその物理リソース再構成方法並びにプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014186945A1 (zh) * 2013-05-21 2014-11-27 华为技术有限公司 实现物理资源和虚拟资源对应的方法和基础输入输出系统

Also Published As

Publication number Publication date
CN101446928A (zh) 2009-06-03
JP5210730B2 (ja) 2013-06-12
KR101090651B1 (ko) 2011-12-07
KR20090055459A (ko) 2009-06-02
JP2009151745A (ja) 2009-07-09

Similar Documents

Publication Publication Date Title
CN101446928B (zh) 虚拟机器监视器
US7366798B2 (en) Allocation of differently sized memory address ranges to input/output endpoints in memory mapped input/output fabric based upon determined locations of input/output endpoints
CN102722414B (zh) 用于多根i/o 虚拟化共享系统的i/o 资源管理方法
US7617340B2 (en) I/O adapter LPAR isolation with assigned memory space
US7761622B2 (en) Centralized server rack management using USB
US8819675B2 (en) Virtual machine monitor and multiprocessor system
US8583848B2 (en) Switching circuit connected to an I/O device, and switching circuit connected to an I/O device control method
US7725632B2 (en) Computer system and management method thereof
US20080168208A1 (en) I/O Adapter LPAR Isolation In A Hypertransport Environment With Assigned Memory Space Indexing a TVT Via Unit IDs
US20110271079A1 (en) Multiple-core processor supporting multiple instruction set architectures
US20110239216A1 (en) Service providing system, a virtual machine server, a service providing method, and a program thereof
KR20060045489A (ko) 구성가능 pci 익스프레스 스위치 및 그 제어 방법
EP0924609B1 (en) Apparatus and method for installing software and recording medium storing program for realizing the method
KR20080035456A (ko) 하이퍼트랜스포트 환경에서 i/o 어댑터 lpar 분리
CN101211323B (zh) 一种硬件中断的处理方法和处理装置
US7539129B2 (en) Server, method for controlling data communication of server, computer product
US8910152B1 (en) Migrating a virtual machine by using a hot-plug event
JP4046341B2 (ja) サーバ・システム内のスイッチ・モジュールの負荷を平衡させる方法およびシステムならびにこれらを利用したコンピュータ・システム
TW201738762A (zh) 用於減少多節點機箱系統之管理埠之電腦可讀取儲存裝置、系統及方法
US11922072B2 (en) System supporting virtualization of SR-IOV capable devices
US20080168207A1 (en) I/O Adapter LPAR Isolation In A Hypertransport Envikronment Employing A Content Addressable Memory
JP2010218449A (ja) リソース割り当てシステム、及びリソース割り当て方法
US7200700B2 (en) Shared-IRQ user defined interrupt signal handling method and system
JP2020173603A (ja) デバイス通信制御モジュールおよびデバイス通信制御方法
CA2299550A1 (en) Dynamic i/o allocation in a partitioned computer system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110525

Termination date: 20170813