CN107408061B - 并行处理*** - Google Patents

并行处理*** Download PDF

Info

Publication number
CN107408061B
CN107408061B CN201580078148.XA CN201580078148A CN107408061B CN 107408061 B CN107408061 B CN 107408061B CN 201580078148 A CN201580078148 A CN 201580078148A CN 107408061 B CN107408061 B CN 107408061B
Authority
CN
China
Prior art keywords
scheduler
state
notification information
processing
state notification
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.)
Active
Application number
CN201580078148.XA
Other languages
English (en)
Other versions
CN107408061A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of CN107408061A publication Critical patent/CN107408061A/zh
Application granted granted Critical
Publication of CN107408061B publication Critical patent/CN107408061B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • 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
    • 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/54Interprogram communication
    • 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
    • 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/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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]
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Abstract

第一进程调度器和第二进程调度器被配置为能够彼此通信。第一进程调度器被配置成根据由第二进程调度器检测到的第二进程处理部分的处理状态,控制执行与处理状态所表示的进程关联的进程的第一进程处理部分的操作。第二进程调度器被配置成根据由第一进程调度器检测到的第一进程处理部分的处理状态,控制执行与处理状态所表示的进程关联的进程的第二进程处理部分的操作。

Description

并行处理***
技术领域
本发明涉及并行处理***、并行处理方法和程序。
背景技术
已知通过同时运行多个核来执行并行处理以便能够高速处理数据的技术。
在专利文献1中示出如上所述的执行并行处理的技术的一个示例。专利文献1描述了一种程序并行执行***,该程序并行执行***包括:第一处理器核,其具有第一应用程序在其上运行的操作***和OL远程控制装置;以及第二处理器核,其具有轻量级调度器并且在不运行操作***的情况下基于OL远程控制装置的请求来运行第二应用程序。根据专利文献1,利用上述的配置,有可能在第二处理器核在进行处理时的OS干预对占用率(overhead)影响不太大的情况下执行并行处理。
此外,作为并行计算机中的并行进程调度的方法的一个示例,已知专利文献2中描述的方法。专利文献2描述了并行处理的并行同步等待状态下的装置中运行另一个进程的技术。也就是说,根据专利文献2,通过分派(dispatch)另一个工作的可执行进程而非在并行同步等待状态下分派并行进程,有可能防止***的吞吐量性能降低。
专利文献1:日本专利公开No.5453825
专利文献2:日本未经审查的专利申请公开No.JP-A H9-128351(1997)
然而,根据专利文献1中描述的技术,控制第二处理器核的轻量级调度器独立于主***形成。因此,在使用专利文献1中描述的技术的情况下,轻量级调度器难以与主***上的调度协作地执行控制。结果,存在难以执行作为整体***的有效调度的情况。
此外,专利文献2中描述的技术涉及当程序处于等待状态时执行的控制,并且难以执行适于另一个装置的调度状态的控制。因此,此外在使用专利文献2中描述的技术的情况下,例如,当执行场境切换时,可能难以取决于另一个装置的调度状态来执行作为整体***的有效调度。
因此,存在的问题是,因为当执行并行处理时信息没有被管理相应进程的调度器共享,所以可能难以执行作为整体***的有效调度。
发明内容
因此,本发明的目的是提供一种并行处理***,该并行处理***解决了因为当执行并行处理时信息没有被管理相应进程的调度器共享所以可能难以执行作为整体***的有效调度的问题。
为了实现该目的,根据本发明的一方面的并行处理***是一种在多个处理部分上执行关联进程的并行处理***。
所述并行处理***包括:第一进程处理部分,其被配置成执行预定进程;第一进程调度器,其被配置成检测并管理所述第一进程处理部分所执行的进程的处理状态;第二进程处理部分,其被配置成执行与所述第一进程处理部分所执行的进程关联的进程;以及第二进程调度器,其被配置成检测并管理所述第二进程处理部分所执行的进程的处理状态。
所述第一进程调度器和所述第二进程调度器被配置成能够彼此通信。
所述第一进程调度器被配置成根据由所述第二进程调度器检测到的所述第二进程处理部分的处理状态,控制执行与由所述处理状态所表示的进程关联的进程的所述第一进程处理部分的操作。
所述第二进程调度器被配置成根据由所述第一进程调度器检测到的所述第一进程处理部分的处理状态,控制执行与所述处理状态所表示的进程关联的进程的所述第二进程处理部分的操作。
此外,根据本发明的另一方面的并行处理方法是一种用于在多个处理部分上执行关联进程的并行处理方法。由多个调度器来管理多个处理部分所执行的进程。
所述并行处理方法包括将由所述调度器中的每一个管理的进程的处理状态通信到所述调度器中的另一个。
所述调度器中的每一个被配置成根据接收到的处理状态来控制执行与所述处理状态所表示的进程关联的进程的处理部分的操作。
此外,根据本发明的另一方面的程序是一种包括用于致使信息处理装置执行操作的指令的计算机程序。该信息处理装置在多个处理部分上执行关联进程并且由多个调度器来管理处理部分所执行的进程。
这些操作包括:将由调度器中的每一个管理的进程的处理状态通信到调度器中的另一个;以及致使调度器中的每一个根据接收到的处理状态来控制执行与处理状态所表示的进程关联的进程的处理部分的操作。
用如上所述的配置,本发明可提供一种并行处理***,该并行处理***解决了因为当执行并行处理时信息没有被管理相应进程的调度器共享所以可能难以执行作为整体***的有效调度的问题。
附图说明
图1是示出根据本发明的第一示例性实施例的并行计算机的配置示例的框图;
图2是示出根据本发明的第一示例性实施例的并行计算机中执行的程序示例的示图;
图3是示出根据本发明的第一示例性实施例的并行计算机的详细配置示例的框图;
图4是示出根据本发明的第一示例性实施例的进程调度器的配置示例的示图;
图5是示出根据本发明的第一示例性实施例的当进程调度器执行场境切换时执行的操作示例的流程图;
图6是示出根据本发明的第一示例性实施例的当主处理器进程调度器已经接收到状态通知信息时执行的操作示例的流程图;
图7是示出根据本发明的第一示例性实施例的当协处理器进程调度器已经接收到状态通知信息时执行的操作示例的流程图;
图8是示出根据本发明的第一示例性实施例的进程调度器改变优先级级别的示例的示图;
图9是示出根据本发明的第一示例性实施例的进程调度器改变优先级级别的示例的示图;
图10是示出根据本发明的第二示例性实施例的并行计算机的配置示例的框图;
图11是示出根据本发明的第三示例性实施例的并行计算机的配置示例的框图;以及
图12是示出根据本发明的第四示例性实施例的并行处理***的配置示例的框图。
具体实施方式
[第一示例性实施例]
图1是示出并行计算机4的配置示例的框图。图2是示出并行计算机4中执行的程序示例的示图。图3是示出并行计算机4的详细配置示例的框图。图4是示出主处理器进程调度器的配置示例的示图。图5是示出当进程调度器执行场境切换时执行的操作示例的流程图。图6是示出当主处理器进程调度器12已经接收到状态通知信息时执行的操作示例的流程图。图7是示出当协处理器进程调度器14已经接收到状态通知信息时的操作示例的流程图。图8和图9是各自示出进程调度器改变优先级级别的示例的示图。
在本发明的第一示例性实施例中,将描述包括主处理器节点1和诸如加速器的协处理器节点2的并行计算机4(并行处理***)。该示例性实施例中的并行计算机4被配置成通过使用彼此独立的进程调度器来管理在主处理器节点1上执行的进程和在协处理器节点2上执行的进程。如随后描述的,通过在管理相应进程的进程调度器之间进行预定信息通信来实现作为整体***的有效调度。
参照图1,该示例性实施例中的并行计算机4包括一个主处理器节点1(第一节点)和一个或更多个协处理器节点2(第二节点)。主处理器节点1通过通信总线3连接到一个或更多个协处理器节点2,并且处理器节点被配置成能够彼此通信。
主处理器节点1包括主处理器11和图中未示出的存储装置。操作***(OS)在主处理器节点1上运行。主处理器节点1上运行的OS可以是诸如LinuxTM和WindowsTM的计算机中使用的商购操作***。
管理主处理器11和随后将描述的协处理器21所执行进程的进程调度器在主处理器节点1的操作***上操作。在该示例性实施例中,分别由在主处理器节点1上运行的OS上的不同进程调度器来管理主处理器11和协处理器21所执行的进程。因此,基于多个主处理器11和协处理器21的进程调度器在操作***上操作。
协处理器节点2包括协处理器21和图中未示出的存储装置。OS不在协处理器节点2上运行。包括协处理器节点2的控制软件的OS在主处理器节点1上运行。将协处理器21的进程状态(诸如寄存器的场境)经由通信总线3保存在主处理器节点1所包括的存储装置中。
在该示例性实施方式中,如上所述的主处理器节点1和协处理器节点2执行排他性的运行程序。也就是说,主处理器节点1和协处理器节点2执行彼此关联的预定进程,诸如相互依赖的进程。具体地,例如,如图2中所示,进程1由主处理器11执行并且依赖于进程1的算术结果的进程2由协处理器21执行。如上所述,主处理器节点1所执行的进程和协处理器节点2所执行的进程分别排他性地运行。因此,在主处理器11正在执行进程1的同时,协处理器节点2处于等待状态。此外,在协处理器21正在执行进程2的同时,主处理器节点1处于等待状态。在一个处理器处于等待状态的同时,处理器可对另一个处理器的状态进行轮询。
此外,在该示例性实施例中,相应的进程调度器可通过任何方法来确定关联进程(排他性运行的进程)——例如,通过使进程调度器的进程ID一致。同时,具体的确定方法不受特别限制,只要它可允许确定关联进程即可。
接下来,将参照图3来描述并行计算机4的更具体配置。图3示出该示例性实施例中的并行计算机4的详细配置示例。
参照图3,主处理器节点1包括主处理器11(例如,第一进程处理部分;它可以是第二进程处理部分)、主处理器进程调度器12(第一进程调度器或第二进程调度器)、状态通知装置13、协处理器进程调度器14(第一进程调度器或第二进程调度器)和节点间通信装置15。
主处理器11包括一个或更多个处理器核111。主处理器11所包括的处理器核111在主处理器进程调度器12的控制下执行进程。
主处理器进程调度器12检测并管理处理器核111所执行的进程的处理状态。
例如,主处理器进程调度器12基于随后将描述的调度策略122来执行场境切换。也就是说,主处理器进程调度器12切换处理器核111所执行的进程。此外,当执行场境切换时,该示例性实施方式中的主处理器进程调度器12通过使用状态通知装置13将表示执行场境切换的状态通知信息通知给另一个进程调度器(协处理器进程调度器14)。
具体地,例如,在场境切换中保存了进程场境之后,主处理器进程调度器12将表示进程已经转变成待机状态的状态通知信息通知给协处理器进程调度器12。此外,例如,在场境切换中恢复了进程场境之后,主处理器进程调度器12将表示进程已经被分派的状态通知信息通知给协处理器进程调度器14。
此外,当从另一个进程调度器接收到状态通知信息时,主处理器进程调度器12通过使用优先级级别控制装置121来控制处理器核111所执行的进程的优先级级别。因此,主处理器进程调度器12控制分派给处理器核111的进程。
具体地,例如,主处理器进程调度器12从协处理器进程调度器14接收表示进程已经转变成待机状态的状态通知信息。然后,主处理器进程调度器12检验随后将描述的状态信息1251,由此检验与状态通知信息中示出的进程关联(排他性运行)的进程是否处于等待状态。在关联进程处于等待状态的情况下,主处理器进程调度器12的优先级级别控制装置121控制等待状态下的进程的优先级级别,使其低于常规(参见图8)。同时,例如,主处理器进程调度器12从协处理器进程调度器14接收表示进程已经被分派的状态通知信息。然后,主处理器进程调度器12检验状态信息1251,由此检验与状态通知信息中示出的进程关联的进程是否处于等待状态。在关联进程处于等待状态的情况下,主处理器进程调度器12的优先级级别控制装置121升高等待状态下的进程的优先级级别,由此将优先程度恢复至常规(参见图9)。
因此,主处理器进程调度器12被配置成检测由处理器核111所执行的进程的处理状态(检测进程的切换)并且将状态通知信息发送到另一个进程调度器。此外,主处理器进程调度器12被配置成基于由此接收到的状态通知信息来控制处理器核111的操作(控制处理器核111所执行的进程的优先级级别)。
主处理器进程调度器12可将进程的优先级级别升高或降低至任何程度。表示受主处理器进程调度器12控制的优先级级别的改变程度的参数可被配置成是可改变的。
图4示出当主处理器进程调度器12执行场境切换时使用的配置示例。参照图4,主处理器进程调度器12包括调度策略122、进程切换装置123、进程场境124和进程结构125。
调度策略122表示用于选择场境切换的时间的策略和当执行场境切换时接下来应该执行的进程。调度策略122不受特别限制,可应用公知的调度策略122,只要它允许基于优先级级别进行调度。
进程切换装置123是用于切换处理器核111所执行的处理的装置。例如,进程切换装置123将作为场境切换中的切换目标的进程正在其上运行的处理器核111的场境保存为进程场境124。然后,进程切换装置123将分派目标的进程场境124恢复到目标处理器核111。
进程场境124是当进程切换装置123在处理器核111正执行的进程上的场境切换时从处理器核111保存的场境数据。
进程结构125是表示进程信息的结构并且包括状态信息1251。如上所述,在该示例性实施方式中的并行计算机4中,主处理器节点1和协处理器节点2执行排他性的运行程序。,因此例如,在正在执行主处理器节点1上的进程的同时,协处理器节点2上的进程处于等待状态。出于允许进程调度器区分此等待状态的目的,由主处理器进程调度器12管理的进程结构125包括状态信息1251,其是表示一个进程是否正在等待另一个进程(一个进程是否处于等待状态)的信息。在状态信息1251中表示的进程正在等待处理关联进程的情况下,状态信息1251被控制为表示进程正在等待处理。
在主处理器进程调度器12和协处理器进程调度器14之间进行状态通知信息的发送和接收时使用状态通知装置13。例如,主处理器进程调度器12通过使用状态通知装置13将状态通知信息发送到协处理器进程调度器14。此外,例如,协处理器进程调度器14通过使用状态通知装置13将状态通知信息发送到主处理器进程调度器12和另一个协处理器进程调度器14。
协处理器进程调度器14管理对应协处理器节点2的处理器核211所执行的进程。协处理器进程调度器14的数量取决于协处理器节点2的数量。
协处理器进程调度器14具有与主处理器进程调度器12相同的配置。也就是说,协处理器进程调度器14被配置成能够执行以下表示的处理:
-执行对应的协处理器节点2所执行的进程上的场境切换(经由通信总线3来执行该处理);
-当执行场境切换时,将状态通知信息发送到另一个进程调度器(主处理器进程调度器12和协处理器进程调度器14);以及
-致使优先级级别控制装置141按照从另一个进程调度器接收的状态通知信息来控制优先级级别。
此外,协处理器进程调度器14具有与图4中示出的主处理器进程调度器12相同的配置。也就是说,协处理器进程调度器14包括调度策略、进程切换装置、进程场境和进程结构。此外,协处理器进程调度器14所包括的进程结构包括状态信息。
因此,协处理器进程调度器14按与主处理器进程调度器12相同的方式进行配置。因此,将省略对主处理器进程调度器12的详细描述。
当主处理器11和协处理器进程调度器14与协处理器节点2通信时,使用节点间通信装置15。例如,当处理由处理器核11所执行的进程时,主处理器11经由节点间通信装置15与协处理器节点2的处理器核211通信。此外,协处理器进程调度器14经由节点间通信装置15管理协处理器节点2的处理器核211所执行的进程。也就是说,通过使用节点间通信装置15来执行主处理器节点1与协处理器节点2的通信。
此外,参照图3,协处理器节点2包括协处理器21和节点间通信装置22。协处理器节点2的数量可以是等于或大于1的任何数量。
协处理器21包括一个或更多个处理器核211。协处理器21所包括的处理器核211在对应的协处理器进程调度器14的控制下执行进程。
当协处理器21与主处理器节点1通信时,使用节点间通信装置22。例如,当处理由处理器核211所执行的进程时,协处理器21借助节点间通信装置22与主处理器节点1的处理器核111通信。此外,由经由节点间通信装置22连接的协处理器进程调度器14来管理协处理器21的处理器核211所执行的进程。也就是说,通过使用节点间通信装置22来执行协处理器节点2与主处理器节点1的通信。
这是对并行计算机4的配置进行的描述。接下来,将描述并行计算机4的操作。首先,参照图5,将描述当主处理器进程调度器12执行主处理器11中的处理器核111上的场境切换时进行的操作。
参照图5,主处理器进程调度器12根据调度策略122来确定场境切换中的切换进程(步骤S101)。如上所述,主处理器进程调度器12所参照的调度策略122不受特别限制,可应用公知的调度策略。此外,主处理器进程调度器12所使用的调度算法不受特别限制,可应用公知的调度算法。
接下来,进程切换装置123将作为场境切换目标的进程正在其上运行的处理器核111的场境保存为进程场境124。然后,进程切换装置123将分派目标的进程场境124恢复到场境切换目标的目标处理器核111。主处理器进程调度器12通过此操作来执行场境切换(步骤S102)。
此后,通过使用状态通知装置13,主处理器进程调度器12将表示进程已经转变成待机状态的状态通知信息和表示进程已经被分派的状态通知信息通知给另一个进程调度器14(协处理器进程调度器14)(步骤103)。
主处理器进程调度器12发送状态通知信息的时间不限于以上情况。例如,主处理器进程调度器12可在不同时间发送表示进程已经转变成待机状态的状态通知信息和表示进程已经被分派的状态通知信息。例如,在将目标处理器核11的场境保存为进程场境124之后(或与此同时),主处理器进程调度器12发送表示进程已经转变成待机状态的状态通知信息。然后,在将分派目标的进程场境124恢复到场境切换目标的目标处理器核111之后(或与此同时),主处理器进程调度器12发送表示进程已经被分派的状态通知信息。主处理器进程调度器12可例如如上所述进行操作。同时,主处理器进程调度器12可被配置成在一个状态通知信息中一次性通知进程已经转变成待机状态和进程已经被分派。
接下来,将描述当协处理器进程调度器14执行协处理器21中的协处理器核211上的场境切换时进行的操作。
当协处理器进程调度器14执行协处理器21中的协处理器核211上的场境切换时的操作与当主处理器进程调度器12执行图5中示出的场境切换时的操作几乎相同。
也就是说,协处理器进程调度器14根据协处理器进程调度器14所包括的调度策略来确定场境切换中的切换进程(步骤S101;参见图5)。
接下来,协处理器进程调度器14的进程切换装置将作为场境切换目标的进程正在其上运行的处理器核211的场境保存在协处理器进程调度器14中作为进程场境124。换句话讲,协处理器21的处理器核211的进程状态被保存在主处理器节点1上。然后,协处理器进程调度器14的进程切换装置将分派目标的进程场境恢复到在其上执行场境切换的处理器核111。通过经由通信总线3使用节点间通信装置15,协处理器进程调度器14访问协处理器节点2的处理器核211的场境并且执行如上所述的操作(步骤S102;参见图5)。
此后,通过使用状态通知装置13,协处理器进程调度器14将表示进程已经转变成待机状态的状态通知信息和表示进程已经被分派的状态通知信息通知给另一个进程调度器12(主处理器进程调度器12和协处理器进程调度器14)(步骤103;参见图5)。同时,作为协处理器进程调度器14通知状态通知信息的配置,可如主处理器进程调度器12的情况下一样采用各种形式。
接下来,参照图6,将描述当主处理器进程调度器12已经从另一个进程调度器(协处理器进程调度器14)接收到状态通知信息时进行的操作。
参照图6,通过使用状态通知装置13,主处理器进程调度器12从协处理器进程调度器14接收表示进程被切换的状态通知信息(步骤S201)。具体地,主处理器进程调度器12从协处理器进程调度器14接收表示进程已经转变成待机状态的状态通知信息或表示进程已经被分派的状态通知信息。同时,主处理器进程调度器12可同时从协处理器进程调度器14接收表示进程已经转变成待机状态的状态通知信息和表示进程已经被分派的状态通知信息。
随后,主处理器进程调度器12参照进程结构125的状态信息1251。因此,主处理器进程调度器12检验与被协处理器进程调度器14切换的进程关联的主处理器节点1上的进程是否处于等待状态(步骤S202)。
在关联进程不处于等待状态(步骤S202,“否”)的情况下,主处理器进程调度器12结束处理。
另一方面,在关联进程处于等待状态(步骤S202,“是”)的情况下,主处理器进程调度器12检验接收到状态通知信息表示进程已经转变成待机状态还是表示进程已经被分派(步骤S203)。
在已经接收到表示进程已经转变成待机状态的状态通知信息(步骤S203,转变成待机状态)的情况下,主处理器进程调度器12使处理主处理器节点1上的关联进程的优先级级别(进程优先级级别)低于常规,如图8中所示(步骤S205)。
另一方面,在已经接收到表示进程已经被分派的状态通知信息(步骤S203,被分派)的情况下,主处理器进程调度器12将处理主处理器节点1上的关联进程的优先级级别(进程优先级级别)升高至高达原始级别,如图9中所示(步骤S204)。
主处理器进程调度器12用例如如上所述的操作,根据接收到的状态通知信息来控制优先级级别。结果,由处理器核111所执行的进程被控制。
接下来,参照图7,将描述当协处理器进程调度器14已经从另一个进程调度器(主处理器进程调度器12和另一个协处理器进程调度器14)接收到状态通知信息时进行的操作。当协处理器进程调度器14已经从另一个进程调度器接收到状态通知信息的操作与当主处理器进程调度器12已经从另一个进程调度器接收到状态通知信息的操作几乎相同。
参照图7,通过使用状态通知装置13,协处理器进程调度器14从另一个进程调度器(主处理器进程调度器12或另一个协处理器进程调度器14)接收表示进程被切换的状态通知信息(步骤S301)。具体地,协处理器进程调度器14从另一个进程调度器接收表示进程已经转变成待机状态的状态通知信息或表示进程已经被分派的状态通知信息。同时,协处理器进程调度器14可同时从另一个进程调度器接收表示进程已经转变成待机状态的状态通知信息和表示进程已经被分派的状态通知信息。
随后,协处理器进程调度器14参照协处理器进程调度器14的进程结构的状态信息。因此,协处理器进程调度器14检验与被另一个进程调度器切换的进程关联的协处理器节点2上的进程是否处于等待状态(步骤S302)。
在关联进程不处于等待状态(步骤S302,“否”)的情况下,协处理器进程调度器14结束处理。
另一方面,在关联进程处于等待状态(步骤S302,“是”)的情况下,协处理器进程调度器14检验接收到状态通知信息表示进程已经转变成待机状态还是表示进程已经被分派(步骤S303)。
在已经接收到表示进程已经转变成待机状态的状态通知信息(步骤S303,转变成待机状态)的情况下,协处理器进程调度器14使处理主处理器节点2上的关联进程的优先级级别(进程优先级级别)低于常规,如图8中所示(步骤S305)。
另一方面,在已经接收到表示进程已经被分派的状态通知信息(步骤S303,被分派)的情况下,协处理器进程调度器14将处理协处理器节点2上的关联进程的优先级级别(进程优先级级别)升高至高达常规级别,如图9中所示(步骤S304)。
协处理器进程调度器14用例如如上所述的操作,根据接收到的状态通知信息来控制优先级级别。结果,与协处理器进程调度器14关联的协处理器节点2上的处理器核211所执行的进程被控制。
因此,该示例性实施例中的并行计算机4具有管理处理器核111所执行的进程的主处理器进程调度器12和管理处理器核211所执行的进程的协处理器进程调度器14。主处理器进程调度器12和协处理器进程调度器14被配置成能够经由状态通知装置13进行通信。利用此配置,在执行场境切换时,主处理器进程调度器12和协处理器进程调度器14可将状态通知信息发送到另一个进程调度器。结果,根据另一个进程的处理状态,主处理器进程调度器12和协处理器进程调度器14可控制关联进程的优先级级别。因此,有可能减少CPU(中央处理单元)到处理的不必要分配(unnecessary allocation)并且实现整个并行计算机4中的有效调度。此外,结果,有可能更有效地使用CPU。
此外,主处理器进程调度器12和协处理器进程调度器14被配置成发送表示进程已经转变成待机状态的状态通知信息。利用此配置,当在场境切换中保存进程场境时,主处理器进程调度器12和协处理器进程调度器14中的每一个可将表示进程已经转变成待机状态的状态通知信息发送到另一个进程调度器。结果,已经接收到以上状态通知信息的调度器执行适于状态通知信息的控制,由此有可能降低与已经保存了进程场境的进程关联的进程的优先级级别。因此,例如,有可能防止执行不必要的轮询,并且有可能防止因不必要进程的执行而干预另一个进程的执行。
此外,主处理器进程调度器12和协处理器进程调度器14被配置成能够发送表示进程已经被分派的状态通知信息。利用此配置,当在场境切换中分派进程场境时,主处理器进程调度器12和协处理器进程调度器14中的每一个可将表示进程已经被分派的状态通知信息发送到另一个进程调度器。结果,已经接收到以上状态通知信息的调度器执行适于状态通知信息的控制,由此有可能升高与已经分派了进程场境的进程关联的进程的优先级级别。因此,例如,有可能在需要时将进程的优先级级别升高至常规级别。
在该示例性实施例中,主处理器进程调度器12和协处理器进程调度器14中的每一个可将状态通知信息发送到另一个进程调度器。然而,主处理器进程调度器12和协处理器进程调度器14可被配置成例如将状态通知信息发送到管理关联进程的进程调度器。
此外,在该示例性实施例中,并行计算机4具有主处理器节点1和协处理器节点2。然而,可将本发明应用于不限于并行计算机4具有主处理器节点1和协处理器节点2的情况。本发明可被配置成,在致使加速器分别地做其专长的情况下,致使管理相应加速器所执行的进程的进程调度器彼此发送状态通知信息。只要控制关联进程的调度器因此可彼此发送状态通知信息,就可在不约束具体配置的情况下启用本发明。本发明可被配置成例如致使管理相应协处理器节点2的协处理器进程调度器彼此发送状态通知信息。
此外,在该示例性实施例中,主处理器进程调度器12和协处理器进程调度器14均被配置成按照状态通知信息来控制关联进程的优先级级别。然而,主处理器进程调度器12和协处理器进程调度器14中的每一个按照状态通知信息所执行的控制不限于对优先级级别的控制。例如,主处理器进程调度器12和协处理器进程调度器14可被配置成进行控制以不分派与状态通知信息关联的进程而非控制优先级级别。
此外,在该示例性实施例中,在主处理器节点1和协处理器节点2上执行排他性的运行程序。然而,在主处理器节点1和协处理器节点2上运行的程序不一定限于排他性的运行程序。在主处理器节点1和协处理器节点2上,可执行使一个节点的操作影响另一个的操作的关联程序。
[第二示例性实施例]
在本发明的第二示例性实施例中,将描述第一示例性实施例中描述的并行计算机4的另一个配置示例。
参照图10,该示例性实施例中的并行计算机5具有主处理器节点51和一个或更多个协处理器节点52。
主处理器节点51具有主处理器511和主处理器进程调度器512。协处理器节点52具有协处理器521和协处理器进程调度器522。主处理器进程调度器512和协处理器进程调度器522通过状态通知装置53连接并且被配置成能够彼此通信。
因此,该示例性实施例中的并行计算机5具有与第一示例性实施例中描述的并行计算机4几乎相同的配置,并且并行计算机5的配置与并行计算机4的配置的不同之处在于,协处理器节点52具有协处理器进程调度器522。
用如上所述的配置,当执行场境切换时,主处理器进程调度器512通过使用状态通知装置53将状态通知信息发送到协处理器进程调度器522。此外,当执行场境切换时,协处理器进程调度器522通过使用状态通知装置53将状态通知信息发送到主处理器进程调度器512和另一个协处理器进程调度器522。
此外,当从另一个进程调度器接收到状态通知信息时,主处理器进程调度器512控制主处理器511所执行的进程的优先级级别。此外,当从另一个进程调度器接收到状态通知信息时,协处理器进程调度器522控制协处理器521所执行的进程的优先级级别。
因此,本发明也适用于主处理器节点51具有主处理器进程调度器512并且协处理器节点52具有协处理器进程调度器522的情况。也就是说,即使主处理器进程调度器512和协处理器进程调度器522分别被不同节点包括,也有可能通过使用状态通知装置53连接主处理器进程调度器512和协处理器进程调度器522,能够基于状态通知信息来执行控制。结果,根据另一个进程的处理状态,主处理器进程调度器512和协处理器进程调度器522可各自控制关联进程的优先级级别。
可按与第一示例性实施例中的并行计算机4相同的方式,用各种方式来修改第二示例性实施例中的并行计算机5。
[第三示例性实施例]
在本发明的第三示例性实施例中,将描述第一示例性实施例中描述的并行计算机4和第二示例性实施例中描述的并行计算机5的另一个配置示例。具体地,例如,将描述其中协处理器节点由主处理器节点中的一个或更多个处理器核构成的情况。
参照图11,该示例性实施例中的并行计算机6具有处理器61。处理器61具有处理器核611并且通过主处理器进程调度器62来管理处理器核611所执行的进程。此外,处理器61具有与协处理器节点等同的处理器核612,并且通过协处理器进程调度器63来管理处理器核612所执行的进程。主处理器进程调度器62和协处理器进程调度器63通过状态通知装置64连接并且被配置成能够彼此通信。
因此,该示例性实施例中的并行计算机6在一个节点上具有受不同进程调度器管理的多个处理器核。因为并行计算机6具有状态通知装置64,所以主处理器进程调度器62可以利用上述配置,通过在执行场境切换时使用状态通知装置64将状态通知信息发送到协处理器进程调度器63。此外,当执行场境切换时,协处理器进程调度器63可通过使用状态通知装置64将状态通知信息发送到主处理器进程调度器62和另一个协处理器进程调度器63。此外,在从另一个进程调度器接收到状态通知信息时,主处理器进程调度器62可控制处理器核611所执行的进程的优先级级别。此外,在从另一个进程调度器接收到状态通知信息时,协处理器进程调度器63可控制处理器核612所执行的进程的优先级级别。
结果,根据另一个进程的处理状态,主处理器进程调度器62和协处理器进程调度器63可各自控制关联进程的优先级级别。因此,本发明还适用于并行计算机只具有一个节点的情况。
可按与第一示例性实施例中的并行计算机4和第二示例性实施例中的并行计算机5相同的方式,用各种方式来修改第三示例性实施例中的并行计算机6。
[第四示例性实施例]
在本发明的第四示例性实施例中,将描述其中多个处理部分(第一进程处理部分71和第二进程处理部分73)执行关联进程的并行处理***7。在该示例性实施例中,将简要描述并行处理***7的配置。
参照图12,该示例性实施例中的并行处理***7具有第一进程处理部分71、第一进程调度器72、第二进程处理部分73和第二进程调度器74。
第一进程处理部分71被配置成执行预定进程。第一进程调度器72被配置成检测并管理第一进程处理部分71所执行的进程的处理状态。
第二进程处理部分73被配置成执行与第一进程处理部分71所执行的进程关联的进程。第二进程调度器74被配置成检测并管理第二进程处理部分73所执行的进程的处理状态。
此外,第一进程调度器72和第二进程调度器74被配置成能够彼此通信。
利用此配置,第一进程调度器72检测第一进程处理部分71的处理状态。然后,第一进程调度器72将检测到的第一进程处理部分71的处理状态发送到第二进程调度器74。第二进程调度器74检测第二进程处理部分73的处理状态。然后,第二进程调度器74将检测到的第二进程处理部分73的处理状态发送到第一进程调度器72。
此外,根据从第二进程调度器74接收到的第二进程处理部分73的处理状态,第一进程调度器72控制执行与该处理状态所表示的进程关联的进程的第一进程处理部分71的操作。此外,根据从第一进程调度器72接收到的第一进程处理部分71的处理状态,第二进程调度器74控制执行与该处理状态所表示的进程关联的进程的第二进程处理部分73的操作。
因此,该示例性实施例中的并行处理***7具有管理第一进程处理部分71的第一进程调度器72和管理第二进程处理部分73的第二进程调度器74。此外,第一进程调度器72和第二进程调度器74被配置成彼此通信。利用此配置,第一进程调度器72可以将检测到的处理状态发送到第二进程调度器74。此外,第二进程调度器74可以将检测到的处理状态发送到第一进程调度器72。结果,根据第二进程处理部分73的处理状态,第一进程调度器72可控制执行关联进程的第一进程处理部分71的操作。此外,根据第一进程处理部分71的处理状态,第二进程调度器74可控制执行关联进程的第二进程处理部分73的操作。因此,可防止不必要的进程分配,并且整体并行处理***7的调度效率可增加。
此外,可通过将预定程序安装在信息处理装置中来实现上述的并行处理***7。具体地,根据本发明的另一方面的程序是一种包括用于致使信息处理装置执行以下操作的指令的计算机程序。该信息处理装置在多个处理部分上执行关联进程并且由多个调度器来管理处理部分所执行的进程。这些操作包括:将由调度器中的每一个管理的进程的处理状态通信到调度器中的另一个;以及致使调度器中的每一个按照接收到的处理状态来控制执行与处理状态所表示的进程关联的进程的处理部分的操作。
此外,上述的并行处理***7的操作所执行的并行处理方法是用于在多个处理部分上执行关联进程的并行处理方法。由多个调度器来管理多个处理部分所执行的进程。该并行处理方法包括:将由调度器中的每一个管理的进程的处理状态通信到调度器中的另一个。调度器中的每一个被配置成按照接收到的处理状态来控制执行与处理状态所表示的进程关联的进程的处理部分的操作。
具有上述配置的程序和并行处理方法的发明也具有与上述的并行处理***7相同的动作,因此,可实现本发明的以上提到的目标。
<补充注释>
上述示例性实施例的整体或部分可被描述为以下的补充注释。以下,将示意性描述根据本发明的并行处理***等。然而,本发明不限于以下提供的配置。
(补充注释1)
一种并行处理***,所述并行处理***在多个处理部分上执行关联进程,所述并行处理***包括:
第一进程处理部分,其被配置成执行预定进程;
第一进程调度器,其被配置成检测并管理所述第一进程处理部分所执行的进程的处理状态;
第二进程处理部分,其被配置成执行与所述第一进程处理部分所执行的进程关联的进程;以及
第二进程调度器,其被配置成检测并管理所述第二进程处理部分所执行的进程的处理状态,其中:
所述第一进程调度器和所述第二进程调度器被配置成能够彼此通信;
所述第一进程调度器被配置成根据由所述第二进程调度器检测到的所述第二进程处理部分的处理状态,控制执行与所述处理状态所表示的进程关联的进程的所述第一进程处理部分的操作;以及
所述第二进程调度器被配置成根据由所述第一进程调度器检测到的所述第一进程处理部分的处理状态,控制执行与所述处理状态所表示的进程关联的进程的所述第二进程处理部分的操作。
(补充注释2)
根据补充注释1所述的并行处理***,其中:
所述第一进程调度器被配置成在切换所述第一进程处理部分所执行的进程时,将表示进程被切换的状态通知信息发送到所述第二进程调度器;以及
所述第二进程调度器被配置成基于已经接收到的所述状态通知信息,控制执行与所述状态通知信息所表示的进程关联的进程的所述第二进程处理部分的操作。
(补充注释3)
根据补充注释1或2所述的并行处理***,其中:
所述第一进程调度器被配置成在保存所述第一进程处理部分所执行的进程的进程场境时,将表示进程已经被转变成待机状态的状态通知信息发送到所述第二进程调度器;以及
所述第二进程调度器被配置成基于已经接收到的所述状态通知信息,执行控制以将致使所述第二进程处理部分处理与已经转变成待机状态的进程关联的进程的优先级级别降低。
(补充注释4)
根据补充注释1至3中的任一项所述的并行处理***,其中:
所述第一进程调度器被配置成在恢复所述第一进程处理部分所执行的进程的进程场境时,将表示进程已经被分派的状态通知信息发送到所述第二进程调度器;以及
所述第二进程调度器被配置成基于已经接收到的所述状态通知信息,执行控制以将致使所述第二进程处理部分处理与被分派的进程关联的进程的优先级级别升高。
(补充注释5)
根据补充注释1至4中的任一项所述的并行处理***,其中,所述第二进程调度器被配置成在与已经接收到的状态通知信息所表示的进程关联的进程处于等待由所述第一进程处理部分处理的状态的情况下,控制执行处于等待处理状态下的进程的所述第二进程处理部分的操作。
(补充注释6)
根据补充注释1至5中的任一项所述的并行处理***,所述并行处理***包括:
其中安装有操作***的第一节点,所述第一节点包括所述第一进程处理部分、所述第一进程调度器和所述第二进程调度器;以及
其中未安装有操作***的第二节点,所述第二节点包括所述第二进程处理部分,
其中,所述第二进程处理部分被配置成在所述第一节点所包括的所述第二进程调度器的控制下执行进程。
(补充注释7)
根据补充注释6所述的并行处理***,其中:
所述第二进程调度器被配置成在切换所述第二进程处理部分所执行的进程时,将表示进程被切换的状态通知信息发送到所述第一进程调度器;以及
所述第一进程调度器被配置成基于已经接收到的所述状态通知信息,控制执行与所述状态通知信息所表示的进程关联的进程的所述第一进程处理部分的操作。
(补充注释8)
一种并行处理方法,所述并行处理方法在多个处理部分上执行关联进程,由多个调度器来管理所述多个处理部分所执行的处理,
所述并行处理方法包括将由所述调度器中的每一个管理的进程的处理状态通信到所述调度器中的另一个,
其中,所述调度器中的每一个被配置成根据接收到的处理状态来控制执行与所述处理状态所表示的进程关联的进程的处理部分的操作。
(补充注释9)
根据补充注释8所述的并行处理方法,其中:
所述调度器中的每一个被配置成在切换由其管理的处理部分所执行的进程时,将表示进程被切换的状态通知信息发送到所述调度器中的另一个;以及
所述调度器中的每一个被配置成基于已经接收到的所述状态通知信息,控制执行与所述状态通知信息所表示的进程关联的进程的处理部分的操作。
(补充注释9-1)
根据补充注释8或9所述的并行处理方法,其中:
所述调度器中的每一个被配置成在保存由其管理的处理部分所执行的进程时,将表示进程已经转变成待机状态的状态通知信息发送到所述调度器中的另一个;以及
所述调度器中的每一个被配置成基于已经接收到的所述状态通知信息,执行控制以将与已经转变成待机状态的进程关联的进程的优先级级别降低。
(补充注释9-2)
一种由信息处理装置实现的并行处理方法,所述信息处理装置具有:
第一进程处理部分,其被配置成执行预定进程;
第一进程调度器,其被配置成检测并管理所述第一进程处理部分所执行的进程的处理状态;
第二进程处理部分,其被配置成执行与所述第一进程处理部分所执行的进程关联的进程;以及
第二进程调度器,其被配置成检测并管理所述第二进程处理部分所执行的进程的处理状态,其中:
所述第一进程调度器和所述第二进程调度器被配置成彼此通信;
所述第一进程调度器被配置成根据由所述第二进程调度器检测到的所述第二进程处理部分的处理状态,控制执行与所述处理状态所表示的进程关联的进程的所述第一进程处理部分的操作;以及
所述第二进程调度器被配置成根据由所述第一进程调度器检测到的所述第一进程处理部分的处理状态,控制执行与所述第一处理部分所执行的进程关联的进程的所述第二进程处理部分的操作。
(补充注释10)
一种致使信息处理装置执行操作的计算机程序,所述信息处理装置在多个处理部分上执行关联进程,由多个调度器管理所述处理部分所执行的处理,所述操作包括:
致使所述调度器中的每一个将由其管理的进程的处理状态通信到所述调度器中的另一个;以及
致使所述调度器中的每一个根据接收到的处理状态来控制执行与所述处理状态所表示的进程关联的进程的处理部分的操作。
(补充注释11)
根据补充注释10所述的计算机程序,其中:
所述调度器中的每一个被配置成在切换由其管理的处理部分所执行的进程时,将表示进程被切换的状态通知信息发送到所述调度器中的另一个;以及
所述调度器中的每一个被配置成基于已经接收到的所述状态通知信息,控制执行与所述状态通知信息所表示的进程关联的进程的处理部分的操作。
(补充注释11-1)
一种包括致使信息处理装置执行操作的指令的计算机程序,所述操作包括使第一进程调度器和第二进程调度器彼此通信,所述信息处理装置具有:
第一进程处理部分,其被配置成执行预定进程;
所述第一进程调度器,其被配置成检测并管理所述第一进程处理部分所执行的进程的处理状态;
第二进程处理部分,其被配置成执行与所述第一进程处理部分所执行的进程关联的进程;以及
所述第二进程调度器,其被配置成检测并管理所述第二进程处理部分所执行的进程的处理状态,其中:
所述第一进程调度器被配置成根据由所述第二进程调度器检测到的所述第二进程处理部分的处理状态,控制执行与所述处理状态所表示的进程关联的进程的所述第一进程处理部分的操作;以及
所述第二进程调度器被配置成根据由所述第一进程调度器检测到的所述第一进程处理部分的处理状态,控制执行与所述第一处理部分所执行的进程关联的进程的所述第二进程处理部分的操作。
示例性实施例和补充注释中描述的程序被保存在存储装置中或者记录在计算机可读记录介质上。例如,记录介质是诸如柔性盘、光盘、磁-光盘和半导体存储器的便携式介质。
虽然以上已经参照示例性实施例描述了本发明,但本发明不限于上述的示例性实施例。在本发明的范围内,可按本领域的技术人员能理解的各种方式来改变本发明的配置和细节。
本申请基于并且要求于2015年3月23日提交的日本专利申请No.2015-059545的优先权权益,该日本专利申请的公开的全部内容以引用方式并入本文中。
对参考标号的说明
1、51 主处理器节点
11、511 主处理器
111、211、611、612 处理器核
12、512、62 主处理器进程调度器
121 优先级级别控制装置
122 调度策略
123 进程切换装置
124 进程场境
125 进程结构
1251 状态信息
13、53、64 状态通知装置
14、522、63 协处理器进程调度器
141 优先级级别控制装置
15 节点间通信装置
2、52 协处理器节点
21、521 协处理器
22 节点间通信装置
3 通信总线
4、5、6 并行计算机
61 处理器
7 并行处理***
71 第一进程处理部分
72 第一进程调度器
73 第二进程处理部分
74 第二进程调度器

Claims (8)

1.一种并行处理***,所述并行处理***在多个处理部分上执行关联进程,所述并行处理***包括:
第一进程处理部分,所述第一进程处理部分被配置成执行预定进程;
第一进程调度器,所述第一进程调度器被配置成检测并管理所述第一进程处理部分所执行的进程的处理状态;
第二进程处理部分,所述第二进程处理部分被配置成执行与所述第一进程处理部分所执行的进程关联的进程;以及
第二进程调度器,所述第二进程调度器被配置成检测并管理所述第二进程处理部分所执行的进程的处理状态,其中:
所述第一进程调度器和所述第二进程调度器被配置成能够彼此通信;
所述第一进程调度器被配置成根据由所述第二进程调度器检测到的所述第二进程处理部分的处理状态,控制执行与所述处理状态所表示的进程关联的进程的所述第一进程处理部分的操作;
所述第二进程调度器被配置成根据由所述第一进程调度器检测到的所述第一进程处理部分的处理状态,控制执行与所述处理状态所表示的进程关联的进程的所述第二进程处理部分的操作;
所述第一进程调度器被配置成在切换所述第一进程处理部分所执行的进程时,将表示进程被切换的状态通知信息发送到所述第二进程调度器;以及
所述第二进程调度器被配置成基于已经接收到的所述状态通知信息,控制执行与所述状态通知信息所表示的进程关联的进程的所述第二进程处理部分的操作。
2.根据权利要求1所述的并行处理***,其中:
所述第一进程调度器被配置成在保存所述第一进程处理部分所执行的进程的进程场境时,将表示进程已经被转变成待机状态的状态通知信息发送到所述第二进程调度器;以及
所述第二进程调度器被配置成基于已经接收到的所述状态通知信息,执行控制以将致使所述第二进程处理部分处理与已经转变成待机状态的进程关联的进程的优先级级别降低。
3.根据权利要求1或2所述的并行处理***,其中:
所述第一进程调度器被配置成在恢复所述第一进程处理部分所执行的进程的进程场境时,将表示进程已经被分派的状态通知信息发送到所述第二进程调度器;以及
所述第二进程调度器被配置成基于已经接收到的所述状态通知信息,执行控制以将致使所述第二进程处理部分处理与被分派的进程关联的进程的优先级级别升高。
4.根据权利要求1或2所述的并行处理***,其中,所述第二进程调度器被配置成在与已经接收到的所述状态通知信息所表示的进程关联的进程处于等待由所述第一进程处理部分处理的状态的情况下,控制执行处于等待处理状态下的进程的所述第二进程处理部分的操作。
5.根据权利要求1或2所述的并行处理***,所述并行处理***包括:
第一节点,在所述第一节点中安装有操作***,所述第一节点包括所述第一进程处理部分、所述第一进程调度器和所述第二进程调度器;以及
第二节点,在所述第二节点中未安装有操作***,所述第二节点包括所述第二进程处理部分,
其中,所述第二进程处理部分被配置成在所述第一节点所包括的所述第二进程调度器的控制下执行进程。
6.根据权利要求5所述的并行处理***,其中:
所述第二进程调度器被配置成在切换所述第二进程处理部分所执行的进程时,将表示进程被切换的状态通知信息发送到所述第一进程调度器;以及
所述第一进程调度器被配置成基于已经接收到的所述状态通知信息,控制执行与所述状态通知信息所表示的进程关联的进程的所述第一进程处理部分的操作。
7.一种并行处理方法,所述并行处理方法用于在多个处理部分上执行关联进程,由多个调度器来管理所述多个处理部分所执行的处理,
所述并行处理方法包括将由所述调度器中的每一个管理的进程的处理状态通信到所述调度器中的另一个,其中:
所述调度器中的每一个被配置成根据接收到的处理状态来控制执行与所述处理状态所表示的进程关联的进程的处理部分的操作;
所述调度器中的每一个被配置成在切换由其管理的处理部分所执行的进程时,将表示进程被切换的状态通知信息发送到所述调度器中的另一个;以及
所述调度器中的每一个被配置成基于已经接收到的所述状态通知信息,控制执行与所述状态通知信息所表示的进程关联的进程的处理部分的操作。
8.一种记录介质,所述记录介质上记录有计算机程序,所述计算机程序包括用于致使信息处理装置执行操作的指令,所述信息处理装置在多个处理部分上执行关联进程,由多个调度器管理所述处理部分所执行的处理,所述操作包括:
将由所述调度器中的每一个管理的进程的处理状态通信到所述调度器中的另一个;以及
致使所述调度器中的每一个根据接收到的处理状态来控制执行与所述处理状态所表示的进程关联的进程的处理部分的操作,其中:
所述调度器中的每一个被配置成在切换由其管理的处理部分所执行的进程时,将表示进程被切换的状态通知信息发送到所述调度器中的另一个;以及
所述调度器中的每一个被配置成基于已经接收到的所述状态通知信息,控制执行与所述状态通知信息所表示的进程关联的进程的处理部分的操作。
CN201580078148.XA 2015-03-23 2015-12-28 并行处理*** Active CN107408061B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2015-059545 2015-03-23
JP2015059545A JP6079805B2 (ja) 2015-03-23 2015-03-23 並列計算装置
PCT/JP2015/006492 WO2016151654A1 (ja) 2015-03-23 2015-12-28 並列処理システム

