任务处理的调度方法及应用该方法的装置的制作方法

文档序号:6656564阅读:112来源:国知局
专利名称:任务处理的调度方法及应用该方法的装置的制作方法
技术领域
本发明涉及用于任务处理的调度方法(procédéd’ordonnancement)以及应用该方法的装置。本发明还涉及任务的处理方法以及相关装置。
本发明应用于众多领域,例如,应用于机载电子设备(移动电话、汽车工业、航空等)或者应用于诸如超级计算机的用于密集计算的复杂分布电子系统中。
背景技术
如今,机载电子设备必须满足在灵活性和性能方面日益增长的强烈需求。例如,在多媒体应用(蜂窝电话、便携式计算机等)领域,非专用处理器其自身不足以符合新的强制约束。
因此,已出现了由几个专用处理器组成的系统,其具有可重新配置的模块(block)、存储器等,并导致了通常被称作系统芯片(SoC)技术的芯片集成技术的出现。为了提高SoC技术的性能和灵活性,通讯网络将被集成到芯片中,以便相互连接集成到芯片中的不同组件。如今,芯片上通常被称作芯片内网路(NoC)的这种网路系统提供适用于集成将来技术的解决方法(solution)。然而,任务的平行处理和应用程序的最佳执行仍是在这些网路上要解决的主要问题。
在文献中普遍描述了任务调度算法。非动态地处理可平行化的任务的算法(在编译之前已知处理器的数量)和基于拣选任务列表的调度是本发明的主题。其他解决方法诸如遗传算法是更有效的,并能够获得更好的结果。然而,这些更有效的解决方法太复杂,使其不能应用于硅并且其益处限制在本发明范围内。
Blazewicz和他的团队提供了感兴趣的解决方法,用于在所有的任务都具有相同的执行时间(参见参考文献[BLAZ86])的情况下确定准确的解决方法。然而,所需算法产生大量(重要)的计算时间以及大量的数据交换。
对于这些方面,Jansen和他的团队已考虑到可以仅在单个处理器上执行的独立任务的调度(参见参考文献[JANS99])。因此,他们提供了一种低数学复杂性的多项式复杂性的解决方法。已经论述过,对其物理实现(implémentation)的研究表明用于获得好的性能过于复杂的应用。
在更接近于本发明问题的研究(或工作)中证实了类似的结论(参见参考文献[BAER73,BAKE81])。其它解决方法需要能够估计执行任务剩余的时间(参见参考文献[TOPC02]和专利US 6,567,840B1)。但这不能用于异步系统,并且由于其需要连续更新,所以动态调度消耗大量的资源。
其它结果也示出,根据有用资源的数量来拣选(tri)任务证实了在复杂性和所得执行时间方面特别引人关注[参见参考文献LI00和IBAR88]。为了对资源分配任务,存在于该文献中的主要创新包括动态改变用于任务执行的资源数量。然而,由于任务的编译取决于所需资源的数量,所以其不能用于物理解(solution physique)范围。

发明内容
根据本发明的任务处理调度算法没有前述缺陷。
本发明涉及一种用于处理任务的调度方法,其执行以先后次序(order de préséance)为条件,任务的处理包括配置执行该任务所需资源的步骤和在由此所配置的资源上执行该任务的步骤。该方法的特征在于,包括-选择至少一个级别(niveau)的待处理任务;-用于拣选(或挑选)该待处理任务级别的任务的步骤,使得一方面根据处理任务所需资源的数量,另一方面根据任务的特征量,基于优先次序来确定处理任务中的优先次序;-估计处理任务级别上的任务的可利用资源的数量;以及-根据优先次序将该任务级别的任务分配给可利用资源。
根据本发明的其他特征,拣选步骤包括一方面根据执行任务所需资源的数量的第一拣选,以使得根据其处理所需资源数量的降序来处理任务;以及另一方面根据任务的特征量的第二拣选,以使得根据其特征量的升序或降序来处理任务。
根据本发明的第一可选方案,第一拣选先于(précéde)第二拣选,一旦处理多个任务所需的资源数量对于所述多个任务来说是相同的,则应用第二拣选。
根据本发明的第二可选方案,第二拣选先于第一拣选,一旦相对于多个任务的任务特征量对于所述多个任务来说是相同的,则应用第一拣选。
根据本发明的其他特征,任务的特征量是用于处理任务的时间,或配置用于执行任务所需资源的时间,或用于执行任务的时间,或根据与任务相关的执行时间限制用于执行任务剩余的时间,任务先后次序中上一级(rang supérieur)的一个或多个任务的处理、配置或执行时间,或用于配置任务或执行任务的最迟结束时期,或用于配置或执行任务优先次序中上一级的一个或若干任务的最早或最迟开始时期,或基于关于一个或多个任务的周期性的时间,或者基于以上列出的全部或部分特征量的时间。
根据本发明的另一特征,任务的特征量是用于执行任务的通频带宽度(或通带宽度),或通过任务处理的数据的到达速度(cadenced’arrivée),或用于存储或传送通过任务处理的数据的大量资源,或用于与其它任务或在任务中共享的资源通信的成本,或通过任务处理生成的功耗,或检测与执行任务相关的操作复杂性的一段信息,或检测与执行任务相关的算法正则性的一段信息,或检测执行任务的平行性的一段信息,或检测独立于任务并在多用户使用的情况下由用户强制的优先权的一段信息,或者以上列出的全部或部分特征量的函数(fonction)。
根据本发明的另一特征,任务的特征量是涉及应用图表(application graph)中任务位置的一段信息。
根据本发明的另一特征,关于应用图表中任务位置的一段信息是用于在应用图表的处理时间上强制的时间限制结束之前执行任务剩余的时间,或在应用图表结束之前仍待处理的任务的最大数量,或在任务先后次序中上一级的任务的最大数量,或在任务先后次序中上一级的任务的执行时间之和,或者以上列出的全部或部分量的函数。
根据本发明的再一特征,任务级别通过在任务级别的任务的先后约束的确认(validation)来限定。
根据本发明的再一特征,动态重复根据优先次序分配可利用资源,直至该任务级别的所有任务被处理。
根据本发明的再一特征,一旦配置了等级G-1的任务级别(其居先于等级G的任务级别)的所有任务,则开始处理等级G的任务级别。
本发明还涉及一种用于处理任务的方法,其以先后次序为条件执行,任务的执行包括配置执行任务所需资源的步骤和在由此配置的资源上执行任务的步骤。该处理方法的特征在于,其包括根据本发明的方法来调度任务处理,以及通过配置令牌(jeton)和执行令牌分别激活资源的配置和任务的执行。
本发明还涉及一种用于调度任务处理的装置,其执行以先后次序为条件执行,任务的处理包括配置执行任务所需资源的步骤和在由此配置的资源上执行任务的步骤。该装置的特征在于,其包括-包含一组待处理任务的组件;-选择模块(bloc),用于在组件中包含的任务组中选择至少一个级别的待处理任务;-用于根据优先次序(l’ordre priorité)将所选任务级别上的任务拣选的装置,使得基于先后次序,一方面根据处理任务所需的资源数量另一方面根据任务的特征量来处理任务;以及-用于根据优先次序将可利用资源分配给任务处理的装置。
根据本发明的其他特征,用于拣选所选任务级别的任务的装置包括-第一存储模块,包含表示处理每个任务所需的资源数量的信息;-第二存储模块,包含表示任务特征量的信息;-第一比较装置,用于相互比较表示在该任务级别的任务的特征量的信息;-第二比较装置,用于比较可利用资源的数量与处理在该任务级别的任务所需资源的数量;以及-用于根据来自第一和第二比较装置的比较结果来创建优先次序的装置。
根据本发明的另一特征,用于根据比较结果来创建优先次序的装置包括一组包含二进制数据的移位寄存器。
根据本发明的另一特征,包含待处理任务组的组件是适于控制的可重新配置组件,其包括N+1个单元,表示待执行任务的应用图表的N+1个状态,每个单元均包含待执行任务;以及可重新配置互联网络,用于将图表的不同状态相互连接。
根据本发明的另一特征,用于选择任务的模块包括用于拒绝处理在待处理任务级别中的一个或多个任务的装置,使得允许降级操作该系统以遵守环境条件,例如,最大可利用能量或功率、强制于任务级别上的时间限制、在计算资源、存储资源或通信资源的可利用性上的限制、或与外界介质电磁兼容性的限制、或者以上列出的全部或部分条件。
本发明还涉及一种用于处理任务的装置,其特征在于,其包括用于根据本发明调度任务的包含适于控制的可重新配置组件的装置,配置令牌和执行令牌通过互联网络(互连网络)以分别激活任务的配置和任务的执行。
根据本发明的用于调度任务处理的方法,可以大幅提高安排独立任务的进度的性能。用于应用本发明方法的装置由多个部件组成。待执行任务是非优先的(non-préemptive)(即,它们不能被中断)、不可扩展的(即,预先已知道用于其执行的资源数量)任务,其具有已知的执行时间和特征量。
根据本发明的调度方法改善了用于处理相同任务的资源的相邻分配。其使任务的总执行时间最小化并改善资源的占用。
根据本发明的调度方法动态处理计算资源的分配和释放,并允许根据需要进行自动适应于资源。允许在其执行之前配置资源同时考虑居先限制,这是对于由任何数量的相同或异构型资源构成的系统。异质资源意思是不同种类的资源(存储器、微处理器、可重新配置模块、IP(知识产权)、接口、总线等)。


通过参照附图阅读优选具体实施例,本发明的其它特征和优点将变得显而易见,其中图1示出了任务应用图表的实例;图2示出了根据本发明用于处理任务级别的调度原理的流程图;
图3示出了在用于任务处理的资源数量没有限制的情况下用于处理任务的调度实例;图4示出了根据本发明的用于处理任务的调度实例;图5示出了根据本发明的用于处理任务的调度装置;图6A至图6C示出了根据本发明任务处理的调度装置的应用实例。
在所有附图中,相同标记表示相同组件。
具体实施例方式
图1示出了用于待执行任务的示例性应用图表。节点表示任务,并且连接节点的箭头表示应执行任务的先后次序(l’ordre depréséance)。
在应用该方法之前,已知以下信息-应执行任务的先后次序(参见下面);-可用于处理任务的计算资源总数;-处理每个任务所需的计算资源数量;-处理每个任务所需的时间。
“处理每个任务所需的时间”表示与配置将用于执行任务的资源的时间与在由此配置的资源上执行任务的时间之和相等的时间。用于配置资源的时间为在资源中配置执行任务所需的操作所经历的时间。
一个级别接一个级别地执行任务。先后约束(contraintes depréséance)决定了任务级别的确定以及相同级别内任务执行的实施。
这里,12个待处理任务T0-T11的先后次序如下-应在任务T1、T2、和T3之前执行任务T0;-应在任务T4、T5、和T6之前执行任务T1;-应在任务T5和T6之前执行任务T2;-应在任务T7和T8之前执行任务T3;-任务T4、T5、和T6中的每一个应在任务T9之前执行;-任务T7和T8中的每一个应在任务T10之前执行;-应在任务T11之前执行任务T9和T10;通常,对于给出的应用图表,等级G任务级别包括其执行的开始直接取决于等级G-1在先任务级别的任务执行的结束的所有任务。
因此,在图1所选的实例中,有五个连续的任务级别,即-N0级,包括任务T0;-N1级,包括任务T1、T2、T3;-N2级,包括任务T4、T5、T6、T7、T8;-N3级,包括任务T9和T10;以及
-N4级,包括任务T11。
在下列描述中,为了简化,当子任务的执行直接取决于母任务执行的完成时,将相对于一个或多个所谓的“子任务”的任务称作“母任务”。因此,作为非限制性实例,任务T1为三个子任务T4、T5、T6的母任务,并且任务T2也是两个子任务T5和T6的母任务。
图2示出了根据本发明的任务级别的调度方法原理的流程图。
该方法的第一步包括根据任务的先后次序选择待处理任务的级别(步骤1)。一旦选择了任务级别,则拣选出该任务级别的任务以便创建处理任务的优先次序(步骤2)。
根据本发明的优选实施例,在拣选步骤(l’étape de tri)期间,首先以其执行所需资源数量的降序拣选任务,并且如果在多个任务中资源的数量相同,则以其处理时间(如上所述,处理任务的时间是配置受任务影响的资源的时间和在配置的资源上执行任务的时间之和)的降序拣选该多个任务。由此限定的优先次序给予使用最多资源的任务以及在资源数量相同的情况下需要最长处理时间的任务处理的优先权。
也可以使用本发明的其它实施例。因此,根据任务处理时间的拣选也可以优先于根据资源数量的拣选。因此,具有最长时间的任务处理优先于在相同时间的情况下使用最多资源的任务处理。
根据待处理任务的其它特征量,在本发明范围内也可以使用其它的拣选标准。
除了处理任务的时间外,任务的特征量可以是分配用于执行任务所需资源的时间(durée),或者用于执行任务的时间,或者根据与任务相关的执行时间限制(contrainte temporelle)来执行任务所剩余的时间,或者在任务先后次序中上一级的一个或几个任务的处理、配置或执行时间,或者用于配置任务或执行任务的最迟结束时期(date),或者用于配置或执行在任务先后次序中上一级的一个或几个任务的最早或最迟开始时期,或者根据关于一个或几个任务的周期性的时间,或者根据以上列出的全部或部分特征量的时间。
任务的特征量也可以是用于执行任务的通频带宽度,或由任务处理的数据的到达速度,用于存储或通信由任务处理的数据的资源量,用于与其它任务通信或与任务之中共享的资源通信的成本,由处理任务生成的功耗,检测与执行任务相关的操作复杂性的一段信息,检测与执行任务相关的算法正则性的一段信息,检测执行任务的平行性的一段信息,检测独立于任务并在多用户使用的情况下由用户强制的优先权(priorité)的一段信息,或者以上列出的全部或部分特征量的函数。
任务的特征量也可以是涉及应用图表中的任务位置的一段信息。因此,涉及应用图表中任务位置的信息段可以是在应用图表的处理时间上强制的时间限制结束之前执行任务剩余的时间,或者在应用图表结束之前仍待处理的任务的最大数量,或者在任务先后次序中的上一级任务的最大数量,或者在任务先后次序中上一级任务的执行时间之和,或者以上列出的全部或部分量的函数。
一旦以优先次序拣选了任务,则估计可利用资源的数量(步骤3)。然后,将任务分配给可利用资源,以根据先前创建的优先次序执行处理(步骤4)。然后,执行任务处理(步骤5)。只要还存在待处理的任务,则重复用于估计可利用资源数量的步骤、用于将任务分配给可利用资源的步骤、以及用于处理任务的步骤(步骤6)。也重复用于动态分配任务的机制,直至处理了该级别的所有任务(从步骤5返回至步骤4)。
现在,将描述对于如图1中所示的任务应用图表的本发明的实现。
在本发明的范围内,用于处理任务的资源总数是有限的。作为非限制性实施例,执行任务Ti(i=0,1,2,……,11)所需的资源数量Ri可以通过下表来表示

在随后的描述中,符号《configTi》表示用于配置应执行任务Ti的资源的时间,以及符号《execTi》表示用于在由此配置的资源上执行任务Ti的时间。因此,《execTi分时间在《configTi》时间之后。
图3示出了在用于处理任务的资源数量不受限制的情况下任务调度的实施例。因此,根据图3实例的任务调度未包括在本发明的范围内。只是教导性地提到该实例,以在理想情况下说明在配置步骤和用于执行任务的步骤之间存在的结构。
任务T0是第一个待执行的任务,并且其自身表示第一级别N0的任务。然后,在《configT0》时间期间配置用于执行任务T0的资源,并当配置完成时,在《execT0》的时间期间在资源上执行该任务。
当《configT0》时间结束时,构成第二级别N1任务的任务T1、T2、T3的先后约束确认(或生效)。由于资源的数量是非限制性的,因此在同所需要一样多的资源上,分别在《configT1》、《configT2》、《configT3》时间期间并行配置用于执行任务T1、T2、和T3所需的资源。《execT0》时间一结束,就开始执行其资源未被配置操作占据的任务。在这种情况下,根据选取的实例,《execT1》和《execT3》时间并行开始,而《execT2》时间仅当《configT2》时间结束时才开始。
在任务T2(级别N1的最后任务)的配置时间结束的同时,构成第三级别N2任务的任务T4、T5、T6、T7、和T8的先后约束确认。然后,配置用于执行任务T4、T5、T6、T7、和T8所需的资源。在同所需要一样多的资源上同时开始《configT4》、《configT5》、《configT6》、《configT7》、《configT8》时间。然后,执行任务T4、T5、T6、T7、和T8,同时遵守确认的先后约束。
以这种方式逐级地连续执行该方法,一旦配置了先前一个级别的所有任务则开始处理新级别的任务。
在本发明的范围内,资源的数量是有限的,并应该构建优先次序,以将资源分配给任务处理。图4示出了本发明的调度方法,作为非限制性实例,将资源数量被限制为4个的情况。
一旦已配置了前一个级别的所有任务,则开始(后一)任务级别。因此,当任务T0的配置完成时(即,当任务T0开始其执行时),级别N1任务的配置开始。由于在单个资源上执行任务T0并且可利用资源的总数等于4,所以可利用资源的数量等于3。因此,当T3是利用3个可利用资源限制范围内的最多(3个)资源的任务时,则开始配置任务T3。因此,任务T3的执行在任务T3的配置之后,并且当任务T0的执行完成时,变为可利用的资源被用于配置任务T2,任务T2的执行在该配置任务之后。只要执行任务T2,就只有3个资源可利用。因此,就不能进行需要4个资源的任务T1的配置。一旦任务T2完成其执行,则任务T1的配置可以开始。在任务T1的配置结束时,由于配置了级别N1的所有任务,所以形成了由任务T4、T5、T6、T7、和T8构成的级别N2。
以这种方式逐级地连续执行该方法,一旦配置了先前一个级别的所有任务,则开始新级别的待处理任务。
在图5中示出了用于应用根据本发明优选实施例的任务调度方法的装置。
该装置包括适于控制CR(其包含待执行的一组任务)的可重新配置组件;级别选择模块BS,其中,在给定时刻,可以选择相同级别的所有任务;第一存储模块BM1,包含表示用于执行每个任务所需的资源数量的信息,和第一比较装置;第二存储模块BM2,包括表示每个任务的特征量(优选地,任务处理时间)的信息,和第二比较装置;优先级表格TP,动态地表示应处理任务的优先次序;配置模块BC,包含用于配置与每个任务相关的资源所需的配置数据;任务分配模块BA,理论上具有配置任务的功能;优先级估计模块BP,表示在优先级表格TP中具有优先权的任务的位置;资源处理模块BG、以及任务执行模块BE。
适于控制CR的可重新配置组件优选地为诸如以第2,795,840号公开在2001年8月31日递交的法国专利申请中描述的可配置组件。其由表示应用图表的N+1个状态的N+1个单元Ci(i=0,1,2,……,N)和用于将不同状态彼此连接的可重新配置互联网络构成。每个单元Ci包含任务Ti。两个令牌根据任务先后约束的确认来通过(parcourent)应用图表。当配置和先后约束随着时间变化时,被称作《配置令牌》的第一令牌通过互联网络来激活任务的配置。当执行和先后约束随着时间变化时,被称作《执行令牌》的第二令牌通过互联网络来激活任务的执行。令牌为根据先后约束以及根据这些约束的确认(validation)从单元至单元传播的确认信号(signalde validation)的表示。如果先后约束确认,则单元将其令牌传播至其子单元。这种机制在图论范围内,更具体地在Petri图论[参见参考文献PETE81]范围内是领域技术人员已知的。
通常地,一旦接收了执行令牌,母任务就将配置令牌发送至其子任务。这种布置不涉及应用图表的源任务,其不根据任一母任务,因此可以在其配置开始时将配置令牌发送至其子任务。在开始执行应用图表时,源任务(在选取实例中的任务T0)包含配置令牌和执行令牌。
将包含在模块BM1、BM2、TP、和BC中的数据布置为N+1线的数据,以使每个数据线对应于不同的任务。结果是-表示执行每个任务所需的资源数量的数据Ri(i=0,1,2,……,N)被布置在存储模块BM1中作为N+1数据线;-表示包含在存储模块BM2中任务的处理时间的数据Di(i=0,1,2,……,N)被布置为N+1数据线;-优先级表格TP由移位寄存器的N+1线构成,等级i(i=0,1,2,……,N)的线的移位寄存器包含一组表示任务Ti的优先等级的二进制数据;-配置资源Ri所需的配置数据CFGi(i=0,1,2,……,N)被布置为N+1数据线。
现在,将参照图1的应用图表描述图5中示出的装置的操作。
在初始状态,在任务处理开始之前,优先级表格的所有线的移位寄存器都处于相同状态。因此,例如,相同线的所有移位寄存器均包括二进制值《0》,除了位于该线一端(例如,右端(参见附图))的移位寄存器,该移位寄存器包括二进制值《1》(高逻辑电平)。
在应用图表处理开始时,包含任务T0的图表的单元C0包含配置令牌和执行令牌。则任务T0为具有优先权的待处理任务,这是因为该任务是构成待执行任务级别的唯一任务。在对应于任务T0的存储线上,在由模块BS传送的信号bs0的作用下,将最右侧的高逻辑电平向左移位。然后,通过分配模块BA来配置执行任务T0所需的资源。为此,配置关于任务T0的资源所需的CFG0数据通过信号Scr从配置模块BC传送至分配模块BA。信号Sc0通过模块TP、BM2、BM1、BS从配置模块BC传送至包含任务T0的单元C0,信号Sc0表示与任务T0相关的资源的配置开始。通过接收信号Sc0,允许包括在单元C0中的配置令牌传播至包含下一级别任务的所有单元,即,包含任务T1、T2、T3的单元C1、C2、C3,这是因为C0包含执行令牌。然后,每个单元C1、C2、C3传送用于任务确认的传送至选择模块BS的信号(分别为S(T1)、S(T2)、S(T3)信号)。
当与任务T0相关的资源的配置完成时,分配模块BA将资源配置结束信号Sf传送至优先级估计模块BP。然后,模块BP将信号Sp传送至优先级表格TP,该信号Sp控制在对应于任务T0的存储线上最右侧的高逻辑电平的移位。
然后,找到与初始状态相同的状态的优先级表格TP的移位寄存器(在优先级表格TP右侧完全找到所有高逻辑电平)。然后,优先级估计模块BP将信号S1传送至资源处理模块BG,该信号S1表示优先级表格TP已回到其初始状态。在信号S1的作用下,资源处理模块BG将控制信号S2传送至选择模块BS,其由此存储对应于先前确认的信号S(T1)、S(T2)、S(T3)的任务。然后,任务T1、T2、T3的级别被形成为待执行任务的新级别。然后,通过相应的bsi信号在优先级表格TP中实现由模块BS确认的每条线的左移。
然后,开始初始化阶段。初始化阶段包括初始化优先级表格TP。在初始化开始时,除了与由选择模块BS确认的任务相对应的存储单元之外,最右侧移位寄存器的存储单元(cases mémoires)处于高逻辑电平。现在,该级别的待执行任务包括任务T1、T2、T3。利用由选择模块BS生成的信号Scpi,可以通知存储模块BM1待比较的任务。然后,通过集成到BM2模块中的第二比较装置MC2相互比较分别表示任务T1、T2、T3的处理时间的数据D1、D2、D3。然后,随着对应于它们的任务时间更长,包含于优先级表格TP的移位寄存器中的高逻辑电平向更左的位置移动。通过SKi信号执行移动。
在处理时间比较和由此导致的高逻辑电平移动结束时,通过BM2模块将比较结束信号Sd传送至处理模块BG。通过接收Sd信号,处理模块BG传送表示可利用计算资源数量的信号SR。然后,通过第一比较装置MC1比较表示可利用计算资源数量的信号SR与通过信号Scpi选择的包含在第一存储模块BM1中的数据Ri。如果BM1模块的存储线包含表示与信号SR表示的值相同的值的Ri数据,则Svi信号被发送到优先级表格TP。如果没有存储线包含表示相同值的数据,则减小由信号SR表示的值,直至一个Ri数据或多个Ri数据与信号SR表示的值相同。
然后,通过Svi信号选取的并且对应于包含最左侧高逻辑电平的移位寄存器的等级i的线成为优先线,以及对应于该线的配置确认信号S(CFGi)被传送至配置模块BC。在优先信号Sp的作用下通过优先级估计模块BP来执行优先线的检测。然后,由信号S(CFGi)确认的配置模块BC的线内容通过信号Scr被传送至任务分配模块BA。然后,信号Sdci也被传送至CR组件以允许传播配置令牌。然而,配置令牌仅当单元具有执行令牌时才传播。如果任务T1是利用最大数量资源的任务或具有最长执行时间的任务(在图1的应用图表的情况下,任务T1利用最大数量的资源),则配置CFG1被发送至任务分配模块BA。然后,在接收配置CFG1后,通过由模块BC传送的信号Scr,BA模块将任务T1分配给可利用的资源。当任务的配置完成时,通过分配模块BA将任务配置结束信号Sf传送至优先级估计模块BP。信号Sf控制先前在优先级表格TP中通过信号Sp选择的优先线(在这种情况下任务T1的线)内容的最右侧移位。此外,通过信号S3将在资源上配置的任务位置提供给执行模块BE。然后,通过分配模块BA传送要求可利用资源数量更新的信号Sm并将该信号传送至资源处理模块BG。
因此,执行该待执行任务级别的所有任务的处理,直至该任务级别的最后任务。当所有高逻辑电平全部出现在优先级表格TP中的右侧时,这意味着该任务级别的处理完成并且信号S1被发送至处理模块BG,以允许通过信号S2来限定新的执行级别。以这种方式一个任务级别接着一个任务级别地连续执行任务调度方法。
初始化后待执行任务级别的第一任务包括配置令牌和执行令牌。因此,一旦其配置完成就开始其执行。通过将信号celi发送至任务执行模块BE,在适于控制CR的可重新配置组件中的相对应单元开始其执行。然后,任务执行模块BE执行任务,该任务执行模块了解预先配置在计算资源上的待执行任务的位置。在任务执行结束时,信号bei被传送至在适于控制CR的可重新配置组件中的相对应单元。该信号具有根据先后约束将执行令牌传播至所有其子单元的作用。在所述实例中,相应于任务T0的单元将其令牌传播至与任务T1、T2、T3相关的单元。在接收执行令牌后,单元T1、T2、T3可以将其配置令牌传播至其子单元T4、T5、T6、T7、T8,并且一旦其配置完成则开始其执行。任务T4、T5、T6、T7、T8可以依次请求其配置并被执行。
为了在异构型系统上实现任务的调度,在硬件解决方法集成与存在不同资源类型一样多的BM1模块能够满足这种要求。然后,通过考虑存在于系统中的每种类型资源的自由资源数量来执行任务分配。
根据上述本发明的优选实施例,在适于控制的可重新配置组件中包括任务,以及用于创建优先次序的装置包括一组包含二进制数据的移位寄存器。根据本发明的其他实施例,组件不是适于控制的组件,而是包含待处理任务的单个组件。同样,用于构建优先次序的装置不包括任何移位寄存器,但包括能够根据比较结果增加其内容的加法器(additionneur),由此,加法器的增加等同于移动移位寄存器。
图6A至图6C示出了应用根据本发明的任务处理调度装置的实例。由调度装置处理的计算资源可以具有相同或不同的特性(异构型资源)。利用这些组件,能够满足对于与机载应用相关的性能和灵活性的强烈需求。本发明提供根据应用的需要,在相同平台上或以更多的分配方式,使特征互补或相反以适应性能、消耗、灵活性及表面积级别的组件连接起来的可能。
图6A示出了利用集成根据本发明的任务处理调度装置的SoC技术的第一示例性组件。
除了调度装置7,组件8包括微处理器9、CDMA(码分多址)专用计算模块10、被称为IP(知识产权)的专用和专属模块11、可重新配置计算模块12、可重新配置和专属计算模块13、以及MPEG(运动图像专家组)专用计算模块14。
图6B示出了利用集成根据本发明的调度装置的SoC技术的第二示例性组件。组件15包括不同的异构型部件、以及一组传感器D。本发明的装置也处理位于该组件外部的传感器D并通过适当的接口16连接至后者。这里,异构型资源是微处理器9以及专用和专属模块11。
图6C示出了利用集成根据本发明的调度装置的SoC技术的第三示例性组件。这里,由本发明装置处理(gérées)的部件组是在组件17的外部,并由本发明的装置通过适当接口16控制。
参考文献目录[BLAZ86]J.Blazewicz,M.Drabowski,et Weglarz.“SchedulingMultiprocessor Tasks to Minimize Schedule Length”.IEEETransactions on Computers,35(5)389-393,mai 1989. K.Jansen et L.Porkolab.“Improved ApproximationSchemes for Scheduling Unrelated Parallel Machines”.InAnnual ACM Symposium on Theory of Computing(STOC),mai 1999. J.L.Baer.“A Survey of Some Theoretical Aspects ofMultiprocessing”.ACM Computing Surveys,5(1)31-80,mars 1973. B.S.Baker,D.J.Brown,et H.P.Katseff.“A 5/4 Algorithmfor Two-Dimensional Packing”.Journal of Algorithms,2(4)348-368,juin 1981[TOPC02]H.Topcuoglu,S.Hariri,et M-Y.Wu.“Performance andLow-Complexity Task Scheduling for HeterogeneousComputing”.IEEE Transactions on Parallel and DistributedSystems,13(3)260-274,mars 2002. K.Belkhale et P.Banerjee.“Approximate SchedulingAlgorithms for the Partitionable Independent TaskScheduling Problem”.In the 1990 International Conferenceof Parallel Processing(ICPP).ao t 1990. K.Li et Y.Pan.“Probabilistic Analysis of SchedulingPrecedence Constrained Parallel Tasks on Multicomputerswith Contiguous Processor Allocation”.IEEE Transactionson Computer,49(10)1021-1030,octobre 2000. T.Ibaraki et N.Katoh.“Resource Allocation ProblemsAlgorithmic Approaches”.The MIT Press,Cambridge,USA,1988. James L.Peterson.“Petri net theory and the modelling ofsystems”.Practice Hall,ISBN0136619835.
权利要求
1.一种处理任务的调度方法,以先后次序为条件来执行所述方法,所述任务处理包括配置执行所述任务所需的资源的步骤,以及在由此配置的资源上执行所述任务的步骤,其特征在于,包括依据所述优先次序选择(1)待处理任务的至少一个级别;拣选(2)出在所述待处理任务级别的任务的步骤,以便一方面根据用于处理所述任务所需的资源数量,另一方面根据所述任务的特征量,来限定在处理所述任务中的优先次序;估计(3)用于处理在所述任务级别的所述任务的可利用资源数量;以及根据所述优先次序将在所述任务级别的所述任务分配(4)给所述可利用资源。
2.根据权利要求1所述的处理任务的调度方法,其特征在于,所述拣选(2)步骤一方面包括第一拣选,所述第一拣选根据执行所述任务所需的资源数量,以使所述任务根据用于其处理所需的所述资源数量的降序进行处理;以及另一方面,第二拣选,所述第二拣选根据所述任务的特征量,以使所述任务根据其特征量的升序或降序进行处理。
3.根据权利要求2所述的处理任务的调度方法,其特征在于,所述第一拣选先于所述第二拣选,一旦处理几个任务所需的资源数量对于所述几个任务是相同的,则应用所述第二拣选。
4.根据权利要求2所述的处理任务的调度方法,其特征在于,所述第二拣选先于所述第一拣选,一旦关于几个任务的所述任务的特征量对于所述几个任务是相同的,则应用所述第一拣选。
5.根据前述权利要求中任一项所述的处理任务的调度方法,其特征在于,所述任务的特征量是所述任务的处理时间,或者执行所述任务所需的所述资源的配置时间,或者所述任务的执行时间,或者根据与所述任务相关的执行时间限制执行任务剩余的时间,或者在所述任务的所述先后次序中上一级的一个或几个任务的处理、配置、或执行时间,或者用于配置所述任务或执行所述任务的最迟结束时期,或者用于配置或执行在所述任务的所述优先次序中上一级的一个或几个任务的最早或最迟开始时期,或者基于关于一个或多个任务的周期性的时间,或者基于以上列出的全部或部分所述特征量的时间。
6.根据权利要求1至4中任一项所述的处理任务的调度方法,其特征在于,所述任务的特征量是用于执行所述任务的通频带宽度,或者由所述任务处理的数据的到达速度,或者用于存储或通信由所述任务处理的数据的可用资源的数量,或者用于与其它任务通信或与在所述任务中共享的资源通信的成本,或者由处理所述任务生成的功耗,或者检测与所述任务执行相关的操作的复杂性的一段信息,或者检测与所述任务执行相关的算法正则性的一段信息,或者检测任务执行平行性的一段信息,或者检测独立于所述任务并在多用户使用的情况下由用户强加的优先权的一段信息,或者以上列出的全部或部分所述特征量的函数。
7.根据权利要求1至4中任一项所述的处理任务的调度方法,其特征在于,所述任务的特征量是关于所述任务在应用图表中位置的一段信息。
8.根据权利要求7所述的处理任务的调度方法,其特征在于,关于所述任务在应用图表中位置的所述一段信息是用于在所述应用图表的所述处理时间上强制的时间限制结束之前执行所述任务剩余的时间,或者在所述应用图表结束之前仍待处理的任务的最大数量,或者在所述任务的所述先后次序中上一级的任务的最大数量,或者在所述任务的所述先后次序中上一级的任务的执行时间之和,或者以上列出的全部或部分所述量的函数。
9.根据前述权利要求中任一项所述的处理任务的调度方法,其特征在于,通过确认在所述任务级别的所述任务的先后约束来限定所述任务级别。
10.根据前述权利要求中任一项所述的处理任务的调度方法,其特征在于,动态重复根据所述优先次序所述可利用资源的分配,直至处理了所述任务级别的所有任务。
11.根据前述权利要求中任一项所述的处理任务的调度方法,其特征在于,一旦配置了先于等级G任务级别的等级G-1任务级别的所有任务时,则开始所述等级G任务级别的处理。
12.根据前述权利要求中任一项所述的处理任务的调度方法,其特征在于,所述方法包括用于拒绝处理所述待处理任务级别的一个或多个任务,以允许降级操作。
13.一种用于处理任务的方法,以先后次序作为执行所述任务的条件,所述任务处理包括配置执行所述任务所需的资源的步骤,以及在由此配置的资源上执行所述任务的步骤,其特征在于,所述方法包括根据权利要求1至12中任一项所述的方法来调度所述任务处理,以及通过配置令牌和执行令牌分别激活所述资源的配置和所述任务的执行。
14.一种用于处理任务的调度装置,所述任务的执行以先后次序为条件,所述任务处理包括配置执行所述任务所需的资源的步骤,以及在由此配置的资源上执行所述任务的步骤,其特征在于,包括包含一组待处理的任务的组件(CR);选择模块(BS),从包含在所述组件(CR)中的所述一组任务中选择待处理的任务的至少一个等级;装置(BM1、BM2、TP),用于一方面根据处理每个所述任务所需的资源的数量,另一方面根据所述任务的特征量,基于优先次序拣选所述选择的任务级别的所述任务,以便基于先后次序处理所述任务;以及装置(BG),用于根据所述优先次序将可利用资源分配给所述任务处理。
15.根据权利要求14所述的用于处理任务的调度装置,其特征在于,用于拣选所选择的任务级别的所述任务的装置(BM1、BM2、TP)包括第一存储模块(BM1),包含表示处理每一个任务所需的资源数量的信息(R0,R1,……,RN);第二存储模块(BM2),包含表示所述任务的特征量的信息段(D0,D1,……,DN);第一比较装置(MC1),用于相互比较表示所述任务级别的所述任务特征量的信息段;第二比较装置(MC2),用于比较所述可利用资源的数量与处理所述任务级别的所述任务所需资源的数量;以及装置(TP),用于根据由所述第一和第二比较装置传送的比较结果来创建所述优先次序。
16.根据权利要求15所述的装置,其特征在于,用于根据所述比较结果来创建所述优先次序的所述装置(TP)包括具有二进制数据的一组移位寄存器。
17.根据权利要求14至16中任一项所述的装置,其特征在于,所述任务的特征量是所述任务的处理时间,执行所述任务所需的所述资源的配置时间,所述任务的执行时间,根据与所述任务相关的执行时间限制执行任务剩余的时间,在所述任务的所述先后次序中上一级的一个或几个任务的处理、配置、或执行时间,用于配置所述任务或执行所述任务的最迟结束时期,用于配置或执行在所述任务的所述先后次序中上一级的一个或几个任务的最早或最迟开始时期,基于关于一个或多个任务的周期性的时间,或者基于以上列出的全部或部分所述特征量的时间。
18.根据权利要求14至16中任一项所述的装置,其特征在于,所述任务的所述特征量是用于执行所述任务的通频带宽度,由所述任务处理的数据的到达速度,用于存储或通信由所述任务处理的数据的可用资源的数量,用于与其它任务通信或与在所述任务中共享的资源通信的成本,通过处理所述任务生成的功耗,检测与所述任务执行相关的操作的复杂性的一段信息,检测与所述任务执行相关的算法正则性的一段信息,检测任务执行平行性的一段信息,检测独立于所述任务并在多用户使用的情况下由用户强加的优先权的一段信息,或者以上列出的全部或部分所述特征量的函数。
19.根据权利要求14至16中任一项所述的装置,其特征在于,所述任务的特征量是关于所述任务在应用图表中位置的一段信息。
20.根据权利要求19所述的装置,其特征在于,关于所述任务在应用图表中位置的所述信息段是用于在所述应用图表的所述处理时间上强制的时间限制结束之前执行所述任务剩余的时间,在所述应用图表结束之前仍待处理的所述任务的最大数量,在所述任务的所述先后次序中上一级的所述任务的最大数量,在所述任务的所述先后次序中的上一级的所述任务的执行时间之和,或者以上列出的全部或部分所述量的函数。
21.根据权利要求14至20中任一项所述的用于处理任务的调度装置,其特征在于,包含所述一组待处理任务的所述组件(CR)是适于控制的可重新配置组件,所述可重新配置组件包括表示所述待执行任务的应用图表的N+1个状态的N+1个单元,每个单元均包含待处理任务;和可配置互联网络,用于将所述图表的不同状态彼此连接。
22.一种用于处理任务的装置,其特征在于,其包括根据权利要求21所述的用于处理任务的调度装置,配置令牌和执行令牌通过所述互联网络用于分别激活所述任务的配置和所述任务的执行。
23.根据权利要求14至22中任一项所述的装置,其特征在于,所述选择模块(BS)包括用于拒绝处理所述待处理任务级别的一个或多个任务以允许降级操作的装置。
全文摘要
本发明涉及一种任务处理的调度方法以及相关装置,任务处理包括配置执行任务所需资源的步骤;以及在由此配置的资源上执行任务的步骤,该方法包括(1)依据先后次序选择待处理的任务的至少一个级别;(2)以及选出待处理任务级的任务的步骤,以便一方面根据处理任务所需的资源数量,另一方面根据任务的特征时间,来限定任务处理中的优先次序。本发明应用于机载电子设备等领域。
文档编号G06F9/48GK1993677SQ200580025918
公开日2007年7月4日 申请日期2005年7月28日 优先权日2004年7月30日
发明者尼古拉·旺特鲁, 斯特凡娜·舍沃毕, 弗雷德里克·勃朗, 蒂埃里·科莱特 申请人:法国原子能委员会
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1