CN1993677B - 任务处理的调度方法及应用该方法的装置 - Google Patents

任务处理的调度方法及应用该方法的装置 Download PDF

Info

Publication number
CN1993677B
CN1993677B CN2005800259180A CN200580025918A CN1993677B CN 1993677 B CN1993677 B CN 1993677B CN 2005800259180 A CN2005800259180 A CN 2005800259180A CN 200580025918 A CN200580025918 A CN 200580025918A CN 1993677 B CN1993677 B CN 1993677B
Authority
CN
China
Prior art keywords
task
independent
resource
level
perhaps
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
CN2005800259180A
Other languages
English (en)
Other versions
CN1993677A (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.)
Commissariat a lEnergie Atomique et aux Energies Alternatives CEA
Original Assignee
Commissariat a lEnergie Atomique CEA
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 Commissariat a lEnergie Atomique CEA filed Critical Commissariat a lEnergie Atomique CEA
Publication of CN1993677A publication Critical patent/CN1993677A/zh
Application granted granted Critical
Publication of CN1993677B publication Critical patent/CN1993677B/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
    • 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]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/506Constraint

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明涉及一种任务处理的调度方法以及相关装置,任务处理包括:配置执行任务所需资源的步骤;以及在由此配置的资源上执行任务的步骤,该方法包括(1)依据先后次序选择待处理的任务的至少一个级别;(2)以及选出待处理任务级的任务的步骤,以便一方面根据处理任务所需的资源数量,另一方面根据任务的特征时间,来限定任务处理中的优先次序。本发明应用于机载电子设备等领域。

Description

