CN102279766A - 并行模拟多个处理器的方法及系统、调度器 - Google Patents

并行模拟多个处理器的方法及系统、调度器 Download PDF

Info

Publication number
CN102279766A
CN102279766A CN2011102523772A CN201110252377A CN102279766A CN 102279766 A CN102279766 A CN 102279766A CN 2011102523772 A CN2011102523772 A CN 2011102523772A CN 201110252377 A CN201110252377 A CN 201110252377A CN 102279766 A CN102279766 A CN 102279766A
Authority
CN
China
Prior art keywords
simulated
scheduler
processor
thread
correspondence
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
Application number
CN2011102523772A
Other languages
English (en)
Other versions
CN102279766B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201110252377.2A priority Critical patent/CN102279766B/zh
Publication of CN102279766A publication Critical patent/CN102279766A/zh
Priority to US13/584,332 priority patent/US20130231912A1/en
Priority to EP12828153.2A priority patent/EP2615546A4/en
Priority to PCT/CN2012/080608 priority patent/WO2013029513A1/zh
Application granted granted Critical
Publication of CN102279766B publication Critical patent/CN102279766B/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
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation

Abstract

本发明提供一种并行模拟多个处理器的方法及系统、调度器,通过调度器利用主线程创建至少一个从线程,并确定上述主线程和上述至少一个从线程对应的待模拟的处理器,使得调度器能够利用上述主线程和上述至少一个从线程,通过上述确定的对应的待模拟的处理器向上述调度器注册的第一运行接口,调用上述确定的对应的待模拟的处理器执行相应的指令,由于每次能够利用主线程和至少一个从线程调度待模拟的处理器,所以能够实现并行模拟多个处理器,避免了现有技术中由于每次调度一个待模拟的处理器而导致的无法实现并行模拟多个处理器的问题,从而提高了模拟效率;同时能够充分利用调度器所在宿主机的处理器资源,从而提高了资源利用效率。

Description