Publications (2)

Publication Number Publication Date
CN107408061A CN107408061A (zh) 2017-11-28
CN107408061B true CN107408061B (zh) 2018-10-19

Family

ID=56977117

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580078148.XA Active CN107408061B (zh) 2015-03-23 2015-12-28 并行处理***

Country Status (6)

Country Link
US (1) US10162675B2 (zh)
EP (1) EP3276489B1 (zh)
JP (1) JP6079805B2 (zh)
KR (1) KR101818410B1 (zh)
CN (1) CN107408061B (zh)
WO (1) WO2016151654A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10884811B2 (en) 2017-06-04 2021-01-05 Apple Inc. Scheduler for AMP architecture with closed loop performance controller using static and dynamic thread grouping

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101169737A (zh) * 2006-10-25 2008-04-30 松下电器产业株式会社 任务切换控制方法以及计算机***
CN101178666A (zh) * 2007-12-13 2008-05-14 中兴通讯股份有限公司 一种异构多核间协调调度的方法及异构多核***
JP2013061700A (ja) * 2011-09-12 2013-04-04 Sony Corp 情報処理装置、情報処理方法、記録媒体および情報処理システム
CN103761106A (zh) * 2014-02-07 2014-04-30 张战 流程的控制方法及流程引擎

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06301655A (ja) * 1993-04-14 1994-10-28 Hitachi Ltd 分散処理システム
JP3573546B2 (ja) 1995-10-27 2004-10-06 富士通株式会社 並列計算機における並列プロセススケジューリング方法および並列計算機用処理装置
JPH1021094A (ja) * 1996-07-08 1998-01-23 Mitsubishi Electric Corp リアルタイム制御方式
JP3730740B2 (ja) * 1997-02-24 2006-01-05 株式会社日立製作所 並列ジョブ多重スケジューリング方法
US20020184290A1 (en) * 2001-05-31 2002-12-05 International Business Machines Corporation Run queue optimization with hardware multithreading for affinity
US7542473B2 (en) * 2004-12-02 2009-06-02 Nortel Networks Limited High-speed scheduling apparatus for a switching node
US9367350B2 (en) * 2008-10-03 2016-06-14 Microsoft Technology Licensing, Llc Meta-scheduler with meta-contexts
JP5453825B2 (ja) * 2009-02-05 2014-03-26 日本電気株式会社 プログラム並列実行システム、マルチコアプロセッサ上のプログラム並列実行方法
US9122522B2 (en) * 2011-12-14 2015-09-01 Advanced Micro Devices, Inc. Software mechanisms for managing task scheduling on an accelerated processing device (APD)
US8893140B2 (en) 2012-01-24 2014-11-18 Life Coded, Llc System and method for dynamically coordinating tasks, schedule planning, and workload management

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101169737A (zh) * 2006-10-25 2008-04-30 松下电器产业株式会社 任务切换控制方法以及计算机***
CN101178666A (zh) * 2007-12-13 2008-05-14 中兴通讯股份有限公司 一种异构多核间协调调度的方法及异构多核***
JP2013061700A (ja) * 2011-09-12 2013-04-04 Sony Corp 情報処理装置、情報処理方法、記録媒体および情報処理システム
CN103761106A (zh) * 2014-02-07 2014-04-30 张战 流程的控制方法及流程引擎

