专利名称:能够支持cpu虚拟化的计算机服务器的制作方法
技术领域:
本发明涉及一种计算机服务器,并且更具体地涉及一种能够支持CPU(中央处理单元)虚拟化的计算机服务器。
背景技术:
近来,计算机服务器可以通过CPU (中央处理单元)虚拟化在单个硬件中执行各种 操作系统。分区可以定义为用于独立地执行操作系统的单元。在CPU虚拟化中,当没有准确地测量CPU使用率时,计算机服务器的效率会降低。
发明内容
在一些实施方式中,一种计算机服务器包括CPU (中央处理单元)池,该CPU池包括多个CPU ;至少两个分区,该至少两个分区被专有地提供有多个CPU并且独立地执行操作系统;以及资源管理和监视单元,该资源管理和监视单元基于当前可用的CPU的数目和当前使用的CPU的数目管理至少两个分区的CPU分配和取回。资源管理和监视单元监视分区状态信息(分区状态信息包括当前使用的CPU的数目、确保CPU的数目、CAP状态和最大可用CPU的数目)以测量关于至少两个分区中的每一个分区的CPU使用率。在一些实施方式中,一种计算机服务器包括CPU (中央处理单元)池,该CPU池包括多个CPU ;资源管理和监视单元,该资源管理和监视单元被配置为控制CPU池以支持CPU虚拟化;和至少两个分区,该至少两个分区独立地进行操作,其中至少两个分区请求CPU分配并且取回分配的CPU。资源管理和监视单元监视关于至少两个分区中的每一个的分区状态信息(分区状态信息包括当前使用的CPU的数目、确保CPU的数目、CAP状态和最大可用CPU的数目)。在一些实施方式中,一种计算机服务器包括CPU (中央处理单元)池,该CPU池包括多个CPU ;多个分区,该多个分区均被专有地提供有多个CPU中的至少一部分(下文称为第一 CPU组),并且取回该第一 CPU组中的至少一部分(下面称为第二 CPU组)或者请求对于该多个CPU中的至少可用CPU (下文称为第三CPU组)的额外分配;以及资源管理和监视单元,该资源管理和监视单元管理该多个分区中的每一个的分区状态信息(分区状态信息包括当前使用的CPU的数目、确保CPU的数目、CAP状态和最大可用CPU的数目),当从特定分区请求额外分配时基于当前可用CPU的数目和分区状态信息确定额外分配请求的批准,并且监视该多个分区中的每一个分区的CPU使用率。
图I是用于示出根据所述技术的示例性实施方式的支持CPU虚拟化的计算机服务器的物理构造的图。图2是用于示出图I中的计算机服务器的逻辑构造的图。图3表示分区状态信息并且分区状态信息包括当前使用的CPU的数目(PC,消耗的处理器)、确保CPU的数目(EC,授权容量)、CAP状态以及最大可用CPU的数目(MC,最大虚拟CPU)。图4是示出图I中的资源管理和监视单元基于图3中的分区状态表计算PCRATE值的过程的表。图5是示出图I中的资源管理和监视单元基于其它分区状态信息计算PCRATE值的过程的表。图6是示出图I中的资源管理和监视单元基于另外的分区状态信息计算PCRATE值的过程的表。图7是用于示出图2中的资源管理和监视单元的操作过程的流程图。
具体实施例方式参考其中示出技术的示例性实施方式的附图完整地描述技术。然而,可以以很多不同形式实施该技术并且该技术不应被理解为限于这里阐述的示例性实施方式。相反地,提供这些示例性实施方式以完全地使得本领域技术人员能够实施和实践该技术。这里使用的术语将如下地理解。将理解的是,虽然这里可以使用术语第一、第二等等来描述各种元件,但是这些元件不应受到这些术语的限制。这些术语仅用于将元件彼此区分。例如,第一元件能够被称为第二元件,并且类似地,第二元件也能够被称为第一元件。术语“和/或”包括相关列出的条目中的一个或多个的任何和所有组合。例如,“第一条目、第二条目和/或第三条目”表示第一条目、第二条目和第三条目中的至少一个,即包括第一条目、第二条目和第三条目的第一第二和第三条目的所有组合。将理解的是,当元件被称为“连接”或“耦合”到另一元件时,其能够直接连接或耦合到另一元件或可以存在中间元件。相反地,当元件被称为“直接连接”或“直接耦合”到另一元件时,不存在任何中间元件。应该以类似的方式理解用于描述元件之间的关系的其它词语,例如“之间”与“直接之间”和“相邻”与“直接相邻”。如这里使用的,单数形式意在也包括复数形式,除非上下文另有所述。将进一步理解的是,术语“包括”在这里使用时表示所描述的特征、组件、步骤、操作、元件和/或部件的存在,但是不排除一个或多个其它特征、组件、步骤、操作、元件、部件和/或其组的存在或添加。这里描述的各步骤可以以不同于这里明确描述的顺序不同的顺序来执行。换言之,可以以与所述顺序相同的顺序、同时地或相反顺序来执行。除非另有所述,否则这里使用的所有术语具有与本领域技术人员通常理解的意义相同的意义。通常使用的字典中定义的这样的术语应被理解为具有等于相关技术领域中的相应含义,并且不应该解释为具有理想的或过度字面的含义,除非在本申请中有清楚的定义。图I是用于示出根据所述技术的示例性实施方式的支持CPU虚拟化的计算机服务器的物理构造的图。
参考图1,计算机服务器100包括CPU池110、总线120和存储器130。CPU池110包括多个CPU 112。在一个实施方式中,CPU池110可以实施为单独的PCB (印刷电路板)并且与总线120连接。总线120是用于物理地连接CPU池110和存储器130的接口。在一个实施方式中,总线120可以实施为快速PCI (外围组件互连)。存储器130可以由CPU池110访问并且可以实施为独立存储器或者共享存储器。图2是用于示出图I中的计算机服务器的逻辑构造的图。参考图2,计算机服务器100包括可用CPU池210、资源管理和监视单元220和至少两个分区230。可用CPU池210对应于包括在CPU池110中并且没有被至少两个分区230占用的一组CPU。例如,当CPU池中的CPU的数目对应于值20并且由分区230a 230d中的每一个分区使用的CPU的数目分别对应于值3、2、4和6时,可用CPU池210中的CPU的数目对应于值5。资源管理和监视单元220管理可用CPU池210,独立地执行操作系统并且专有地使用CPU池110中的CPU。例如,如果CPUl 112被分配给第一分区230a,则CPUl 112可以不被分配给其它分区230b 230d。第一和第二分区230a和230b的操作系统可以不同。至少两个分区230中的每一个被专有地提供有CPU池110中的多个CPU的至少一部分(下面,称为第一 CPU组)并且执行特定任务。在执行特定任务的过程中,至少两个分区230中的每一个可以取回第一 CPU组的至少一部分(下面,称为第二 CPU组)或者请求多个CPU中的至少可用CPU (下面,称为第三CPU组)的额外分配。为了管理可用CPU池210,资源管理和监视单元220在从特定分区(例如,第一区域230a)请求额外分配时确定额外分配请求的批准。资源管理和监视单元220管理至少两个分区230中的每一个分区的分区状态信息,并且分区状态信息包括当前使用的CPU的数目、确保CPU的数目、CAP状态和最大可用CPU的数目。如下面的等式那样计算至少两个分区230中的每一个分区的CPU使用率。[等式] PCRATE= (PC/min (APP+PC, MC)) *100PC被定义为对应分区中的当前使用的CPU的数目。APP被定义为CPU池中的可用CPU的数目。MC被定义为当CAP状态对应于未封顶状态(即,能够请求超过确保CPU的数目的CPU的状态)时可以由对应分区请求的CPU的最大数目。当CAP状态对应于封顶状态(即,不能够请求超过确保CPU的数目的CPU的状态)时,PCRATE值被计算为当前使用的CPU的数目除以确保CPU的数目。下面,参考图3至图6,将描述资源管理和监视单元220的操作。图3至图6是用于示出由图2中的资源管理和监视单元管理的分区状态信息的表。图3表示分区状态信息并且分区状态信息包括当前使用的CPU的数目(PC,消耗的处理器)、确保CPU的数目(EC,授权容量)、CAP状态以及最大可用CPU的数目(MC,最大虚拟CPU)。在图3的第一分区230a中,确保CPU的数目对应于值4,当前使用的CPU的数目对应于值3,最大可用CPU的数目对应于值10,并且CAP状态对应于未封顶状态(即,能够请求超过确保CPU的数目的CPU的状态)。、
在图3的第二分区230b中,确保CPU的数目对应于值4,当前使用的CPU的数目对应于值2,最大可用CPU的数目对应于值10,并且CAP状态对应于未封顶状态(即,能够请求超过确保CPU的数目的CPU的状态)。在图3的第三分区230c中,确保CPU的数目对应于值6,当前使用的CPU的数目对应于值4,最大可用CPU的数目对应于值10,并且CAP状态对应于封顶状态(即,不能够请求超过确保CPU的数目的CPU的状态)。 在图3的第四分区230d中,确保CPU的数目对应于值6,当前使用的CPU的数目对应于值6,最大可用CPU的数目对应于值10,并且CAP状态对应于未封顶状态(即,能够请求超过确保CPU的数目的CPU的状态)。图4是示出图I中的资源管理和监视单元基于图3中的分区状态表计算PCRATE值的过程的表。
于38%、29%、67%和60%,如以上等式中所示。而且,由于可用CPU的数目对应于值5,因此分区230中的每一个分区可以请求额外CPU分配。同时,资源管理和监视单元220可以以除了使用PCRASTE的方式之外的其它方式测量CPU使用率。在另外的实施方式中,资源管理和监视单元220基于PCRATE2值确定CPU使用率。能够基于当前使用的CPU的数目(PC)除以确保CPU的数目(EC)来确定PCRATE2值。当当前使用的CPU的数目(PC)等于或大于确保CPU的数目时,PCRATE2值对应于100%。在又一实施方式中,资源管理和监视单元220基于PCRATE3值确定CPU使用率。能够基于当前使用的CPU的数目(PC)除以最大可用CPU的数目(MC)来确定PCRATE3值。在图4中,使用PCRATE3值,资源管理和监视单元220确定第三分区230c超负荷。图5是示出图I中的资源管理和监视单元基于其它分区状态信息计算PCRATE值的过程的表。在图5中,与图3相比,分区230中的每一个分区中的当前使用的CPU的数目对应于值2、8、6和4。由于APP (S卩,可用CPU的数目)对应于值0,因此,分区230的PCRATE值分别对应于100%、100%、100%和100%,如上述等式中所示。而且,由于可用CPU的数目对应于值0,因此分区230中的每一个分区不能请求额外CPU分配。这使得资源管理和监视单元220将计算机服务器100的性能降低通知给管理者。例如,资源管理和监视单元220可以利用SMS(短消息服务)、电子邮件和自动语音电话来通知性能降低。同时,当通过使用PCRATE2值来计算CPU使用率时,第四分区230d被确定为没有超负荷,并且当通过使用PCRATE3值计算CPU使用率时,第一、第二和第四分区230a、230b和230d被确定为没有超负荷。图6是示出图I中的资源管理和监视单元基于另外的分区状态信息计算PCRATE值的过程的表。在图6中,与图3相比,分区230中的每一个分区中的当前使用的CPU的数目对应于值5、8、2和5。由于APP (S卩,可用CPU的数目)对应于值0,因此分区230的PCRATE值分别对应于100%、100%、33%和100%,如上面的等式中所示。因此,第三分区230c可以请求额外CPU分配,并且在该请求中,资源管理和监视单元220可以获取由其它分区230a、230b或230d当前使用的CPU。同时,当通过使用PCRATE2值计算CPU使用率时,第四分区230d被确定为没有超负荷,并且当通过使用PCRATE3值计算CPU使用率时,第一、第二和第四分区230a、230b和230d被确定为没有超负荷。图7是用于示出图2中的资源管理和监视单元的操作过程的流程图。资源管理和监视单元220可以接收来自特定分区230a的CPU分配的请求并且获得关于分区230中的每一个分区的分区状态信息(步骤S710和S720 )。分区状态信息包括当前使用的CPU的数目(PC,消耗的处理器)、确保CPU的数目(EC,授权容量)、CAP状态和最大可用CPU的数目(MC,最大虚拟CPU),如图3中所示。资源管理和监视单元220基于分区状态信息计算PCRATE值(步骤S730)。在另一实施方式中,资源管理和监视单元220基于分区状态信息计算PCRATE2值或PCRATE3值。所述技术具有下述优点。由于这不表示特定示例性实施方式应包括所有下面的优点或者仅包括下面的优点,因此权利要求的范围不应限于下面的优点。根据示例性实施方式的计算机服务器可以基于分区状态信息有效地测量CPU使用率以支持CPU虚拟化。即,计算机服务器可以通过准确地测量CPU使用率来帮助CPU资源分发和系统管理。虽然本发明可以具有各种修改和替代形式,但是在附图中借助于示例示出其特定实施方式并且将在这里详细描述特定实施方式。然而,应理解的是,不意在将本发明限于所公开的特定形式,而是相反地,本发明涵盖如权利要求所限定的本发明的精神和范围内的所有修改、等价物和替代物。
权利要求
1.一种计算机服务器,所述计算机服务器包括 CPU (中央处理单元)池,所述CPU池包括多个CPU ; 至少两个分区,所述至少两个分区被专有地提供有所述多个CPU并且独立地执行操作系统;以及 资源管理和监视单元,所述资源管理和监视单元基于当前可用的CPU的数目和当前使用的CPU的数目管理所述至少两个分区的CPU分配和取回,并且所述资源管理和监视单元监视分区状态信息以测量关于所述至少两个分区中的每ー个分区的CPU使用率,所述分区状态信息包括当前使用的CPU的数目、确保CPU的数目、CAP状态和最大可用CPU的数目其中,所述资源管理和监视单元在下述等式中基于PCRATE值测量CPU率。
[等式]PCRATE=(PC/min(APP+PC, MC))*100 PC被定义为对应分区中的当前使用的CPU的数目 APP被定义为所述CPU池中的可用CPU的数目 MC被定义为当所述CAP状态对应于未封顶状态(即,能够请求超过所述确保CPU的数目的CPU的状态)时可以由对应分区请求的CPU的最大数目
2.如权利要求I所述的计算机服务器,其中,当所述CAP状态对应于封顶状态(S卩,不能够请求超过所述确保CPU的数目的CPU的状态)吋,所述PCRATE值被计算为所述当前使用的CPU的数目除以所述确保CPU的数目。
3.如权利要求2所述的计算机服务器,其中,所述资源管理和监视单元基于所述PCRATE值将所述计算机服务器的性能降低通知给系统管理员。
4.一种计算机服务器,所述计算机服务器包括 CPU (中央处理单元)池,所述CPU池包括多个CPU ; 资源管理和监视单元,所述资源管理和监视单元被配置为控制所述CPU池以支持CPU虚拟化;和 至少两个分区,所述至少两个分区独立地进行操作,其中,所述至少两个分区请求CPU分配并且取回分配的CPU ; 其中,所述资源管理和监视单元监视关于所述至少两个分区中的每ー个分区的分区状态信息,所述分区状态信息包括当前使用的CPU的数目、确保CPU的数目、CAP状态和最大可用CPU的数目 其中,所述资源管理和监视单元在下述等式中基于PCRATE值测量CPU使用率。
[等式]PCRATE=(PC/min(APP+PC, MC))*100 PC被定义为对应分区中的当前使用的CPU的数目 APP被定义为所述CPU池中的可用CPU的数目 MC被定义为当所述CAP状态对应于未封顶状态(即,能够请求超过确保CPU的数目的CPU的状态)时可以由所述对应分区请求的CPU的最大数目
5.一种计算机服务器,所述计算机服务器包括 CPU (中央处理单元)池,所述CPU池包括多个CPU ; 多个分区,所述多个分区均被专有地提供有所述多个CPU中的至少一部分(下文称为第一 CPU组),并且取回所述第一 CPU组中的至少一部分(下面称为第二 CPU组)或者请求对于所述多个CPU中的至少可用CPU (下文称为第三CPU组)的额外分配; 资源管理和监视单元,所述资源管理和监视单元管理所述多个分区中的每ー个分区的分区状态信息,当从特定分区请求额外分配时基于当前可用CPU的数目和所述分区状态信息确定所述额外分配请求的批准,并且监视所述多个分区中的每ー个分区的CPU使用率,其中,所述分区状态信息包括当前使用的CPU的数目、确保CPU的数目、CAP状态和最大可用CPU的数目并且 其中所述资源管理和监视单元在下述等式中基于PCRATE值监视CPU使用率。
[等式]PCRATE= (PC/min(APP+PC, MC))*100 PC被定义为对应分区中的当前使用的CPU的数目 APP被定义为所述CPU池中的可用CPU的数目 MC被定义为当所述CAP状态对应于未封顶状态(即,能够请求超过确保CPU的数目的CPU的状态)时可以由所述对应分区请求的CPU的最大数目
6.如权利要求5所述的计算机服务器,其中,所述多个分区中的每ー个分区执行单独操作系统并且独立地操作。
全文摘要
一种计算机服务器,包括包括多个CPU(中央处理单元)的CPU池;两个或更多分区,用于以相互独占的方式分配多个CPU并且彼此独立地运行操作系统(OS);以及资源管理和监视单元,用于基于当前可用的CPU的数目和当前使用的CPU的数目进行两个或更多分区中的每一个分区的CPU分配和恢复。资源管理和监视单元监视分区状态信息(其包括与当前使用的CPU的数目、确保CPU的数目、封顶状态和最大可用CPU的数目相关的数据)以测量两个或更多分区中的每一个分区中使用的CPU资源百分比。
文档编号G06F15/177GK102696024SQ201080059460
公开日2012年9月26日 申请日期2010年10月28日 优先权日2009年10月29日
发明者偰昌元, 具滋宪, 李凡植 申请人:提姆斯通公司