并行模拟多个处理器的方法及系统、调度器
技术领域
本发明实施例涉及模拟技术,尤其涉及一种并行模拟多个处理器的方法及系统、调度器。
背景技术
SIMICS模拟器是一款高性能的系统模拟器,可以模拟单处理器系统和多处理器系统。SIMICS模拟器模拟多处理器系统时,采用单一处理器调度方式进行调度,即每次调度一个处理器执行相应的指令,以实现串行模拟多个处理器。
然而,由于每次调度一个处理器,所以无法实现并行模拟多个处理器,导致了模拟效率的降低。
发明内容
本发明实施例提供一种并行模拟多个处理器的方法及系统、调度器,用以提高模拟效率的降低。
一方面提供了一种并行模拟多个处理器的方法,包括:
调度器利用主线程创建至少一个从线程,并确定所述主线程和所述至少一个从线程对应的待模拟的处理器,得到确定的对应的待模拟的处理器;
所述调度器利用所述主线程和所述至少一个从线程,通过第一运行接口调用所述确定的对应的待模拟的处理器执行相应的指令,所述第一运行接口为所述确定的对应的待模拟的处理器向所述调度器注册的。
另一方面提供了一种调度器,包括:
创建单元,用于利用主线程创建至少一个从线程,并确定所述主线程和所述至少一个从线程对应的待模拟的处理器,得到确定的对应的待模拟的处理器;
调用单元,用于利用所述主线程和所述创建单元创建的所述至少一个从线程,通过第一运行接口调用所述创建单元确定的对应的待模拟的处理器执行相应的指令,所述第一运行接口为所述确定的对应的待模拟的处理器向所述调度器注册的。
另一方面提供了一种并行模拟多个处理器的系统,包括待模拟的处理器,还包括上述调度器。
由上述技术方案可知,本发明实施例通过调度器利用主线程创建至少一个从线程,并确定上述主线程和上述至少一个从线程对应的待模拟的处理器,使得调度器能够利用上述主线程和上述至少一个从线程,通过上述确定的对应的待模拟的处理器向上述调度器注册的第一运行接口,调用上述确定的对应的待模拟的处理器执行相应的指令,由于每次能够利用主线程和至少一个从线程调度待模拟的处理器,所以能够实现并行模拟多个处理器,避免了现有技术中由于每次调度一个待模拟的处理器而导致的无法实现并行模拟多个处理器的问题,从而提高了模拟效率;同时能够充分利用调度器所在宿主机的处理器资源,从而提高了资源利用效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的并行模拟多个处理器的方法的流程示意图;
图2为本发明另一实施例提供的并行模拟多个处理器的方法的流程示意图;
图3为图2对应的实施例所适用的系统架构示意图;
图4为本发明另一实施例提供的调度器的结构示意图;
图5为本发明另一实施例提供的调度器的结构示意图;
图6为本发明另一实施例提供的并行模拟多个处理器的系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一实施例提供的并行模拟多个处理器的方法的流程示意图,如图1所示,本实施例的并行模拟多个处理器的方法可以包括:
101、调度器利用主线程创建至少一个从线程,并确定上述主线程和上述至少一个从线程对应的待模拟的处理器,得到确定的对应的待模拟的处理器;
其中,主线程只有一个,从线程最多可以等于调度器所在宿主机的处理器的个数减去1,以使得每个线程对应一个宿主机的处理器。
具体地,调度器可以根据配置文件,利用主线程创建至少一个从线程,并确定上述主线程和上述至少一个从线程对应的待模拟的处理器。配置文件中可以包括但不限于创建从线程的个数和线程(主线程或从线程)与待模拟的处理器的映射关系。
102、上述调度器利用上述主线程和上述至少一个从线程,通过第一运行接口(execute interface)调用上述确定的对应的待模拟的处理器执行相应的指令。
其中,上述第一运行接口为上述确定的对应的待模拟的处理器向上述调度器注册的。
可以理解的是:每个线程可以对应一个待模拟的处理器,或者还可以对应多个待模拟的处理器,本实施例对此不进行限定。如果每个线程对应多个待模拟的处理器,在102中,调度器每次通过主线程和从线程调度待模拟的处理器执行相应的指令时,则可以先并行调度每个线程中的一个待模拟的处理器,然后在每个线程内部再串行调度该线程中的其他待模拟的处理器。
可选地,上述指令可以包括但不限于下列指令中的至少一个:访问内存的指令,用于访问同一内存或不同内存的指令;访问外设的指令,用于访问同一外设或不同外设的指令。
可选地,上述指令还可以为原子指令,则在102中,调度器具体可以利用互斥锁操作,调用上述确定的对应的待模拟的处理器执行相应的指令。
可选地,本实施例中,调度器还可以进一步利用上述主线程和上述至少一个从线程,通过第一周期接口(cycle interface)向上述确定的对应的待模拟的处理器下发周期参数,以控制上述调度器利用上述主线程和上述至少一个从线程同步调用确定的对应的待模拟的处理器,从而保证了上述确定的待模拟的处理器在线程之间的调度一致。其中,上述第一周期接口为上述确定的对应的待模拟的处理器向上述调度器注册的。
可选地,上述101~102的执行主体调度器可以为SIMICS模拟器中的调度单元。
可选地,上述101~102的执行主体调度器还可以为一个独立设置的控制单元。进一步地,调度器还可以进一步向SIMICS模拟器中的调度单元注册对应的第二运行接口,以使上述调度单元通过上述第二运行接口调度上述调度器利用主线程创建至少一个从线程。相应地,调度器还可以进一步向上述SIMICS模拟器中的调度单元注册对应的第二周期接口,以使上述调度单元利用上述主线程,通过上述第二周期接口向上述调度器下发周期参数,以使上述调度器利用上述主线程和上述至少一个从线程,通过第一周期接口向上述确定的对应的待模拟的处理器下发上述周期参数,以控制上述调度器利用上述主线程和上述至少一个从线程同步调用确定的对应的待模拟的处理器,上述第一周期接口为上述确定的对应的待模拟的处理器向上述调度器注册的。
本实施例中,通过调度器利用主线程创建至少一个从线程,并确定上述主线程和上述至少一个从线程对应的待模拟的处理器,使得调度器能够利用上述主线程和上述至少一个从线程,通过上述确定的对应的待模拟的处理器向上述调度器注册的第一运行接口,调用上述确定的对应的待模拟的处理器执行相应的指令,由于每次能够利用主线程和至少一个从线程调度待模拟的处理器,所以能够实现并行模拟多个处理器,避免了现有技术中由于每次调度一个待模拟的处理器而导致的无法实现并行模拟多个处理器的问题,从而提高了模拟效率;同时能够充分利用调度器所在宿主机的处理器资源,从而提高了资源利用效率。
为使得本发明实施例提供的方法更加清楚,下面将以101~102的执行主体调度器为一个独立设置的控制(Controller)单元作为举例。图2为本发明另一实施例提供的并行模拟多个处理器的方法的流程示意图,本实施例所适用的系统架构可以如图3所示。如图2所示,本实施例的并行模拟多个处理器的方法可以包括:
201、控制单元向SIMICS模拟器中的调度单元注册该控制单元对应的运行接口和周期接口;
202、待模拟的处理器向控制单元注册该待模拟的处理器对应的运行接口和周期接口;
203、控制单元根据配置文件,利用主线程创建至少一个从线程,并确定上述主线程和上述至少一个从线程对应的待模拟的处理器,以及在所在宿主机上为待模拟的处理器申请内存;
例如:主线程对应待模拟的处理器0和待模拟的处理器6;
从线程1对应待模拟的处理器1和待模拟的处理器3;
从线程2对应待模拟的处理器2和待模拟的处理器4;
从线程3对应待模拟的处理器5和待模拟的处理器7。
可选地,控制单元可以在所在宿主机上为待模拟的处理器申请同一个内存,用以实现模拟多个待模拟的处理器共同访问同一内存,或者还可以在所在宿主机上为待模拟的处理器申请不同内存,用以实现模拟多个待模拟的处理器访问不同内存。
204、调度单元利用主线程,调用控制单元注册的运行接口;
205、控制单元利用主线程和创建的至少一个从线程,调用待模拟的处理器注册的运行接口,以调用对应的待模拟的处理器执行相应的指令。
例如:控制单元利用主线程,调用待模拟的处理器0注册的运行接口,再调用待模拟的处理器6注册的运行接口;
控制单元利用从线程1,调用待模拟的处理器1注册的运行接口,再调用待模拟的处理器3注册的运行接口;
控制单元利用从线程2,调用待模拟的处理器2注册的运行接口,再调用待模拟的处理器4注册的运行接口;
控制单元利用从线程3,调用待模拟的处理器5注册的运行接口,再调用待模拟的处理器7注册的运行接口。
可选地,在204中,调度单元还可以进一步利用主线程,调用控制单元注册的周期接口,以向控制单元下发周期参数(例如:处理器切换时间(cpu-switch-time)参数,用于指示执行指令的指定条数等),以使该控制单元进一步利用主线程和创建的至少一个从线程,调用待模拟的处理器注册的周期接口,以向待模拟的处理器下发时间推进的目标值,用以控制上述主线程和上述至少一个从线程调用对应的待模拟的处理器的同步,例如:从线程上的待模拟的处理器执行完指定条数的指令之后通知主线程上的控制单元,并进入睡眠状态;主线程上的控制单元接收到全部的从线程上的待模拟的处理器的通知之后,退出运行接口,等待重新执行204。
本实施例中,通过控制单元被SIMICS模拟器中的调度单元调用之后利用主线程创建至少一个从线程,并确定上述主线程和上述至少一个从线程对应的待模拟的处理器,使得控制单元能够利用上述主线程和上述至少一个从线程,通过待模拟的处理器向上述控制单元注册的第一运行接口,调用上述确定的对应的待模拟的处理器执行相应的指令,由于每次能够利用主线程和至少一个从线程调度待模拟的处理器,所以能够实现并行模拟多个处理器,避免了现有技术中由于每次调度一个待模拟的处理器而导致的无法实现并行模拟多个处理器的问题,从而提高了模拟效率;同时能够充分利用调度器所在宿主机的处理器资源,从而提高了资源利用效率。
需要说明的是:对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图4为本发明另一实施例提供的调度器的结构示意图,如图4所示,本实施例的调度器可以包括创建单元41和调用单元42。其中,创建单元41用于利用主线程创建至少一个从线程,并确定上述主线程和上述至少一个从线程对应的待模拟的处理器,得到确定的对应的待模拟的处理器;调用单元42用于利用上述主线程和上述创建单元41创建的上述至少一个从线程,通过第一运行接口调用上述创建单元41确定的对应的待模拟的处理器执行相应的指令。其中,上述第一运行接口为上述创建单元41确定的对应的待模拟的处理器向上述调度器注册的。
上述图1对应的实施例中调度器的功能可以由本实施例提供的调度器实现。
可选地,本实施例中的调用单元42调用上述创建单元41确定的对应的待模拟的处理器执行相应的指令可以包括但不限于下列指令中的至少一个:访问内存的指令,用于访问同一内存或不同内存的指令;访问外设的指令,用于访问同一外设或不同外设的指令。
可选地,本实施例中的调用单元42调用上述创建单元41确定的对应的待模拟的处理器执行相应的指令还可以为原子指令,则调用单元42具体可以利用互斥锁操作,调用上述创建单元确定的对应的待模拟的处理器执行相应的指令。
可选地,调用单元42还可以进一步利用上述主线程和上述至少一个从线程,通过第一周期接口(cycle interface)向上述创建单元41确定的对应的待模拟的处理器下发周期参数,以控制上述调度器利用上述主线程和上述至少一个从线程同步调用创建单元41确定的对应的待模拟的处理器,从而保证了待模拟的处理器在线程之间的调度一致。其中,上述第一周期接口为上述创建单元41确定的对应的待模拟的处理器向上述调度器注册的。
可选地,本实施例提供的调度器可以为SIMICS模拟器中的调度单元。
可选地,本实施例提供的调度器还可以为一个独立设置的控制单元。进一步地,如图5所示,本实施例提供的调度器还可以进一步包括注册单元51,用于向SIMICS模拟器中的调度单元注册对应的第二运行接口,以使上述调度单元通过上述第二运行接口调度上述调度器利用主线程创建至少一个从线程。
相应地,注册单元51还可以进一步向上述SIMICS模拟器中的调度单元注册对应的第二周期接口,以使上述调度单元利用上述主线程,通过上述第二周期接口向上述调度器下发周期参数,以使上述调用单元利用上述主线程和上述至少一个从线程,通过第一周期接口向上述创建单元41确定的对应的待模拟的处理器下发上述周期参数,以控制上述调用单元利用上述主线程和上述至少一个从线程同步调用创建单元41确定的对应的待模拟的处理器。其中,上述第一周期接口为上述创建单元41确定的对应的待模拟的处理器向上述调度器注册的。
本实施例中,调度器通过创建单元利用主线程创建至少一个从线程,并确定上述主线程和上述至少一个从线程对应的待模拟的处理器,使得调用单元能够利用上述主线程和上述至少一个从线程,通过上述创建单元41确定的对应的待模拟的处理器向上述调度器注册的第一运行接口,调用上述创建单元41确定的对应的待模拟的处理器执行相应的指令,由于每次能够利用主线程和至少一个从线程调度待模拟的处理器,所以能够实现并行模拟多个处理器,避免了现有技术中由于每次调度一个待模拟的处理器而导致的无法实现并行模拟多个处理器的问题,从而提高了模拟效率;同时能够充分利用调度器所在宿主机的处理器资源,从而提高了资源利用效率。
图6为本发明另一实施例提供的并行模拟多个处理器的系统的结构示意图,如图6所示,本实施例的并行模拟多个处理器的系统可以包括待模拟的处理器61和调度器62。其中,调度器可以为图4和图5对应的实施例中任一实施例提供的调度器,详细描述可以参见对应实施例中的相关内容,此处不再赘述。
本实施例中,通过调度器利用主线程创建至少一个从线程,并确定上述主线程和上述至少一个从线程对应的待模拟的处理器,使得调度器能够利用上述主线程和上述至少一个从线程,通过上述调度器确定的对应的待模拟的处理器向上述调度器注册的第一运行接口,调用上述调度器确定的对应的待模拟的处理器执行相应的指令,由于每次能够利用主线程和至少一个从线程调度待模拟的处理器,所以能够实现并行模拟多个处理器,避免了现有技术中由于每次调度一个待模拟的处理器而导致的无法实现并行模拟多个处理器的问题,从而提高了模拟效率;同时能够充分利用调度器所在宿主机的处理器资源,从而提高了资源利用效率。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (15)

1.一种并行模拟多个处理器的方法,其特征在于,包括:
调度器利用主线程创建至少一个从线程,并确定所述主线程和所述至少一个从线程对应的待模拟的处理器,得到确定的对应的待模拟的处理器;
所述调度器利用所述主线程和所述至少一个从线程,通过第一运行接口调用所述确定的对应的待模拟的处理器执行相应的指令,所述第一运行接口为所述确定的对应的待模拟的处理器向所述调度器注册的。
2.根据权利要求1所述的方法,其特征在于,所述指令包括下列指令中的至少一个:
访问内存的指令,用于访问同一内存或不同内存的指令;
访问外设的指令,用于访问同一外设或不同外设的指令。
3.根据权利要求1所述的方法,其特征在于,所述指令为原子指令,所述调度器调用所述确定的对应的待模拟的处理器执行相应的指令,包括:
所述调度器利用互斥锁操作,调用所述确定的对应的待模拟的处理器执行相应的指令。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述调度器利用所述主线程和所述至少一个从线程,通过第一周期接口向所述确定的对应的待模拟的处理器下发周期参数,以控制所述调度器利用所述主线程和所述至少一个从线程同步调用所述确定的对应的待模拟的处理器,所述第一周期接口为所述确定的对应的待模拟的处理器向所述调度器注册的。
5.根据权利要求1至4任一权利要求所述的方法,其特征在于,所述调度器为SIMICS模拟器中的调度单元。
6.根据权利要求1至4任一权利要求所述的方法,其特征在于,所述方法还包括:
所述调度器向SIMICS模拟器中的调度单元注册对应的第二运行接口,以使所述调度单元通过所述第二运行接口调度所述调度器利用主线程创建至少一个从线程。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述调度器向所述SIMICS模拟器中的调度单元注册对应的第二周期接口,以使所述调度单元利用所述主线程,通过所述第二周期接口向所述调度器下发周期参数,以使所述调度器利用所述主线程和所述至少一个从线程,通过第一周期接口向所述确定的对应的待模拟的处理器下发所述周期参数,以控制所述调度器利用所述主线程和所述至少一个从线程同步调用所述确定的对应的待模拟的处理器,所述第一周期接口为所述确定的对应的待模拟的处理器向所述调度器注册的。
8.一种调度器,其特征在于,包括:
创建单元,用于利用主线程创建至少一个从线程,并确定所述主线程和所述至少一个从线程对应的待模拟的处理器,得到确定的对应的待模拟的处理器;
调用单元,用于利用所述主线程和所述创建单元创建的所述至少一个从线程,通过第一运行接口调用所述创建单元确定的对应的待模拟的处理器执行相应的指令,所述第一运行接口为所述确定的对应的待模拟的处理器向所述调度器注册的。
9.根据权利要求8所述的调度器,其特征在于,所述调用单元调用所述创建单元确定的对应的待模拟的处理器执行相应的指令包括下列指令中的至少一个:
访问内存的指令,用于访问同一内存或不同内存的指令;
访问外设的指令,用于访问同一外设或不同外设的指令。
10.根据权利要求8所述的调度器,其特征在于,所述调用单元调用所述创建单元确定的对应的待模拟的处理器执行相应的指令为原子指令,所述调用单元具体用于
利用互斥锁操作,调用所述创建单元确定的对应的待模拟的处理器执行相应的指令。
11.根据权利要求8所述的调度器,其特征在于,所述调用单元还用于
利用所述主线程和所述至少一个从线程,通过第一周期接口向所述确定的对应的待模拟的处理器下发周期参数,以控制所述调度器利用所述主线程和所述至少一个从线程同步调用所述确定的对应的待模拟的处理器,所述第一周期接口为所述确定的对应的待模拟的处理器向所述调度器注册的。
12.根据权利要求8至11任一权利要求所述的调度器,其特征在于,所述调度器为SIMICS模拟器中的调度单元。
13.根据权利要求8至11任一权利要求所述的调度器,其特征在于,所述调度器还包括注册单元,用于
向SIMICS模拟器中的调度单元注册对应的第二运行接口,以使所述调度单元通过所述第二运行接口调度所述调度器利用主线程创建至少一个从线程。
14.根据权利要求13所述的调度器,其特征在于,所述注册单元还用于
向所述SIMICS模拟器中的调度单元注册对应的第二周期接口,以使所述调度单元利用所述主线程,通过所述第二周期接口向所述调度器下发周期参数,以使所述调用单元利用所述主线程和所述至少一个从线程,通过第一周期接口向所述确定的对应的待模拟的处理器下发所述周期参数,以控制所述调度器利用所述主线程和所述至少一个从线程同步调用所述确定的对应的待模拟的处理器,所述第一周期接口为所述确定的对应的待模拟的处理器向所述调度器注册的。
15.一种并行模拟多个处理器的系统,包括待模拟的处理器,其特征在于,还包括权利要求8~14任一权利要求所述的调度器。
CN201110252377.2A 2011-08-30 2011-08-30 并行模拟多个处理器的方法及系统、调度器 Expired - Fee Related CN102279766B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201110252377.2A CN102279766B (zh) 2011-08-30 2011-08-30 并行模拟多个处理器的方法及系统、调度器
US13/584,332 US20130231912A1 (en) 2011-08-30 2012-08-13 Method, system, and scheduler for simulating multiple processors in parallel
EP12828153.2A EP2615546A4 (en) 2011-08-30 2012-08-27 METHOD AND SYSTEM AND PLANNER FOR PARALLEL SIMULATION PROCESSORS
PCT/CN2012/080608 WO2013029513A1 (zh) 2011-08-30 2012-08-27 并行模拟多个处理器的方法及系统、调度器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110252377.2A CN102279766B (zh) 2011-08-30 2011-08-30 并行模拟多个处理器的方法及系统、调度器

Publications (2)

Publication Number Publication Date
CN102279766A true CN102279766A (zh) 2011-12-14
CN102279766B CN102279766B (zh) 2014-05-07

Family

ID=45105230

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110252377.2A Expired - Fee Related CN102279766B (zh) 2011-08-30 2011-08-30 并行模拟多个处理器的方法及系统、调度器

Country Status (4)

Country Link
US (1) US20130231912A1 (zh)
EP (1) EP2615546A4 (zh)
CN (1) CN102279766B (zh)
WO (1) WO2013029513A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013029513A1 (zh) * 2011-08-30 2013-03-07 华为技术有限公司 并行模拟多个处理器的方法及系统、调度器
CN103164267A (zh) * 2013-03-29 2013-06-19 汉柏科技有限公司 无锁消息队列实现方法
CN106610632A (zh) * 2015-10-26 2017-05-03 韩华泰科株式会社 机器人控制系统及方法
CN106796530A (zh) * 2016-12-22 2017-05-31 深圳前海达闼云端智能科技有限公司 一种虚拟化方法、装置、及电子设备、计算机程序产品
CN110622478A (zh) * 2018-04-08 2019-12-27 华为技术有限公司 数据同步处理的方法和装置
CN110888865A (zh) * 2019-12-04 2020-03-17 北京明略软件系统有限公司 一种基于单向链表的数据处理方法及装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9785700B2 (en) 2008-02-11 2017-10-10 Nuix Pty Ltd Systems and methods for load-balancing by secondary processors in parallelized indexing
US8359365B2 (en) 2008-02-11 2013-01-22 Nuix Pty Ltd Systems and methods for load-balancing by secondary processors in parallel document indexing
US9928260B2 (en) 2008-02-11 2018-03-27 Nuix Pty Ltd Systems and methods for scalable delocalized information governance
CN102331961B (zh) * 2011-09-13 2014-02-19 华为技术有限公司 并行模拟多个处理器的方法及系统、调度器
US10826930B2 (en) 2014-07-22 2020-11-03 Nuix Pty Ltd Systems and methods for parallelized custom data-processing and search
US11200249B2 (en) 2015-04-16 2021-12-14 Nuix Limited Systems and methods for data indexing with user-side scripting

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060229861A1 (en) * 2005-04-12 2006-10-12 Fujitsu Limited Multi-core model simulator
CN101777007A (zh) * 2010-01-28 2010-07-14 中国科学技术大学苏州研究院 片上多核处理器的并行功能仿真系统及其方法
CN101873338A (zh) * 2009-04-27 2010-10-27 华为技术有限公司 并行模拟的事件同步方法以及模拟器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134515A (en) * 1997-06-13 2000-10-17 Telefonaktiebolaget Lm Ericsson Controlling a first type telecommunications switch upon translating instructions for a second type telecommunications switch
CN102279766B (zh) * 2011-08-30 2014-05-07 华为技术有限公司 并行模拟多个处理器的方法及系统、调度器
CN102331961B (zh) * 2011-09-13 2014-02-19 华为技术有限公司 并行模拟多个处理器的方法及系统、调度器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060229861A1 (en) * 2005-04-12 2006-10-12 Fujitsu Limited Multi-core model simulator
CN101873338A (zh) * 2009-04-27 2010-10-27 华为技术有限公司 并行模拟的事件同步方法以及模拟器
CN101777007A (zh) * 2010-01-28 2010-07-14 中国科学技术大学苏州研究院 片上多核处理器的并行功能仿真系统及其方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013029513A1 (zh) * 2011-08-30 2013-03-07 华为技术有限公司 并行模拟多个处理器的方法及系统、调度器
CN103164267A (zh) * 2013-03-29 2013-06-19 汉柏科技有限公司 无锁消息队列实现方法
CN106610632A (zh) * 2015-10-26 2017-05-03 韩华泰科株式会社 机器人控制系统及方法
US10780583B2 (en) 2015-10-26 2020-09-22 Hanwha Precision Machinery Co., Ltd. System and method of controlling robot
CN106796530A (zh) * 2016-12-22 2017-05-31 深圳前海达闼云端智能科技有限公司 一种虚拟化方法、装置、及电子设备、计算机程序产品
WO2018112855A1 (zh) * 2016-12-22 2018-06-28 深圳前海达闼云端智能科技有限公司 一种虚拟化方法、装置、及电子设备、计算机程序产品
CN106796530B (zh) * 2016-12-22 2019-01-25 深圳前海达闼云端智能科技有限公司 一种虚拟化方法、装置、及电子设备、计算机程序产品
CN110622478A (zh) * 2018-04-08 2019-12-27 华为技术有限公司 数据同步处理的方法和装置
CN110622478B (zh) * 2018-04-08 2020-11-06 华为技术有限公司 数据同步处理的方法和装置
CN110888865A (zh) * 2019-12-04 2020-03-17 北京明略软件系统有限公司 一种基于单向链表的数据处理方法及装置

Also Published As

Publication number Publication date
CN102279766B (zh) 2014-05-07
US20130231912A1 (en) 2013-09-05
EP2615546A4 (en) 2013-12-11
EP2615546A1 (en) 2013-07-17
WO2013029513A1 (zh) 2013-03-07

Similar Documents

Publication Publication Date Title
CN102279766B (zh) 并行模拟多个处理器的方法及系统、调度器
Barbierato et al. Exploiting CloudSim in a multiformalism modeling approach for cloud based systems
CN110795219A (zh) 适用于多种计算框架的资源调度方法及系统
CN102063286B (zh) 程序流控制
CN103176774A (zh) 应用程序的编译方法、装置以及系统
CN103729235A (zh) Java虚拟机的编译方法和Java虚拟机
CN102331961B (zh) 并行模拟多个处理器的方法及系统、调度器
CN104346211A (zh) 一种云计算下实现虚拟机迁移的方法及系统
CN103488536A (zh) 任务调度方法、装置及操作系统
CN104899369A (zh) 一种利用perl脚本的仿真器多线程运行方法
CN106250217A (zh) 一种多虚拟处理器间的同步调度方法及其调度系统
CN114327861A (zh) 执行eda任务的方法、装置、系统和存储介质
KR101295673B1 (ko) 임베디드 시스템을 시뮬레이션하는 방법 및 데이터 처리시스템
Kirsch et al. A programmable microkernel for real-time systems
US20110218795A1 (en) Simulator of multi-core system employing reconfigurable processor cores and method of simulating multi-core system employing reconfigurable processor cores
JP6042454B2 (ja) ユーザ生成によるデータセンターの省電力
CN102609324B (zh) 一种虚拟机死锁后的恢复方法、装置及系统
Berkowitz Metaq: Bundle supercomputing tasks
CN109656868B (zh) 一种cpu与gpu之间的内存数据转移方法
CN103605526A (zh) 一种基于责任链模式的模版组件化生成代码的方法
JP2014102734A (ja) 性能検証プログラム、性能検証方法及び性能検証装置
Carnevali et al. A formal approach to design and verification of two-level hierarchical scheduling systems
CN103299277A (zh) Gpu系统及其处理方法
CN103631648A (zh) 一种任务处理方法及系统
CN111274667A (zh) 一种跨尺度材料计算软件集成计算系统及方法

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: 20140507

Termination date: 20180830