CN102812440A - 多核系统以及起动方法 - Google Patents
多核系统以及起动方法 Download PDFInfo
- Publication number
- CN102812440A CN102812440A CN201080065635XA CN201080065635A CN102812440A CN 102812440 A CN102812440 A CN 102812440A CN 201080065635X A CN201080065635X A CN 201080065635XA CN 201080065635 A CN201080065635 A CN 201080065635A CN 102812440 A CN102812440 A CN 102812440A
- Authority
- CN
- China
- Prior art keywords
- processor cores
- control
- processing
- scheduler
- starting
- 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.)
- Granted
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
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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 load
-
- 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/52—Program 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)
- Stored Programmes (AREA)
- Power Sources (AREA)
Abstract
分别在多个处理器内核中动作的调度器在具有进行分配处理的权限即控制权时,对各处理器内核分配处理。主控制部控制控制权在调度器间的移动。各调度器在接收到控制权后对各处理器内核分配处理之前,向其他处理器内核发送控制权的移动。各调度器在对各处理器内核分配了处理后,放弃控制权而成为等待控制权的接收的状态。各调度器在处理对象的处理不存在之前反复下述那样的周期:控制权的接收、控制权移动的发送、处理对各处理器内核的分配、控制权的放弃以及控制权的接收等待。
Description
技术领域
本发明涉及多核系统以及起动方法。
背景技术
以往,在计算机、移动终端等信息处理装置或者数码相机、电视系统等图像、声音的处理装置中,希望在用户接通装置的电源后,能够尽可能迅速地完成装置起动。高速地起动装置的方式中,存在一种休眠起动(hibernate boot)方式。休眠起动方式是不进行通常的起动顺序,而通过复原保持在存储器等中的前次的动作状态来进行高速起动的技术。另外,还存在一种UI(User Interface,用户界面)先行起动方式。UI先行起动方式是通过在装置起动时的早期阶段对用户显示模拟(dummy)画面,从而看上去疑似地进行了高速起动的技术。
另一方面,还存在具有多个处理器的多处理器系统、具有多个处理器内核的多核系统(以下,统称为“多核系统”)。在多核系统中,存在一种对多个调度器分别预先分配多个进程,在所选择的调度器中,根据该分配来依次执行进程的调度方式。另外,在多处理器系统中,存在一种准备算法不同的多个调度器,针对各个任务而使用适当算法的调度器来进行调度的方式。另外,还存在一种具有主调度器的处理器和具有从属调度器的处理器,主调度器控制从属调度器执行进程的方式。
专利文献1:日本特开2001-117786号公报
专利文献2:日本特开平4-60843号公报
专利文献3:日本特开平11-265297号公报
发明内容
然而,在休眠起动方式中,存在需要用于保存装置动作状态的存储区域这一问题点。在UI先行起动方式中,实际上并非高速完成了装置的起动。另外,若按调度器来预先分配进程,则无法对各调度器灵活地分配进程。因此,不适合例如像移动电话终端那样,用户能够在使用中进行系统的更新、新功能的追加那样的系统。另外,在多个调度器进行动作的情况下,存在需要在调度器间取得同步,以使得确保的存储器、中断编号等不产生矛盾这一问题点。另外,在使算法不同的多个调度器动作,以使调度的速度竞争那样情况下,对于未被采用的调度器执行了动作的处理器而言,结果进行了不必要的计算。由此在耗电这方面存在问题。另外,即使准备算法不同的多个调度器,当负荷集中于任意一种算法的调度器时,也存在该调度器执行动作的处理器的处理变慢这一问题点。
本发明目的在于提供一种在多核系统中,能够高速起动装置的多核系统以及起动方法。
在多核系统中,调度器分别在多个处理器内核中动作。各调度器在具有控制权时,对各处理器内核分配处理。控制权是指进行处理分配的权限。主控制部控制控制权在调度器间的移动。各调度器在接收到控制权后对各处理器内核分配处理之前,向其他处理器内核发送控制权的移动。各调度器在对各处理器内核分配了处理后,放弃控制权而成为等待控制权的接收的状态。各调度器在处理对象的处理不存在之前反复进行下述周期:这样的控制权的接收、控制权移动的发送、针对各处理器内核的处理分配、控制权的放弃以及控制权的接收等待。
根据公开的多核系统以及起动方法,起到能够在多核系统中高速起动装置这一效果。
附图说明
图1是表示实施例1涉及的多核系统的框图。
图2是表示实施例1涉及的起动方法的流程图。
图3是表示实施例2涉及的多核系统的框图。
图4是表示在实施例2涉及的起动方法中,最先接收控制权的处理器内核的动作的流程图。
图5是表示在实施例2涉及的起动方法中,不最先接收控制权的处理器内核的动作的流程图。
图6是表示在实施例2涉及的起动方法中,从属控制状态中的状态迁移的图。
图7是表示基于实施例2涉及的起动方法的多核系统的动作的图。
图8是表示基于作为比较例的起动方法的多核系统的动作的图。
具体实施方式
以下,基于附图,对本发明的多核系统以及起动方法的实施例详细地进行说明。其中,本发明并不局限于该实施例。
(实施例1)
在实施例1中,各处理器内核中动作的调度器在向其他处理器内核的调度器转让了控制权后,对各处理器内核分配处理。由此,在多个处理器内核中同时被分配给该多个处理器内核的处理分别相互稍错开时间地被并列进行。
·多核系统的说明
图1是表示实施例1涉及的多核系统的框图。如图1所示,多核系统具有多个处理器内核,虽然不特别限定,但在图示例中具有4个处理器内核1、2、3、4。在各处理器内核1、2、3、4中,调度器5、6、7、8分别动作。各调度器5、6、7、8在具有控制权时进行调度。通过调度,对各处理器内核1、2、3、4分配处理。控制权是进行调度的权限。多核系统具有控制控制权在调度器5、6、7、8间移动的主控制部9。
各调度器5、6、7、8在接收到控制权后进行调度之前,向其他的处理器内核1、2、3、4发送控制权的移动。各调度器5、6、7、8在进行调度后,放弃控制权而成为等待接收控制权的状态。主控制部9进行控制以使得各调度器5、6、7、8在处理对象的处理结束之前反复进行这样的一系列的周期。调度器5、6、7、8以及主控制部9通过在各处理器内核1、2、3、4中例如执行操作系统(OS:Operating System)的核心部等的软件而实现。
·起动方法的说明
图2是表示实施例1涉及的起动方法的流程图。图2的流程图示出多个调度器中的一个调度器的动作。在此,对图1所示的构成的调度器P5的动作进行说明。图1所示的其他调度器Q6、R7以及S8的动作也相同。
如图2所示,当具有上述多核系统的装置的电源被接通(冷起动:cold start,cold boot)、或者重新启动(reset:cold start,cold boot)时,调度器P5接收控制权(步骤S1)。接下来,调度器P5向其他处理器内核Q2、R3以及S4中的任意一个发送向要在该处理器内核中动作的调度器移动控制权(步骤S2)。当发送结束时,调度器P5进行调度,对其他处理器内核Q2、R3以及S4分配处理(步骤S3)。调度器P5在调度结束时放弃控制权(步骤S4),成为等待接收控制权的状态(步骤S5)。由于未最先接收控制权的调度器Q6、R7以及S8在接收到控制权之前处于等待接收控制权的状态,所以调度器Q6、R7以及S8从步骤S5开始。各调度器P5、Q6、R7以及S8在要处理的对象的处理结束之前反复进行从该步骤S1到步骤S5的动作。
根据实施例1,由于各调度器向其他的调度器转让控制权后进行调度,所以分配给各处理器内核的处理的一部分与分配给其他处理器内核的其它处理的一部分被并列执行。因此,与不并列执行分配给各处理器内核的处理的一部分的情况相比,能够高速起动具有多核系统的装置。另外,由于在各处理器内核中动作的调度器从其他调度器接受控制权来进行调度,所以多个调度器并列执行调度。因此,与成为主(master)的唯一的调度器对全部的处理器内核进行调度的情况相比,能够高速地起动具有多核系统的装置。
(实施例2)
实施例2是将实施例1的多核系统用作例如移动电话终端等移动终端、电视系统等家用电器产品的嵌入式系统。
·多核系统的说明
图3是表示实施例2涉及的多核系统的框图。如图3所示,多核系统具备:处理器内核11、12、13、14;例如进行图像处理、声音处理、通信处理等各种处理的设备15、16;例如硬盘等存储设备17以及用作工作区域的主存储器18。这些处理器内核11、12、13、14、设备15、16、存储设备17以及主存储器18经由总线19而相互连接。在各处理器内核11、12、13、14中,操作系统分别动作,但整体上构筑成一个系统。处理器内核的数目以及设备的数目并不局限于图示例。例如,处理器内核的数目还可以是2个、3个或者5个以上。
存储设备17存储有巡回主镜像(cyclic master image)21、从属功能镜像22、初始化进程镜像23以及OS核心起动镜像24。巡回主镜像21是控制控制权在调度器间巡回的程序的数据。从属功能镜像22是在各处理器内核中控制被各调度器分配的处理的接受以及起动的程序的数据。初始化进程镜像23是用于对各种设备进行初始化的程序的数据。OS核心起动镜像24是读入操作系统的核心并使其动作的程序的数据。
巡回主镜像21、从属功能镜像22、初始化进程镜像23以及OS核心起动镜像24通过引导程序的执行而被从存储设备17读出,并被展开在主存储器18中。由此,在主存储器18上存在主控制部31、从属控制部32、初始化进程的初始化线程33以及OS核心部34。
OS核心部34是安装有操作系统的基本功能,例如进程、线程的起动等功能的部分。OS核心部34保护按各个处理器内核而动作的未图示的调度器。主控制部31是控制控制权在调度器间巡回的程序。作为控制权的一个例子,例如可以使用在多核操作系统中记载的主标志。该情况下,主控制部31控制该主标志。初始化线程33是对各种设备进行初始化的程序。从属控制部32是常驻在全部处理器内核中,用于控制被各调度器分配的处理的受理以及起动的程序。
·起动方法的说明
图4是表示在实施例2涉及的起动方法中最先接收控制权的处理器内核的动作的流程图。在此,对在图3所示的构成的处理器内核P11中动作的核心最先接收控制权的情况进行说明。
如图4所示,当具有图3所示的多核系统的装置的电源被接通、或者被重新启动(reset)时(步骤S11),重新启动信号被输入各处理器内核P11、Q12、R13以及S14。由此,在各处理器内核P11、Q12、R13以及S14中,内部的起动程序动作。在该起动程序中定义了在装置内各处理器内核P11、Q12、R13以及S14能够访问的地址空间。另外,在起动程序中记载有起动程序的开始地址。这样的起动程序有时被称为起动例程(start up routine)。
各处理器内核P11、Q12、R13以及S14按照起动程序的手续读入引导程序,并读入内核核心而起动(步骤S12)。内核核心是操作系统的基本部分。通过内核核心起动,进行各处理器内核P11、Q12、R13以及S14的初始设定,使得操作系统在各处理器内核P11、Q12、R13以及S14中动作。仅利用内核核心各种的功能服务不会被起动。
接下来,在处理器内核P11中动作的核心接收控制权(步骤S13)。然后,在处理器内核P11中动作的核心通过处理器内核间通信向其他的处理器内核Q12、R13或者S14发送控制权的移动(步骤S14)。发送目的地的处理器内核可以是任意内核。例如,可以根据处理器内核的编号发送控制权的移动。例如,还可以将发送目的地的处理器内核作为比送信源的处理器内核的编号大1的编号的处理器内核。例如,还可以在送信源的处理器内核的编号为最大值的情况下,将发送目的地的处理器内核设为编号最小的处理器内核。即使发送了控制权的移动,在放弃控制权之前,在处理器内核P11中动作的核心也具有控制权。
在发送了控制权的移动后,在处理器内核P11中动作的核心汇集包含其本身的各处理器内核P11、Q12、R13以及S14的负荷信息(步骤S15)。负荷信息是表示各处理器内核P11、Q12、R13以及S14所使用的存储器资源等资源的使用状况的信息。负荷信息被存储在例如主存储器18等存储器中。在处理器内核P11中动作的核心根据汇集的负荷信息,按照使各处理器内核P11、Q12、R13以及S14的负荷分散的方式进行调度(步骤S16)。
然后,在处理器内核P11中动作的核心根据预先准备的资源信息确保资源,请求分配了初始化线程的处理器内核起动该初始化线程(步骤S17)。在资源信息中,作为按装置的起动、重新启动而固定的信息,包含与要利用的资源,上下文区域、进程(线程)ID、进程(线程)名以及竞争的其他进程(线程)相关的信息。关于要处理的预约了处理器内核的初始化线程,在处理器内核P11中动作的核心不进行调度而请求该被预约的处理器内核起动。
接下来,在处理器内核P11中动作的核心放弃控制权(步骤S18),再次成为等待接收控制权的状态(步骤S19)。在处理器内核P11中动作的核心若再次接收控制权(步骤S13),则反复步骤S13到步骤S19。
图5是表示在实施例2涉及的起动方法中未最先接收控制权的处理器内核的动作的流程图。在此,在图3所示的构成中,对在未最先接收控制权的处理器内核Q12、R13以及S14中的、处理器内核Q12中动作的核心的动作进行说明。在处理器内核R13以及S14中动作的核心的动作也相同。
如图5所示,在装置的电源被接通、或者重新启动后,核心成为起动状态之前,如参照图4对处理器内核P11进行说明的那样(步骤S11、步骤S12)。若核心起动,则在处理器内核Q12中动作的核心成为等待从其他处理器内核P11、R13以及S14接收控制权的状态(步骤S21)。若在处理器内核Q12中动作的核心在等待中接收到控制权(步骤S22),通过处理器内核间通信向其他处理器内核P11、R13或者S14发送控制权的移动(步骤S23)。关于发送目的地,例如与图4的步骤S14相关而说明的那样,可以按照处理器内核的编号顺序。该时刻,在处理器内核Q12中动作的核心具有控制权。
这以后如参照图4对在处理器内核P11中动作的核心进行说明的那样。即,在处理器内核Q12中动作的核心如上述那样,汇集负荷信息(步骤S24),进行调度(步骤S25),请求起动初始化线程(步骤S26)。然后,在处理器内核Q12中动作的核心放弃控制权(步骤S27),再次返回到等待接收控制权的状态(步骤S21),并返回上述动作。
然而,通过在某处理器内核中动作的核心向其他的处理器内核发送控制权的移动,成为多个处理器内核同时具有控制权的状态。例如,假设在图4以及图5的例中,在处理器内核P11中动作的核心向处理器内核Q12发送了控制权的移动。该情况下,在处理器内核P11以及处理器内核Q12分别放弃控制权之前,保持控制权。
若不是在如实施例2那样的装置起动时,而是在运转中的装置中起动通常的进程时,这样多个处理器内核同时具有控制权,则会产生以下那样的不良状况。例如,在多个具有控制权的核心偶然在相同时刻想要确保存储器资源等的情况下,会产生冲突。与此相对,实施例2是装置的起动时的动作。在装置起动时被起动的线程、进程所需要的资源在预先作为操作系统的起动信息而被准备的功能表等中作为资源信息而被预约。因此,即使多个处理器内核同时进行资源的确保也不会产生不良情况。
图6是表示在实施例2涉及的起动方法中从属控制状态中的状态迁移的图。如图6所示,若在装置的电源被接通或者被重新启动后,核心起动,各处理器内核P11、Q12、R13以及S14成为利用从属控制部32受理初始化线程的起动请求的状态(步骤S31)。若各处理器内核P11、Q12、R13以及S14从其他处理器内核接收到初始化线程的起动请求,则起动该线程(步骤S32)。此时,起动了被请求的初始化线程的处理器内核将该线程的起动所使用的存储器资源等资源设为使用中而更新负荷信息。当基于被请求的初始化线程而完成了设备的初始化时,处理器内核返回从其他处理器内核受理其它初始化线程的起动请求的状态。
如上述那样,在各处理器内核P11、Q12、R13以及S14中动作的调度器根据负荷信息对负荷低的处理器内核请求起动初始化线程。此时,由于多个调度器同时动作,所以各调度器汇集的负荷信息并非是准确地反映了此时的各处理器内核P11、Q12、R13以及S14的负荷状况的信息。因此,若根据负荷信息对处理器内核分配初始化线程,则处理器内核P11、Q12、R13以及S14的负荷会产生暂时偏差。但是,这样的负荷偏差,在依次对各处理器内核P11、Q12、R13以及S14分配较多数量,例如50个到100个左右、或者100个以上的初始化线程的期间被平均化。因此,不会特别产生问题。
·动作的说明
图7是表示基于实施例2涉及的起动方法的多核系统的动作的图。如图7所示,当具有图3所示的多核系统的装置的电源被接通或者被重新启动时,在处理器内核P11中,起动程序动作,引导程序动作(步骤S41)。然后,通过处理器内核间通信从处理器内核P11向其他处理器内核Q12、R13以及S14提供起动(boot)指示(步骤S42)。然后,各处理器内核P11、Q12、R13以及S14起动核心,进行初始设定(步骤S43)。此时,向处理器内核P11提供控制权。
接下来,处理器内核P11通过处理器内核间通信向处理器内核Q12发送控制权的移动(步骤S44)。然后,处理器内核P11进行初始化线程a的调度(图7中用“A”表示)(步骤S45),并放弃控制权。
接收到控制权的处理器内核Q12通过处理器内核间通信向处理器内核R13发送控制权的移动(步骤S46)。然后,处理器内核Q12进行初始化线程b的调度(图7中用“B”表示)(步骤S47),并放弃控制权。
接收到控制权的处理器内核R13通过处理器内核间通信向处理器内核S14发送控制权的移动(步骤S48)。然后,处理器内核R13进行初始化线程c的调度(图7中用“C”表示)(步骤S49),并放弃控制权。
接收到控制权的处理器内核S14通过处理器内核间通信向处理器内核P11发送控制权的移动(步骤S50)。然后,处理器内核S14进行初始化线程d的调度(图7中用“D”表示)(步骤S51),并放弃控制权。
接收到控制权的处理器内核P11通过处理器内核间通信向处理器内核Q12发送控制权的移动(步骤S52)。然后,处理器内核P11进行初始化线程e的调度(图7中用“E”表示)(步骤S53),并放弃控制权。以后,在最终的初始化线程n的调度(图7中用“N”表示)结束(步骤S54)之前,反复同样的动作。进行最终的初始化线程n的调度的处理器内核、在图示例中为处理器内核R13向最先接收到控制权的处理器内核P11返还控制权(步骤S55)。由此,使控制权巡回的控制被解除。
各初始化线通过程调度器被分配给空闲的处理器内核、即未进行处理的处理器内核。虽然未进行特别限定,但在图7所示的例中,当处理器内核P11进行调度A时,处理器内核Q12以及处理器内核R13正进行处理,处理器内核S14未进行处理。因此,初始化线程a被分配给处理器内核S14,在处理器内核S14中被执行。同样地,初始化线程b在进行调度B时,被分配给空闲的处理器内核P11,在处理器内核P11中被执行。c,d,e以及n的初始化线程也相同。
这样,在实施例2中,各个初始化线程的调度在多个调度器中并列进行。另外,在多个处理器内核中各个初始化线程被并列进行。通过内核核心的起动,从各处理器内核P11、Q12、R13以及S14的初始设定完成的时刻到基于F个初始化线程的设备的初始化完成为止的时间T如下面(1)式所示。其中,将处理器内核的数设为G,将在处理器内核中的平均调度时间设为H[ms],将处理器内核间的平均通信时间设为J[ns]以及将设备的平均初始化时间设为K[ms]。J与H与K的大小关系通常为J<<H<K。Max(Y,Z)表示Y与Z中大的一方。
T=(F/G)×Max(2×J+H,J+K) ···(1)
作为比较,将不移动控制权,处理器内核P11进行全部的初始化线程的调度情况下的动作表示在图8中。如图8所示,在不移动控制权的情况下,如若在处理器内核P11中完成了初始化线程a的调度A,则开始初始化线程b的调度B那样,各个初始化线程的调度不被并列进行。在该比较例中,通过起动核心,各处理器内核P11、Q12、R13以及S14的初始设定从完成的时刻到基于F个初始化线程的设备的初始化完成为止的时间T′如下面的的(2)所示。
T′=(F/G)×(H+J+K) ···(2)
在调度时间中包含有例如未进行处理的处理器内核的探索所需要的时间等。在初始化时间中包含例如上下文的生成所需要时间、设备的初始化(对寄存器的初始值设定等)所需要时间等。在处理器内核间的通信中,一般而言,使用处理器内核的动作时钟的1/2时钟,每1次通信需要10个周期左右。
作为一个例子,将初始化线程的数目F设为100,将处理器内核的数目G设为4,将处理器内核的平均调度时间H设为1ms,将处理器内核间的平均通信时间J设为20ns以及将设备的平均初始化时间K设为3ms。另外,将处理器内核的动作时钟设为1GHz。根据上述(1)式,在实施例2中,到基于F个初始化线程的设备的初始化完成为止的时间T为75ms。另一方面,根据上述(2)式,在比较例中,到基于F个初始化线程的设备的初始化完成为止的时间T′为100ms。因此,根据实施例2,相对比较例,能够将装置的起动时间改善25%。另外,在以往的具有单核系统(处理器内核的数目G=1)的装置中,处理器内核的动作时钟为1GHz时,通过上述(2)式,T′为400ms左右。因此,根据实施例2,相对以往的具有单核系统的装置,能够将装置的起动时间改善81%左右。
根据实施例2,能够获得与实施例1相同的效果。另外,在实施例2中,并非按各个调度器分配进程、线程。因此,用户即使进行系统的更新、新功能的追加,被追加的进程、线程也会根据此时的负荷信息而被适当地向各处理器内核分配。换句话说,实施例2适合例如移动电话终端那样,通过用户的操作来追加新功能等进行灵活性高的运用的嵌入式设备。另外,实施例2还能够应用于如在嵌入式设备那样的固定用途的产品中以初始状态被起动的应用程序或者在产品的出厂阶段已经被嵌入那样的应用程序。该情况下,也对这样的应用程序,准备作为操作系统的起动信息而准备的功能表和等同的功能表即可。根据实施例2,包括这样的应用程序的起动在内,能够高速起动装置。
此外,在实施例1以及2中,作为多核系统,以一个微处理器中内置有多个处理器内核的多核处理器为例进行了说明,但还能够同样应用于但搭载有多个微处理器的多处理器。在应用于多处理器的情况中,在上述的说明中,处理器内核为处理器。
附图标记说明
1、2、3、4、11、12、13、14:处理器内核;5、6、7、8:调度器
9、31:主控制部;15、16:设备。
Claims (14)
1.一种多核系统,其特征在于,具备:
多个处理器内核;
调度器,其在所述各处理器内核中动作,在具有进行处理分配的权限亦即控制权时,对所述各处理器内核分配处理;
主控制部,其进行控制,以使得在处理对象的处理不存在之前反复进行下述周期:在所述各调度器接收到控制权后对各处理器内核分配处理之前,向其他处理器内核发送控制权的移动,在对各处理器内核分配了处理后放弃控制权而成为等待控制权的接收的状态。
2.根据权利要求1所述的多核系统,其特征在于,
具有控制权的调度器对能够由任意的处理器内核处理的处理进行分配,针对预约了处理器内核的处理,请求该预约的处理器内核起动该处理。
3.根据权利要求1所述的多核系统,其特征在于,
所述各调度器在发送了控制权移动之后,取得所述各处理器内核的负荷信息,对负荷低的处理器内核分配处理。
4.根据权利要求1所述的多核系统,其特征在于,
当针对各处理器内核的处理分配完成时,所述各调度器放弃控制权。
5.根据权利要求1所述的多核系统,其特征在于,
当最后的处理对象的处理分配完成时,所述主控制部将控制权返还给规定的处理器内核。
6.根据权利要求1~5中任意一项所述的多核系统,其特征在于,
所述处理是在系统起动时对与系统连接的设备进行初始化的处理。
7.根据权利要求1~5中任意一项所述的多核系统,其特征在于,
所述处理是被预先嵌入以便在系统起动时被执行的程序。
8.一种起动方法,是具有多个处理器内核的多核系统的起动方法,其特征在于,
各调度器在处理对象的处理不存在之前反复进行下述周期:控制权的接收、控制权向其他处理器内核移动的发送、针对各处理器内核的处理分配、控制权的放弃以及控制权的接收等待的状态,
其中,所述各调度器在所述各处理器内核中动作,在具有进行处理分配的权限亦即控制权时,对所述各处理器内核分配处理。
9.根据权利要求8所述的起动方法,其特征在于,
具有控制权的调度器对能够由任意的处理器内核处理的处理进行分配,针对预约了处理器内核的处理,请求该预约的处理器内核起动该处理。
10.根据权利要求8所述的起动方法,其特征在于,
所述各调度器在发送了控制权移动之后,取得所述各处理器内核的负荷信息,对负荷低的处理器内核分配处理。
11.根据权利要求8所述的起动方法,其特征在于,
当针对各处理器内核的处理分配完成时,所述各调度器放弃控制权。
12.根据权利要求8所述的起动方法,其特征在于,
当最后的处理对象的处理分配完成时,将控制权返还给规定的处理器内核。
13.根据权利要求8~12中任意一项所述的起动方法,其特征在于,
所述处理是在系统起动时对与系统连接的设备进行初始化的处理。
14.根据权利要求8~12中任意一项所述的起动方法,其特征在于,
所述处理是被预先嵌入以便在系统起动时被执行的程序。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/055138 WO2011117987A1 (ja) | 2010-03-24 | 2010-03-24 | マルチコアシステムおよび起動方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102812440A true CN102812440A (zh) | 2012-12-05 |
CN102812440B CN102812440B (zh) | 2016-05-04 |
Family
ID=44672579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080065635.XA Expired - Fee Related CN102812440B (zh) | 2010-03-24 | 2010-03-24 | 多核系统以及起动方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9218201B2 (zh) |
EP (1) | EP2551768A4 (zh) |
JP (1) | JP5445669B2 (zh) |
CN (1) | CN102812440B (zh) |
WO (1) | WO2011117987A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104142854A (zh) * | 2013-05-09 | 2014-11-12 | 启碁科技股份有限公司 | 操作流程控制方法及电子系统 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101689736B1 (ko) * | 2010-08-18 | 2016-12-27 | 삼성전자주식회사 | 작업 스케쥴링 기능을 구비한 작업 처리장치, 스케쥴링 활성화 제어장치 및 대칭형 멀티프로세싱 환경에서의 작업 스케쥴링 방법 |
KR101842200B1 (ko) | 2012-01-31 | 2018-03-26 | 엘지전자 주식회사 | 이동 단말기 및 그 제어방법 |
KR20140103569A (ko) * | 2013-02-18 | 2014-08-27 | 한국전자통신연구원 | 적응적 계층 선택을 위한 장치 및 방법, 이를 구비한 서버 |
CN103346980B (zh) | 2013-07-02 | 2016-08-10 | 华为技术有限公司 | 一种业务调度方法、装置及网络设备 |
JPWO2015015756A1 (ja) * | 2013-08-02 | 2017-03-02 | 日本電気株式会社 | 不揮発性メモリ搭載サーバの省電力制御システム、制御装置、制御方法および制御プログラム |
JP6263981B2 (ja) * | 2013-11-20 | 2018-01-24 | 株式会社リコー | 情報処理装置、情報処理装置の起動方法、及び、プログラム |
KR102641520B1 (ko) * | 2018-11-09 | 2024-02-28 | 삼성전자주식회사 | 멀티-코어 프로세서를 포함하는 시스템 온 칩 및 그것의 태스크 스케줄링 방법 |
CN114270318A (zh) * | 2019-08-20 | 2022-04-01 | 诺基亚通信公司 | 用于通过主从轮换执行任务的方法及处理单元 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000339284A (ja) * | 1999-05-28 | 2000-12-08 | Fujitsu Ltd | マルチプロセッサシステム及びその起動方法 |
CN101256515A (zh) * | 2008-03-11 | 2008-09-03 | 浙江大学 | 多核处理器操作系统负载均衡的实现方法 |
JP2009098769A (ja) * | 2007-10-15 | 2009-05-07 | Sony Corp | マルチプロセッサシステムおよび起動方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1982003931A1 (en) * | 1981-04-27 | 1982-11-11 | Kris Bryan | Multi-master processor bus |
JPS6292045A (ja) * | 1985-10-18 | 1987-04-27 | Fujitsu Ltd | 初期プログラムロ−ド制御方式 |
JPH0460843A (ja) | 1990-06-29 | 1992-02-26 | Hitachi Ltd | マルチプロセッサシステムにおけるタスクスケジュール方式 |
JPH07253960A (ja) | 1994-03-16 | 1995-10-03 | Fujitsu Ltd | マルチプロセッサシステムにおけるipl方式 |
JPH11265297A (ja) | 1998-03-17 | 1999-09-28 | Mitsubishi Electric Corp | 分散シミュレータシステム |
JP2001117786A (ja) | 1999-10-19 | 2001-04-27 | Nec Corp | プロセススケジューリング装置およびプロセススケジューリング方法 |
US7055060B2 (en) * | 2002-12-19 | 2006-05-30 | Intel Corporation | On-die mechanism for high-reliability processor |
JP2006252437A (ja) | 2005-03-14 | 2006-09-21 | Nec Corp | パッチ適用方式及びパッチ適用方法 |
US7810094B1 (en) * | 2005-09-30 | 2010-10-05 | Emc Corporation | Distributed task scheduling for symmetric multiprocessing environments |
JP2008186175A (ja) | 2007-01-29 | 2008-08-14 | Toyota Motor Corp | オペレーティングシステムの起動制御方法及び情報処理装置 |
JP2009075910A (ja) * | 2007-09-21 | 2009-04-09 | Seiko Epson Corp | プロセッサ切り替え装置、情報表示装置およびマルチプロセッサシステム |
CN101819540B (zh) * | 2009-02-27 | 2013-03-20 | 国际商业机器公司 | 在集群中调度任务的方法和系统 |
-
2010
- 2010-03-24 WO PCT/JP2010/055138 patent/WO2011117987A1/ja active Application Filing
- 2010-03-24 CN CN201080065635.XA patent/CN102812440B/zh not_active Expired - Fee Related
- 2010-03-24 EP EP10848380.1A patent/EP2551768A4/en not_active Withdrawn
- 2010-03-24 JP JP2012506709A patent/JP5445669B2/ja not_active Expired - Fee Related
-
2012
- 2012-09-19 US US13/622,536 patent/US9218201B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000339284A (ja) * | 1999-05-28 | 2000-12-08 | Fujitsu Ltd | マルチプロセッサシステム及びその起動方法 |
JP2009098769A (ja) * | 2007-10-15 | 2009-05-07 | Sony Corp | マルチプロセッサシステムおよび起動方法 |
CN101256515A (zh) * | 2008-03-11 | 2008-09-03 | 浙江大学 | 多核处理器操作系统负载均衡的实现方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104142854A (zh) * | 2013-05-09 | 2014-11-12 | 启碁科技股份有限公司 | 操作流程控制方法及电子系统 |
CN104142854B (zh) * | 2013-05-09 | 2018-04-10 | 启碁科技股份有限公司 | 操作流程控制方法及电子系统 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2011117987A1 (ja) | 2013-07-04 |
CN102812440B (zh) | 2016-05-04 |
US20130024870A1 (en) | 2013-01-24 |
US9218201B2 (en) | 2015-12-22 |
WO2011117987A1 (ja) | 2011-09-29 |
EP2551768A1 (en) | 2013-01-30 |
JP5445669B2 (ja) | 2014-03-19 |
EP2551768A4 (en) | 2013-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102812440A (zh) | 多核系统以及起动方法 | |
CN1957329B (zh) | 信号处理装置 | |
JP3922070B2 (ja) | 分散制御方法及び装置 | |
US8793695B2 (en) | Information processing device and information processing method | |
CN107515786B (zh) | 资源分配方法、主装置、从装置和分布式计算系统 | |
CN110489213B (zh) | 一种任务处理方法及处理装置、计算机系统 | |
JP4935595B2 (ja) | ジョブ管理方法、ジョブ管理装置およびジョブ管理プログラム | |
CN106293893B (zh) | 作业调度方法、装置及分布式系统 | |
CN108462656B (zh) | 基于容器的业务融合部署的资源调度方法及装置 | |
US10866832B2 (en) | Workflow scheduling system, workflow scheduling method, and electronic apparatus | |
CN103136055A (zh) | 用于在数据库服务中控制对计算资源的使用的方法和装置 | |
CN114780225B (zh) | 一种分布式模型训练系统、方法及装置 | |
JP5458998B2 (ja) | 仮想マシンシステムおよび仮想マシン管理方法 | |
CN102053869A (zh) | 一种多操作系统的资源分配方法和装置 | |
CN113467884A (zh) | 资源配置方法和装置、电子设备及计算机可读存储介质 | |
CN111158875B (zh) | 基于多模块的多任务处理方法、装置及系统 | |
CN104182283A (zh) | 一种任务同步方法 | |
CN102193884B (zh) | 数据传送电路和方法 | |
JP6774147B2 (ja) | 制御装置 | |
JP5641128B2 (ja) | マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム | |
JP6049781B2 (ja) | 画像形成装置、制御方法、及びプログラム | |
CN111340613A (zh) | 作业处理方法、系统以及存储介质 | |
CN113204438B (zh) | 一种amp系统核间通讯方法及系统 | |
CN110069287B (zh) | 一种多系统共存的方法、装置及存储设备 | |
US20220276902A1 (en) | Method and processing unit for performing tasks through master slave rotation |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160504 Termination date: 20180324 |