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

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

Info

Publication number
WO2013029513A1
WO2013029513A1 PCT/CN2012/080608 CN2012080608W WO2013029513A1 WO 2013029513 A1 WO2013029513 A1 WO 2013029513A1 CN 2012080608 W CN2012080608 W CN 2012080608W WO 2013029513 A1 WO2013029513 A1 WO 2013029513A1
Authority
WO
WIPO (PCT)
Prior art keywords
scheduler
simulated
thread
processor
interface
Prior art date
Application number
PCT/CN2012/080608
Other languages
English (en)
French (fr)
Inventor
叶寒栋
曹炯
叶笑春
王达
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP12828153.2A priority Critical patent/EP2615546A4/en
Publication of WO2013029513A1 publication Critical patent/WO2013029513A1/zh

Links

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

Definitions

  • Embodiments of the present invention relate to analog technologies, and in particular, to a method and system for simulating multiple processors in parallel, and a scheduler. Background technique
  • the scheduler uses the main thread to create at least one slave thread, and determines the master thread and the at least one slave thread corresponding to the processor to be simulated, so that the scheduler can utilize the master thread and the at least one slave thread.
  • the corresponding operating module to be simulated determined by the above-mentioned scheduler to the first running interface registered by the scheduler, and the corresponding processor to be simulated determined by the scheduler is executed to execute a corresponding instruction, because the main thread can be utilized each time.
  • at least one slave thread schedules the processor to be simulated, so that multiple processors can be simulated in parallel, which avoids the inability to implement parallel simulation of multiple processors due to the scheduling of one processor to be simulated each time in the prior art.
  • the problem is to improve the simulation efficiency; at the same time, the processor resources of the host machine where the scheduler is located can be fully utilized, thereby improving the resource utilization efficiency.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Multi Processors (AREA)

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, 简称 R0M )、 随机存取存储 器( Random Access Memory, 简称 RAM )、 磁碟或者光盘等各种可以存储 程序代码的介质。
最后应说明的是: 以上实施例仅用以说明本发明的技术方案, 而非对其 限制; 尽管参照前述实施例对本发明进行了详细的说明, 本领域的普通技术 人员应当理解: 其依然可以对前述各实施例所记载的技术方案进行修改, 或 者对其中部分技术特征进行等同替换; 而这些修改或者替换, 并不使相应技 术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP12828153.2A EP2615546A4 (en) 2011-08-30 2012-08-27 METHOD AND SYSTEM AND PLANNER FOR PARALLEL SIMULATION PROCESSORS

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2013029513A1 true WO2013029513A1 (zh) 2013-03-07

Family

ID=45105230

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/080608 WO2013029513A1 (zh) 2011-08-30 2012-08-27 并行模拟多个处理器的方法及系统、调度器

Country Status (4)

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

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8359365B2 (en) 2008-02-11 2013-01-22 Nuix Pty Ltd Systems and methods for load-balancing by secondary processors in parallel document indexing
US9785700B2 (en) 2008-02-11 2017-10-10 Nuix Pty Ltd Systems and methods for load-balancing by secondary processors in parallelized indexing
US9928260B2 (en) 2008-02-11 2018-03-27 Nuix Pty Ltd Systems and methods for scalable delocalized information governance
CN102279766B (zh) * 2011-08-30 2014-05-07 华为技术有限公司 并行模拟多个处理器的方法及系统、调度器
CN102331961B (zh) * 2011-09-13 2014-02-19 华为技术有限公司 并行模拟多个处理器的方法及系统、调度器
CN103164267A (zh) * 2013-03-29 2013-06-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
KR102543212B1 (ko) 2015-10-26 2023-06-14 (주)한화 로봇 제어 시스템 및 방법
WO2018112855A1 (zh) * 2016-12-22 2018-06-28 深圳前海达闼云端智能科技有限公司 一种虚拟化方法、装置、及电子设备、计算机程序产品
CN110622478B (zh) * 2018-04-08 2020-11-06 华为技术有限公司 数据同步处理的方法和装置
CN110888865A (zh) * 2019-12-04 2020-03-17 北京明略软件系统有限公司 一种基于单向链表的数据处理方法及装置

Citations (4)

* 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 中国科学技术大学苏州研究院 片上多核处理器的并行功能仿真系统及其方法
CN102279766A (zh) * 2011-08-30 2011-12-14 华为技术有限公司 并行模拟多个处理器的方法及系统、调度器
CN102331961A (zh) * 2011-09-13 2012-01-25 华为技术有限公司 并行模拟多个处理器的方法及系统、调度器

Family Cites Families (2)

* 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
CN101873338A (zh) * 2009-04-27 2010-10-27 华为技术有限公司 并行模拟的事件同步方法以及模拟器

Patent Citations (4)

* 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 中国科学技术大学苏州研究院 片上多核处理器的并行功能仿真系统及其方法
CN102279766A (zh) * 2011-08-30 2011-12-14 华为技术有限公司 并行模拟多个处理器的方法及系统、调度器
CN102331961A (zh) * 2011-09-13 2012-01-25 华为技术有限公司 并行模拟多个处理器的方法及系统、调度器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2615546A4 *

Also Published As

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

Similar Documents

Publication Publication Date Title
WO2013029513A1 (zh) 并行模拟多个处理器的方法及系统、调度器
US10977070B2 (en) Control system for microkernel architecture of industrial server and industrial server comprising the same
CN108156181B (zh) 一种基于协程异步io的漏洞探测方法及其漏洞扫描系统
JP2013545169A5 (zh)
JP2014515885A5 (zh)
Weinstock et al. Time-decoupled parallel SystemC simulation
JP2009026113A (ja) シミュレーション装置及びプログラム
RU2010149255A (ru) Экземпляры планировщика в процессе
WO2014000437A1 (zh) 分布式虚拟化系统的虚拟中断管理方法及装置
CN103544102A (zh) 一种软件性能测试模拟方法及装置
US9703905B2 (en) Method and system for simulating multiple processors in parallel and scheduler
CN104008005B (zh) 用于控制处理器的装置、方法和系统
Lunacek et al. The scaling of many-task computing approaches in python on cluster supercomputers
CN109783239B (zh) SystemC仿真调度核的多线程优化方法、系统及介质
Zhao et al. Efficient sharing and fine-grained scheduling of virtualized GPU resources
Wu et al. Dynamic acceleration of parallel applications in cloud platforms by adaptive time-slice control
CN104951346A (zh) 一种用于嵌入式系统的进程管理方法及系统
CN104866373A (zh) 基于跨平台技术的实时操作系统仿真方法
US10261817B2 (en) System on a chip and method for a controller supported virtual machine monitor
US10866833B2 (en) Method and appratus for implementing microkernel architecture of industrial server
JP5226848B2 (ja) シミュレーション装置及びプログラム
JP2017058952A5 (zh)
Weinstock et al. AMVP-a high performance virtual platform using parallel SystemC for multicore ARM architectures: work-in-progress
JP2013250696A (ja) プロセッサシステムおよびプロセッサ制御装置
Weinstock et al. Work-in-Progress: AMVP-A High Performance Virtual Platform using Parallel SystemC for Multicore ARM Architectures

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2012828153

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12828153

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE