信息处理装置和信息处理方法

文档序号:6596167阅读:111来源:国知局
专利名称:信息处理装置和信息处理方法
技术领域
本发明涉及信息处理技术,特别涉及用于将处理分散多个计算资源来执行计算机程序的技术。
背景技术
以计算机游戏及网页检索软件为首的软件的高功能化给硬件带来了大的处理负荷。为了适应这样的状况,当然有必要实现运算处理本身的高速化,但投入多台处理器,高效地进行任务处理也是很重要的。此时,如何以高的使用率使每个处理器动作,对于处理高速化来说,也是很关键的。为了使多台处理器并列执行任务处理,一般情况下,多是由OS (操作系统)来控制对处理任务的分割、向各处理器的任务的分配、处理的切换、从各处理器向主存储器或输出输入装置的访问等。另一方面,也有人提议在OS上动作的用户层次(level)的任务来进行时间表安排(scheduling)等的任务处理的管理的用户层次时间表安排的手法。例如,有人提议将任务存储到主存储器队列,执行任务的处理器本身从该队列选择任务并执行的技术 (例如,参照专利文献1)。如上所述,通过多台处理器并列执行任务处理,来确保程序的处理速度的技术被普遍采用。另一方面,用户对高速进行高度处理的需求是无止境的,为了最大限度地利用资源,需要能够进行高效处理的技术。专利文献1特开2007-52511号公报