Also Published As

Publication number Publication date
EP3276489A1 (en) 2018-01-31
EP3276489A4 (en) 2018-08-01
JP6079805B2 (ja) 2017-02-15
CN107408061A (zh) 2017-11-28
EP3276489B1 (en) 2020-11-18
WO2016151654A1 (ja) 2016-09-29
US10162675B2 (en) 2018-12-25
US20180074853A1 (en) 2018-03-15
KR101818410B1 (ko) 2018-02-21
JP2016181016A (ja) 2016-10-13
KR20170117594A (ko) 2017-10-23

Similar Documents

Publication Publication Date Title
US8793695B2 (en) Information processing device and information processing method
US9772879B2 (en) System and method for isolating I/O execution via compiler and OS support
US10733019B2 (en) Apparatus and method for data processing
US9495206B2 (en) Scheduling and execution of tasks based on resource availability
US20160378570A1 (en) Techniques for Offloading Computational Tasks between Nodes
US9256470B1 (en) Job assignment in a multi-core processor
CN107515781B (zh) 一种基于多处理器的确定性任务调度及负载均衡***
CN114579285B (zh) 一种任务运行***、方法及计算设备
KR20100074920A (ko) 멀티코어 시스템에서의 로드 밸런싱 장치 및 방법
US9417924B2 (en) Scheduling in job execution
CN107408061B (zh) 并行处理***
CN116724294A (zh) 一种任务分配方法及装置
JP6442947B2 (ja) 情報処理装置、情報処理方法及びそのプログラム
US20160110221A1 (en) Scheduling system, scheduling method, and recording medium
CN116048756A (zh) 一种队列调度方法、装置及相关设备
JP2008225641A (ja) コンピュータシステム、割り込み制御方法及びプログラム
JP2012203911A (ja) 非同期のデバイスによって実行されるタスクのスケジューリングの向上
JP3660376B2 (ja) 分散処理システムおよび分散処理システムにおける負荷分散方法
CN104506452A (zh) 一种报文处理方法及装置
US20240231946A9 (en) Process allocation control device, process allocation control method, and recording medium storing process allocation control program
US20240134710A1 (en) Process allocation control device, process allocation control method, and recording medium storing process allocation control program
KR101232081B1 (ko) 내비게이션 시스템의 멀티태스킹 관리 장치 및 그 방법
JP2010026575A (ja) スケジューリング方法およびスケジューリング装置並びにマルチプロセッサシステム
US9940053B2 (en) Information processing device, information processing system, memory management method, and program recording medium
TW201209719A (en) A system for managing a multiprocessing computer system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant