信息处理系统的制作方法

文档序号:6359155阅读:139来源:国知局
专利名称:信息处理系统的制作方法
技术领域
本发明涉及在信息处理系统中具有多个虚拟CPU的情况下将这些虚拟CPU分配给物理CPU的技术。
背景技术
存在利用一个物理计算机使多个虚拟计算机进行动作的技术。虚拟计算机利用虚拟的中央运算装置(CPU=Central Processing Unit)进行动作,虚拟CPU以时分割的方式被分配物理CPU并执行。在虚拟计算机的技术中,设有进行针对虚拟CPU分配物理CPU时间的管理等的管理模块。下面将该管理模块称为管理程序(Hypervisor)。以往,在使用多个CPU的OS中,具有按照每个CPU记录任务的任务队列。CPU执行在自身的任务队列中登记的任务。为了有效活用CPU资源,优选CPU之间的负载均等。 因此,存在如下技术os(操作系统)根据在任务队列中记录的任务数量及其优先级等求出 CPU的负载,进行任务的分散以使得负载均等化。具体而言,例如在新生成任务时,OS在负载最低的CPU的任务队列中登记该任务。并且,存在如下方法0S以一定周期计算各CPU的负载,在CPU之间进行任务的移动以使得负载均等化。并且,在对虚拟CPU进行调度的管理程序中,决定虚拟CPU的执行顺序。在专利文献1中公开了如下技术虚拟计算机对管理程序通知在任务切换时接着执行的任务的优先级,管理程序根据任务的优先级决定要执行的虚拟计算机。如果使用该技术,则先进行执行优先级高的任务、例如要求实时性的任务(以下称为实时任务。)的虚拟计算机的处理,容易满足实时的要求。现有技术文献专利文献专利文献1 日本特开2000-242512号公报

发明内容
发明要解决的课题在虚拟计算机的技术中,有时对多个物理CPU (处理器)中的一个物理CPU分配2 个以上的虚拟CPU。此时,例如在这2个虚拟CPU分别属于不同的OS的情况下,在各OS中进行控制,以使得在该OS所包含的多个任务队列之间处理负载均等。但是,考虑到在被分配了这2个虚拟CPU的所述一个物理CPU中,与其他物理CPU 相比,处理负载变高的情况。在这种情况下,当使用上述专利文献2的技术时,仅决定与被分配给该一个物理 CPU的2个虚拟CPU有关的执行顺序,该一个物理CPU的处理负载不变化。于是,在与其他物理CPU之间产生处理负载的不均衡的情况下,不能说全体的处
理效率良好。因此,鉴于上述问题,本发明的目的在于,提供能够在多个处理器之间确保处理负
5载的均衡的信息处理系统、方法、程序以及集成电路。用于解决课题的手段为了实现上述目的,本发明的信息处理系统的特征在于,该信息处理系统具有包含多个OS的OS群,该OS确定处理对象的各任务属于哪个任务组,并进行各任务的执行控制以使得在同一处理器上执行属于同一任务组的全部任务;以及管理程序,使所述各OS的任务组中的一个或多个分别对应于多个处理器,使所述各OS进行任务的执行控制,以使得在与任务组对应的处理器上执行属于该任务组的任务,所述管理程序具有取得单元,逐次取得表示针对各OS的各个任务组的处理负载量的负载信息;以及变更单元,参照由所述取得单元逐次取得的负载信息所表示的处理负载量,当在各处理器之间产生处理负载量的偏差时,变更处理器与任务组的对应。发明效果根据上述结构,当在各处理器之间产生处理负载量的偏差时,信息处理系统变更处理器与任务组的对应,因此,能够在多个处理器之间确保处理负载的均衡。


图1是示出信息处理系统1000的结构的图。图2是示出物理CPUla Ic与虚拟CPTOa 6d的对应的图。图3是说明新生成的任务的移动的图。图4(a)是示出第1实施方式的进行再次分配之前的物理CPUla Ic与虚拟 CPU6a 6d的对应的图,(b)是示出第1实施方式的进行再次分配之后的物理CPUla Ic 与虚拟CPU6a 6d的对应的图。图5是示出信息处理系统1000的处理概要的流程图。图6是示出信息处理系统1000的处理的详细情况(任务生成/移动处理)的流程图。图7(a)是示出第1变形例的进行再次分配之前的物理CPUla Ic与虚拟 CPU6a 6d的对应的图,(b)是示出第1变形例的进行再次分配之后的物理CPUla Ic与虚拟CPU6a 6d的对应的图。图8是示出在第1变形例的信息处理系统中进行的任务生成/移动处理的动作的流程图。图9(a)是示出第2变形例的进行再次分配之前的物理CPUla Ic与虚拟 CPU6a 6d的对应的图,(b)是示出第2变形例的进行再次分配之后的物理CPUla Ic与虚拟CPU6a 6d的对应的图。图10是示出在第2变形例的信息处理系统中进行的任务生成/移动处理的动作的流程图。图11是示出信息处理系统1000a的结构的图。图12是示出在信息处理系统1000a中进行的中断处理的动作的流程图。图13是示出信息处理系统IOOOb的结构的图。图14(a)是示出第3实施方式的进行再次分配之前的物理CPUla Ic与虚拟 CPTOa 6d的对应的图,(b)是示出第3实施方式的进行再次分配之后的物理CPUla Ic与虚拟CPU6a 6d的对应的图。图15是示出在信息处理系统IOOOb中进行的动作周期更新处理的动作的流程图。图16是示出在信息处理系统IOOOb中进行的任务生成/移动处理的动作的流程图。图17是示出信息处理系统1000c的结构的图。
具体实施例方式1.第1实施方式下面,对本发明的一个实施方式的信息处理系统1000进行说明。1. 1 结构图1是示出本实施方式的信息处理系统1000的结构的图。信息处理系统1000由多个物理CPUla、lb、lc、输入输出装置2、负载分散装置3构成。负载分散装置3具有随机存取存储器(RAM)或闪存等存储器,存储要执行的各种程序和数据。(1)负载分散装置3负载分散装置3针对多个OS构筑虚拟计算机,使对应的1个物理CPU执行在各OS 中生成的多个任务。具体而言,如图1所示,负载分散装置3具有由多个(这里为2个)0S20a、20b构成的OS群、以及管理程序5。(l-l)0S20a、20b如图1所示,0S20a构成虚拟计算机如,032(^具有任务队列100a、100b、任务负载分散部101、任务登记部102、任务信息通知部103。并且,0S20b构成虚拟计算机4b,虽然在图1中没有图示,但是采用与0S20a相同的结构。下面,由于0S20a与0S20b采用相同的结构,所以,对0S20a的结构要素进行说明。(任务队列 100a、100b)任务队列100a、IOOb分别存储在0S20a中生成的任务,形成后述的虚拟CPU。在各任务队列IOOaUOOb中产生的任务10a、10b是在通常的信息处理系统1000 中使用的处理单位的任务。0S20a使用多个CPU进行动作,但是,在本实施方式中,作为虚拟计算机进行动作,所以,使用虚拟的多个CPU(虚拟CPU)进行动作。(任务负载分散部101)任务负载分散部101决定已生成的实时任务和通常任务的分散。这里,实时任务例如是要求在最后期限之前完成执行这样的实时性能的任务,例如通过提高优先级这样的手法,在通常任务之前执行。另外,以后记述为RT任务,将不要求实时性能的通常的任务简单记述为通常任务。另外,在不需要区分RT任务和通常任务的情况下,简单记述为任务。任务负载分散部101例如在新生成了任务时进行动作,决定如果在任务队列 IOOaUOOb中的哪个任务队列中登记新生成的任务则能够分散负载。具体而言,当新生成任务时,任务负载分散部101计算在各任务队列IOOaUOOb中保持的各任务各自的优先级的合计值,作为各个任务队列IOOaUOOb的处理负载。任务负载分散部101决定处理负载小、即优先级的合计值最小的任务队列。(任务登记部102)
任务登记部102接受任务负载分散部101的决定,在已决定的任务队列中登记已生成的任务。(任务信息通知部103)任务信息通知部103判断新生成的任务是通常任务还是RT任务,在判断为是RT 任务的情况下,对管理程序5通知RT任务的登记目的地。此时,任务信息通知部103被从任务登记部102调出,利用执行任务登记部102的物理CPU立即执行。(1-2)管理程序5管理程序5针对各个虚拟计算机^、4b中的各虚拟CPU进行物理CPU的分配管理和使OS执行任务的控制。管理程序5具有虚拟CPU负载决定部200、虚拟CPU负载分散部201和虚拟CPU调度部202。(虚拟CPU负载决定部200)虚拟CPU负载决定部200决定各虚拟CPU6a 6d的负载。具体而言,当从任务信息通知部103受理新生成的RT任务的登记目的地的通知时,虚拟CPU负载决定部200确定当前时点的各任务队列中的负载状况。这里,例如针对各任务队列,根据该任务队列是否保持RT任务来管理处理负载。该情况下,RT任务通常对应有优先级高的值,所以,虚拟CPU负载决定部200能够检测是否存在具有预先确定的阈值以上的优先级的任务、即是否存在RT任务,当检测到存在时,确定为该任务队列的处理负载高,在未检测到存在的情况下,确定为任务队列的处理负载低。(虚拟CPU负载分散部201)虚拟CPU负载分散部201分别针对物理CPUla、IbUc决定各个虚拟计算机^、4b 的任务队列(虚拟CPU)的分配并执行。具体而言,虚拟CPU负载分散部201根据由虚拟CPU负载决定部200确定的各任务队列中的负载状况,针对各物理CPUla、lb、Ic确定该物理CPU的处理负载。在按照每个物理CPU确定的处理负载产生偏差的情况下,虚拟CPU负载分散部201 分别针对物理CPUla、lb、Ic决定任务队列(虚拟CPU)的分配以使得不产生偏差,进行变更以便成为已决定的分配。(虚拟CPU调度部2O2)虚拟CPU调度部202决定被分配给各个物理CPU的虚拟CPU的执行顺序。例如在对1个物理CPU分配不同的虚拟CPU的情况下,虚拟CPU调度部202决定处理顺序,以便以时分割的方式执行一个虚拟CPU和其他虚拟CPU。具体而言,关于被分配给1个物理CPU的2个虚拟CPU,通过切换一个虚拟CPU和其他虚拟CPU的上下文,从而决定处理顺序以便以时分割的方式执行2个虚拟CPU。并且,各虚拟CPU通过时分割而依次执行该虚拟CPU所保持的各任务。(2)物理 CPUla、lb、Ic物理CPUla、lb、Ic按照由虚拟CPU调度部202调度后的处理顺序,对通过管理程序5的控制而分配的一个或多个任务队列中登记的任务进行处理。(3)输入输出装置2输入输出装置2受理来自外部的指示,对物理CPUla、lb、Ic和负载分散装置3通
8知已受理的指示。1. 2分配的具体例这里,使用具体例对各任务队列(虚拟CPU)的分配的变更进行说明。(1)具体例 1(对虚拟CPU分配已生成的任务的具体例)图2示出分配的一例。在图2中,虚拟计算机如的任务队列IOOa(虚拟CPTOa) 被分配给物理CPUla,任务队列100b (虚拟CPTOb)被分配给物理CPUlb。并且,虚拟计算机 4b的任务队列IOOc (虚拟CPTOc)被分配给物理CPUlb,任务队列IOOd (虚拟CPTOd)被分配给物理CPUlc。S卩,处于对物理CPUlb分配2个任务队列IOObUOOc的状态。而且,在图 2中,在该分配状态下,利用虚拟CPU6a生成RT任务30。然后,任务负载分散部101根据分别由任务队列IOOaUOOb保持的RT任务的个数,以任务队列100a、IOOb不产生处理负载的偏差的方式,决定新的RT任务30的登记目的地。例如,任务负载分散部101将登记目的地决定为任务队列100b,如图3所示,任务登记部102使RT任务30向已决定的登记目的地(虚拟CPTOb)移动,登记在任务队列IOOb中。任务信息通知部103对管理程序5通知在虚拟CPU6b的任务队列中登记了 RT任务 30。此时,如上所述,任务信息通知部103被从任务登记部102调出,利用执行任务登记部 102的CPU(这里为物理CPUla)立即执行。例如在虚拟CPU6b中的任务转换时,也能够对管理程序5通知RT任务30的登记。但是,在任务转换时的通知的情况下,在利用物理CPUlb 执行虚拟CPU6b之后进行通知。即,虽然任务登记部102在虚拟CPU6b的任务队列IOOb中登记了 RT任务30,但是,有时会延迟对管理程序5通知该信息。因此,RT任务30的执行可能不满足要求。在本实施方式中,为了避免该问题,在任务登记部102进行了动作时,立即使该物理CPU进行动作,以便对管理程序5进行通知。当从任务信息通知部103受理新生成的RT任务的登记目的地的通知时,虚拟CPU 负载决定部200确定当前时点的各任务队列中的负载状况。然后,虚拟CPU负载分散部201 决定虚拟CPU6a 6d针对各物理CPUla Ic的分配并执行。另外,此时,虚拟CPU负载决定部200和虚拟CPU负载分散部201与任务信息通知部103同样,利用执行任务登记部102 的CPU (这里为物理CPUla)立即执行。另外,当利用虚拟CPU负载分散部201决定虚拟CPU6a 6d针对各物理CPUla Ic的分配并执行时,虽然在图3中没有图示,但是,利用图1所示的虚拟CPU调度部202决定被分配给各个物理CPU的虚拟CPU的执行顺序。图4 (a)示出RT任务30从虚拟CPTOa (任务队列100a)向虚拟CPU6b (任务队列 100b)移动时的各虚拟CPTOa 6d(任务队列IOOa IOOd)的一例。(对物理CPU再次分配各虚拟CPU的具体例)在图4 (a)中,对物理CPUlb分配2个虚拟CPTOb、6c,在虚拟CPU6b中登记RT任务 30,在虚拟CPU6c中登记RT任务30c。而且,在其他虚拟CPTOa、6d中不登记RT任务。该情况下,由于在物理CPUlb中产生RT任务的个数的偏差,因此,虚拟CPU负载分散部201分别针对物理CPUla、lb、Ic决定任务队列(虚拟CPU)的分配以使得不产生偏差,进行变更以便成为已决定的分配。图4(b)示出其结果的一例,针对虚拟CPU6b变更物理CPU的分配。由此,分别单独地对物理CPUla和物理CPUlb分配登记了 RT任务的任务队列(虚拟CPTOb、虚拟CPTOc),所以,不会产生RT任务的偏差。由此,具有RT任务30的虚拟CPU针对每个物理 CPU最多为一个。在对各物理CPUla Ic再次分配任务队列(虚拟CPU)后,通过虚拟CPU调度部 202决定被分配给各个物理CPUla Ic的虚拟CPTOa 6d的执行顺序。在图4中,例如,虚拟CPU调度部202优先执行具有RT任务30的虚拟CPU。例如,在对相同的物理CPU分配具有RT任务30的虚拟CPU和不具有RT任务30的虚拟CPU的情况下(这里为物理CPUlb), 虚拟CPU调度部202首先执行具有RT任务30c的虚拟CPTOc,在该虚拟CPU没有任务、即成为无效时,切换为不具有RT任务的虚拟CPTOa。1. 3 动作这里,对信息处理系统1000的动作进行说明。(1)概要首先,使用图5所示的流程图对处理概要进行说明。任务负载分散部101决定新生成的任务针对虚拟CPU的分散(步骤SQ。任务登记部102在由任务负载分散部101决定的虚拟CPU的任务队列中登记新生成的任务(步骤 Sio)。任务信息通知部103立即对管理程序5通知在任务队列中登记的任务的信息(步骤 S15)。当受理来自任务信息通知部103的通知时,管理程序5的虚拟CPU负载决定部200 决定各虚拟CPU的负载(步骤S20)。虚拟CPU负载分散部201根据虚拟CPU负载决定部 200的决定结果,将各虚拟CPU分散到物理CPUla Ic (步骤S2Q。虚拟CPU调度部202分别针对各物理CPUla lc,决定被分配给该物理CPU的虚拟CPU的执行顺序(步骤S30)。 然后,各物理CPU按照已决定的顺序,执行被分配给该物理CPU的一个或多个虚拟CPU所包含的任务。(2)处理的详细情况这里,使用图6所示的流程图对图5所示的处理的详细情况进行说明。另外,这里, 假设利用虚拟计算机如生成新的RT任务进行说明。当生成新的任务时,任务负载分散部101分别针对各虚拟CPTOa、6b的任务队列 100a、100b,计算在该任务队列中保持的任务的优先级的合计值,将这些合计值作为各虚拟 CPU6a,6b的处理负载,在生成了新任务的OS内确定处理负载最小的虚拟CPU(步骤S100)。任务登记部102在已确定的虚拟CPU的任务队列中登记已生成的新任务(步骤 S105)。任务信息通知部103判断已登记的任务是否是RT任务(步骤Sl 10)。在判断为是RT任务的情况下(步骤SllO中的“是”),任务信息通知部103对管理程序5的虚拟CPU负载决定部200通知登记了新的RT任务的意思(步骤S115)。当受理来自任务信息通知部103的通知时,虚拟CPU负载决定部200确定当前时点的各任务队列中的负载状况(步骤S120)。虚拟CPU负载分散部201根据由虚拟CPU负载决定部200确定的各任务队列中的负载状况,确定各物理CPUla Ic各自的处理负载。然后,虚拟CPU负载分散部201根据已确定的各物理CPUla Ic的处理负载,决定各虚拟CPU6a 6d针对物理CPUla Ic的分配。具体而言,虚拟CPU负载决定部200判断具有RT任务的多个虚拟CPU中是否存在被分配给同一物理CPU的虚拟CPU (步骤S125)。在判断为存在被分配给同一物理CPU的虚拟CPU的情况下(步骤S125中的“是”), 虚拟CPU负载决定部200检索被分配不具有RT任务的虚拟CPU的物理CPU (步骤S130)。 在根据检索结果发现了被分配不具有RT任务的虚拟CPU的物理CPU的情况下(步骤S135 中的“是”),确定为已发现的物理CPU的处理负载低(步骤S140)。虚拟CPU负载分散部201对登记了新的RT任务的虚拟CPU、与被分配给确定为处理负载低的物理CPU的不具有RT任务的虚拟CPU进行调换(步骤S145)。在任务信息通知部判断为在虚拟CPU中登记的任务不是RT任务的情况下(步骤 SllO中的“否”)、在判断为具有RT任务的多个虚拟CPU中不存在被分配给同一物理CPU的虚拟CPU的情况下(步骤S125中的“否”)、以及在根据步骤S130的检索结果未发现相应的物理CPU的情况下(步骤S135中的“否”),处理结束。另外,在执行了本处理后,通过虚拟CPU调度部202分别针对各物理CPUla lc, 决定被分配给该物理CPU的虚拟CPU的执行顺序。1. 4第1实施方式的变形例(1)第1变形例在第1变形例中,与第1实施方式的不同之处在于,虚拟CPU负载分散部中的分配方法。在以下的说明中,针对与第1实施方式相同的结构要素,使用相同标号进行说明。第1变形例中的虚拟任务负载分散部(以下简称为“虚拟任务负载分散部”。) 根据由虚拟CPU负载决定部200确定的各任务队列中的负载状况,确定当前时点的物理 CPUla Ic各自的负载状况。下面,对其具体的功能进行说明。虚拟任务负载分散部判断是否对被分配保持RT任务的虚拟CPU (任务队列)的物理CPU (这里称为“第1物理CPU”。)还分配其他虚拟CPU。在判断为还分配其他虚拟CPU的情况下,当存在未被分配保持RT任务的虚拟CPU 的物理CPU (这里称为“第2物理CPU”。)时,虚拟任务负载分散部判断为第2物理CPU的负载低,对该第2物理CPU再次分配被分配给第1物理CPU的其他虚拟CPU。(2)具体例这里,对应用了上述说明的虚拟CPU负载分散部的功能的分配方法的具体例进行说明。图7 (a)示出图3中的RT任务30从虚拟CPTOa (任务队列100a)向虚拟CPU6b (任务队列100b)移动时的各虚拟CPU6a 6d(任务队列IOOa IOOd)的一例。在图7(a)中,对物理CPUlb分配2个虚拟CPTOb、6c,在虚拟CPU6b中登记RT任务 30,在虚拟CPU6c中不登记RT任务。而且,在虚拟CPTOa中登记RT任务30a,在虚拟CPTOd 中不登记RT任务。该情况下,关于物理CPUlb,虚拟CPU负载分散部201将保持RT任务的虚拟CPTOb和未保持RT任务的虚拟CPU6c分配给同一物理CPUlb,所以,判断为处理负载产生偏差,决定不产生偏差的、即不对分配了具有RT任务30的虚拟CPTOb的物理CPUlb分配其他虚拟CPU这样的新的分配,进行变更以便成为已决定的分配。图7(b)示出其结果的一例,针对虚拟CPU6c变更物理CPU的分配。在该例子中,RT任务30被移动到虚拟CPTObJf 以,虚拟CPU6c被分散到物理CPUlc。
不对被分配了保持RT任务的虚拟CPU的物理CPU分配其他虚拟CPU,由此,不会弓| 起保持RT任务的虚拟CPU的竞争,所以,虚拟CPU调度部202不需要进行特别的动作。(3)动作这里,以与第1实施方式的不同之处为中心,使用图8所示的流程图对第1变形例的信息处理系统的动作进行说明。首先,第1变形例的信息处理系统执行图6所示的步骤SlOO S115。另外,这些处理动作已经说明,所以这里省略说明。在执行了步骤S115后,当受理来自任务信息通知部103的通知后,虚拟CPU负载决定部200确定当前时点的各任务队列中的负载状况(步骤S200)。虚拟任务负载分散部判断保持RT任务的虚拟CPU和其他虚拟CPU是否被分配给同一物理CPU (步骤S205)。具体而言,虚拟任务负载分散部判断是否对被分配保持RT任务的虚拟CPU的第1物理CPU还分配其他虚拟CPU。在判断为肯定的情况下(步骤S205中的“是”),虚拟CPU负载分散部检索被分配未保持RT任务的虚拟CPU的物理CPU (步骤S210)。在根据检索结果发现了被分配未保持RT任务的虚拟CPU的物理CPU的情况下(步骤S215中的“是”),虚拟CPU负载分散部确定为已发现的物理CPU的处理负载低,对根据检索结果而发现的物理CPU (第2物理CPU)再次分配被分配给第1物理CPU的其他虚拟CPU。在步骤S205中的判断为否定的情况下(步骤S205中的“否”)、以及在根据步骤 S210的检索结果未发现被分配未保持RT任务的虚拟CPU的物理CPU的情况下(步骤S215 中的“否”),处理结束。另外,在执行了本处理后,通过虚拟CPU调度部202分别针对各物理CPUla lc, 决定被分配给该物理CPU的虚拟CPU的执行顺序。(2)第2变形例在第1变形例中,与第1实施方式的不同之处在于,虚拟任务负载分散部中的分配方法。在以下的说明中,针对与第1实施方式相同的结构要素,使用相同标号进行说明。在第2变形例中,针对通常任务、RT任务的双方,预先决定表示任务的负载的值 (负载值)。具体而言,本变形例的虚拟CPU负载决定部分别针对任务队列100a、100b,将由该任务队列保持的任务的负载值的合计作为对应的虚拟CPU的处理的负载状态。本变形例的虚拟CPU负载分散部对虚拟CPU6a 6d进行分散(分配),以使得各虚拟CPU6a 6d各自的负载值的合计针对每个物理CPUla Ic而均等。(2)具体例这里,对应用了上述说明的本变形例的虚拟CPU负载分散部的功能的分配方法的具体例进行说明。图9(a)示出图3中的RT任务30从虚拟CPTOa(任务队列IOOa)向虚拟CPTOb(任务队列IOOb)移动时的各虚拟CPU6a 6d(任务队列IOOa IOOd)的一例。这里,对通常任务分配值1作为负载值,但是,对RT任务分配值10作为负载值。在图9(a)中,对物理CPUlb分配2个虚拟CPTOb、6c,在虚拟CPU6b中登记RT任务 30和通常任务10b,在虚拟CPU6c中登记RT任务30c和通常任务10c。而且,在虚拟CPTOa中登记通常任务10a,在虚拟CPU6d中登记RT任务30d和通常任务10d。该情况下,通过RT 任务30的移动,虚拟CPTOa的负载值的合计从11变更为1,虚拟CPTOb的负载值的合计从 12变更为22。于是,被分配给物理CPUlb的虚拟CPTOb、6c的负载值的合计值为22,比其他物理 CPUlaUc高。因此,虚拟CPU负载分散部201判断为物理CPUlb产生处理负载的偏差,决定新的分配以使得不产生偏差、即负载值的合计均等,进行变更以便成为已决定的分配。图 9 (b)示出其结果的一例,针对虚拟CPU6b变更物理CPU的分配。在该例子中,虚拟CPU6b被分散(分配)到物理CPUla。再次分配后的物理CPUla Ic各自的负载值的合计为12、11、 11,大致均等。由此,能够避免具有RT任务的虚拟CPU集中于特定的物理CPU。另外,一般地,优先级高的任务成为实时任务,所以,任务的负载可以根据任务的优先级来决定。(3)动作这里,使用图10所示的流程图对第2变形例的信息处理系统的动作进行说明。另夕卜,这里,假设利用虚拟计算机如生成新的任务进行说明。当生成新的任务后,任务负载分散部101分别针对各虚拟CPTOa、6b的任务队列 100a、100b,计算在该任务队列中保持的任务的优先级的合计值,将这些合计值作为各虚拟 CPU6a,6b的处理负载,在生成了新任务的OS内确定处理负载最小的虚拟CPU(步骤S300)。任务登记部102在已确定的虚拟CPU的任务队列中登记已生成的新任务(步骤 S305)。任务信息通知部103对本变形例的虚拟CPU负载决定部通知已登记的新任务的负载值(步骤S310)。本变形例的虚拟CPU负载决定部按照每个虚拟CPU6a 6d,计算负载值的合计 (步骤 S315)。本变形例的虚拟CPU负载分散部根据计算出的每个虚拟CPU的负载值的合计,确定每个物理CPUla Ic的负载状况(步骤S320)。本变形例的虚拟CPU负载分散部计算向负载最低的物理CPU移动登记了新任务的虚拟CPU时的该物理CPU的负载(步骤S325)。本变形例的虚拟CPU负载分散部判断在步骤S325中计算出的结果与计算前的结果相比、各物理CPUla Ic的负载是否被均等化(步骤S330)。在判断为被均等化的情况下(步骤S330中的“是”),本变形例的虚拟CPU负载分散部向负载最低的物理CPU移动登记了任务的虚拟CPU(步骤S335)。在判断为未被均等化的情况下(步骤S330中的“否”),处理结束。另外,在执行了本处理后,通过虚拟CPU调度部202分别针对各物理CPUla lc, 决定被分配给该物理CPU的虚拟CPU的执行顺序。1.5第1实施方式的总结以上,当利用一个虚拟CPU生成RT任务后,本实施方式的信息处理系统1000针对被分配各虚拟CPU的物理CPU进行再次分配,以使得RT任务不会重复,所以,能够在物理 CPU之间分散虚拟CPU的负载,以避免RT任务的竞争,并满足RT任务的执行要求。2.第2实施方式
这里,以与第1实施方式的不同之处为中心进行说明。另外,针对与第1实施方式相同的结构要素标注相同标号。图11是示出第2实施方式的信息处理系统1000a的结构的图。图11的信息处理系统1000a在图1所示的信息处理系统1000中追加中断通知部204,将信息处理系统1000 的虚拟CPU负载决定部200置换为虚拟CPU负载决定部203。2.1 结构这里,对虚拟CPU负载决定部203和中断通知部204进行说明。(1)虚拟CPU负载决定部203虚拟CPU负载决定部203具有与第1实施方式所示的虚拟CPU负载决定部200的功能相同的功能,并且具有以下功能。当利用中断通知部204受理中断后,虚拟CPU负载决定部203判断是否应该对中断对象的虚拟CPU发布中断通知,在判断为应该发布的情况下,虚拟CPU负载决定部203对中断通知部204通知应该发布中断通知的意思的指示(中断通知指示)。另外,判断是否应该发布中断通知的动作在后面叙述。对中断通知部204通知其结果。(2)中断通知部204当受理来自输入输出装置2的中断后,中断通知部204确定作为中断对象的虚拟 CPU。然后,当受理针对由虚拟CPU负载决定部203确定的虚拟CPU的中断通知指示后,中断通知部204立即进行中断的通知。这里,立即进行中断通知是指,即使其他中断通知(与实时任务以外的任务有关的中断)处于发布等待状态,实时任务所涉及的中断也不会处于发布等待状态,与其他中断通知相比,最优先发布。以往,在虚拟计算机技术中,能够延迟中断的通知,所以,例如在未执行对象的虚拟CPU的情况下,有时在等待执行后通知给虚拟计算机。例如,任务成为临时停止动作的暂停状态,以中断为契机,再次执行暂停状态的任务。因此,针对具有RT任务的虚拟CPU的中断通知可能成为RT任务的再次动作的契机。因此,中断通知部204能够根据即时的中断通知而进行RT任务的即时的再次动作。并且,在利用相同物理CPU执行具有RT任务的虚拟CPU和其他虚拟CPU的情况下,当立即对其他虚拟CPU通知中断后,由于该处理,具有RT任务的虚拟CPU的执行可能中断。在这种情况下,在具有RT任务的物理CPU成为空闲(idle)状态之前,可以延迟针对被分配给相同物理CPU的其他虚拟CPU的中断配送。2. 2 动作虚拟CPU的分配动作能够通过与第1实施方式所示的图5、6相同的动作而实现, 所以,这里省略说明。下面,使用图12所示的流程图对存在中断通知时的动作进行说明。中断通知部204从输入输出装置2受理中断(步骤S400)。中断通知部204确定作为已受理的中断的对象的虚拟CPU(步骤S405)。虚拟CPU负载决定部203判断由中断通知部204确定的虚拟CPU是否保持RT任务(步骤S410)。
14
在判断为已确定的虚拟CPU保持RT任务的情况下(步骤S410中的“是”),虚拟 CPU负载决定部203对中断通知部204通知中断通知指示。然后,当中断通知部204受理中断通知指示后,立即对已确定的虚拟CPU发布中断通知(步骤S430)。在虚拟CPU负载决定部203判断为已确定的虚拟CPU未保持RT任务的情况下(步骤S410中的“否”),虚拟CPU负载决定部203还判断已确定的虚拟CPU和其他虚拟CPU是否被分配给同一物理CPU (步骤S415)。在判断为被分配给同一物理CPU的情况下(步骤S415中的“是”),虚拟CPU负载决定部203判断该其他虚拟CPU是否保持RT任务(步骤S420)。在判断为其他虚拟CPU保持RT任务的情况下(步骤S420中的“是”),虚拟CPU负载决定部203判断该物理CPU是否处于空闲状态(步骤S425)。在判断为处于空闲状态的情况下(步骤S425中的“是”),虚拟CPU负载决定部203 对中断通知部204通知中断通知指示。然后,当中断通知部204受理中断通知指示后,对已确定的虚拟CPU发布中断通知(步骤S430)。并且,在未对被分配已确定的虚拟CPU的物理CPU分配其他虚拟CPU的情况下(步骤S415中的“否”)、以及在对被分配已确定的虚拟CPU的物理CPU分配其他虚拟CPU但该其他虚拟CPU未保持RT任务的情况下(步骤S420中的“否”),虚拟CPU负载决定部203对中断通知部204通知中断通知指示。然后,当中断通知部204受理中断通知指示后,立即对已确定的虚拟CPU发布中断通知(步骤S430)。3.第3实施方式这里,以与第1实施方式的不同之处为中心对第3实施方式进行说明。另外,针对与第1实施方式相同的结构要素标注相同标号。图13是示出第3实施方式的信息处理系统IOOOb的结构的图。图13的信息处理系统IOOOb在图1所示的信息处理系统1000中追加实时任务执行通知部104,将信息处理系统1000的虚拟CPU负载决定部200和虚拟CPU负载分散部201分别置换为虚拟CPU负载决定部205和虚拟CPU负载分散部206。3.1 结构下面,对实时任务执行通知部104、虚拟CPU负载决定部205和虚拟CPU负载分散部206各自的功能进行说明。(1)实时任务执行通知部104实时任务执行通知部104对虚拟CPU负载决定部205通知表示RT任务的动作开始的时间的时间信息。这里,例如从0S20a内的任务调度器(未图示)取得RT任务所涉及的时间信息。(2)虚拟CPU负载决定部205虚拟CPU负载决定部205在受理RT任务的时间信息后,根据已受理的时间信息和上次受理的时间信息,计算该RT任务的动作周期(起动周期),将计算出的动作周期作为保持该RT任务的虚拟CPU的负载进行记录。(3)虚拟CPU负载分散部206虚拟CPU负载分散部206在第1实施方式的虚拟CPU负载分散部201的功能中具有以下所示的功能。
虚拟CPU负载分散部206在决定再次分配时,在检索到未被分配保持RT任务的虚拟CPU的物理CPU的情况下,在未发现该物理CPU时,将保持新生成的RT任务的虚拟CPU 分配给被分配保持动作周期为最长周期的RT任务的虚拟CPU的物理CPU。3. 2分配的具体例下面是本实施方式中的各虚拟CPU的分散的方法的例子。图14(a)示出分配变更前的状态。具体而言,对物理CPUlb分配2个虚拟CPTOb、 6c,在虚拟CPTOb中登记新生成的RT任务40,在虚拟CPTOc中登记RT任务30c。而且,在其他虚拟CPTOa、6d中分别登记RT任务30a、30d。该情况下,在全部虚拟CPU中存在RT任务,所以,虚拟CPU负载分散部201无法再次分配虚拟CPU,以使得对各物理CPUla Ic最多分配一个RT任务。因此,虚拟CPU负载分散部206检索保持动作周期为最长周期的RT 任务的虚拟CPU,对被分配检索到的虚拟CPU的物理CPU再次分配保持新生成的RT任务40 的虚拟CPTOb。图14 (b)示出其结果的一例,将虚拟CPTOb的分配目的地从物理CPUlb变更为被分配保持动作周期为最长周期的RT任务的虚拟CPTOa的物理CPUla。这样,通过进行再次分配,如果新的RT任务是动作周期长的RT任务,则竞争的可能性低。因此,虚拟CPTOa的RT任务30a和虚拟CPTOb的RT任务40同时要求动作的可能性低,容易满足实时要求。进而,在具有RT任务的虚拟CPU的数量增加的情况下,例如,可以将按照每个物理CPU而分配的多个虚拟CPTOa 6d各自的实时任务的周期内的最短周期作为物理CPU的动作周期,来决定分配目的地。3. 3 动作这里,对第3实施方式的信息处理系统IOOOb的动作进行说明。(1)动作周期更新处理这里,使用图15所示的流程图对虚拟CPU负载决定部205按照每个RT任务管理的动作周期的更新处理的动作进行说明。实时任务执行通知部104判断由管理对象的任务队列保持的一个RT任务的动作是否开始(步骤S400)。在判断为动作开始的情况下(步骤S400中的“是”),实时任务执行通知部104对虚拟CPU负载决定部205通知该RT任务所涉及的时间信息(步骤S405)。虚拟CPU负载决定部205针对来自实时任务执行通知部104的动作开始的RT任务,根据上次的动作信息和本次受理的动作信息计算动作周期,更新所管理的该RT任务的动作周期(步骤S410)。(2)任务生成/移动处理这里,以与第1实施方式的不同之处为中心,使用图16所示的流程图说明由信息处理系统IOOOb进行的任务的生成/移动处理的动作。首先,信息处理系统IOOOb执行图6所示的步骤SlOO S115。另外,这些处理动作已经说明,所以这里省略说明。在执行了步骤S115后,当受理来自任务信息通知部103的通知后,虚拟CPU负载决定部205确定当前时点的各任务队列中的负载状况(步骤S500)。虚拟CPU负载分散部206判断保持新的RT任务的虚拟CPU和其他虚拟CPU是否被分配给同一物理CPU (步骤S505)。具体而言,虚拟CPU负载分散部206判断是否对被分配保持新的RT任务的虚拟CPU的物理CPU还分配其他虚拟CPU。在判断为肯定的情况下(步骤S505中的“是”),虚拟CPU负载分散部检索被分配未保持RT任务的虚拟CPU的物理CPU (步骤S510)。在根据检索结果发现了被分配未保持RT任务的虚拟CPU的物理CPU的情况下(步骤S515中的“是”),虚拟CPU负载分散部206确定为已发现的物理CPU的处理负载低,针对根据检索结果而发现的物理CPU,再次分配被分配给被分配了保持新的RT任务的虚拟CPU 的物理CPU的其他虚拟CPU。在根据步骤S510中的检索结果未发现被分配未保持RT任务的虚拟CPU的物理 CPU的情况下(步骤S515中的“否”),虚拟CPU负载分散部206向被分配保持动作周期最长的RT任务的虚拟CPU的物理CPU移动登记了新的RT任务的虚拟CPU(步骤S525)。在步骤S505中的判断为否定的情况下(步骤S205中的“否”),处理结束。另外,在执行了本处理后,通过虚拟CPU调度部202分别针对各物理CPUla lc, 决定被分配给该物理CPU的虚拟CPU的执行顺序。4.第4实施方式这里,以与第1实施方式的不同之处为中心对第4实施方式进行说明。另外,针对与第1实施方式相同的结构要素标注相同标号。图17是示出第4实施方式的信息处理系统1000c的结构的图。图17的信息处理系统1000c在图1所示的信息处理系统1000中追加虚拟CPU处理能力通知部207,将信息处理系统1000的任务负载分散部101置换为任务负载分散部105。4. 1 结构(1)虚拟CPU处理能力通知部207虚拟CPU处理能力通知部207从虚拟CPU调度部202取得对虚拟CPU分配多少物理CPU时间的信息。例如是分配物理CPU时间的50 %这样的信息。虚拟CPU处理能力通知部207根据各物理CPUla Ic的分配时间计算虚拟 CPU6a 6d的处理能力,通知给任务负载分散部105。(2)任务负载分散部105任务负载分散部105考虑CPU的处理能力来决定任务的分散。具体而言,当从虚拟CPU处理能力通知部207受理虚拟CPU6a 6d各自的处理能力所涉及的信息后,任务负载分散部105根据各虚拟CPU6a 6d各自的处理能力,抑制对处理能力比其他虚拟CPU低的虚拟CPU分配任务。由此,任务负载分散部105抑制对物理CPU时间少的虚拟CPU分配任务。在对特定的物理CPU分配较多的虚拟CPU的情况下,抑制在该虚拟CPU的任务队列中登记RT任务, 所以,能够抑制RT任务集中于特定的物理CPU。4. 2 动作这里,仅将图6所示的动作中的步骤SlOO变更为根据各虚拟CPTOa 6d各自的处理能力决定新任务的存储目的地,就能够实现由信息处理系统1000c进行的任务生成/ 移动处理,所以这里省略详细说明。5.变形例
以上,根据实施方式和变形例进行了说明,但是,本发明不限于上述实施方式和变形例。例如考虑以下的变形例。(1)在上述各实施方式中,信息处理系统在新生成任务的情况下决定该新任务的移动,但是不限于此。信息处理系统也可以按照一定周期调出任务负载分散部,决定各任务队列之间的任务的移动,以使得负载均等。(2)在上述各实施方式中,设虚拟计算机为2个,但是不限于此。也可以在信息处理系统中设置3个以上的虚拟计算机。(3)在上述各实施方式中,虚拟CPU调度部通过时分割决定由任务队列保持的各任务的执行顺序,但是不限于此。0S20a和0S20b对管理程序5通知RT任务的结束,虚拟CPU调度部进行在结束的通知之前持续执行具有RT任务的虚拟CPU的虚拟CPU调度。(4)在上述各实施方式中,通过优先级来区分RT任务和通常任务,但是不限于此。例如,除了优先级以外,也可以使用具有区分实时任务的功能的OS来区分RT任务和通常任务。或者,作为设计上的事项,在对要求实时性能的任务赋予一定以上的优先级的情况下,也可以将该优先级以上的任务视为实时任务。本发明中的RT任务相当于参照优先级或任务的种类而作为特别要求优先执行的任务进行处理的任务。(5)在上述第3实施方式中,从OS的任务调度器取得动作信息,但是不限于此。也可以使用记录了任务的动作时间的0S,利用基于该OS的记录。或者,在任务登记部在任务队列中登记任务时,在得知实时任务的动作的时间信息的情况下,任务信息通知部也可以兼作实时任务执行通知部。(6)在上述第3实施方式中,作为在再次分配中使用的信息,设为RT任务的动作周期,但是不限于此。例如,也可以将RT任务中的平均动作间隔作为伪周期。并且,不仅是周期,在虚拟 CPU的分散的决定时,也可以考虑RT任务的动作时间。(7)另外,本发明的各功能块作为典型性的软件实现,但是,也可以作为集成电路即LSI实现。它们可以单独地单片化,也可以包含一部分或全部而单片化。这里表现为LSI, 但是,由于集成度的差异,有时也被称为IC、系统LSI、超级LSI、特级LSI。并且,集成电路化的手法不限于LSI,也可以通过专用电路或通用处理器来实现。也可以利用能够在LSI制造后进行编程的FPGA(Field Programmable Gate Array)、能够再次构筑LSI内部的电路单元的连接或设定的可重构处理器。进而,如果出现了通过半导体技术的进步或派生的其他技术置换LSI的集成电路化的技术,则也可以使用该技术来进行功能块的集成化。(8)可以分别对上述实施方式和上述变形例进行组合。6.补充(1)本发明的一个方式的信息处理系统的特征在于,该信息处理系统具有包含多个OS的OS群,该OS确定处理对象的各任务属于哪个任务组,并进行各任务的执行控制以使得在同一处理器上执行属于同一任务组的全部任务;以及管理程序,使所述各OS的任务组中的一个或多个分别对应于多个处理器,使所述各OS进行任务的执行控制,以使得在
18与任务组对应的处理器上执行属于该任务组的任务,所述管理程序具有取得单元,逐次取得表示针对各OS的各个任务组的处理负载量的负载信息;以及变更单元,参照由所述取得单元逐次取得的负载信息所表示的处理负载量,当在各处理器之间产生处理负载量的偏差时,变更处理器与任务组的对应。根据该结构,当在各处理器之间产生处理负载量的偏差时,信息处理系统变更处理器与任务组的对应,所以,能够在多个处理器之间确保处理负载的均衡。(2)这里,所述处理负载量是针对各任务组的该任务组所包含的要求实时性处理的实时任务所涉及的处理负载量,当在各处理器之间产生实时任务所涉及的处理负载量的偏差时,所述变更单元变更处理器与任务组的对应,以便分散实时任务所涉及的处理负载量。根据该结构,当在各处理器之间产生实时任务所涉及的处理负载量的偏差时,信息处理系统变更处理器与任务组的对应,以便分散实时任务所涉及的处理负载量,所以,能够确保实时任务所涉及的处理负载的均衡。由此,确保了实时任务所涉及的处理负载的均衡,所以,能够满足针对实时任务的实时要求。(3)这里,任务组所包含的实时任务所涉及的所述处理负载量是该任务组所包含的实时任务的个数,当在各处理器之间产生应该由该处理器处理的实时任务的个数的偏差时,所述变更单元变更处理器与任务组的对应,以便分散应该处理的实时任务的个数。根据该结构,信息处理系统将实时任务的个数作为处理负载量,所以,能够容易地确定各处理器的处理负载量。(4)这里,在对应有多个任务组的处理器中,在至少2个任务组中分别包含实时任务的情况下,所述变更单元判断为该处理器产生实时任务所涉及的处理负载量的偏差,所述变更单元使该处理器中的所述至少2个任务组分别对应于单独的处理器。根据该结构,信息处理系统使与同一处理器对应的至少2个任务组分别对应于单独的处理器,由此,能够确保实时任务所涉及的处理负载的均衡。(5)这里,在对应有多个任务组的处理器中,在实时任务属于一个任务组的情况下,所述变更单元判断为该处理器产生处理负载量的偏差,所述变更单元仅使该处理器与所述一个任务组对应,使与该处理器对应的其他任务组对应于其他处理器。根据该结构,信息处理系统使保持实时任务的1个任务组对应于1个处理器,由此,不需要进行与未保持实时任务的其他任务组之间的调度,所以,能够满足针对实时任务的实时要求。(6)这里,所述处理负载量是针对各任务组的表示该任务组所包含的实时任务的动作间隔的值,在针对一个处理器对应有动作间隔短的实时任务所属的第1任务组和其他实时任务所属的第2任务组的情况下,所述变更单元判断为该一个处理器产生处理负载量的偏差,所述变更单元将所述第2任务组的对应变更为对应有动作间隔比所述第1任务组的动作间隔长的任务组所属的第3任务组的处理器。根据该结构,信息处理系统将第2任务组的对应变更为对应有第3任务组的处理器,所以,能够降低第2任务组中的实时任务与第3任务组中的实时任务产生竞争的概率。(7)这里,当受理中断时,在是包含实时任务的任务组所包含的任务的情况下,所述管理程序立即对进行包含该实时任务的任务组的执行控制的OS进行该中断的通知。
根据该结构,当产生实时任务所涉及的中断时,信息处理系统立即进行中断通知, 所以,能够满足针对实时任务的实时要求。(8)这里,在所述任务中对应有处理的优先级,所述变更单元根据在各任务组中属于该任务组的任务的优先级的合计值,在各处理器之间产生优先级的合计值的偏差的情况下,判断为所述处理负载量产生偏差,所述变更单元变更处理器与任务组的对应,以使得优先级的合计值被平均化。根据该结构,信息处理系统将在各任务组中属于该任务组的任务的优先级的合计值作为处理负载量,所以,能够容易地确定各处理器的处理负载量。(9)这里,所述管理程序还具有通知单元,该通知单元针对各OS通知与属于该OS 的各任务组有关的被分配了该任务组的处理器中的该任务组的处理能力,当生成新的任务后,各OS对具有被通知的处理能力中的高处理能力的任务组分配所述新的任务。根据该结构,信息处理系统针对各处理器,根据与该处理器对应的任务组的处理能力,分配新生成的任务,所以,在任务的分配时点,能够在多个处理器之间确保处理负载的均衡。(10)这里,所述管理程序具有调度决定单元,该调度决定单元在各处理器中决定与该处理器对应的一个或多个任务组的处理调度,所述处理能力表示基于针对所述各任务组的处理调度的处理时间。根据该结构,信息处理系统能够针对各处理器,根据与该处理器对应的任务组的处理调度,分配新生成的任务。产业上的可利用性本发明的信息处理系统不仅在大型计算机、个人计算机中是有效的,在数字电视机、蓄积再现装置等各种家电设备、通信设备、产业设备、控制设备、车载设备等的执行使用虚拟计算机的处理的设备中也是有效的。标号说明Ia Ic 物理CPU ;2 输入输出装置;3 负载分散装置;4a、4b 虚拟计算机;5 管理程序;6a 6d 虚拟CPU ; IOOa IOOd 任务队列;101 任务负载分散部;102 任务登记部;103 任务信息通知部;200 虚拟CPU负载决定部;201 虚拟CPU负载分散部;202 虚拟 CPU调度部;1000 信息处理系统。
权利要求
1.一种信息处理系统,其特征在于,该信息处理系统具有包含多个OS的OS群,该OS确定处理对象的各任务属于哪个任务组,并进行各任务的执行控制以使得在同一处理器上执行属于同一任务组的全部任务;以及管理程序,使所述各OS的任务组中的一个或多个对应于多个处理器的每一个,使所述各OS进行任务的执行控制,以使得在与任务组对应的处理器上执行属于该任务组的任务, 所述管理程序具有取得单元,逐次取得表示针对各OS的各个任务组的处理负载量的负载信息;以及变更单元,参照由所述取得单元逐次取得的负载信息所表示的处理负载量,当在各处理器之间产生处理负载量的偏差时,变更处理器与任务组的对应。
2.如权利要求1所述的信息处理系统,其特征在于,所述处理负载量是针对各任务组的该任务组所包含的要求实时性处理的实时任务所涉及的处理负载量,当在各处理器之间产生实时任务所涉及的处理负载量的偏差时,所述变更单元变更处理器与任务组的对应,以便分散实时任务所涉及的处理负载量。
3.如权利要求2所述的信息处理系统,其特征在于,任务组所包含的实时任务所涉及的所述处理负载量是该任务组所包含的实时任务的个数,当在各处理器之间产生应该由该处理器处理的实时任务的个数的偏差时,所述变更单元变更处理器与任务组的对应,以便分散应该处理的实时任务的个数。
4.如权利要求2所述的信息处理系统,其特征在于,在对应有多个任务组的处理器中,在至少2个任务组中分别包含实时任务的情况下, 所述变更单元判断为该处理器产生实时任务所涉及的处理负载量的偏差,所述变更单元使该处理器中的所述至少2个任务组分别对应于单独的处理器。
5.如权利要求2所述的信息处理系统,其特征在于,在对应有多个任务组的处理器中,在实时任务属于一个任务组的情况下,所述变更单元判断为该处理器产生处理负载量的偏差,所述变更单元仅使该处理器与所述一个任务组对应,使与该处理器对应的其他任务组对应于其他处理器。
6.如权利要求2所述的信息处理系统,其特征在于,所述处理负载量是针对各任务组的表示该任务组所包含的实时任务的动作间隔的值, 在针对一个处理器对应有动作间隔短的实时任务所属的第1任务组和其他实时任务所属的第2任务组的情况下,所述变更单元判断为该一个处理器产生处理负载量的偏差,所述变更单元将所述第2任务组的对应变更为对应有动作间隔比所述第1任务组的动作间隔长的任务组所属的第3任务组的处理器。
7.如权利要求2所述的信息处理系统,其特征在于,当受理中断时,在是包含实时任务的任务组所包含的任务的情况下,所述管理程序还立即对进行包含该实时任务的任务组的执行控制的OS进行该中断的通知。
8.如权利要求1所述的信息处理系统,其特征在于, 在所述任务中对应有处理的优先级,所述变更单元根据在各任务组中属于该任务组的任务的优先级的合计值,在各处理器之间产生优先级的合计值的偏差的情况下,判断为所述处理负载量产生偏差, 所述变更单元变更处理器与任务组的对应,以使得优先级的合计值被平均化。
9.如权利要求1所述的信息处理系统,其特征在于,所述管理程序还具有通知单元,该通知单元针对各OS通知与属于该OS的各任务组有关的被分配了该任务组的处理器中的该任务组的处理能力,当生成新的任务时,各OS对具有被通知的处理能力中的高处理能力的任务组分配所述新的任务。
10.如权利要求9所述的信息处理系统,其特征在于,所述管理程序具有调度决定单元,该调度决定单元在各处理器中决定与该处理器对应的一个或多个任务组的处理调度,所述处理能力表示基于针对所述各任务组的处理调度的处理时间。
11.一种处理方法,该处理方法在信息处理系统中由管理程序使用,该信息处理系统具有包含多个OS的OS群,该OS确定处理对象的各任务属于哪个任务组,并进行各任务的执行控制以使得在同一处理器上执行属于同一任务组的全部任务;以及所述管理程序,使所述各OS的任务组中的一个或多个对应于多个处理器的每一个,使所述各OS进行任务的执行控制,以使得在与任务组对应的处理器上执行属于该任务组的任务,该处理方法的特征在于,以下步骤取得步骤,逐次取得表示针对各OS的各个任务组的处理负载量的负载信息;以及变更步骤,参照由所述取得步骤逐次取得的负载信息所表示的处理负载量,当在各处理器之间产生处理负载量的偏差时,变更处理器与任务组的对应。
12.一种处理程序,该处理程序在信息处理系统中由管理程序使用,该信息处理系统具有包含多个OS的OS群,该OS确定处理对象的各任务属于哪个任务组,并进行各任务的执行控制以使得在同一处理器上执行属于同一任务组的全部任务;以及所述管理程序,使所述各OS的任务组中的一个或多个对应于多个处理器的每一个,使所述各OS进行任务的执行控制,以使得在与任务组对应的处理器上执行属于该任务组的任务,该处理程序的特征在于,使计算机执行以下步骤取得步骤,逐次取得表示针对各OS的各个任务组的处理负载量的负载信息;以及变更步骤,参照由所述取得步骤逐次取得的负载信息所表示的处理负载量,当在各处理器之间产生处理负载量的偏差时,变更处理器与任务组的对应。
13.如权利要求12所述的处理程序,其特征在于, 所述处理程序记录在计算机可读取的记录介质中。
14.一种集成电路,其特征在于,该集成电路具有包含多个OS的OS群,该OS确定处理对象的各任务属于哪个任务组,并进行各任务的执行控制以使得在同一处理器上执行属于同一任务组的全部任务;以及管理程序,使所述各OS的任务组中的一个或多个对应于多个处理器的每一个,使所述各OS进行任务的执行控制,以使得在与任务组对应的处理器上执行属于该任务组的任务, 所述管理程序具有取得单元,逐次取得表示针对各OS的各个任务组的处理负载量的负载信息;以及变更单元,参照由所述取得单元逐次取得的负载信息所表示的处理负载量,当在各处理器之间产生处理负载量的偏差时,变更处理器与任务组的对应。
全文摘要
目的在于,提供能够在多个处理器之间确保处理负载的均衡的信息处理系统。信息处理系统具有包含多个OS的OS群,该OS确定处理对象的各任务属于哪个任务组,并进行各任务的执行控制以使得在同一处理器上执行属于同一任务组的全部任务;以及管理程序,使所述各OS的任务组中的一个或多个分别对应于多个处理器,使所述各OS进行任务的执行控制,以使得在与任务组对应的处理器上执行属于该任务组的任务,所述管理程序逐次取得表示针对各OS的各个任务组的处理负载量的负载信息,参照逐次取得的负载信息所表示的处理负载量,当在各处理器之间产生处理负载量的偏差时,变更处理器与任务组的对应。
文档编号G06F9/46GK102473118SQ20118000295
公开日2012年5月23日 申请日期2011年4月20日 优先权日2010年5月24日
发明者天野克重 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1