发明内容
本发明是鉴于这样的问题而提出的,其目的在于提供能够高效地执行多台处理器所需要的处理的技术。本发明的一种形式是关于信息处理装置。该信息处理装置包括任务处理单元,处理程序的任务;处理要求单元,在执行中的程序的外部程序被调出时,对该外部程序的任务附加执行条件,发出处理要求;任务分配单元,将处理要求单元发出了处理要求的外部程序的任务组合到任务处理单元的任务处理的时间表(schedule)控制中;执行监视单元,在任务处理单元的外部程序的任务的处理中,判定是否产生违反处理要求单元附加的执行条件;执行控制单元,当执行监视单元判定产生了违反执行条件时,将任务处理单元的处理切换到外部程序的任务。此处,所谓“外部程序”一般情况下是指用于实现OS提供的功能的图书馆(’ λ 'J )、内核等,只要是调出地的程序以外的程序,不限定其种类和处理内容。本发明的另一种形式是信息处理方法。该信息处理方法包括在处理器处理应执行的程序的任务的步骤;在执行中的程序以外的系统层次的程序被调出时,在对执行中的程序的任务所进行的用户层次的时间表控制中,加入该系统层次的程序的任务的步骤;在处理器处理被加入到时间表控制中的系统层次的程序的任务的步骤。
以上构成要素的任意组合,将本发明的表现形式在方法、装置、系统、计算机程序等之间变换而得到的各种形式都作为本发明的形式有效。依据本发明,可容易使对多台处理器的任务的并列处理高效化。


图1是表示可适用于实施方式1的信息处理装置的构成例。图2是示意性地表示只让一个处理单元进行系统处理时的、在处理单元的任务处理的推移的图。图3是示意性地表示作为在实施方式1中的、由用户层次时间表安排器对系统处理进行时间表安排的情况下的一种形式来实现的、在各处理单元中的任务处理的推移的举例的图。图4是更详细地表示在实施方式1中的处理单元的构成的图。图5是表示在实施方式1中的系统处理从发生到开始的整体的顺序的流程图。图6是示意性地表示在实施方式1中,为了执行系统处理的处理顺序的图。图7是表示在实施方式1中,在系统处理要求单元对任务分配单元进行系统处理要求时通知的、与系统处理相关的信息的数据结构例的图。图8是用于说明在实施方式2中适用的自发性的用户层次时间表安排的概要的图。图9是表示在实施方式2中,在工作量中分别设定的分配条件的举例的图。图10是示意性地表示在实施方式2中,在设定图9所示的分配条件时,处理单元选择各工作量进行处理的过程的举例的图。图11是示意性地表示在实施方式2中将系统处理作为假想工作量来执行时的处理顺序的图。图12是表示在实施方式2中,任务分配单元将被要求的系统处理变换为假想工作量时参照的变换表的示例的图。图13是表示在实施方式2中,在引入自发性的用户层次时间表安排器时执行系统处理的处理顺序的流程图。图14是表示在实施方式2中能够实现的、在6个处理单元中的处理的推移的举例的图。图15是表示在实施方式2中能够实现的、在6个处理单元中的处理的推移的举例的图。图16是表示在实施方式2中能够实现的、在6个处理单元中的处理的推移的举例的图。
具体实施例方式实施方式1图1表示适用于本实施方式的信息处理装置的构成例。信息处理装置10具有微处理器单元18、输出输入装置(I/O) 42、主存储器44、辅助存储装置(HDD) 46,分别通过总线 48被连接。微处理器单元18的多个处理单元22a、22b、……、22n分别通过内部总线19连
5接。处理单元22a、22b、……、22n均是包含运算装置、本地存储器等的处理单元。处理单元22a、22b、……、22n处理OS或被启动的应用软件程序(以下简称为“应用软件”) 的任务。输出输入装置(I/O)42、主存储器44、辅助存储装置(HDD)46可以由设置在一般的信息处理装置中的输出输入装置、存储器、辅助存储装置来构成。在图1的构成的信息处理装置10中,处理单元22a、22b、……、22n的至少1个需要进行要访问输出输入装置42或主存储器44等设备的处理等系统层次的处理。以下将这样的处理称为“系统处理”。与此相对应地,可以将应用软件等用户层次的任务处理作为用户处理来对待。不执行系统处理的处理单元主要并列处理应用软件等用户层次的任务。在这种情况下,为了高速处理应用软件,不是让某个处理单元只进行系统处理,最好是在处理的空闲时间可使其处理应用软件的任务。图2示意性地表示在将处理单元2 作为进行系统处理的处理单元时的、在处理单元22a、22b、……、22n中的任务处理的推移。 图中,横轴是时间,用矩形表示,在各处理单元被处理的任务当中,白的矩形表示应用软件的任务,斜网格线的矩形表示系统处理的任务。在处理单元2 处理系统处理的任务2、3、5,在其空闲时间处理应用软件的任务 4。另一方面,在其他处理单元22b、……、22n,平时处理应用软件的任务6。虽然在图中省略了,但任务6当然可以在每个处理单元进行处理,在相同的处理单元也可以进行适当的前后切换歹矢7卜子)。一般地,与应用软件的任务相比较,系统处理需要高的优先程度的情况较多。为此,在图2所示的形式下,当处理单元2 在处理应用软件的任务4的途中,发生系统处理任务5时,与用户层次的时间表安排无关,应用软件的任务4必须将该处理单元2 腾出给系统处理的任务5。在制作应用软件的阶段,由于难以预测系统处理如何发生,所以即使制作用于并列处理的应用软件,如何将分配给处理单元22a的任务4切出来,是个很难的问题。例如, 由于不能预测处理单元2 能够处理应用软件的任务的时间,即使产生与同样在处理应用软件的任务6的处理单元22b、…….、22n的通讯的必要,也不能保障能够在合适的时刻执行该通讯处理。另外,由于不得不突然停止应用软件的任务4,所以应该保存的数据变多,前后切换所要的时间7变长。在本实施方式中,为了回避这种状况,实现处理的高速化,通过使用户层次时间表安排器进行系统处理的处理时间表安排,而加入到用户层次的处理时间表。图3示意性地表示作为由用户层次时间表安排器对系统处理进行时间表安排的情况下的一种形式来实现的、在处理单元22a、22b、……、22n中的任务处理的推移的例子。图的表示方法与图2 相同。如图3所示,所有的处理单元22a、22b、……、22n基本上执行应用软件的任务8。如系统处理的任务2、3、5发生,根据引入的用户层次时间表安排的顺序进行时间表安排,使得某一个处理单元执行该处理。例如,选择正在处理优先程度低的应用软件的任务的处理单元,或正在处理与其他的处理单元正在处理中的任务的相关性低的任务的处理单元等, 来分配系统处理。此时,被分配了系统处理的处理单元在从前后切换的观点来看是合适的时刻,停止自己正在执行中的应用软件的任务,或在处理中的任务结束时,开始系统处理。
由此,可以分散系统处理的负荷,同时可以回避应用软件的任务突然被系统处理的任务停止的状况,可尽可能地使系统处理和应用软件的任务双方都被进行。此时,由于可以回避上述的、只是一个处理单元难以进行应用软件所必要的通讯这样的状况,可以制作利用所有的处理单元进行并列处理的程序,使程序制作变得容易。另外,可以削减前后切换所要的时间,整体上提高处理速度。图4更详细地表示了处理单元22a的构成。如图1所示,信息处理装置10可以具有处理单元22a以外的处理单元,其数量不受限定。处理单元2 具有管理系统处理的任务的系统层次管理单元对、和管理应用软件的任务等用户层次的任务的用户层次管理单元25。系统层次管理单元M具有系统处理要求单元27,在处理中的任务中,当系统类的程序被调出来等必须进行系统处理时,将系统处理要求发出给用户层次管理单元25 ;执行监视单元观,监视在处理单元的系统处理的执行;执行控制单元30,在违反系统处理的执行条件时,使处理单元22a、22b等的某一个强制执行系统处理。用户层次管理单元25具有主要将应用软件等用户层次的程序分割为任务, 分配给各处理单元的任务分配单元26。处理单元2 还具有任务处理单元32,根据时间表处理被分配的任务;通讯单元34,在成为可以开始系统处理的状态时,通知系统层次管理单元M ;本地存储器36,从主存储器44读取任务处理所必要的数据并进行存储。其他处理单元22b、……、22n可以具有与处理单元22a同样的构成,例如,可以只具有任务处理单元32、通讯单元34、以及本地存储器36等一部分的功能块。此时,具有系统层次管理单元M以及用户层次管理单元25 的处理单元也可以管理不具有系统层次管理单元M以及用户层次管理单元25的其他处理单元的任务处理。在图4中,对于作为进行各种各样的处理的功能块而记载的各要素,是硬件的,可由CPU(Central Processing Unit)、存储器、其他的LSI来构成,是软件的,可由下载到存储器的程序等来实现。因此,这些功能块可由只是硬件、只是软件、或这些的组合等各种各样的形式来实现,这一点对于本技术区域的一般技术人员来说是可以理解的,不限定为任一种形式。例如,用户层次管理单元25可以是在任务处理单元32处理的任务之一,这种情况下,该功能块可以被认为是任务处理单元32的一部分。系统层次管理单元M的系统处理要求单元27在根据在处理单元22a、2 等处理的任务,调出OS提供的图书馆等时,产生与该图书馆对应的系统处理,通过将与该系统处理相关的信息通知给用户层次管理单元25的任务分配单元沈,来要求执行系统处理。在此,在向任务分配单元沈通知的、与系统处理相关的信息中,包含执行该系统处理的条件。作为执行条件,例如,可以列举作为到系统处理开始为止的容许时间的执行期限、或执行的处理单元等。在违反执行条件的情况下,例如,即使超过执行期限也不执行系统处理的情况下,如后面所述,强制停止在某一个处理单元的应用软件的任务,执行系统处理。执行条件的信息和处理要求发出时间等信息在系统层次管理单元M内被共有。执行监视单元28监视在处理单元22a、22b等的某一个中系统处理是否在执行期限内被执行了,执行条件是否被遵守等。在执行期限作为执行条件被指定对情况下,例如, 在执行监视单元观设置图中未表示的计时器,测定系统处理要求单元27发出系统处理的执行要求后经过的时间。在来自通讯单元34的、可接收系统处理的通知在计时器测定的执行期限内没有被进行的情况下,判定违反系统处理的执行条件。在执行监视单元观判定违反系统处理的执行条件的情况下,执行控制单元30停止在处理单元22a、22b等的某一个,或所有的处理单元22a、22b、……、2&ι中正在被处理的任务,执行该系统处理。该处理可以与OS的内核进行的一般的抢占(/ U工> 〉3 > ) 处理同样地来实现。当执行控制单元30检测到被分配了系统处理的处理单元停止自身正在处理的应用软件的任务,进行了注册值(注册值)等的保存时,使该处理单元执行系统处理。用户层次管理单元25的任务分配单元沈将用户启动的应用软件的任务分配给处理单元22a、22b等。当发生新的任务时,任务分配单元沈将发生的任务依次存储到设置在主存储器44等的任务队列中。此时,当处理单元22a、22b等停止、结束处理中的任务等时,从该任务队列中依次取出任务进行处理。或者任务分配单元沈根据任务的优先程度或必要的处理单元的数量、处理时间等,在和已经在处理单元22a、22b等进行了时间表安排的任务进行调整的基础上,以在适当的时间处理新的任务的方式,将任务分配给处理单元 22a、22b等。这样的处理可以适用在对应多任务的OS或用户层次OS等中一般地被采用的手法。如果任务分配单元沈进一步从系统处理要求单元27接收系统处理的执行要求, 也将该系统处理分配给某一个处理单元。此时,与其他任务一起将系统处理的信息存储到上述的任务队列中。或者,由于在从系统处理要求单元27接收的信息中包含该系统处理的执行条件,任务分配单元26以满足该执行条件的方式进行时间表安排。任务处理单元32根据时间表依次处理任务分配单元沈分配的应用软件以及系统处理的任务。程序等任务的处理所必要的数据预先从主存储器44读取到本地存储器36。 另外,在切换任务时,将此前处理的任务的背景(二 * 7卜)保存到主存储器44,进行还原(U 7卜7 )下一个任务背景的前后切换。在任务分配单元沈分配系统处理时,根据其时间表,在任务处理单元32保存了应用软件的任务的背景的基础上,通讯单元34将该意思通知系统层次管理单元24。并且在系统层次管理单元M的执行控制单元30的控制下,执行系统处理。如上所述,在违反执行条件的情况下,在该时刻,在执行控制单元30的控制下,任务处理单元32从处理中的应用软件的任务向系统处理进行前后切换。下面对具有此前叙述的构成的本实施方式的动作进行说明。图5表示从本实施方式的系统处理的产生到开始的整体的顺序的流程图。首先作为前提,在处理单元22a、 22b、……、22n,用户启动的应用软件的任务等根据在该时刻的时间表被处理。在这种状况下,在处理中的任务调出OS提供的图书馆等时,系统层次管理单元M的系统处理要求单元 27使得产生对应于该图书馆的系统处理,对用户层次管理单元25的任务分配单元沈进行处理要求(SlO)。接受了要求的任务分配单元沈在任何一个处理单元都不进行该系统处理的分配任务,或虽然分配了,但是处理单元由于某种理由不停止应用软件的任务等情况下,执行监视单元观判定为违反执行条件(S12的是)。执行控制单元30停止处理单元22a、22b、……、 22η的某一个或所有的处理,进行用于系统处理的抢占处理(S14)。此时,在停止所有的处理单元的情况下,使用其中的至少一个处理单元来执行系统处理即可。另外,在停止多个处理单元22a、22b、……、22n的至少一个,并由该处理单元来进行系统处理的情况下,可以根据预先设定的优先程度等规则来选择需要停止的处理单元,也可以任意地选择。另一方面,任务分配单元沈进行系统处理的分配,在被分配的处理单元为了该处理而进行了前后切换的情况下,执行监视单元观判定没有违反执行条件(S12的否)。并且,处理单元的任务处理单元32开始系统处理(S16)。当在S14进行了抢占处理的情况下也同样地开始系统处理(S16)。图6示意性地表示为了执行系统处理的处理顺序。此时,对系统处理设定执行期限。与图2相同,横方向是时间轴,白的矩形是应用软件的任务,斜网格线矩形是系统处理的任务。在该图中,6个处理单元22a、22b、……、22f分别处理应用软件的任务。在该状况下,首先如图5的SlO所示,系统层次管理单元M的系统处理要求单元27对任务分配单元 26进行系统处理要求(S20)。任务分配单元沈将该处理分配给处理单元22d(S2》。该处理单元的选择,如上所述,是根据正在处理的任务的优先程度或与其他处理单元正在处理中的任务的关联性等来进行。或将系统处理的信息存储到任务队列。此时,结束了处理中的任务的处理单元通过从该任务队列读取系统处理的信息,进行实质性的分配。被分配了系统处理的处理单元22d在合适的时候停止应用软件的任务,将注册值等保存到主存储器44等之后,将可以接受系统处理的旨意的通知传递给系统层次管理单元M(S24)。系统层次管理单元M的执行监视单元28测定从S20的处理要求后经过的时间,当在执行期限届满前接受到S24的通知时,执行控制单元30让处理单元22d开始系统处理(S28)。此时,在由于某种原因而没有进行S22的任务分配处理的情况下,或者在处理单元22d不能接受系统处理等的情况下,如果SM的可以接受的通知在执行期限内没有进行, 则执行监视单元观判定违反执行条件,由执行控制单元30执行图5中的S14的抢占处理。 通过在每次发生系统处理时反复进行以上的处理,如图3所示地,可以实现将所有的处理单元22a、22b、……、22n用于应用软件的同时,在必要的时刻,执行系统处理的形式。图7表示系统处理要求单元27对任务分配单元沈进行系统处理要求时通知的、 与系统处理相关的信息的数据结构的例子。系统处理数据50包括类型标识符52、处理 IM4、执行期限56、周期58、执行时间60。类型标识符52是用于识别音频解码、回声消除等系统处理的种类的识别信息,种类和标识符的对应关系预先决定并存储到主存储器44等。 任务分配单元沈根据被要求的系统处理的类型标识符52,确定该处理的种类,对于各种类确定预先决定的优先程度之后,反映到时间表安排上。处理IM4是对每个要求的系统处理唯一设定的识别信息。在处理单元进行系统处理时,根据该处理ID,从主存储器44读取系统处理的程序。另外,被分配了系统处理的处理单元的通讯单元34在将做好了执行该系统处理的准备的情况通知给系统层次管理单元 24时,也使用处理ID,来区别与其他系统处理相关的通知。执行期限56例如是从发出系统处理的委托到开始执行的容许时间。如上所述,即使经过该时间,在没有来自处理单元的、 可以接受系统处理的通知时,由执行控制单元30进行抢占处理。在多个系统处理发生时, 任务分配单元沈可以利用该执行期限56,确定在系统处理期间的分配优先顺序。例如,将最快到达执行期限的系统处理优先分配给处理单元。周期58是系统处理的动作周期。在多个系统处理发生时,任务分配单元沈根据该周期58,例如,根据单调比率调度( >一卜 7卜二 7夕,rate-monotonic scheduling) 等手法,确定向处理单元的分配。执行时间60是系统处理的执行时间。在多个系统处理发生时,任务分配单元沈也可以根据该执行时间60确定向处理单元的分配。另外,根据不同情况,如果系统处理的执行超过执行时间60,也可以强制性地切断处理单元的该系统处理。在到目前为止的说明中,当系统层次管理单元M使系统处理发生时,通过专门向用户层次管理单元25的任务分配单元沈进行处理要求,实现了将系统处理加入到用户层次的时间表安排中的形式。另一方面,也可以使用相同的信息处理装置10,使得可以通过应用软件等程序选择将系统处理组合到用户层次的时间表安排中的形式、和对图2的说明那样地、将系统处理与用户层次时间表安排相独立地执行的形式。此时,系统层次管理单元 M在系统处理发生的时刻,从执行中的应用软件的程序来判断哪种形式被指定。如果指定将系统处理组合到用户层次的时间表安排中的形式,系统层次管理单元 24将发生的系统处理的要求发出给任务分配单元26。如果指定与用户层次时间表安排相独立地执行系统处理的形式,系统层次管理单元M不向任务分配单元沈要求处理,当处理单元正在处理用户层次的任务的情况下,夺取处理时间,执行系统处理。由此,在制作应用软件时,可以相应于必要的系统处理的种类或执行频度等,选择最合适的形式。根据以上述的本实施方式,将在应用软件处理的途中发生的系统处理组合到用户层次的时间表安排处理中。由此,根据用户层次的时间表安排策略,产生出可执行系统处理的机会,使得在未予期的时间停止应用软件等用户层次的任务的可能性变低。另外,由于容易将系统处理的负荷分散给多个处理单元,使得不进行通过系统管理单元的抢占,即可在执行期限截止前一直执行系统处理的可能性变高。由此,被分配系统处理的处理单元可以在最合适的时间停止本身正在处理的应用软件的任务,可以减少为了开始系统处理而进行前后切换带来的架空(才一〃一 7卜‘)。另外,由于应用软件的任务处理不容易发生偏颇,因此可以回避只对特定的处理单元而言在处理单元之间难以通讯的状况,可容易进行程序的并列化。在处理单元进行的系统处理超过执行期限等违反执行条件的情况下,主处理单元将处理单元的处理强制性地切换到系统处理。由此,可以准确执行系统处理,通过根据用户层次的时间表安排进行处理分配,可以排除系统处理力5延迟等不好影响。其结果,在准确执行系统处理的同时,可以高速处理应用软件的任务。实施方式2实施方式1的形式是,根据优先程度或执行时间等,用户层次管理单元25的任务分配单元沈将各任务分配给合适的处理单元,由此,生成时间表。在本实施方式中,在各处理单元自主地选择任务并执行的自发性的用户层次时间表安排的机构中,如实施方式1那样,在依据时间表的处理单元中执行系统处理。该用户层次时间表安排的例子在例如特开2007-52511号公报等中被公开。在此对其概要进行说明。图8是用于说明自发性的用户层次时间表安排的概要的图。在以下的说明中,在可以使用与实施方式1相同的功能块的情况下,对该功能块赋予与在实施方式1 中表示的符号相同的符号。另外,对于与实施方式1相同的处理顺序,适当地省略其说明。在图8中,当处理单元2 生成应用软件等用户层次的任务时,将其分配给包含在信息处理装置10中的处理单元集团的某一个。具体地说,在与预先确定的一个或多个处理单元的集团组相对应的主存储器44内的区域(任务队列)存储用于执行分配的任务的数据。在图8的例子中,4个处理单元22a、22b、22c、22d构成处理单元的集团,分配给该集团的任务80被存储到主存储器44的相应的区域。在处理单元22a、22b、22c、22d的各个本地存储器存储有执行用户层次时间表安排的内核程序。当前面的应用软件的任务结束或成为停止状态的情况下,或设定的周期到来时,处理单元22a、22b、22 c、22d开始内核处理,从存储在主存储器44的任务中选择1个, 通过将执行该任务所必要的程序等数据复制到自身的本地存储器,来开始该任务的处理。存储到主存储器44的任务可以是在1个处理单元用1次处理执行的最小单位的任务,也可以是以设定的处理单位将这些任务合在一起的任务组,或是工作链的状态。以下,把这样将一个以上的最小单位的任务合在一起的单位称为工作量。如果将1个宏观处理,即将为了实现目的的任务的集合体作为工作量来形成,以该工作量单位对处理单元进行分配,可实现高效的处理。例如,当执行工作量需要多个处理单元时,基本上是同时确保该数量的处理单元来执行。为此,对各工作量附加要求的处理单元的数量、各处理单元的优先程度、最大的处理单元分配数量等分配条件的信息。处理单元22a、22b、22c、22d在读取与该工作量相关的信息的基础上,根据每个处理单元的优先程度等,选择一个工作量,进行任务的处理。图9举例表示分别设置在4个工作量中的分配条件、此处各处理单元的优先程度以及最大的处理单元分配数。在图9所示的分配条件表90的例子中,如工作量栏92所示,将物理运算的工作量P、人工知能的工作量 A、图形处理的工作量G、以及音频处理的工作量M作为处理对象的工作量。对于各工作量,在优先程度栏94以及最大处理单元数栏96记载各处理单元的4 个工作量的优先顺序、以及可以分配的处理单元的最大数。例如,工作量P的情况下,处理单元22a、22b、22c、22d的优先顺序分别被设定为“1”、“0”、“2”、“2”。另外,可以分配的处理单元的最大数被设定为“2”。其他的工作量也同样。在图9的情况下,记载在优先程度栏94中的数值除了 “0”以外,数值越小的优先顺序越高。例如,处理单元22a的优先顺序是工作量P高,接下来是工作量G。数值为“0” 时,表示在该处理单元不进行处理的设定。在不设定可以分配的处理单元的最大数的情况下,也可以将最大处理单元数栏96作为空栏。这样的设定在制作程序时,对每一个应用软件进行。图10示意性地表示设定图9中所示的分配条件时,处理单元22a、22b、22c、22d 选择各工作量,进行处理的过程的举例。在该图中,纵方向是时间轴,在各处理单元的下面表示的矩形是任务或工作量的一个一个的处理。在该图所示的时刻to付近,各处理单元 22a、22b、22c、22d分别进行在各自处具有最高优先顺序的任务的处理,S卩,进行工作量P、 工作量A、工作量G、工作量G的处理。例如,在时刻tl,在处理单元22c、22d被处理的工作量G的任务成为为了设备访问的待机状态时,这些处理单元22c、22d选择下一个优先程度高的任务的工作量P。可是, 由于可以处理工作量P的任务的处理单元的最大数是“2”,在处理单元22c选择了工作量P 的情况下,处理单元22d再选择下一个具有优先程度的工作量M。当为了设备访问的待机在时间T解消时,处理单元22c、22d在可以停止工作量P、工作量M的时刻,再选择工作量G 并开始执行(时刻t2)。
这样,根据在应用软件被指定的优先程度以及可分配的处理单元的最大数、或要求的处理单元的数等的分配条件,由于在各处理单元动作的内核,任务处理自主地进行。此时,在各处理单元,由于优先程度低的任务停止,在合适的时刻将处理时间让给优先程度高的任务,可使前后切换所要的时间最小,使根据优先程度的处理的切换成为可能。另外,可以对每个处理单元指定优先程度,使得向处理单元分配任务更容易。另外,图9、10只是例示,也可以只将优先程度作为分配条件,或指定其他的参数。在本实施方式中,在导入这样的自发性的用户层次时间表安排器的信息处理装置中,将系统处理组合到用户层次时间表安排中。具体地说,通过将系统处理作为假想工作量来发生,将系统处理组合到用户层次时间表安排器的时间表安排中。该形式可以由与在实施方式1的图1以及图4所示的信息处理装置10相同的构成来实现。但是,在本形式中任务分配单元沈不是直接将任务分配给处理单元,如上所述,将工作量分配给处理单元组, 将要处理的数据或分配条件存储到与该处理单元组相对应的主存储器44内的区域中。图11示意性地表示在本实施方式中将系统处理作为假想工作量来执行时的处理顺序。与图6相同,白矩形是应用软件的任务(工作量)、斜网格线矩形是系统处理的任务 (假想工作量)。在该图中,4个处理单元22a、22b、22c、22d形成处理单元组,分别处理构成被分配的应用软件的工作量的任务。在该状况下,首先,系统层次管理单元M的系统处理要求单元27向任务分配单元沈进行系统处理要求(S40)。任务分配单元沈根据预先决定的规则,将该处理要求转换为假想工作量,存储到主存储器44的相应区域中(S42)。此后,在处理单元组中,完成或者停止了前面的任务处理的处理单元、在图11例子中即处理单元22d,从主存储器44选择系统处理的假想工作量,装载到自己的本地存储器中(S44)。在可以进行假想工作量的处理时,处理单元22d将该意旨的通知传送给系统层次管理单元M(S46)。系统层次管理单元M的执行监视单元28测定从S40的处理要求起所经过的时间,在到达执行期限前接受到S46的通知的情况下,执行控制单元30使处理单元22d开始系统处理(S50)。在违反执行条件的情况下,与实施方式1同样地,停止处理单元22a、22b、 22c、22d的某一个或全部的任务处理,执行系统处理。下面就任务分配单元沈将系统层次管理单元M要求的系统处理变换为假想工作量的手法进行说明。图12是任务分配单元沈将被要求的系统处理变换为假想工作量时参照的变换表的举例。变换表100被预先设定,存储到主存储器44等。变换表100包括组栏 102、种类栏104、资源分配单位栏108、以及用户参数栏110。任务分配单元沈从系统处理要求单元27受理与在实施方式1的图7中所示的系统处理相关的信息相同的信息。在该信息中,根据类型标识符52,从图12的种类栏104检索被要求的系统处理的种类。如该图所示,各种类被集中到表示在组栏102中的组里,对于各组设定作为工作量的必要的参数。在资源分配单位栏108中,设定以各组为一个单位分配处理单元等的资源,或按种类进行分配。在图12的举例中,在记载为“组”的情况下,在1个组内共享资源。在记载为“按种类”的情况下,按记载在种类栏104中的每个种类来分配资源。在用户参数栏110 中设定可以按每个应用软件进行设定的参数,例如,分配该系统处理的处理单元、可以分配的最大的处理单元数、或确定每个处理单元的优先顺序的优先程度表的标识符等。优先程度表与标识符相对应,且预先准备好。任务分配单元沈根据该设定,最终决定表示在图9 的优先程度栏94、最大处理单元数栏96中的数值。下面对具有此前叙述的构成的本实施方式的动作进行说明。图13是表示引入自发性的用户层次时间表安排器时,执行系统处理的处理顺序的流程图。首先,任务分配单元 26在应用软件的启动时,或需要根据用户层次时间表安排进行系统处理的形式时,与应用软件的工作量一样,将初期状态的假想工作量登记到主存储器44 (S60)。在初期状态的假想工作量中,将要求的处理单元的数量作为初期值0。此时,应用软件的任务根据自发性的用户层次时间表安排,在各处理单元得到处理。在该状况下,在OS提供的图书馆被调出时,系统层次管理单元对的系统处理要求单元 27产生与该图书馆相对应的系统处理,并对任务分配单元沈进行处理要求(S62)。接受了要求的任务分配单元沈根据包含在要求中的信息,修正在S60处登记的初期状态的假想工作量(S64)。例如,根据系统处理的处理ID,确定对于预先设定的该处理所需要的处理单元的数量,修正假想工作量中的初期值0的设定。也可以决定上述的优先程度等。在各处理单元动作的内核,在假想工作量中,接受到要求的处理单元的设定数被变更为1以上,则开始假想工作量的选择。由此,实际上假想工作量被分配给要求数量的处理单元(S66)。这样,选择了假想工作量的处理单元启动预先准备的假想工作量用的程序,根据处理ID,从主存储器44装载程序后,执行系统处理(S68)。图14 16表示可用本实施方式实现的、在6个处理单元22a、22b、22c、22d、22e、 22f的处理的进展过程的例子。图的横方向是时间轴,对于每个处理单元,用矩形表示在某个单位处理时间中,哪个任务被处理了。在该图中,“P”、“A”、“G”记载的任务是与上述的物理运算的工作量P、人工知能的工作量A、图形处理的工作量G相对应的应用软件的任务。 该图的例子总是以“A”、“P”、“G”的顺序进行处理。在这样正在处理应用软件的任务的环境下,在时刻T0,被要求去噪(7 4 <除去)、系统BGM、AV聊天、录音等系统处理。在图14 16中,将系统处理用粗线的矩形表示, 将各处理分别记载为“去噪”、“BGM”、“AV聊天”、“录音”加以区别。如上所述,在图12中表示的变换表100中,可以设定按各处理所属的组来分配的处理单元等。图14是设定成将各系统处理分配到哪个处理单元都行的情况下的例子。可分配的处理单元,例如,用户使用位掩码(Ε 7卜7 ζ々)可以对变换表进行指定。在该图的情况下,处理单元22c、22d、22e、22f在时刻TO分别开始各系统处理。其间,由于应用软件的任务中“A”在2个处理单元22a、22b得到处理,这样即使系统处理被执行,成为应用软件的后续任务的“P”、“G”也不会有大的延迟,可以使用最大限度的数量的处理单元进行处理。图15是设定为将系统处理只分配给处理单元22a的情况下的例子。在该例中,在时刻TO开始应用软件的任务中的“A”,在处理单元22a,在适合前后切换的时刻将处理切换到系统处理“去噪”,此后的系统处理在处理单元2 根据优先程度等来进行。此时,在从时刻TO到切换到系统处理的时间、以及系统处理结束后的时间的期间,可将所有的处理单元分配给应用软件的任务。图16是可将系统处理分配给任何的处理单元,但将属于公共服务(- 一〒4 U〒 ^ )或高负荷服务的组的系统处理的优先程度设定的较低的情况下的例子。此时,优先程度高的“去噪”、“BGM”的处理在时刻TO由处理单元22c、22d开始,但“录音”、“AV聊天”的处理在应用软件的任务“G”结束后开始。这样,可以在将系统处理变换成工作量时,指定分配的处理单元等,由此可以对每个应用软件以最合适的形式进行处理。根据上述的本实施方式,在将程序分割进行并列处理时,在导入处理单元自身根据优先程度等选择分割后的任务来执行的自发性的用户层次时间表安排器的环境下,将系统处理变换成假想工作量。由此,可与用户层次的任务同样的方式来对待本来不是用户层次时间表安排的对象的系统处理。其结果,可以不阻碍按优先程度来进行的本来的时间表安排的动作,来进行系统处理。在应用软件中,可以指定各系统处理的优先程度和分配的处理单元,在变换成假想工作量时,进行根据该指定的设定。由此可以容易变更每个应用软件执行系统处理的时间和执行的处理单元,实现最合适的处理形式。另外,由于可以与应用软件的任务相同地对待系统处理,可以按现有的方式进行应用软件的制作。与实施方式1 一样,通过分散系统处理的负荷,最大限度地使处理单元工作,可实现处理的高速化。以上根据实施方式对本发明进行了说明。上述实施方式是示例,这些各构成要素或各处理过程的组合可产生各种变形例,这些变形例也在本发明的保护范围内,这是本技术区域的一般技术人员能够理解的。符号说明10信息处理装置、2 处理单元、M系统层次管理单元、25用户层次管理单元、26 任务分配单元、27系统处理要求单元、观执行监视单元、30执行控制单元、32任务处理单元、34通讯单元、36本地存储器、44主存储器。产业上的可利用性
如上所述,本发明可用于计算机、游戏机、画像处理装置等信息处理装置。
权利要求
1.一种信息处理装置,其特征在于具有任务处理单元,处理程序的任务;处理要求单元,在执行中的程序的外部程序被调出时,对该外部程序的任务附加执行条件,发出处理要求;任务分配单元,将所述处理要求单元发出了处理要求的所述外部程序的任务组合到在所述任务处理单元的任务处理的时间表控制中;执行监视单元,判定在所述任务处理单元对所述外部程序的任务的处理中,是否违反所述处理要求单元附加的执行条件;执行控制单元,在所述执行监视单元判定发生违反执行条件时,将所述任务处理单元的处理切换到所述外部程序的任务。
2.如权利要求1所述的信息处理装置,其特征在于作为所述外部程序的任务,所述处理要求单元对系统层次的任务附加执行条件,发出处理要求。
3.如权利要求1或2所述的信息处理装置,其特征在于作为所述执行条件,所述处理要求单元设定从发出处理要求到执行开始所容许的执行期限。
4.如权利要求3所述的信息处理装置,其特征在于在所述任务处理单元于所述执行期限内没有发出可以接受所述外部程序的任务处理的旨意的通知的情况下,所述执行监视单元判定产生了违反执行条件。
5.如权利要求1至3中任一项所述的信息处理装置,其特征在于所述任务分配单元确定预先对所述外部程序的处理内容的种类设定的优先程度、执行期限、动作周期、以及执行时间中的至少一个信息,根据确定的信息,决定所述任务处理单元的处理的时间表。
6.如权利要求1至3中任一项所述的信息处理装置,其特征在于所述任务分配单元对每个所述任务处理单元生成任务的处理时间表,在所述处理要求单元发出所述外部程序的任务的处理要求时,将该外部程序的任务插入按所述任务处理单元的处理时间表的某一个中;所述任务处理单元根据所述任务分配单元生成的处理时间表来处理任务。
7.如权利要求2所述的信息处理装置,其特征在于所述任务分配单元将任务存储到存储器的任务队列中,当所述处理要求单元发出了所述系统层次的任务的处理要求时,所述任务分配单元将与该任务相关的信息变换为与用户层次的任务相同的信息后,存储到所述存储器的任务队列中;所述任务处理单元处理从被存储到所述任务队列中的任务中选择的任务。
8.如权利要求7所述的信息处理装置,其特征在于所述任务分配单元在将与所述系统层次的任务相关的信息变换成与用户层次的任务相同的信息时,在调出该系统层次的程序的程序中,将对该系统层次的程序的任务设定的优先程度、和可分配的任务处理单元的数量的至少一方,附加到变换后的信息中。
9.如权利要求7或8所述的信息处理装置,其特征在于所述任务处理单元从所述任务队列中选择可分配的任务处理单元的数量为0以外的数量的任务;所述任务分配单元在所述处理要求单元发出了所述系统层次的任务的处理要求时,通过将预先存储在存储器的任务队列中的、可以分配的任务处理单元的数量为0的任务修正为与处理要求的内容相对应的可分配的任务处理单元的数量,将所述系统层次的任务组合到任务处理的时间表控制中。
10.如权利要求1所述的信息处理装置,其特征在于在执行中的程序中,当进行了不将调出的外部程序的任务组合到所述任务处理单元的任务处理的时间表控制中的设定的情况下,所述处理要求单元不发出所述处理要求,所述执行控制单元将某一个所述任务处理单元的处理切换到被调出的外部程序的任务。
11.如权利要求1所述的信息处理装置,其特征在于在所述任务处理单元开始所述外部程序的任务后,在经过了对于该外部程序的处理内容的种类预先设定的、该任务的执行时间时,所述执行控制单元结束在所述任务处理单元的该任务的处理。
12.一种信息处理方法,其特征在于包括以下步骤在处理器处理应该执行的程序的任务的步骤;在执行中的程序以外的系统层次的程序被调出时,将该系统层次的程序的任务组合到对于执行中的程序的任务所进行的用户层次的时间表控制中的步骤;在所述处理器处理被组合到时间表控制中的所述系统层次的程序的任务的步骤。
13.如权利要求12所述的信息处理方法,其特征在于还包括以下步骤对所述系统层次的程序的任务附加执行条件的步骤;在产生违反所述执行条件时,将在某一个处理器的任务的处理切换为所述系统层次的程序的任务的步骤。
14.如权利要求12所述的信息处理方法,其特征在于所述组合步骤包含相应于任务的种类,将对每个所述用户层次的程序的任务设定的、 与包含优先程度的信息相同的形式的信息设定到所述系统层次的程序的任务中的步骤。
15.一种计算机程序,其特征在于使计算机实现如下功能处理应该执行的程序的任务的功能;在执行中的程序以外的系统层次的程序被调出时,在对于执行中的程序的任务进行的用户层次的时间表控制中组合该系统层次的程序的任务的功能;处理所述任务的功能也处理被组合到时间表控制中的所述系统层次的程序的任务。
全文摘要
系统层次管理单元(24)产生系统处理,在用户层次管理单元(25)的任务分配单元(26)进行处理要求(S20)。任务分配单元(26)根据导入的用户层次时间表安排的顺序,对系统处理进行时间安排(S22)。分配到系统处理的处理单元(22d)在合适的时候停止或结束应用软件的任务的时,将可以接受系统处理的通知发送给主处理单元(20)(S24)。系统层次管理单元(24)在执行期限到来前接受了(S24)的通知的情况下,使处理单元(22d)开始系统处理(S28)。
文档编号G06F9/48GK102282543SQ200980154610
公开日2011年12月14日 申请日期2009年9月29日 优先权日2009年1月16日
发明者村田诚二, 西川尚宏 申请人:索尼计算机娱乐公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1