任务处理的调度方法及应用该方法的装置
技术领域
本发明涉及用于任务处理的调度方法(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可以通过下表来表示:
 Ti  Ri
 T0  1
 T1  4
 T2  1
 T3  3
 T4  1
 T5  4
 T6  1
 T7  2
 T8  1
 T9  1
 T10  3
 T11  2
在随后的描述中,符号《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月3 1日递交的法国专利申请中描述的可配置组件。其由表示应用图表的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.
[JANS99]K.Jansen et L.Porkolab.“Improved ApproximationSchemes for Scheduling Unrelated Parallel Machines”.InAnnual ACM Symposium on Theory of Computing(STOC),mai 1999.
[BAER73]J.L.Baer.“A Survey of Some Theoretical Aspects ofMultiprocessing”. ACM Computing Surveys,5(1):31-80,mars 1973.
[BAKE81]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.
[BELK90]K.Belkhale et P.Banerjee.“Approximate SchedulingAlgorithms for the Partitionable Independent TaskScheduling Problem”.In the 1990 International Conferenceof Parallel Processing(ICPP).
Figure S05825918020070201D000211
1990.
[LI00]K.Li et Y.Pan.“Probabilistic Analysis of SchedulingPrecedeDca Constrained Parallel Tasks on Multicomputerswith Contiguous Processor Allocation”.IEEE Transactionson Computer,49(10):1021-1030,octobre 2000.
[IBAR88]T.Ibaraki et N.Katoh.“Resource Allocation Problems:Algorithmic Approaches”.The MIT Press,Cambridge,USA,1988.
[PETE81]James L.Peterson.“Petri net theory and the modelling ofsystems”.Practice Hall,ISBN:0136619835.

Claims (21)

1.一种处理独立任务的调度方法,在应用该方法之前,已知应执行所述独立任务的先后次序,所述任务处理包括配置执行所述任务所需的资源的步骤,以及在由此配置的资源上执行所述任务的步骤,其特征在于,所述方法相继包括:
依据所述先后次序选择(1)待处理的独立任务的至少一个级别,等级G的独立任务级别包括其执行的开始直接取决于等级G-1的在先独立任务级别的独立任务执行的结束的所有独立任务;
拣选(2)出所述独立任务的一个级别的任务的步骤,其一方面根据用于处理所述一个级别的每个任务所需的资源数量,另一方面根据所述一个级别的每个任务的特征量,从而限定在处理所述一个级别的任务中的优先次序;
估计(3)用于处理所述独立任务的一个级别的所述任务需要的可利用资源数量;
根据所述优先次序将所述独立任务的一个级别的所述任务分配(4)给所述可利用资源;以及
根据所述优先次序,配置已分配所述独立任务的一个级别的所述任务的所述可利用资源,所述可利用资源并行配置在同所需要一样多的资源上,并且在由此配置的资源上执行所述独立任务的一个级别的所述独立任务,确认形成下一级别的独立任务的先后约束,以及在配置已分配所述独立任务的一个级别的所述独立任务的所述可利用资源的同时开始所述下一级别的独立任务的处理。
2.根据权利要求1所述的处理独立任务的调度方法,其特征在于,所述拣选(2)步骤一方面包括第一拣选,所述第一拣选根据执行所述任务所需的资源数量,以使所述任务根据用于其处理所需的所述资源数量的降序进行处理;以及另一方面,第二拣选,所述第二拣选根据所述任务的特征量,以使所述任务根据其特征量的升序或降序进行处理。
3.根据权利要求2所述的处理独立任务的调度方法,其特征在于,所述第一拣选先于所述第二拣选,一旦处理几个任务所需的资源数量对于所述几个任务是相同的,则应用所述第二拣选。
4.根据权利要求2所述的处理独立任务的调度方法,其特征在于,所述第二拣选先于所述第一拣选,一旦关于几个任务的所述任务的特征量对于所述几个任务是相同的,则应用所述第一拣选。
5.根据前述权利要求中任一项所述的处理独立任务的调度方法,其特征在于,所述任务的特征量是所述任务的处理时间,或者执行所述任务所需的所述资源的配置时间,或者所述任务的执行时间,或者根据与所述任务相关的执行时间限制执行任务剩余的时间,或者在所述任务的所述先后次序中上一级的一个或几个任务的处理、配置、或执行时间,或者用于配置所述任务或执行所述任务的最迟结束时期,或者用于配置或执行在所述任务的所述先后次序中上一级的一个或几个任务的最早或最迟开始时期,或者基于关于一个或多个任务的周期性的时间,或者基于以上列出的全部或部分所述特征量的时间。
6.根据权利要求1至4中任一项所述的处理独立任务的调度方法,其特征在于,所述任务的特征量是用于执行所述任务的通频带宽度,或者由所述任务处理的数据的到达速度,或者用于存储或通信由所述任务处理的数据的可用资源的数量,或者用于与其它任务通信或与在所述任务中共享的资源通信的成本,或者由处理所述任务生成的功耗,或者检测与所述任务执行相关的操作的复杂性的一段信息,或者检测与所述任务执行相关的算法正则性的一段信息,或者检测任务执行平行性的一段信息,或者检测独立于所述任务并在多用户使用的情况下由用户强加的优先权的一段信息,或者以上列出的全部或部分所述特征量的函数。
7.根据权利要求1至4中任一项所述的处理独立任务的调度方法,其特征在于,所述任务的特征量是关于所述任务在应用图表中位置的一段信息。
8.根据权利要求7所述的处理独立任务的调度方法,其特征在于,关于所述任务在应用图表中位置的所述一段信息是用于在所述应用图表的所述处理时间上强制的时间限制结束之前执行所述任务剩余的时间,或者在所述应用图表结束之前仍待处理的任务的最大数量,或者在所述任务的所述先后次序中上一级的任务的最大数量,或者在所述任务的所述先后次序中上一级的任务的执行时间之和,或者以上列出的全部或部分所述量的函数。
9.根据权利要求1所述的处理独立任务的调度方法,其特征在于,动态重复根据所述优先次序所述可利用资源的分配,直至处理了所述任务级别的所有任务。
10.根据权利要求1所述的处理独立任务的调度方法,其特征在于,所述方法包括用于拒绝处理所述待处理任务级别的一个或多个任务,以允许降级操作。
11.一种用于处理任务的方法,在应用该方法之前,已知应执行所述独立任务的先后次序,所述任务处理包括配置执行所述任务所需的资源的步骤,以及在由此配置的资源上执行所述任务的步骤,其特征在于,所述方法包括根据权利要求1至10中任一项所述的方法来调度所述任务处理,以及通过配置令牌和执行令牌分别激活所述资源的配置和所述任务的执行。
12.一种用于处理独立任务的调度装置,在应用该装置之前,已知应执行所述独立任务的先后次序,所述任务处理包括配置执行所述任务所需的资源的步骤,以及在由此配置的资源上执行所述任务的步骤,其特征在于,所述装置相继包括:
依据所述先后次序选择(1)待处理的独立任务的至少一个级别的选择模块(BS),等级G的独立任务级别包括其执行的开始直接取决于等级G-1的在先独立任务级别的独立任务执行的结束的所有独立任务;
用于拣选出所述独立任务的一个级别的任务的拣选装置(BM1、BM2、TP),其一方面根据处理所述一个级别的每个任务所需的资源的数量,另一方面根据所述一个级别的每个任务的特征量从而限定在处理所述一个级别的任务中的优先次序;
用于估计用于处理所述独立任务的一个级别的所述任务需要的可利用资源数量的装置;
用于根据所述优先次序将所述独立任务的一个级别的所述任务分配给所述可利用资源的装置(BG);
根据所述优先次序,用于配置已分配所述独立任务一个级别的所述任务的所述可利用资源的装置,所述可利用资源并行地配置同所需要一样多的资源上,以及用于在由此配置的资源上执行所述独立任务一个级别的所述独立任务的装置;
用于确认形成下一级别的独立任务的先后约束的装置,以及用于在配置已分配所述独立任务的一个级别的所述独立任务的所述可利用资源的同时开始所述下一级别的独立任务的处理的装置。
13.根据权利要求12所述的用于处理任务的调度装置,其特征在于,所述拣选装置一方面包括用于第一拣选的第一拣选装置,所述第一拣选装置根据执行所述任务所需的资源数量,以使所述任务根据用于其处理所需的所述资源数量的降序进行处理;以及另一方面,用于第二拣选的第二拣选装置,所述第二拣选装置根据所述任务的特征量,以使所述任务根据其特征量的升序或降序进行处理。
14.根据权利要求13所述的装置,其特征在于,所述第一拣选先于所述第二拣选,一旦处理几个任务所需的资源数量对于所述几个任务是相同的,则应用所述第二拣选。
15.根据权利要求12至14中任一项所述的装置,其特征在于,所述任务的特征量是所述任务的处理时间,执行所述任务所需的所述资源的配置时间,所述任务的执行时间,根据与所述任务相关的执行时间限制执行任务剩余的时间,在所述任务的所述先后次序中上一级的一个或几个任务的处理、配置、或执行时间,用于配置所述任务或执行所述任务的最迟结束时期,用于配置或执行在所述任务的所述先后次序中上一级的一个或几个任务的最早或最迟开始时期,基于关于一个或多个任务的周期性的时间,或者基于以上列出的全部或部分所述特征量的时间。
16.根据权利要求12至14中任一项所述的装置,其特征在于,所述任务的所述特征量是用于执行所述任务的通频带宽度,由所述任务处理的数据的到达速度,用于存储或通信由所述任务处理的数据的可用资源的数量,用于与其它任务通信或与在所述任务中共享的资源通信的成本,通过处理所述任务生成的功耗,检测与所述任务执行相关的操作的复杂性的一段信息,检测与所述任务执行相关的算法正则性的一段信息,检测任务执行平行性的一段信息,检测独立于所述任务并在多用户使用的情况下由用户强加的优先权的一段信息,或者以上列出的全部或部分所述特征量的函数。
17.根据权利要求12至14中任一项所述的装置,其特征在于,所述任务的特征量是关于所述任务在应用图表中位置的一段信息。
18.根据权利要求17所述的装置,其特征在于,关于所述任务在应用图表中位置的所述信息段是用于在所述应用图表的所述处理时间上强制的时间限制结束之前执行所述任务剩余的时间,在所述应用图表结束之前仍待处理的所述任务的最大数量,在所述任务的所述先后次序中上一级的所述任务的最大数量,在所述任务的所述先后次序中的上一级的所述任务的执行时间之和,或者以上列出的全部或部分所述量的函数。
19.根据权利要求12所述的用于处理任务的调度装置,其特征在于,动态重复根据所述优先次序所述可利用资源的分配,直至处理了所述任务级别的所有任务。
20.一种用于处理任务的装置,其特征在于,其包括根据权利要求19所述的用于处理任务的调度装置,配置令牌和执行令牌通过互联网络用于分别激活所述任务的配置和所述任务的执行。
21.根据权利要求12或20所述的装置,其特征在于,所述选择模块(BS)包括用于拒绝处理所述待处理任务级别的一个或多个任务以允许降级操作的装置。
CN2005800259180A 2004-07-30 2005-07-28 任务处理的调度方法及应用该方法的装置 Expired - Fee Related CN1993677B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0451743A FR2873830B1 (fr) 2004-07-30 2004-07-30 Procede d'ordonnancement de traitement de taches et dispositif pour mettre en oeuvre le procede
FR0451743 2004-07-30
PCT/FR2005/050626 WO2006021713A1 (fr) 2004-07-30 2005-07-28 Procede d'ordonnancement de traitement de tâches et dispositif pour mettre en œuvre le procede

Publications (2)

Publication Number Publication Date
CN1993677A CN1993677A (zh) 2007-07-04
CN1993677B true CN1993677B (zh) 2010-08-11

Family

ID=34951328

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800259180A Expired - Fee Related CN1993677B (zh) 2004-07-30 2005-07-28 任务处理的调度方法及应用该方法的装置

Country Status (6)

Country Link
US (1) US8522243B2 (zh)
EP (1) EP1805611B1 (zh)
JP (2) JP2008508584A (zh)
CN (1) CN1993677B (zh)
FR (1) FR2873830B1 (zh)
WO (1) WO2006021713A1 (zh)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4168281B2 (ja) * 2004-09-16 2008-10-22 日本電気株式会社 並列処理システム、インタコネクションネットワーク、ノード及びネットワーク制御プログラム
JP2007237913A (ja) * 2006-03-08 2007-09-20 Toyota Infotechnology Center Co Ltd 車載装置制御システムおよび車両
US20070282476A1 (en) * 2006-06-06 2007-12-06 Siemens Corporate Research, Inc Dynamic Workflow Scheduling
JP2008225809A (ja) * 2007-03-13 2008-09-25 Secom Co Ltd 日程作成装置
US20090138311A1 (en) * 2007-11-28 2009-05-28 Michael Anthony Iacovone System and method for computer aided work order scheduling
KR100948597B1 (ko) * 2007-12-17 2010-03-24 한국전자통신연구원 다중 복호기 시스템에서의 리소스 공유 스케줄 제어 장치및 그 장치에서의 리소스 공유 스케줄 제어 방법
US8112758B2 (en) * 2008-01-08 2012-02-07 International Business Machines Corporation Methods and apparatus for resource allocation in partial fault tolerant applications
US20110055841A1 (en) * 2008-06-24 2011-03-03 Yuuki Senno Access control apparatus, access control program, and access control method
EP2318925B1 (en) * 2008-08-28 2018-02-28 Nec Corporation Method and system for scheduling periodic processes
US9015723B2 (en) * 2009-09-23 2015-04-21 International Business Machines Corporation Resource optimization for real-time task assignment in multi-process environments
CN101710292B (zh) * 2009-12-21 2013-03-27 中国人民解放军信息工程大学 一种可重构任务处理系统、调度器及任务调度方法
JP5099188B2 (ja) * 2010-08-18 2012-12-12 コニカミノルタビジネステクノロジーズ株式会社 処理順決定装置、処理順決定方法および処理順決定プログラム
US8549527B2 (en) * 2010-08-25 2013-10-01 International Business Machines Corporation Work plan prioritization for application development and maintenance using pooled resources in a factory
KR101710910B1 (ko) * 2010-09-27 2017-03-13 삼성전자 주식회사 프로세싱 유닛의 동적 자원 할당을 위한 방법 및 장치
US20130247051A1 (en) * 2010-12-07 2013-09-19 Fan Sun Implementation of a process based on a user-defined sub-task sequence
US8918791B1 (en) 2011-03-10 2014-12-23 Applied Micro Circuits Corporation Method and system for queuing a request by a processor to access a shared resource and granting access in accordance with an embedded lock ID
KR101897598B1 (ko) * 2011-05-13 2018-09-13 삼성전자 주식회사 디지털 디바이스의 어플리케이션 처리 속도 향상 방법 및 장치
GB2493194A (en) * 2011-07-28 2013-01-30 St Microelectronics Res & Dev Alerting transaction initiators in an electronic circuit in the event of a power failure or circuit error
US20130061233A1 (en) * 2011-09-02 2013-03-07 Exludus Inc. Efficient method for the scheduling of work loads in a multi-core computing environment
US8904451B2 (en) * 2012-04-13 2014-12-02 Theplatform, Llc Systems for prioritizing video processing events based on availability of media file and agent to process the event type
KR101770191B1 (ko) * 2013-01-30 2017-08-23 한국전자통신연구원 자원 할당 방법 및 그 장치
CN104035747B (zh) * 2013-03-07 2017-12-19 伊姆西公司 用于并行计算的方法和装置
US9323619B2 (en) 2013-03-15 2016-04-26 International Business Machines Corporation Deploying parallel data integration applications to distributed computing environments
US9256460B2 (en) 2013-03-15 2016-02-09 International Business Machines Corporation Selective checkpointing of links in a data flow based on a set of predefined criteria
US9401835B2 (en) 2013-03-15 2016-07-26 International Business Machines Corporation Data integration on retargetable engines in a networked environment
JP5962560B2 (ja) * 2013-03-22 2016-08-03 トヨタ自動車株式会社 経路探索装置、移動体、経路探索方法及びプログラム
FR3004274A1 (fr) * 2013-04-09 2014-10-10 Krono Safe Procede d'execution de taches dans un systeme temps-reel critique
US9282051B2 (en) * 2013-06-26 2016-03-08 Netronome Systems, Inc. Credit-based resource allocator circuit
CN103309750B (zh) * 2013-07-10 2016-09-14 国睿集团有限公司 面向硬实时服务的主机资源可满足性检测方法
US9477511B2 (en) 2013-08-14 2016-10-25 International Business Machines Corporation Task-based modeling for parallel data integration
KR101709314B1 (ko) * 2013-09-12 2017-02-23 한국전자통신연구원 태스크 우선순위 조정 장치 및 방법
CN104639208B (zh) * 2013-11-11 2017-05-17 深圳市中兴微电子技术有限公司 一种实现多径搜索的任务处理方法和装置
CN104750690B (zh) * 2013-12-25 2018-03-23 中国移动通信集团公司 一种查询处理方法、装置及系统
CN104520815B (zh) * 2014-03-17 2019-03-01 华为技术有限公司 一种任务调度的方法及装置
US9740472B1 (en) * 2014-05-15 2017-08-22 Nutanix, Inc. Mechanism for performing rolling upgrades in a networked virtualization environment
US9733958B2 (en) * 2014-05-15 2017-08-15 Nutanix, Inc. Mechanism for performing rolling updates with data unavailability check in a networked virtualization environment for storage management
JP6214469B2 (ja) * 2014-05-26 2017-10-18 日立オートモティブシステムズ株式会社 車両制御装置
US9495656B2 (en) * 2014-10-13 2016-11-15 Sap Se Material handling method
CN106325981A (zh) * 2015-06-19 2017-01-11 阿里巴巴集团控股有限公司 一种任务调度方法及装置
JP6700552B2 (ja) * 2016-02-12 2020-05-27 富士通株式会社 処理制御プログラム、処理制御装置及び処理制御方法
CN105975334A (zh) * 2016-04-25 2016-09-28 深圳市永兴元科技有限公司 任务分布式调度方法及系统
FR3054902B1 (fr) * 2016-08-04 2019-06-21 Thales Procede et dispositif de distribution de partitions sur un processeur multi-coeurs
CN109716298A (zh) * 2016-09-16 2019-05-03 华为技术有限公司 用于短周期性任务的有效调度器
KR101924466B1 (ko) * 2017-08-17 2018-12-04 고려대학교 산학협력단 하둡 기반 시스템을 위한 캐시 인지 작업 스케줄링 장치 및 방법
CN108052384B (zh) * 2017-12-27 2022-01-18 联想(北京)有限公司 一种任务处理方法、服务平台及电子设备
CN108647082A (zh) * 2018-04-13 2018-10-12 中国民航信息网络股份有限公司 基于令牌机制的任务处理方法、装置、设备及介质
JP7016583B2 (ja) * 2018-04-19 2022-02-07 東芝情報システム株式会社 ソフトウェアのテスト方法、システムおよびプログラム
CN109901929B (zh) * 2019-03-04 2023-04-18 云南大学 服务器等级约束下的云计算任务份额公平分配方法
CN110347512B (zh) * 2019-07-12 2023-05-12 北京天云融创软件技术有限公司 一种多组件异构资源需求的资源调度方法
CN111597037B (zh) * 2020-04-15 2023-06-16 中电金信软件有限公司 作业分配方法、装置、电子设备及可读存储介质
CN111832894B (zh) * 2020-06-08 2024-06-18 上海汽车集团股份有限公司 车辆调度方式生成方法、装置及计算机存储介质
KR20220064665A (ko) * 2020-11-12 2022-05-19 삼성전자주식회사 인공지능 모델을 분산 처리하는 전자 장치 및 그 동작 방법
CN116457757A (zh) * 2020-11-12 2023-07-18 三星电子株式会社 用于将gpu分配给软件包的方法和设备
KR20220064806A (ko) * 2020-11-12 2022-05-19 삼성전자주식회사 소프트웨어 패키지에 gpu를 할당하는 방법 및 장치
WO2023088950A1 (en) * 2021-11-18 2023-05-25 F. Hoffmann-La Roche Ag Method for optimizing handlers operation in a laboratory system or device
CN113886053B (zh) * 2021-12-01 2022-03-04 华控清交信息科技(北京)有限公司 一种任务调度方法、装置和用于任务调度的装置
US20230205602A1 (en) * 2021-12-28 2023-06-29 Advanced Micro Devices, Inc. Priority inversion mitigation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0697656A1 (fr) * 1994-08-11 1996-02-21 Cegelec Procédé pour ordonnancer des tâches successives

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3752059T2 (de) * 1986-10-29 1997-08-14 United Technologies Corp Ereignisgesteuertes Exekutivprogramm
JP3039953B2 (ja) * 1989-04-28 2000-05-08 株式会社日立製作所 並列化装置
JPH03116334A (ja) * 1989-09-29 1991-05-17 Nec Corp タスクディスパッチ方式
US5506987A (en) * 1991-02-01 1996-04-09 Digital Equipment Corporation Affinity scheduling of processes on symmetric multiprocessing systems
JPH0675786A (ja) * 1992-08-26 1994-03-18 Hitachi Ltd タスクスケジュリング方法
JPH07141305A (ja) * 1993-11-16 1995-06-02 Hitachi Ltd 並列計算機の実行制御方法
US6571215B1 (en) * 1997-01-21 2003-05-27 Microsoft Corporation System and method for generating a schedule based on resource assignments
US6240502B1 (en) * 1997-06-25 2001-05-29 Sun Microsystems, Inc. Apparatus for dynamically reconfiguring a processor
AU7129800A (en) * 1999-09-09 2001-04-10 Accenture Llp Resource-based task scheduling system and method
FI20012044A (fi) * 2001-10-22 2003-04-23 Portalify Oy Menetelmä ja tietoliikenneverkko palvelujen tarjoamiseksi ja laskuttamiseksi
US7203943B2 (en) * 2001-10-31 2007-04-10 Avaya Technology Corp. Dynamic allocation of processing tasks using variable performance hardware platforms
US8108656B2 (en) * 2002-08-29 2012-01-31 Qst Holdings, Llc Task definition for specifying resource requirements
US7430557B1 (en) * 2003-03-19 2008-09-30 Unisys Corporation System and method for improving database reorganization time
EP1505502B1 (en) * 2003-08-08 2012-03-21 Sap Ag A method of assigning objects to processing units

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0697656A1 (fr) * 1994-08-11 1996-02-21 Cegelec Procédé pour ordonnancer des tâches successives
US5826080A (en) * 1994-08-11 1998-10-20 Cegelec Method of scheduling successive tasks

Non-Patent Citations (10)

* Cited by examiner, † Cited by third party
Title
BIZZARRI P ET AL.A scheduling algorithm for aperiodic groups of taksindistributed real-time systems and its holistic analysis.IEEE COMPUT.SOC,ISBN:0-8186-8153-5.1997,296-301. *
KRITHI RAMAMRITHAM.Allocation and scheduling of precedence-related periodictasks.IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS6 4.1995,6(4),412-420.
KRITHI RAMAMRITHAM.Allocation and scheduling of precedence-related periodictasks.IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS6 4.1995,6(4),412-420. *
权利要求1,23.
权利要求1.
说明书第1栏第1-26行,第2栏第27-35行
说明书第6,8,11,21-23,31,32,40-43段
说明书第8栏第36行-第10栏第20行
附图2.
附图7

Also Published As

Publication number Publication date
JP2012181852A (ja) 2012-09-20
US20080263555A1 (en) 2008-10-23
FR2873830B1 (fr) 2008-02-22
FR2873830A1 (fr) 2006-02-03
EP1805611A1 (fr) 2007-07-11
CN1993677A (zh) 2007-07-04
JP2008508584A (ja) 2008-03-21
US8522243B2 (en) 2013-08-27
EP1805611B1 (fr) 2017-11-29
WO2006021713A1 (fr) 2006-03-02

Similar Documents

Publication Publication Date Title
CN1993677B (zh) 任务处理的调度方法及应用该方法的装置
CN107679620B (zh) 人工神经网络处理装置
CN1957329B (zh) 信号处理装置
Stavrinides et al. Scheduling multiple task graphs in heterogeneous distributed real-time systems by exploiting schedule holes with bin packing techniques
Lin et al. Joint optimization of overlapping phases in MapReduce
Koole et al. Resource allocation in grid computing
CN109669768A (zh) 一种面向边云结合架构的资源分配和任务调度方法
EP0388794A2 (en) Method and apparatus for optimizing element placement and deciding the optimal element placement
CN111144545B (zh) 用于实现卷积运算的处理元件、装置和方法
CN101124569B (zh) 微处理器结构
Alhusaini et al. A framework for mapping with resource co-allocation in heterogeneous computing systems
GB2487684A (en) Method for scheduling plurality of computing processes including all-to-all (a2a) communication across plurality of nodes (processors) constituting network, p
Biedert et al. A Task-Based Parallel Rendering Component For Large-Scale Visualization Applications.
KR102032895B1 (ko) 기능 유닛들 간의 기능 로직 공유 장치, 방법 및 재구성 가능 프로세서
CN114139730B (zh) 一种面向边缘云网络中机器学习任务的动态定价和部署方法
Porto et al. Performance evaluation of a parallel tabu search task scheduling algorithm
JP2021108104A (ja) 部分的読み取り/書き込みが可能な再構成可能なシストリックアレイのシステム及び方法
Goldman et al. An efficient parallel algorithm for solving the knapsack problem on hypercubes
Dümmler et al. Scalable computing with parallel tasks
TW202301172A (zh) 在神經網路中傳播延遲減少之電腦實施方法
Baransel et al. A parallel implementation of Strassen’s matrix multiplication algorithm for wormhole-routed all-port 2D torus networks
Khan et al. CAD tool for hardware software co-synthesis of heterogeneous multiple processor embedded architectures
Heath et al. Modeling, design, and performance analysis of a parallel hybrid data/command driven architecture system and its scalable dynamic load balancing circuit
KR20070031307A (ko) 신호 스트림 처리 작업의 조합을 실행하기 위한 방법, 장치및 시스템, 실행 파라미터를 계산하는 방법 및 장치,컴퓨터 프로그램 제품
Carlson et al. Value based overload handling of aperiodic tasks in offline scheduled real-time systems

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

Granted publication date: 20100811

Termination date: 20180728

CF01 Termination of patent right due to non-payment of annual fee