CN115827170B - 基于离散事件的计算机体系结构的并行仿真方法及装置 - Google Patents
基于离散事件的计算机体系结构的并行仿真方法及装置 Download PDFInfo
- Publication number
- CN115827170B CN115827170B CN202310123062.0A CN202310123062A CN115827170B CN 115827170 B CN115827170 B CN 115827170B CN 202310123062 A CN202310123062 A CN 202310123062A CN 115827170 B CN115827170 B CN 115827170B
- Authority
- CN
- China
- Prior art keywords
- event
- events
- time
- key nodes
- simulation
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了基于离散事件的计算机体系结构的并行仿真方法及装置,将待仿真的计算机体系结构,按功能与延迟划分与组合成多个关键节点,并给每个关键节点分配一个线程;所有事件队列中的事件,按照事件发生的时间进行排序,时间相同的事件,按照优先级高低进行排序,整个仿真过程共同维护一条共享时间轴;利用前瞻量与路障事件对所有关键节点进行同步。在避免因果关系错误的条件下利用现代计算机的并行计算能力加速仿真过程。本发明将待仿真体系结构系统按功能与延迟划分与组合成多个关键节点,其中划分模块有利于提高仿真系统的并行度,合并低延迟模块有助于扩大前瞻量,降低同步开销,合理的关键节点选择能进一步加速仿真过程。
Description
技术领域
本发明涉及新型智能计算领域,尤其是涉及基于离散事件的计算机体系结构的并行仿真方法及装置。
背景技术
计算机体系结构仿真技术是使用软件方法虚拟出计算机系统硬件,在虚拟的机器上运行真实的应用程序,输出应用程序或是虚拟机器的统计数据以供用户分析的手段。仿真技术贯穿于计算机系统的整个设计开发周期:系统开发前期,仿真能够为数量化分析新的架构设计、在设计空间中有方向性的探索、对不同微体系结构候选者进行选择提供线索与依据;系统开发中期,仿真器能够提前作为软件验证测试的平台,加速系统成熟的过程;系统开发后期,仿真主要用于对系统进行性能、功耗、成本分析及调优。仿真器由于其重要作用,在学术界与产业界都得到了广泛的应用。基于离散时间系统的体系结构仿真,由于其精度高的特点应用广泛,但串行的执行机制导致了存在仿真时间过长的缺点,如何利用并行技术加速仿真过程是该领域急需解决的问题。
发明内容
为解决现有技术的不足,实现对计算机体系结构并行加速仿真的目的,本发明采用如下的技术方案:
一种基于离散事件的计算机体系结构的并行仿真方法,包括如下步骤:
步骤S1:将待仿真的计算机体系结构,按功能与延迟划分与组合成多个关键节点,并给每个关键节点分配一个线程;在硬件资源充足的情况下,仿真系统的并行度与线程数量(划分关键节点数量)成正比,关键节点的选择遵循按功能划分、合并相邻低延迟模块的规则;
步骤S2:关键节点包括一组事件队列,每个计算机系统的事件包括发生事件属性与执行优先级属性,所有事件队列中的事件,按照事件发生的时间进行排序,时间相同的事件,按照优先级高低进行排序,整个仿真过程共同维护一条共享时间轴;
步骤S3:利用前瞻量与路障事件对所有关键节点进行同步;通过设置前瞻量,每隔一段时间,向所有事件队列分发路障事件,通过路障事件对所有并行的关键节点进行同步。
进一步地,所述步骤S1中,待仿真的计算机体系结构包括中央处理机、一级缓存、二级缓存、三级缓存、加速器核心与主存,每个中央处理机拥有独立的一级缓存和二级缓存,共享三级缓存,三级缓存、加速器核心与主存通过总线相连;将相邻的中央处理机、一级缓存和二级缓存合并为一个关键节点。
进一步地,所述前瞻量小于等于各关键节点间的最小延迟。由于中央处理机与一级缓存之间的延迟,相对其他模块之间的延迟非常小,而为了避免因果关系错误,设置的前瞻量不能大于各个节点间的最小延迟,这会造成巨大的同步开销,严重影响仿真速度,因此,综合考虑并行度与同步开销后合并了延迟较小的相邻模块,此时前瞻量可以扩大到二级缓存与三级缓存之间的延迟量,有效降低了系统的同步开销。
进一步地,所述步骤S2中,发生事件属性为执行时刻t,执行优先级属性为优先级p,事件队列为事件按照执行时刻从小到大与优先级从高到低排列的二维链表结构,仿真时,事件按照事件队列的二维链表排列顺序执行,仿真过程中不断删除已经执行完成的事件,一个事件允许向大于自己执行时刻的时间点插入新的事件,不允许向小于或等于自身执行时刻的时刻插入事件,这会导致因果关系错误,当只有一条事件队列(线程)时,时间轴时刻为仿真执行完的事件中最后一个事件的执行时刻;多条事件队列(线程)时,时间轴时刻为最后一次进行线程同步的时刻。
进一步地,所述步骤S3中,向所有的事件队列分发一个拥有相同发生时间的路障事件,之后所有关键节点(线程)并行执行自身事件队列中的事件,每个关键节点(线程)的事件队列执行到路障事件后,暂停等待其他还未到达该时刻的关键节点(线程),当且仅当所有关键节点(线程)都到达路障事件后,仿真过程推进共享时间轴到该路障发生时间,并根据前瞻量向所有关键节点(线程)的事件队列中插入下一轮路障事件,再并行执行所有队列,不断循环直到仿真过程结束。
进一步地,所述关键节点包括普通事件队列和异步事件队列;所述步骤S3中,每个关键节点在执行自身普通事件队列中的事件时,会产生新的事件,这些事件可能分发到自身的普通事件队列或分发到其他节点的普通事件队列,为了避免因果关系错误,将分发到其他关键节点的新事件,先存储到所述其他关键节点(目标关键节点)的异步事件队列中,待所有关键节点(线程)都到达路障事件时,将异步事件队列中的事件合并到相应普通事件队列中,每一条事件队列按照事件的排列顺序从时间最小的事件开始执行。
进一步地,所有分发到其他关键节点的事件的发生事件属性(执行时刻)大于当前周期路障事件的发生事件属性(执行时刻),否则进行线程同步时会有事件被插入到过去的时刻,这会导致因果关系错误,这也是为什么我们之前设置前瞻量时不能大于各个关键节点之间延迟最小值的原因。
一种基于离散事件的计算机体系结构的并行仿真装置,包括关键节点构建模块、仿真系统构建模块和关键节点同步模块;
所述关键节点构建模块,将待仿真的计算机体系结构,按功能与延迟划分与组合成多个关键节点,并给每个关键节点分配一个线程;在硬件资源充足的情况下,仿真系统的并行度与线程数量(划分关键节点数量)成正比,关键节点的选择遵循按功能划分、合并相邻低延迟模块的规则;
所述仿真系统构建模块,关键节点包括一组事件队列,每个计算机系统的事件包括发生事件属性与执行优先级属性,所有事件队列中的事件,按照事件发生的时间进行排序,时间相同的事件,按照优先级高低进行排序,整个仿真系统共同维护一条共享时间轴;
所述关键节点同步模块,利用前瞻量与路障事件对所有关键节点进行同步;通过设置前瞻量,每隔一段时间,向所有事件队列分发路障事件,通过路障事件对所有并行的关键节点进行同步。
进一步地,所述仿真系统构建模块中,发生事件属性为执行时刻t,执行优先级属性为优先级p,事件队列为事件按照执行时刻从小到大与优先级从高到低排列的二维链表结构,仿真时,事件按照事件队列的二维链表排列顺序执行,仿真系统中不断删除已经执行完成的事件,一个事件允许向大于自己执行时刻的时间点插入新的事件,不允许向小于或等于自身执行时刻的时刻插入事件,这会导致因果关系错误,当只有一条事件队列(线程)时,时间轴时刻为仿真执行完的事件中最后一个事件的执行时刻;多条事件队列(线程)时,时间轴时刻为最后一次进行线程同步的时刻。
进一步地,所述关键节点包括普通事件队列和异步事件队列;所述关键节点同步模块中,每个关键节点在执行自身普通事件队列中的事件时,会产生新的事件,这些事件可能分发到自身的普通事件队列或分发到其他节点的普通事件队列,为了避免因果关系错误,将分发到其他关键节点的新事件,先存储到所述其他关键节点(目标关键节点)的异步事件队列中,待所有关键节点(线程)都到达路障事件时,将异步事件队列中的事件合并到相应普通事件队列中,每一条事件队列按照事件的排列顺序从时间最小的事件开始执行。
本发明的优势和有益效果在于:
本发明的一种基于离散事件的计算机体系结构的并行仿真方法,通过设置前瞻量,每隔一段时间,利用路障事件与异步事件队列,对所有关键节点进行同步,在避免因果关系错误的条件下,利用现代计算机的并行计算能力,加速仿真过程。本发明进一步将待仿真体系结构系统,按功能与延迟划分与组合成多个关键节点,其中划分模块有利于提高仿真系统的并行度,合并低延迟模块有助于扩大前瞻量,降低同步开销,合理的关键节点选择能进一步加速仿真过程。
附图说明
图1是本发明实施例中方法流程图。
图2是本发明实施例中关键节点划分示意图。
图3是本发明实施例中事件、事件队列与时间轴的结构示意图。
图4是本发明实施例中同步方法原理图。
图5是本发明实施例中设备的结构示意图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
如图1所示,一种基于离散事件的计算机体系结构的并行仿真方法,包括如下步骤:
步骤S1:待仿真体系结构按功能与延迟划分与组合成多个关键节点,并给每个关键节点分配一个线程,在硬件资源充足的情况下,仿真系统的并行度与线程数量(划分关键节点数量)成正比,关键节点的选择遵循按功能划分、合并相邻低延迟模块的规则。
本发明实施例中,如图2所示,待仿真体系结构拥有4个中央处理机CPU,每个中央处理机CPU拥有独立的一级缓存(dCache、iCache)与二级缓存L2Cache,共享三级缓存L3Cache。三级缓存L3Cache、加速器核心与主存Memory通过总线相连。如果按照功能进行划分,每个方形模块都可以划分成一个节点,共19个节点。理论上可以分配19条线程进行并行计算,但由于中央处理机CPU与一级缓存(dCache、iCache)之间的延迟,相对其他模块之间的延迟非常小,而为了避免因果关系错误,我们设置的前瞻量不能大于各个节点间的最小延迟,这会造成巨大的同步开销,严重影响仿真速度。所以本发明按图2所示,综合考虑并行度与同步开销后合并了延迟较小的相邻模块,即将相邻的中央处理机CPU、一级缓存(dCache、iCache)和二级缓存L2Cache合并为一个关键节点,此时前瞻量可以扩大到二级缓存与三级缓存之间的延迟量,有效降低了系统的同步开销。图2中分别例举了时间轴上的时间点t=0,5,20,80,200,800ms,事件队列中各时间点上时间队列的情况,t=0时,事件1的优先级p=0;t=5时,事件1的优先级p=100,事件2的优先级p=0;t=20时,事件1的优先级p=-100;t=80时,事件1的优先级p=127,事件2的优先级p=0,事件3的优先级p=-100,事件4的优先级p=-128;t=200时,时间1的优先级p=100;t=800时,事件1的优先级p=0。
步骤S2:关键节点包括普通事件队列和异步事件队列,每个计算机系统的事件包括发生事件与执行优先级两个属性,所有事件队列中的事件,按照事件发生的时间进行排序,时间相同的事件按照优先级高低进行排序,整个仿真过程共同维护一条共享时间轴。
本发明实施例中,如图3所示,每个事件都拥有执行时刻t与优先级p这两个内部属性,事件队列即事件按照执行时刻从小到大与优先级从高到低排列的二维链表结构,仿真时,事件按照事件队列的二维链表排列顺序执行,仿真过程中会不断删除已经执行完成的事件,一个事件也有可能向大于自己执行时刻的时间点插入新的事件,不允许向小于或等于自身执行时刻的时刻插入事件,这会导致因果关系错误。当只有一条事件队列(线程)时,时间轴时刻为仿真执行完的事件中最后一个事件的执行时刻;多条事件队列(线程)时,时间轴时刻为最后一次进行线程同步的时刻。
步骤S3:利用前瞻量与路障事件对所有关键节点进行同步;通过设置前瞻量,每隔一段时间,向所有事件队列分发路障事件,通过路障事件对所有并行的关键节点进行同步。
在特定时刻,向所有的事件队列分发一个拥有相同发生时间的路障事件,之后所有关键节点(线程)并行执行自身事件队列中的事件,每个关键节点(线程)的事件队列执行到路障事件后,暂停等待其他还未到达该时刻的关键节点(线程),当且仅当所有关键节点(线程)都到达路障事件后,仿真过程推进共享时间轴到该路障发生时间,并根据前瞻量向所有关键节点(线程)的事件队列中插入下一轮路障事件,再并行执行所有队列,不断循环直到仿真过程结束。
每个关键节点在执行自身普通事件队列中的事件时,会产生新的事件,这些事件可能分发到自身的普通事件队列或分发到其他节点的普通事件队列,为了避免因果关系错误,将分发到其他关键节点的新事件,先存储到所述其他关键节点(目标关键节点)的异步事件队列中,待所有关键节点(线程)都到达路障事件时,将异步事件队列中的事件合并到相应普通事件队列中,每一条事件队列按照事件的排列顺序从时间最小的事件开始执行。
本发明实施例中,如图4所示,自下而上的第一虚线与第二虚线之间各个线程并行执行,其中(1)对于产生的新事件属于自己线程的,则直接插入该线程的事件队列;(2)属于其他线程的,则先插入目标线程的异步事件队列;第二虚线表示插入的一组路障事件,先到的线程阻塞,等待所有线程到达;所有线程到达后进行同步,将异步事件队列中的事件并入事件队列,清空异步事件队列,线程同步时更新时间轴时间;继续执行直到第三虚线,即下一组插入的路障事件;线程a与线程b是分配到不同关键节点的两条线程,假设它们在某一时刻,向当前时刻前的前瞻量大小的时刻,插入路障事件后,开始并行执行自己普通事件队列中的事件,此时经过上一个周期的同步,它们各自的异步事件队列是空的。当一个线程率先到达路障事件后会被挂起等待,直到所有线程到达路障事件后进行线程同步。执行事件的过程中,线程a普通事件队列中的事件,有可能向自己的普通事件队列分发事件,该情况下,新事件会直接插入线程a的普通事件队列,并在本次周期内执行;如果新事件被分发到线程b中,则不会直接插入到线程b的普通事件队列中,而是插入线程b的异步事件队列中,此时该事件在本次循环中不会被执行,直到线程同步时,每条线程中的异步事件队列会把其中的事件全部插入到本线程的普通事件队列中。
这是一种有效的同步方式,但要注意的是,所有分发到其他关键节点的事件的发生事件属性大于当前周期路障事件的发生事件属性,即所有分发到其他线程的执行时刻不能小于等于当前周期路障事件的执行时刻,否则进行线程同步时会有事件被插入到过去的时刻,这会导致因果关系错误,这也是为什么我们之前设置前瞻量时不能大于各个关键节点之间延迟最小值的原因。
本发明的一种基于离散事件的计算机体系结构的并行仿真方法,通过设置前瞻量,每隔一段时间,利用路障事件与异步事件队列,对所有关键节点进行同步,在避免因果关系错误的条件下,利用现代计算机的并行计算能力,加速仿真过程。本发明进一步将待仿真体系结构系统,按功能与延迟划分与组合成多个关键节点,其中划分模块有利于提高仿真系统的并行度,合并低延迟模块有助于扩大前瞻量,降低同步开销,合理的关键节点选择能进一步加速仿真过程。
与前述基于离散事件的计算机体系结构的并行仿真方法的实施例相对应,本发明还提供了基于离散事件的计算机体系结构的并行仿真装置的实施例。
参见图5,本发明实施例提供的基于离散事件的计算机体系结构的并行仿真装置,包括存储器和一个或多个处理器,存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现上述实施例中的基于离散事件的计算机体系结构的并行仿真方法。
本发明基于离散事件的计算机体系结构的并行仿真装置的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本发明基于离散事件的计算机体系结构的并行仿真装置所在任意具备数据处理能力的设备的一种硬件结构图,除了图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的基于离散事件的计算机体系结构的并行仿真方法。
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备的外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。
Claims (8)
1.一种基于离散事件的计算机体系结构的并行仿真方法,其特征在于包括如下步骤:
步骤S1:将待仿真的计算机体系结构,按功能与延迟划分与组合成多个关键节点,并给每个关键节点分配一个线程,关键节点的选择遵循按功能划分、合并相邻低延迟模块的规则;
步骤S2:关键节点包括一组事件队列,每个计算机系统的事件包括发生事件属性与执行优先级属性,所有事件队列中的事件,按照事件发生的时间进行排序,时间相同的事件,按照优先级高低进行排序,整个仿真过程共同维护一条共享时间轴;
步骤S3:利用前瞻量与路障事件对所有关键节点进行同步,前瞻量小于等于各关键节点间的最小延迟;通过设置前瞻量,每隔一段时间,向所有事件队列分发路障事件,通过路障事件对所有并行的关键节点进行同步;向所有的事件队列分发一个拥有相同发生时间的路障事件,之后所有关键节点并行执行自身事件队列中的事件,每个关键节点的事件队列执行到路障事件后,暂停等待其他还未到达该时刻的关键节点,当且仅当所有关键节点都到达路障事件后,仿真过程推进共享时间轴到该路障发生时间,并根据前瞻量向所有关键节点的事件队列中插入下一轮路障事件,再并行执行所有队列,不断循环直到仿真过程结束。
2.根据权利要求1所述的基于离散事件的计算机体系结构的并行仿真方法,其特征在于:所述步骤S1中,待仿真的计算机体系结构包括中央处理机、一级缓存、二级缓存、三级缓存、加速器核心与主存,每个中央处理机拥有独立的一级缓存和二级缓存,共享三级缓存,三级缓存、加速器核心与主存通过总线相连;将相邻的中央处理机、一级缓存和二级缓存合并为一个关键节点。
3.根据权利要求1所述的基于离散事件的计算机体系结构的并行仿真方法,其特征在于:所述步骤S2中,发生事件属性为执行时刻t,执行优先级属性为优先级p,事件队列为事件按照执行时刻从小到大与优先级从高到低排列的二维链表结构,仿真时,事件按照事件队列的二维链表排列顺序执行,仿真过程中不断删除已经执行完成的事件,一个事件允许向大于自己执行时刻的时间点插入新的事件,不允许向小于或等于自身执行时刻的时刻插入事件,当只有一条事件队列时,时间轴时刻为仿真执行完的事件中最后一个事件的执行时刻;多条事件队列时,时间轴时刻为最后一次进行线程同步的时刻。
4.根据权利要求1所述的基于离散事件的计算机体系结构的并行仿真方法,其特征在于:所述关键节点包括普通事件队列和异步事件队列;所述步骤S3中,每个关键节点在执行自身普通事件队列中的事件时,会产生新的事件,将分发到其他关键节点的新事件,先存储到所述其他关键节点的异步事件队列中,待所有关键节点都到达路障事件时,将异步事件队列中的事件合并到相应普通事件队列中,每一条事件队列按照事件的排列顺序从时间最小的事件开始执行。
5.根据权利要求4所述的基于离散事件的计算机体系结构的并行仿真方法,其特征在于:所有分发到其他关键节点的事件的发生事件属性大于当前周期路障事件的发生事件属性。
6.一种基于离散事件的计算机体系结构的并行仿真装置,包括关键节点构建模块、仿真系统构建模块和关键节点同步模块,其特征在于:
所述关键节点构建模块,将待仿真的计算机体系结构,按功能与延迟划分与组合成多个关键节点,并给每个关键节点分配一个线程,关键节点的选择遵循按功能划分、合并相邻低延迟模块的规则;
所述仿真系统构建模块,关键节点包括一组事件队列,每个计算机系统的事件包括发生事件属性与执行优先级属性,所有事件队列中的事件,按照事件发生的时间进行排序,时间相同的事件,按照优先级高低进行排序,整个仿真系统共同维护一条共享时间轴;
所述关键节点同步模块,利用前瞻量与路障事件对所有关键节点进行同步,前瞻量小于等于各关键节点间的最小延迟;通过设置前瞻量,每隔一段时间,向所有事件队列分发路障事件,通过路障事件对所有并行的关键节点进行同步;向所有的事件队列分发一个拥有相同发生时间的路障事件,之后所有关键节点并行执行自身事件队列中的事件,每个关键节点的事件队列执行到路障事件后,暂停等待其他还未到达该时刻的关键节点,当且仅当所有关键节点都到达路障事件后,仿真过程推进共享时间轴到该路障发生时间,并根据前瞻量向所有关键节点的事件队列中插入下一轮路障事件,再并行执行所有队列,不断循环直到仿真过程结束。
7.根据权利要求6所述的基于离散事件的计算机体系结构的并行仿真装置,其特征在于:所述仿真系统构建模块中,发生事件属性为执行时刻t,执行优先级属性为优先级p,事件队列为事件按照执行时刻从小到大与优先级从高到低排列的二维链表结构,仿真时,事件按照事件队列的二维链表排列顺序执行,仿真系统中不断删除已经执行完成的事件,一个事件允许向大于自己执行时刻的时间点插入新的事件,不允许向小于或等于自身执行时刻的时刻插入事件,当只有一条事件队列时,时间轴时刻为仿真执行完的事件中最后一个事件的执行时刻;多条事件队列时,时间轴时刻为最后一次进行线程同步的时刻。
8.根据权利要求7所述的基于离散事件的计算机体系结构的并行仿真装置,其特征在于:所述关键节点包括普通事件队列和异步事件队列;所述关键节点同步模块中,每个关键节点在执行自身普通事件队列中的事件时,会产生新的事件,将分发到其他关键节点的新事件,先存储到所述其他关键节点的异步事件队列中,待所有关键节点都到达路障事件时,将异步事件队列中的事件合并到相应普通事件队列中,每一条事件队列按照事件的排列顺序从时间最小的事件开始执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310123062.0A CN115827170B (zh) | 2023-02-16 | 2023-02-16 | 基于离散事件的计算机体系结构的并行仿真方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310123062.0A CN115827170B (zh) | 2023-02-16 | 2023-02-16 | 基于离散事件的计算机体系结构的并行仿真方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115827170A CN115827170A (zh) | 2023-03-21 |
CN115827170B true CN115827170B (zh) | 2023-07-14 |
Family
ID=85521615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310123062.0A Active CN115827170B (zh) | 2023-02-16 | 2023-02-16 | 基于离散事件的计算机体系结构的并行仿真方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115827170B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463326A (zh) * | 2020-11-25 | 2021-03-09 | 中国人民解放军海军航空大学 | 连续离散混合系统仿真推进方法及装置、设备及介质 |
CN115630937A (zh) * | 2022-12-21 | 2023-01-20 | 北京京东振世信息技术有限公司 | 物流网络仿真的时间同步方法、装置和存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662428B (zh) * | 2012-03-01 | 2015-02-04 | 中国科学院计算技术研究所 | 一种离散事件网络模拟环境的时钟同步方法 |
CN104866374B (zh) * | 2015-05-22 | 2018-07-06 | 北京华如科技股份有限公司 | 基于多任务的离散事件并行仿真及时间同步方法 |
US10264028B2 (en) * | 2016-10-26 | 2019-04-16 | Raytheon Company | Central emulator device and method for distributed emulation |
CN114866178A (zh) * | 2022-03-31 | 2022-08-05 | 北京轩宇信息技术有限公司 | 一种基于步长的分布式仿真系统时间同步方法 |
CN115686789A (zh) * | 2022-11-01 | 2023-02-03 | 厦门渊亭信息科技有限公司 | 一种离散事件并行处理方法、终端设备及存储介质 |
-
2023
- 2023-02-16 CN CN202310123062.0A patent/CN115827170B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463326A (zh) * | 2020-11-25 | 2021-03-09 | 中国人民解放军海军航空大学 | 连续离散混合系统仿真推进方法及装置、设备及介质 |
CN115630937A (zh) * | 2022-12-21 | 2023-01-20 | 北京京东振世信息技术有限公司 | 物流网络仿真的时间同步方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115827170A (zh) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10509876B2 (en) | Simulation using parallel processors | |
US9558306B2 (en) | Retiming a design for efficient parallel simulation | |
US8738349B2 (en) | Gate-level logic simulator using multiple processor architectures | |
CN111090464B (zh) | 一种数据流处理方法及相关设备 | |
CN102591759B (zh) | 片上众核处理器时钟精确并行仿真系统 | |
US20130227194A1 (en) | Active non-volatile memory post-processing | |
CN110874271B (zh) | 一种海量建筑图斑特征快速计算方法及系统 | |
CN104243617A (zh) | 一种异构集群中面向混合负载的任务调度方法及系统 | |
CN107992358B (zh) | 一种适用于核外图处理系统的异步io执行方法及系统 | |
Chung et al. | SimParallel: A high performance parallel SystemC simulator using hierarchical multi-threading | |
Bobrek et al. | Modeling shared resource contention using a hybrid simulation/analytical approach | |
CN109783239A (zh) | SystemC仿真调度核的多线程优化方法、系统及介质 | |
CN115827170B (zh) | 基于离散事件的计算机体系结构的并行仿真方法及装置 | |
CN116090382B (zh) | 时序报告生成方法和设备 | |
US8768678B1 (en) | Scheduling processes in simulation of a circuit design based on simulation costs and runtime states of HDL processes | |
Vianna et al. | Modeling the performance of the Hadoop online prototype | |
Cui et al. | Modeling the performance of MapReduce under resource contentions and task failures | |
Sang et al. | A fast implementation of parallel discrete-event simulation on GPGPU | |
Tang et al. | A network load perception based task scheduler for parallel distributed data processing systems | |
German | Formal design of cache memory protocols in IBM | |
US9507896B2 (en) | Quasi-dynamic scheduling and dynamic scheduling for efficient parallel simulation | |
Haggarty et al. | Distributed response time analysis of GSPN models with MapReduce | |
JP2020144765A (ja) | 記述変換方法、シミュレーション方法及び記述変換プログラム | |
Kraemer et al. | Reducing the number of response time SLO violations by a cloud-HPC convergence scheduler | |
Phillips | A review of high performance simulation tools and modeling concepts |
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 |