CN101566957A - 信息处理系统及任务执行控制方法 - Google Patents
信息处理系统及任务执行控制方法 Download PDFInfo
- Publication number
- CN101566957A CN101566957A CNA200910137019XA CN200910137019A CN101566957A CN 101566957 A CN101566957 A CN 101566957A CN A200910137019X A CNA200910137019X A CN A200910137019XA CN 200910137019 A CN200910137019 A CN 200910137019A CN 101566957 A CN101566957 A CN 101566957A
- Authority
- CN
- China
- Prior art keywords
- task
- processor
- request
- subtask
- communication process
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Abstract
本发明提供一种信息处理系统及任务执行控制方法。信息处理系统包括主处理器和从处理器。主处理器在多任务环境下进行操作,所述多任务环境能够基于任务的执行优先级根据任务调度并行地执行用于向从处理器发出处理请求的请求源任务。从处理器在多任务环境下进行操作,所述多任务环境能够根据任务调度并行地执行通信处理任务和由所述通信处理任务创建的用于执行由处理请求所请求的处理的子任务。处理请求包含与主处理器中的请求源任务的执行优先级相关联的优先级信息。从处理器对于来自不同请求源任务的处理请求共同地激活通信处理任务。通信处理任务基于优先级信息创建分配有与请求源任务的执行优先级相对应的执行优先级的子任务。
Description
技术领域
本发明涉及一种多处理器构造中的信息处理系统。具体地,本发明涉及基于来自于在另一个处理器中执行的多个任务的处理请求,在一个处理器中执行的处理的处理顺序控制。
背景技术
被嵌入诸如汽车和飞机的运输设备、诸如蜂窝电话和接线总机的通信设备等等并且执行设备控制、信号处理等等的处理器系统被称为嵌入式系统。为了缩短处理时间,该嵌入式系统通常在多任务环境中操作,确保实时处理、以及通过软件的模块化来提高生产力。多任务环境是其中通过定期切换要被执行的任务、在事件发生之后切换要被执行的任务等等而明显地同时来执行多个程序的环境。任务表示在多任务环境中并行执行的程序的单元。通过中央处理器(CPU)和执行在CPU中执行的任务的调度的操作系统(OS)来实施多任务环境。嵌入式系统不限于具有单处理器构造,并且其可以具有其中多个处理器执行主/从处理器间通信的多处理器构造。
日本未审专利申请公开No.60-95676公开了包括两个CPU的信息处理系统,其中,通过信息传输信道连接CPU使得在两个CPU之间传输处理请求,并且CPU每一个具有共同的优先级表,其包含用于处理请求的各个内容的优先级信息。例如,优先级表包含以下描述,即,将作为最高优先级的优先级“1”给予“故障处理请求”,将优先级“2”给予“命令执行请求”等等。在从一个(第一个)CPU向另一个(第二个)CPU发出“故障处理请求”并且从第二个CPU向第一个CPU发出“命令执行请求”的情况下,第一个和第二个CPU参考各自的优先级表,并且识别出“故障处理请求”具有超过“命令执行请求”的优先级。因此,第一个CPU忽略来自于第二个CPU的“命令执行请求”。另一方面,第二个CPU接收来自于第一个CPU的“故障处理请求”并且开始故障处理。
日本未审专利申请公开No.6-301655和11-312093公开了分布式处理系统,其中,通过网络连接均在多任务环境中操作的多个计算器。例如,被包括在日本未审专利申请公开No.6-301655中公开的分布式处理系统中的每个计算器具有用于任务间通信的消息传输功能。消息传输源任务将请求处理的处理请求消息传输至在另一个计算器中执行的另一个任务。处理请求消息包含消息传输源任务的优先级。消息接收端的计算器将被指定为处理请求消息的目的的消息传输目的任务从等待状态改变为就绪状态。基于处理请求消息中指定的优先级动态地确定消息传输目的任务的执行优先级。从而基于根据消息传输源任务的执行优先级而最新确定的执行优先级,通过OS重新调度消息传输目的任务。因此,日本未审专利申请公开No.6-301655中公布的分布式处理系统使得能够在不同的计算器中执行的任务之间传输执行优先级。因此,基于计算器中的消息传输源(例如处理请求源)任务的优先级能够执行有效的任务调度,以执行消息传输目的(例如处理请求目的)任务。
发明内容
但是,本发明人已经发现以下问题。考虑在具有主处理器和从处理器的多处理器嵌入式系统中的情况下,主处理器在多任务环境下进行操作。在这样的情况下,当在主处理器中并行执行的多个任务同时向从处理器发出处理请求时,在从处理器中的处理顺序不是基于主处理器中的任务优先级。在下文中参考图8明确地描述这样的问题。
图8是示出当在多任务环境中操作的主处理器中执行任务A至D,并且从任务A至D向从处理器发出处理请求时的时序的视图。在从处理器中执行的通信任务根据请求的接收顺序来一个接一个地处理来自于主处理器的多个处理请求。换言之,图8中的通信任务通过先入先出(FIFO)来处理多个处理请求。因此,如果从被给予比任务B至D高的执行优先级的任务A在时间T4发出处理请求时,那么响应于来自任务A的处理请求的处理OP-A被强迫等待直到完成处理OP-C和处理OP-D。处理OP-C是在时间T2时响应于从任务C发出的处理请求而执行的处理,在当从任务A发出处理请求时其正在被处理。处理OP-D是在时间T3时响应于从任务D发出的处理请求而执行的处理,在处理OP-A之前其已经进入了等待状态。
如上所述,在多处理器嵌入式系统中,有时候出现被称为优先级反转的主处理器中的任务优先级不能在从处理器中生效的问题。为了避免此问题,开发嵌入式软件的开发人员需要基于主处理器和从处理器之间的处理器间通信的方案的完全理解来执行设计、开发和测试,这对开发人员来说增加了工作量。
在消除了两个CPU之间的主从关系并且在两个CPU之间相互发出处理请求的情况下,当从各个CPU同时发出处理请求时,日本未审专利申请公开No.60-95676中公布的技术是有效的。但是,日本未审专利申请公开No.60-95676的技术没有采取多任务环境。因此,日本未审专利申请公开No.60-95676没有公开以下内容:在从一个CPU中并行地执行的多个任务向另一个CPU连续地发出多个处理请求的情况下,怎样在另一个CPU中响应于多个处理请求来执行处理。
此外,在日本未审专利申请公开No.6-301655中公布的分布式处理系统中,处理请求消息的目的地是向其发出处理请求的每个任务。因此,向其发出处理请求的任务被事先先前创建,并且在接收到处理请求之前进入等待状态。因此,在日本未审专利申请公开No.6-301655中公布的技术存在以下问题,即,为了保持被创建的任务的内容而极大地消耗了存储器资源和OS资源。与作为日本未审专利申请公开NO.6-301655的目标的分布式处理系统相比较,其中,所述分布式处理系统是在其中通过网络连接多个计算器的计算器系统,由于装置规模的限制、装置成本的限制等等,嵌入式系统受到存储器资源和OS资源的较大的限制。因此,很难将日本未审专利公开申请No.6-301655中公布的技术应用于嵌入式系统。
本发明的实施例的第一示例性方面是包括主处理器和从处理器的信息处理系统。主处理器在多任务环境下进行操作,该多任务环境能够根据基于各个任务的执行优先级的任务调度,并行地执行用于向从处理器分别发出处理请求的多个请求源任务。从处理器在多任务环境下进行操作,该多任务环境能够根据基于各个任务的执行优先级的任务调度,并行地执行用于控制与主处理器进行通信的通信处理任务和通过通信处理任务创建的用于执行由处理请求所请求的处理的子任务。处理请求包含与主处理器中的请求源任务的执行优先级相关联的优先级信息。从处理器响应于从彼此不同的多个请求源任务发出的多个处理请求,共同地激活通信处理任务。响应于处理请求的接收而被激活的通信处理任务,基于处理请求中包含的优先级信息创建被分配有与请求源任务的执行优先级相对应的执行优先级的子任务。
如上所述,在根据本发明的实施例的第一示例性方面的信息处理系统中,响应于来自主处理器的处理请求在从处理器中激活的通信处理任务创建被动态地分配与请求源任务的执行优先级相对应的执行优先级的子任务。从而主处理器中的请求源任务的执行优先级被给予从处理器中的子任务。这使得从处理器能够根据主处理器中的任务的执行优先级进行操作。
此外,在根据本发明的实施例的第一示例性方面的信息处理系统中,对于来自于多个不同请求源任务的多个处理请求的接收,共同地激活通信处理任务。然后,通信处理任务创建与各个处理请求相对应的子任务。因此,根据本发明的实施例的第一示例性方面的信息处理系统不需在从处理器中预先创建与多种处理请求相对应的子任务。因此,与日本未审专利申请公开No.6-301655中公布的分布式处理系统相对比,根据本发明的实施例的第一示例性方面的信息处理系统能够避免用于保存任务内容的存储器资源和OS资源的浪费,从而有助于嵌入式系统的装置成本和装置规模的减少。
根据如上所述的本发明的实施例的示例性方面,能够提供在多处理器构造中的信息处理系统,其使得从处理器能够根据主处理器中的任务的执行优先级进行操作,并且有助于嵌入式系统的装置成本和装置规模的减少。
附图说明
从以下结合附图对某些示例性实施例的描述中,以上和其它示例性方面、优点和特征将更加明显,其中:
图1是示出了根据本发明的示例性实施例的信息处理系统的示例性构造的框图;
图2是示出了根据本发明的示例性实施例的与信息处理系统相关的操作过程的流程图;
图3是示出了根据本发明的示例性实施例的信息处理系统中的处理器之间的通信数据的示例性结构的视图;
图4是示出了根据本发明的示例性实施例的与信息处理系统相关的操作过程的流程图;
图5是示出了根据本发明的示例性实施例的与信息处理系统相关的操作过程的流程图;
图6是示出了虚拟的单处理器装置中的任务执行顺序的参考图;
图7是示出了根据本发明的示例性实施例的信息处理系统中的任务执行顺序的视图;以及
图8是示出了根据现有技术的信息处理系统中的任务执行顺序的视图。
具体实施方式
在下文中,参考附图详细地描述本发明的示例性实施例。通过相同的附图标记表示相同的元件,并且根据出于简化描述的需要省略了多余的解释。
图1是示出了根据示例性实施例的信息处理系统1的整体构造的框图。信息处理系统1包括主处理器11和从处理器21。通过中断信号线31和32连接主处理器11和从处理器21。中断信号线31将引起中断的中断信号从主处理器11传输至从处理器21。另一方面,中断信号线32将引起中断的中断信号从从处理器21传输至主处理器11。
主处理器11和从处理器21能够访问共享的存储器30。共享的存储器30被用作为用于要在主处理器11和从处理器21中执行的任务的数据存储区域。此外,共享的存储器30用于主处理器11和从处理器21之间的处理器间通信。
专用的存储器12被用作用于要通过主处理器11读取和执行的OS120和应用程序(AP)121的存储区域,并且被用作用于要通过这些程序被使用的数据的存储区域。
OS 120是用于控制主处理器11的程序。通过使用诸如主处理器11、专用存储器12、以及共享存储器30的硬件资源,OS 120执行用于在主处理器11中创建多任务环境的任务管理。任务管理包括任务状态管理、准备要被执行的任务的执行顺序的确定(即任务调度)、以及通过上下文保存和转换的任务分派。
AP 121是用于满足用户请求的程序。在信息处理系统1被整合在嵌入式设备中的情况下,AP 121是用于实施嵌入式设备的功能的程序。AP 121包括多个任务,所述多个任务基于要使用的硬件资源中的不同、时间约束等等来划分。在由主处理器11和OS 120提供的多任务环境上执行形成AP 121的多个任务中的每一个。尽管为了简明扼要,仅在图1中示出了一个AP 121,但是专用存储器12可以包含用于实施各种功能的多个AP。
另一方面,专用的存储器22被用作用于通过从处理器21而要被读取和执行的OS 220和AP 221的存储区域,并且被用作用于要通过这些程序被使用的数据的存储区域。OS 220执行用于在从处理器21中创建多任务环境的任务管理。AP 221是用于满足用户请求的程序。
图1中所示的构造仅仅是一个示例。可以适当地改变OS 120、AP121、OS 220以及AP 221的存储位置、以及将这些程序供给主处理器11或者从处理器21的过程。例如,用于从处理器21的OS 220可以被存储在只有主处理器11能够访问的专用存储器12中。在这样的情况下,主处理器11可以将OS 220加载在共享存储器30中,并且从处理器21可以读取并且执行被加载在共享存储器30中的OS 220。
在下文中,详细地描述当从主处理器11向从处理器21发出处理请求时的操作过程和已经接收到处理请求的从处理器21中的操作过程。
图2是示出了从主处理器11向从处理器21发出处理请求的过程的流程图。在主处理器11中执行的并且向从处理器21发出处理请求的任务在下文中被称为“请求源任务”。在步骤S11中,确定是否能够进行到从处理器21的处理请求的传输。具体地,可以确定共享存储器30的可用的自由空间对于处理器间通信是否足够大,即,其是否足够大以存储包含处理请求的通信数据。
如果确定到从处理器21的处理请求是可接受的(步骤S11中“是”),那么在步骤S12中保留了用于处理器间通信的存储区域。具体地,为了处理器间通信,预先在保留的存储空间中设置通信管理标记。通信管理标记是以下标记信息,该标记信息指示用于存储通过处理器间通信而进行交换的通信数据的区域是否在使用中。
图3示出了包含通信管理标记的通信数据的数据结构的具体示例。图3中所示的通信数据33包括通信管理标记330、优先级信息331、数据尺寸332、以及处理请求数据333。如上所述,通信管理标记33是以下标记信息,该标记信息指示用于存储通过处理器间通信而进行交换的通信数据的区域是否在使用中。
优先级信息331是用于向从处理器21通知主处理器11中请求源任务的相关执行优先级的信息。通过优先级信息331指示的具体值可以是请求源任务的执行优先级的实际值,或者是与请求源任务的执行优先级相关联的另一个值。因此,优先级信息331可以是任何信息,只要其能够向从处理器21通知多个请求源任务的相关的执行优先级即可。
数据尺寸332指示用于识别处理请求数据333的数据尺寸的值。数据尺寸332的具体值可以只是处理请求数据333的数据尺寸,或者是包括通信数据33的报头部分的整个通信数据33(即,通信管理标记330、优先级信息331以及数据尺寸332)的数据尺寸。
处理请求数据333是用于在从处理器21中处理的从主处理器11传输的数据。
再次参考图2,在步骤S13中,请求源任务获取设置到其本身的执行优先级。通过向OS发出系统呼叫(服务呼叫)可以执行执行优先级的获取。替代地,如果从请求源任务到存储所创建的任务的状态的主处理器11中的寄存器(未示出)的访问被允许,那么可以参考寄存器获取执行优先级。
在步骤S14中,主处理器11将除了已经被设置的通信管理标记330之外的剩下的通信数据33写入共享存储器30中,其中,所述剩下的通信数据33是优先级信息331、数据尺寸332、以及处理请求数据333。
在步骤S15中,为了向从处理器21通知处理请求的发生,主处理器11将中断信号输出至中断信号线31。
在步骤S16中,请求源任务等待直到完成了从处理器21的处理。请求源任务暂停执行,并且改变为“等待状态”,然后响应于稍后将会描述的来自于从处理器21的中断信号的接收,顺序地更改为“就绪状态”和“运行状态”,并且最终确认指示处理完成结果的通信数据。通过中断发生之后激活的中断处理机(handler),能够容易地实施响应于来自从处理器21的中断的发生而将请求源任务的操作状态改变为“就绪状态”的处理。此外,通过执行定期检查通信管理标记的轮询,请求源任务可以检测从处理器21的处理的完成,其中,所述通信管理标记在完成从处理器21的处理之后被写入共享存储器30中。
在下文中,描述了接收从处理器21中的处理请求的操作过程和执行通过处理请求而请求的处理的过程。图4是示出了响应于伴随来自主处理器11的处理请求的中断信号的接收而激活的通信处理任务的处理过程的流程图。可以在通过中断信号线31接收中断信号之后激活的中断处理机来执行通信处理任务的激活。具体地,中断处理机可以向“等待状态”中的通信处理任务通知处理请求的发生,将通信处理任务改变为“就绪状态”,并且请求到OS的任务调度。为了优先地执行通信处理任务,优选地将从处理器21中的最高执行优先级给予通信执行任务。
在图4的步骤S21中,通信处理任务通过参考由主处理器11写入共享处理器30中的通信数据,获取优先级信息。在步骤S22中,通信处理任务创建以下子任务,所述子任务用于执行由来自请求源任务的处理请求所请求的处理。在完成创建子任务之后,通信处理任务可以向OS 220通知到“等待状态”的转换,并且结束处理。根据由优先级信息指定的主处理器11中的请求源任务的执行优先级,动态地确定在步骤S22中创建的子任务的执行优先级。换言之,随着主处理器11中的请求源任务的执行优先级变得更高,从处理器21中的子任务的执行优先级变得更高。
图5是示出了由通信处理任务创建的子任务基于来自请求源任务的处理请求来执行处理的过程的流程图。在步骤S31中,子任务从共享处理器30获取处理请求数据,并且对其进行解释。在步骤S32中,子任务执行由请求源任务请求的处理。如果完成了与处理请求相关的处理,那么释放用于处理器间通信的存储区域,其中,所述存储区域已经通过用于传输处理请求数据的请求源任务而被保留。具体地,存储区域的通信管理标记可以被清除。在步骤S34中,为了通知处理的完成,子任务通过中断信号线32将中断信号输出至主处理器11。在完成图5中所示的所有处理之后,子任务向OS 220通知任务的结束。从而OS 220终止子任务,并且释放其中已经存储了子任务的任务上下文的存储区域。
通过由OS 220分派的任务,在从处理器21上执行通过通信处理任务创建的子任务。如前面所述,从处理器21中的子任务的执行优先级是基于主处理器11中的请求源任务的执行优先级的。因此,当某些子任务(被称为第一子任务)处于运行状态时,如果从具有比第一子任务的请求源任务(被称为第一请求源任务)更高的执行优先级的第二请求源任务发出处理请求,那么在从处理器21中激活具有最高执行优先级的通信处理任务,并且暂停第一子任务的执行。然后,通过通信处理任务创建了用于执行来自第二请求源任务的处理请求的子任务(被称为的第二子任务),其与第一子任务相比具有更高的执行优先级。因此,基于在第二子任务创建之后通过OS 220执行的任务调度,优先地执行第二子任务,而不是第一子任务。
在下文中,参考图6和图7详细地描述主处理器11和从处理器21中的执行任务的转换处理。图6是在假定信息处理系统1没有包括从处理器21并且利用单处理器执行处理的情况下,所期待的时序图。图6的时序图对应于根据现有技术的图8中所示的时序图。图6中所示的四个任务A至D的执行优先级被以下列方式分配为:使得任务A是最高的,并且以任务B、C以及D的顺序连续地变低。因为当前没有其它的正在运行的任务或者就绪任务,所以在时间T1时就绪的任务B开始运行而不受其它任务的影响,并且在处理完成之后结束(OP-B)。
接下来,因为不存在其它的当前正在运行的任务或者就绪任务,所以在时间T2时就绪的任务C开始运行(OP-C1)。然后,在任务C的运行期间的时间T3时任务D就绪。任务D的执行优先级低于任务C的执行优先级。因此,任务D不能开始运行直到与任务D相比具有更高的执行优先级的其它任务结束,或者这些任务由于某些原因放弃使用处理器的权利。当任务A在时间T4时就绪时,暂停具有较低的执行优先级的任务C的运行,并且替代地,任务A开始运行(OP-A)。
然后,当任务A在时间T5时结束时,比较处于等待状态中的所有任务的执行优先级,即任务C和任务D。作为比较的结果,选择与任务D相比具有更高的执行优先级的任务C,并且已经被暂停的任务C重新运行(OP-C2)。当任务C在时间T6时结束时,与其它的三个任务相比具有较低的执行优先级的任务D开始运行(OP-D)。如上所述,基于任务的执行优先级的任务调度在单处理器中正常地运行,并且不同于图8中所示的情况,能够获得按照软件开发商预期的任务执行顺序。
图7是示出根据实施例的信息处理系统1中的主处理器11和从处理器21中的执行任务的转换处理的时序图。即使是多处理器构造,信息处理系统1能够以与图6中所示的单处理器一样的顺序执行任务。在下文中将会对其进行详细描述。
首先,当在图7的时间T1从作为请求源任务中的一个的任务B发出处理请求时,响应于由处理请求引起的中断信号的接收优先地激活被给予从处理器21中的最高执行优先级的通信处理任务。通信处理任务基于主处理器11中的请求源任务B的执行优先级,创建作为执行处理请求的任务的子任务b。在通信处理任务结束之后,由于不存在其它的子任务,子任务b立即开始运行(OP-B)。
接下来,当在时间T2从作为请求源任务中的一个的任务C发出处理请求时,通信处理任务在从处理器21中创建子任务c。在通信处理任务结束之后,由于不存在其它的子任务,子任务c立即开始运行(OP-C1)。
然后,当在子任务c运行期间的时间T3从作为请求源任务中的一个的任务D发出处理请求时,通信处理任务被激活并且创建子任务d。从处理器21中的子任务d的执行优先级被设置低于当前正在运行的子任务c的执行优先级。这是因为主处理器11中的请求源任务C和D的执行优先级的相对关系被反映在子任务c和d的执行优先级上。因此,子任务d不开始运行直到与子任务d相比具有更高的执行优先级的其它任务结束,或者这些任务由于某些原因而放弃使用从处理器21的权利。
当在T4从作为请求源任务中的一个的任务A发出处理请求时,通信处理任务被激活并且创建子任务a。从处理器21中的子任务a的执行优先级被设置高于当前正在运行的子任务c的执行优先级。因此,在通信处理任务结束之后通过任务调度分派子任务a代替子任务c(OP-A)。
当子任务a在时间T5结束时,比较都处于等待状态下的子任务c和子任务d的执行优先级。作为比较的结果,选择具有比子任务d高的执行优先级的子任务c,并且已经被暂停的子任务c重新运行(OP-C2)。最后,当子任务c在时间T6结束时,具有比其它三个子任务低的执行优先级的子任务d开始运行(OP-D)。
如上所述,根据实施例的信息处理系统1允许用来执行与从处理器21中的处理请求相关的处理的多个子任务的执行顺序与图6中所示的单处理器中的任务执行顺序一致。从而在不用具体关注处理器间通信的存在的情况下,软件开发商能够执行设计、开发、和测试。
此外,从处理器21对于从多个不同的请求源任务发出的处理请求共同地激活通信处理任务,并且使用该通信处理任务创建子任务以执行各个处理请求。因此,对从处理器21来说没有必要预先创建与多种处理请求相对应的子任务。因此,从处理器21能够避免用于保存任务上下文的存储器资源和OS资源的浪费,因此有助于嵌入式系统的装置成本和装置规模的减少。
本发明的申请不限于嵌入式系统。本发明可被广泛地应用于多处理器构造中的信息处理系统。
虽然已经以若干示例性实施例的方式描述了本发明,本领域的技术人员将理解本发明可以在所附的权利要求的精神和范围内进行各种修改的实践,并且本发明并不限于上述的示例。
可以将图2、图4以及图5中所示的信息处理方法变为计算机程序。该程序能够被存储在公知的程序存储设备中。
此外,权利要求的范围不限于上述的示例性实施例。
此外,应当注意的是,申请人意在涵盖所有权利要求要素的等同形式,即使在后期的审查过程中对权利要求进行过修改亦是如此。
Claims (8)
1.一种信息处理系统,包括:
主处理器;以及
从处理器,其中
所述主处理器在多任务环境下进行操作,所述多任务环境能够根据基于各个请求源任务的执行优先级的任务调度,并行地执行用于向所述从处理器分别发出处理请求的多个请求源任务,
所述从处理器在多任务环境下进行操作,所述多任务环境能够根据基于各个任务的执行优先级的任务调度,并行地执行用于控制与所述从处理器进行通信的通信处理任务和由所述通信处理任务创建的用于执行由所述处理请求所请求的处理的子任务,
所述处理请求包括与所述主处理器中的所述请求源任务的所述执行优先级相关联的优先级信息,
所述从处理器响应于从所述多个不同的请求源任务发出的所述多个处理请求共同地激活所述通信处理任务,以及
所述通信处理任务基于包含在所述处理请求中的所述优先级信息,创建被分配有与所述请求源任务的所述执行优先级相对应的执行优先级的所述子任务。
2.根据权利要求1所述的信息处理系统,进一步包括:
中断信号线,所述中断信号线连接所述主处理器和所述从处理器;以及
共享存储器,所述共享存储器用于所述主处理器和所述从处理器之间的处理器间通信,其中
当向所述从处理器发出处理请求时,所述主处理器将包含所述优先级信息的通信数据写入所述共享存储器,并且向所述中断信号线输出中断信号,
所述从处理器响应于通过所述中断信号线输入的所述中断信号激活所述通信处理任务,以及
所述通信处理任务从存储在所述共享存储器中的所述通信数据中获取所述优先级信息。
3.根据权利要求1所述的信息处理系统,其中,
将比所述子任务高的执行优先级给予所述通信处理任务,并且在所述从处理器中优先于所述子任务执行所述通信处理任务。
4.根据权利要求1所述的信息处理系统,其中,
将多个预设的执行优先级中的最高的执行优先级给予所述通信处理任务。
5.一种包括主处理器和从处理器的信息处理系统中的任务执行控制方法,包括:
将包含来自于在所述主处理器中执行的请求源任务的处理请求的通信数据传输至所述从处理器,所述处理请求包含与所述主处理器中的所述请求源任务的执行优先级相关联的优先级信息,
响应于所述通信数据的接收,激活所述从处理器中的通信处理任务,所述通信处理任务是响应于从多个不同请求源任务传输的多个通信数据的接收而共同地激活的任务;
通过所述通信处理任务,创建用于执行由所述处理请求所请求的处理的子任务,所述子任务基于从所述通信数据获取的所述优先级信息被分配有与所述请求源任务的所述执行优先级相对应的执行优先级;以及
根据基于包括所述子任务的多个任务的执行优先级的任务调度,执行所述从处理器中的所述子任务。
6.根据权利要求5所述的任务执行控制方法,其中,
将比所述子任务高的执行优先级给予所述通信处理任务,并且在所述从处理器中优先于所述子任务执行所述通信处理任务。
7.根据权利要求5所述的任务执行控制方法,其中,
将多个预设的执行优先级中的最高的执行优先级给予所述通信处理任务。
8.一种通过具有主处理器和从处理器的计算机可读的存储介质,所述存储介质中存储执行以下步骤的程序:
将包含来自于在所述主处理器中执行的请求源任务的处理请求的通信数据传输至所述从处理器,所述处理请求包含与所述主处理器中的所述请求源任务的执行优先级相关联的优先级信息,
响应于所述通信数据的接收,激活所述从处理器中的通信处理任务,所述通信处理任务是响应于从多个不同请求源任务传输的多个通信数据的接收而共同地激活的任务;
通过所述通信处理任务,创建用于执行由所述处理请求所请求的处理的子任务,所述子任务基于从所述通信数据获取的所述优先级信息被分配有与所述请求源任务的所述执行优先级相对应的执行优先级;以及
根据基于包括所述子任务的多个任务的执行优先级的任务调度,执行所述从处理器中的所述子任务。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008115152A JP2009265963A (ja) | 2008-04-25 | 2008-04-25 | 情報処理システム及びタスクの実行制御方法 |
JP2008115152 | 2008-04-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101566957A true CN101566957A (zh) | 2009-10-28 |
Family
ID=41216261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200910137019XA Pending CN101566957A (zh) | 2008-04-25 | 2009-04-27 | 信息处理系统及任务执行控制方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20090271796A1 (zh) |
JP (1) | JP2009265963A (zh) |
CN (1) | CN101566957A (zh) |
DE (1) | DE102009018261A1 (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279730A (zh) * | 2010-06-10 | 2011-12-14 | 阿里巴巴集团控股有限公司 | 一种并行的数据处理方法、装置和并行的数据处理系统 |
CN102541648A (zh) * | 2010-12-29 | 2012-07-04 | 中国银联股份有限公司 | 一种用于动态调度批处理任务的方法和装置 |
CN103294554A (zh) * | 2012-03-05 | 2013-09-11 | 中兴通讯股份有限公司 | 片上系统soc的多处理器的调度方法及装置 |
CN103299271A (zh) * | 2011-01-11 | 2013-09-11 | 惠普发展公司,有限责任合伙企业 | 并发请求调度 |
CN103930875A (zh) * | 2011-06-16 | 2014-07-16 | 尤塞瑞斯公司 | 用于加速业务数据处理的软件虚拟机 |
CN104169822A (zh) * | 2012-03-15 | 2014-11-26 | 欧姆龙株式会社 | 控制装置以及控制方法 |
CN109144070A (zh) * | 2018-09-28 | 2019-01-04 | 上汽通用五菱汽车股份有限公司 | 移动设备辅助自动驾驶方法、汽车和存储介质 |
CN110019059A (zh) * | 2017-12-04 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 一种定时同步的方法和装置 |
CN111784288A (zh) * | 2020-06-29 | 2020-10-16 | 广州华多网络科技有限公司 | 一种任务管理方法、装置、系统、存储介质及设备 |
CN112418412A (zh) * | 2020-11-20 | 2021-02-26 | 清华大学 | 触发装置及类脑计算系统 |
CN113342493A (zh) * | 2021-06-15 | 2021-09-03 | 上海哔哩哔哩科技有限公司 | 任务执行方法、装置及计算机设备 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8843682B2 (en) * | 2010-05-18 | 2014-09-23 | Lsi Corporation | Hybrid address mutex mechanism for memory accesses in a network processor |
US8321639B2 (en) * | 2009-12-30 | 2012-11-27 | Lsi Corporation | Command tracking for direct access block storage devices |
US8555141B2 (en) * | 2009-06-04 | 2013-10-08 | Lsi Corporation | Flash memory organization |
US8245112B2 (en) * | 2009-06-04 | 2012-08-14 | Lsi Corporation | Flash memory organization |
US20100306451A1 (en) * | 2009-06-01 | 2010-12-02 | Joshua Johnson | Architecture for nand flash constraint enforcement |
US8868809B2 (en) * | 2009-11-30 | 2014-10-21 | Lsi Corporation | Interrupt queuing in a media controller architecture |
US8219776B2 (en) * | 2009-09-23 | 2012-07-10 | Lsi Corporation | Logical-to-physical address translation for solid state disks |
US8516264B2 (en) * | 2009-10-09 | 2013-08-20 | Lsi Corporation | Interlocking plain text passwords to data encryption keys |
US20100287320A1 (en) * | 2009-05-06 | 2010-11-11 | Lsi Corporation | Interprocessor Communication Architecture |
US8166258B2 (en) * | 2009-07-24 | 2012-04-24 | Lsi Corporation | Skip operations for solid state disks |
KR20110072023A (ko) * | 2009-12-22 | 2011-06-29 | 삼성전자주식회사 | 휴대 단말기의 프로세서 간 데이터 통신 방법 및 장치 |
US8412818B2 (en) * | 2010-12-21 | 2013-04-02 | Qualcomm Incorporated | Method and system for managing resources within a portable computing device |
US20120290707A1 (en) * | 2011-05-10 | 2012-11-15 | Monolith Technology Services, Inc. | System and method for unified polling of networked devices and services |
US9473596B2 (en) | 2011-09-27 | 2016-10-18 | International Business Machines Corporation | Using transmission control protocol/internet protocol (TCP/IP) to setup high speed out of band data communication connections |
US9396101B2 (en) * | 2012-06-12 | 2016-07-19 | International Business Machines Corporation | Shared physical memory protocol |
US9135062B2 (en) * | 2013-04-09 | 2015-09-15 | National Instruments Corporation | Hardware assisted method and system for scheduling time critical tasks |
WO2014201617A1 (en) * | 2013-06-18 | 2014-12-24 | Intel Corporation | Software polling elision with restricted transactional memory |
JP6318751B2 (ja) * | 2014-03-20 | 2018-05-09 | 富士通株式会社 | 情報処理装置、アクション切替方法、及びアクション切替プログラム |
JP5867630B2 (ja) * | 2015-01-05 | 2016-02-24 | 富士通株式会社 | マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム |
US10152341B2 (en) * | 2016-08-30 | 2018-12-11 | Red Hat Israel, Ltd. | Hyper-threading based host-guest communication |
CN109144682A (zh) | 2017-06-27 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 任务的优先级处理方法和处理装置 |
KR102658712B1 (ko) * | 2017-08-02 | 2024-04-19 | 훼리카네트워크스 카부시키가이샤 | 정보 처리 장치 및 정보 처리 방법 |
US20230076061A1 (en) * | 2021-09-07 | 2023-03-09 | Hewlett Packard Enterprise Development Lp | Cascaded priority mapping |
US11775043B2 (en) | 2021-09-24 | 2023-10-03 | Advanced Micro Devices, Inc. | Power saving through delayed message processing |
CN114374681B (zh) * | 2021-12-09 | 2023-08-22 | 达闼机器人股份有限公司 | 任务执行方法、装置、设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6095676A (ja) | 1983-10-28 | 1985-05-29 | Fujitsu Ltd | Cpu間通信方式 |
JPH06301655A (ja) | 1993-04-14 | 1994-10-28 | Hitachi Ltd | 分散処理システム |
JPH11312093A (ja) | 1998-04-28 | 1999-11-09 | Hitachi Ltd | 分散処理システム |
-
2008
- 2008-04-25 JP JP2008115152A patent/JP2009265963A/ja active Pending
-
2009
- 2009-04-16 US US12/425,112 patent/US20090271796A1/en not_active Abandoned
- 2009-04-21 DE DE102009018261A patent/DE102009018261A1/de not_active Withdrawn
- 2009-04-27 CN CNA200910137019XA patent/CN101566957A/zh active Pending
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279730B (zh) * | 2010-06-10 | 2014-02-05 | 阿里巴巴集团控股有限公司 | 一种并行的数据处理方法、装置和并行的数据处理系统 |
CN102279730A (zh) * | 2010-06-10 | 2011-12-14 | 阿里巴巴集团控股有限公司 | 一种并行的数据处理方法、装置和并行的数据处理系统 |
CN102541648A (zh) * | 2010-12-29 | 2012-07-04 | 中国银联股份有限公司 | 一种用于动态调度批处理任务的方法和装置 |
WO2012088766A1 (zh) * | 2010-12-29 | 2012-07-05 | 中国银联股份有限公司 | 一种用于动态调度批处理任务的方法和装置 |
CN103299271A (zh) * | 2011-01-11 | 2013-09-11 | 惠普发展公司,有限责任合伙企业 | 并发请求调度 |
CN103299271B (zh) * | 2011-01-11 | 2016-04-13 | 惠普发展公司,有限责任合伙企业 | 并发请求调度 |
CN103930875B (zh) * | 2011-06-16 | 2017-05-03 | 尤塞瑞斯公司 | 用于加速业务数据处理的软件虚拟机 |
CN103930875A (zh) * | 2011-06-16 | 2014-07-16 | 尤塞瑞斯公司 | 用于加速业务数据处理的软件虚拟机 |
CN103294554A (zh) * | 2012-03-05 | 2013-09-11 | 中兴通讯股份有限公司 | 片上系统soc的多处理器的调度方法及装置 |
WO2013131340A1 (zh) * | 2012-03-05 | 2013-09-12 | 中兴通讯股份有限公司 | 片上系统soc的多处理器的调度方法及装置 |
CN104169822A (zh) * | 2012-03-15 | 2014-11-26 | 欧姆龙株式会社 | 控制装置以及控制方法 |
CN110019059A (zh) * | 2017-12-04 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 一种定时同步的方法和装置 |
CN109144070A (zh) * | 2018-09-28 | 2019-01-04 | 上汽通用五菱汽车股份有限公司 | 移动设备辅助自动驾驶方法、汽车和存储介质 |
CN111784288A (zh) * | 2020-06-29 | 2020-10-16 | 广州华多网络科技有限公司 | 一种任务管理方法、装置、系统、存储介质及设备 |
CN112418412A (zh) * | 2020-11-20 | 2021-02-26 | 清华大学 | 触发装置及类脑计算系统 |
CN112418412B (zh) * | 2020-11-20 | 2024-03-26 | 清华大学 | 触发装置及类脑计算系统 |
CN113342493A (zh) * | 2021-06-15 | 2021-09-03 | 上海哔哩哔哩科技有限公司 | 任务执行方法、装置及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
JP2009265963A (ja) | 2009-11-12 |
US20090271796A1 (en) | 2009-10-29 |
DE102009018261A1 (de) | 2009-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101566957A (zh) | 信息处理系统及任务执行控制方法 | |
US7316017B1 (en) | System and method for allocatiing communications to processors and rescheduling processes in a multiprocessor system | |
US9152467B2 (en) | Method for simultaneous scheduling of processes and offloading computation on many-core coprocessors | |
US20090165003A1 (en) | System and method for allocating communications to processors and rescheduling processes in a multiprocessor system | |
US7979861B2 (en) | Multi-processor system and program for causing computer to execute controlling method of multi-processor system | |
US6625638B1 (en) | Management of a logical partition that supports different types of processors | |
KR20180053359A (ko) | 다중-버전형 태스크들의 효율적 스케줄링 | |
US20150242254A1 (en) | Method and apparatus for processing message between processors | |
US20100153957A1 (en) | System and method for managing thread use in a thread pool | |
CN101288049A (zh) | 数据处理装置中的数据引擎的使用 | |
US7640549B2 (en) | System and method for efficiently exchanging data among processes | |
US8863130B2 (en) | Exception handling in a concurrent computing process | |
US20210042155A1 (en) | Task scheduling method and device, and computer storage medium | |
KR20150114444A (ko) | 실시간 운영 체제에서 스택 메모리 관리를 제공하는 방법 및 시스템 | |
US8141084B2 (en) | Managing preemption in a parallel computing system | |
CN115203142A (zh) | 一种多核核间实时通信系统及方法 | |
KR20100076840A (ko) | 철강 공정 제어를 위한 미들웨어 및 그 미들웨어에서의 서비스 제공 방법 | |
KR100400165B1 (ko) | 처리 시스템 스케쥴링 | |
JPH06243112A (ja) | マルチプロセッサ装置 | |
Casini et al. | Addressing analysis and partitioning issues for the Waters 2019 challenge | |
CN113032125A (zh) | 作业调度方法、装置、计算机系统和计算机可读存储介质 | |
CN102736949B (zh) | 改善对非连贯设备要执行的任务的调度 | |
CN108241770B (zh) | 一种基于反射内存网的消息响应分布式仿真方法 | |
JP2022079764A (ja) | 同期制御システムおよび同期制御方法 | |
JP4211645B2 (ja) | 専用プロセッサの備わった計算機システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20091028 |