CN101788919A - 片上多核处理器时钟精确并行仿真系统及仿真方法 - Google Patents
片上多核处理器时钟精确并行仿真系统及仿真方法 Download PDFInfo
- Publication number
- CN101788919A CN101788919A CN201010104449A CN201010104449A CN101788919A CN 101788919 A CN101788919 A CN 101788919A CN 201010104449 A CN201010104449 A CN 201010104449A CN 201010104449 A CN201010104449 A CN 201010104449A CN 101788919 A CN101788919 A CN 101788919A
- Authority
- CN
- China
- Prior art keywords
- thread
- simulation
- nuclear
- emulation
- roadblock
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种片上多核处理器时钟精确并行仿真系统及其方法,所述系统包括初始化仿真系统的管理线程,所述管理线程根据仿真对象系统的核心数目或用户指定的参数创建核线程,其特征在于所述管理线程接受核线程发送的访问数据事件并设置作用于核线程的悬挂路障,当最小本地时钟的核线程到达预定时钟周期未接受到数据时,核线程移动悬挂路障同步前进形成滑动仿真时间窗口。经仿真实验证实,本系统大大提高了多核处理器并行仿真的精确度及仿真性能。
Description
技术领域
本发明属于信息处理系统处理器的仿真领域,具体的说是一种在共享存储多处理器机器平台上时钟精确的并行仿真片上多核处理器的技术。
背景技术
计算机体系结构仿真器技术用软件方法在体系结构的层次从时间上仿真计算机系统的行为,是计算机体系结构及软件理论研究者所依赖的重要工具,在学术界和产业界有着广泛的应用。该类型仿真器早期主要的仿真对象是单处理器系统,性能、灵活性、细节程度是衡量该类型仿真器的主要指标。
随着多核时代的来临,该类型仿真器将仿真对象扩展到了多核处理器系统,然而传统的单处理器串行仿真技术在应用到多核系统仿真时遇到了性能瓶颈。串行仿真必须遍历仿真每一个处理器核,并且系统后端的行为也随着核数增加而更加复杂,这导致仿真器运行时间随着核数增加而超线性上升。当仿真对象系统的规模达到上百乃至上千个核时,仿真器的耗时程度将令使用者难以容忍。
多核处理器系统仿真器中各处理器核模块存在内在的并行性,因此使用并行仿真技术是提高性能的有效途径之一。在共享存储机器平台上,使用多线程编程模型,多核仿真器可实现为一条线程仿真一块或多块处理器核,通过多条线程并行的执行以加快仿真速度。但各处理器核模块并不完全独立,它们主要通过共享的二级高速缓存交换数据,各条处理器核仿真线程必须保证彼此交换数据时不会出现因果逻辑错误,即某线程收到其他线程发送来的数据时,本地时钟不会前进的太快以至于数据过时了。这一问题属于离散事件并行仿真(PDES)的领域,解决方法主要有路障同步协议。
路障同步根据对象系统的特性寻找事件发生时间之间的前瞻量,通过设置路障确保任何两个逻辑处理器之间的本地时间差保持在前瞻量范围内,发送给其他逻辑处理器的事件必然在前瞻量之后的时间点发生,从而避免了因果逻辑错误的产生。所谓前瞻量是某逻辑处理器产生的事件对其他逻辑处理器产生影响所需要经过的最小时间。路障同步以前瞻量为周期把仿真时间划分成了固定的同步间隔。在多核系统仿真中,前瞻量一般是二级高速缓存的访问延迟,只有大约10个时钟周期,这严重限制了仿真线程的并发程度。
路障同步技术把二级高速缓存延迟作为前瞻量,在更精细的系统模型中,这种前瞻量会引起因果逻辑错误,其原因有两个方面:1、更精细的系统模型需要更细致的互连网络,互连网络是数据的交流通道,同时受多个处理器核的影响,但其传输延迟只有一、二个时钟周期,小于二级缓存的延迟,无法利用前瞻量并行化仿真;2、从低层高速缓存返回的反馈数据必须通过互连网络传输给处理器核,受互连网络串行仿真的限制,高速缓存一致性协议产生的返回事件仍然无法利用前瞻量。
另外,互连网络承担了繁重的数据传输任务,如果完全串行化仿真,可能成为性能中的一个瓶颈。功能仿真子系统嵌入在系统前端仿真模块中与之一起被并行化,这导致工作负载中共享变量的竞争性访问,可能引起逻辑死锁使得仿真器停止运行。而且并行仿真器软件存在大量的共享变量及动态分配的变量。共享变量的并行写会产生数据竞争;不同线程交叉分配动态变量可能造成假共享,两者都会严重降低仿真器的性能。
发明内容
本发明目的在于提供一种片上多核处理器时钟精确并行仿真系统,解决了现有技术中并行仿真器带来的因果逻辑错误、对共享变量的竞争性访问导致的逻辑死锁以及不同线程交叉分配动态变量造成假共享等问题。
为了解决现有技术中的这些问题,本发明提供的技术方案是:
一种片上多核处理器时钟精确并行仿真系统,包括初始化仿真系统的管理线程,所述管理线程根据仿真对象系统的核心数目或用户指定的参数创建核线程,其特征在于所述管理线程接受核线程发送的访问数据事件并设置作用于核线程的悬挂路障,当最小本地时钟的核线程到达预定时钟周期未接受到数据时,核线程移动悬挂路障同步前进形成滑动仿真时间窗口。
优选的,所述核线程仿真一个或多个处理器核及私有一级高速缓存、一级高速缓存到二级高速缓存的点对点连接通道,所述管理线程仿真二级高速缓存、主存、低层互连网络。
优选的,所述系统设置有相互分离的功能仿真模块、时序仿真模块,所述功能仿真模块完成工作负载的功能性仿真并驱动时序仿真模块前进,所述时序仿真模块完成工作负载在对象系统上运行的性能仿真,记录各种系统状态。
优选的,所述功能仿真模块还包括工作负载存储空间的共享变量访问控制模块,所述工作负载存储空间的共享变量访问控制模块识别设置在工作负载源代码的同步原语前后的注释指令,并控制核线程互斥访问同步原语间的共享变量。
本发明的另一目的在于提供一种片上多核处理器时钟精确并行仿真方法,其特征在于所述方法包括当核线程发生二级高速缓存访问请求时,包括以下步骤:
(1)管理线程为核线程创建一个带有反馈数据预测返回时间戳的悬挂路障;
(2)核线程的本地时钟到达悬挂路障的时间戳却没有收到反馈数据时,停止本地时钟的前进;
(3)访问请求必须由更低级高速缓存或远地高速缓存满足时,管理线程更新悬挂路障的时间戳为新的数据预测返回时间,核线程可继续前进到新的时间戳形成滑动仿真时间窗口;
(4)当核线程收到反馈数据后,仿真器清除悬挂路障。
优选的,所述方法中核线程仿真一个或多个处理器核及私有一级高速缓存、一级高速缓存到二级高速缓存的点对点连接通道,所述管理线程仿真二级高速缓存、主存、低层互连网络。
优选的,所述方法还包括通过线程局部存储私有化全局变量消除数据竞争的步骤。
优选的,所述方法还包括使用线程私有动态空间分配库分配动态变量消除不同线程私有变量的交叉分配引起的假共享的步骤。
优选的,所述方法还包括在工作负载源代码的同步原语前后插入注释指令,仿真模块根据注释指令识别出同步原语指令段,并控制核线程互斥访问同步原语间的共享变量。
本发明的核心在于,管理线程与需要访问二级高速缓存的核线程之间通过悬挂路障同步消除可能产生的因果逻辑错误,并通过滑动仿真时间窗口降低悬挂路障的同步开销。另外,为提高仿真性能,本发明的多核仿真器使用功能仿真与时序仿真分离的策略,其特点是功能仿真模块完成工作负载的功能性仿真并驱动时序仿真模块前进,时序仿真模块完成工作负载在对象系统上运行的性能仿真,记录各种系统状态。
本发明所实现的并行仿真器的整体架构可以为在共享存储机器平台上使用多线程编程模型搭建的多核处理器并行仿真器。所有仿真线程分为两类:处理器核线程与管理线程,每条核线程仿真一块或多块处理器核及私有一级高速缓存并以本地时钟前进,唯一的管理线程仿真其他系统后端并以全局时钟前进,全局时钟与所有核线程中最慢的局部时间保持一致。所有核线程通过管理线程交流信息,并使用基于路障同步技术的悬挂路障方法保持线程间的同步,同步只发生在核线程与管理线程之间。应理解,该仿真器架构是本发明的应用实例而本发明不限于此实例的范围,叙述该架构是为了辅助说明下列技术方案。
本发明的悬挂路障同步方法以路障同步技术为基础,在同步周期内插入作用于核线程的路障以保证不会出现因果逻辑错误,其步骤包括:
A、当某核线程发生二级高速缓存访问请求时,向管理线程发送相应的事件,管理线程接收到此事件将其放入调度堆中,并以预测的反馈数据返回时间为时间戳创建悬挂路障。该次预测默认访问会命中,预测返回时间为全局时钟加上二级高速缓存访问延迟;
B、该源核线程的本地时钟到达悬挂路障的时间戳却没有接收到反馈数据时,停止本地时钟的前进;
C、管理线程从调度堆中取出并处理事件,有两种情况发生:
C1、发现该访问命中时,或接收到远地高速缓存的返回数据时,向源核线程发回返回数据;
C2、发现该访问请求必须由更低级高速缓存或远地高速缓存满足时,产生新的访问请求,并预测新请求数据的返回时间,更新悬挂路障的时间戳为新的预测返回时间;
D、管理线程发现全局时钟超过悬挂路障的时间戳时,更新悬挂路障的时间戳为全局时钟;
E、源核线程发现悬挂路障更新,恢复仿真,继续前进直到本地时钟到达新的时间戳;
F、源核线程收到返回数据后,向管理线程发回确认消息,管理线程清除悬挂路障;这时源核线程可能已被阻塞,也可能未到达路障时间戳,无论何种情况,它都会继续前进。由于源核线程收到返回数据时本地时钟不会超过其时间戳,不再存在因果逻辑错误产生的可能性。
由于互连网络传输延迟过小,仿真器很难将单一网络划分给不同线程并行仿真,但多核系统一般存在多层次的网络,其中有些网络的通信活动局部于相关处理器核,例如一级高速缓存到二级高速缓存的点到点通道,本发明把这种通道划分给相应核线程,以提高并行化程度;其他处理器核节点之间的互连网络不再划分,由管理线程线性仿真。
由于逻辑死锁是由工作负载同步原语代码中共享变量的并发访问引起的,本发明通过在代码中插入注释指令保护共享变量,具体步骤如下:
在测试程序同步原语代码的前后插入注释指令:sync_start、sync_end,把源文件编译成可执行文件;核线程仿真到sync_start指令后,功能仿真子系统访问仿真对象工作空间的变量前必须先获得内存锁;核线程获得内存锁后,访问工作空间的变量,然后释放锁;核线程仿真到sync_end指令后,可以直接访问工作空间的变量,不再需要获得锁。
共享变量一般来源于全局变量,本发明使用编译器支持的线程局部存储(TLS)技术私有化全局变量以消除数据竞争;但编译期间的线程局部存储技术无法定义动态分配的变量,本发明利用dlmalloc库中的私有空间分配技术,为每条线程创建一块私有空间,线程在私有空间中动态分配变量,消除了交叉分配引起的假共享。
相对于现有技术中的方案,本发明的优点是:
本发明的多核处理器并行仿真系统经仿真实验证实,本系统提高多核处理器并行仿真的精确度及仿真性能。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1为本发明实施例多核处理器时钟精确并行仿真对象系统的一种体系结构;
图2为本发明实施例多核处理器时钟精确并行仿真系统的一种实现架构;
图3为现有技术中路障同步时细致互连网络及高速缓存一致性协议的仿真过程;
图4为本发明实施例悬挂路障同步的处理过程;
图5为本发明实施例并行仿真器运行多线程负载时的加速比结果;
图6为本发明实施例并行仿真器运行多线程负载时的扩展性结果;
图7为本发明实施例悬挂路障同步与路障同步仿真时间的比值。
具体实施方式
以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本发明而不限于限制本发明的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规实验中的条件。
实施例多核处理器时钟精确并行仿真器的实现及性能测试
本实施例在使用POSIX多线程编程库并行化Multi2sim-2.1串行仿真器的基础上,实现了多核处理器时钟精确并行仿真器。本实施例以主pthread线程作为管理线程初始化仿真器,完成初始化后,管理线程根据仿真对象系统的核心数目及用户指定的参数创建多条子线程作为仿真核线程,所有线程并行执行直到测试程序仿真结束。
本实施例仿真对象系统的体系结构如图1所示,仿真对象系统前端是X86超标量处理器模型,后端是部分共享的存储结构及全局共享的内存控制器。
本实施例并行仿真器的总体架构如图2所示,每条核线程仿真一个或多个处理器核及私有一级高速缓存、连接通道,管理线程仿真二级高速缓存、主存、低层互连网络等其他模块。每条核线程拥有两条无锁队列:事件接受队列与事件发送队列,接受队列实现管理线程发送事件给核线程的机制,发送队列实现核线程发送事件给管理线程的机制,核线程与管理线程间通过悬挂路障方法同步。每条核线程按本地时钟的节拍前进,在每个时钟周期内根据前端模块的状态决定功能仿真子系统完成零或多条指令的仿真,功能仿真促使处理器流水线的更新,并产生LOAD、STORE事件以驱动后端运转。系统后端主要由管理线程仿真,按全局时钟的节拍前进,所有活动由事件机制驱动。系统后端在一定时钟周期后完成LOAD、STORE的请求,把反馈数据返回给系统前端使其更新流水线状态。仿真过程中,每条核线程的本地时钟受外层路障同步路障与内层悬挂路障的共同控制,到达任何一个路障之后将会被阻塞,全局时钟保持与最慢核线程的本地时钟一致,管理线程根据全局时钟每周期更新外层路障的时间戳,并可能更新内层悬挂路障的时间戳。
图3说明了路障同步协议在仿真细致的网络模型及高速缓冲一致性协议时产生因果逻辑错误的一种情况。核线程二在同步周期K发生一级高速缓存缺失,产生二级高速缓存访问请求,经过网络通道的传输后,把访问到达事件发送给管理线程,这里的网络通道是私有的,传输事件由核线程仿真;管理线程收到后把该事件放入到调度堆中,然后在全局时钟达到其时间戳时取出该事件处理,此时它发现二级高速缓存仍然缺失,于是产生三级高速缓存访问请求事件,该请求将等待二级缓存访问延迟完成,在第K+1个同步周期被处理,经过网络传输的仿真过程送到三级高速缓存;然后管理线程发现三级缓存访问命中,产生反馈数据传输事件,该图假设三级高速缓存访问延迟等于前瞻量,因此在第K+2个同步周期,也就是三级高速缓存访问完成后,反馈数据传输事件才会发生,此次及上一次的传输网络由于被多个处理器核共享只能被管理线程仿真;传输完成后,管理线程将向核线程二发回数据到达事件,由于在同一同步周期内核线程前进速度具有不确定性,核线程二的本地时钟在收到到达事件时可能已经超过了事件的时间戳,从而违反了因果逻辑。
图4说明了悬挂路障是如何阻止因果逻辑错误在第K+2个同步周期产生的。当管理线程收到二级缓存访问请求时,为核线程二在第K+1个同步周期创建一个悬挂路障,由于此后很快被更新,该悬挂路障暂时不会阻塞核线程二;随后管理线程发现二级缓存访问缺失,需要访问三级缓存,于是更新悬挂路障的时间戳,新的时间戳是原值加上三级缓存的访问延迟及预测的网络传输延迟;其后可能还有数次更新;直到管理线程收到核线程二对数据到达的事件的确认消息,悬挂路障才会被撤销。这个过程中核线程可能因为本地时钟到达了悬挂路障的时间戳而被阻塞。如果全局时钟在某时刻到达了悬挂路障的时间戳,由于全局时钟是最慢的逻辑时钟,核线程必定已经被阻塞,为避免死锁此时管理线程需要把悬挂路障递增一个时钟周期。
需要说明的是,以上描述虽然未明显提及高速缓存一致性协议,但所述过程中产生的缓存访问、反馈等事件均由高速缓存一致性协议控制,因此悬挂路障同步解决的是高速缓存一致性协议中产生的仿真问题。
图3、图4也揭示了本实施例如何对网络模块进行划分。由于二级缓冲命中时,没有低层网络的传输事件,因此连接一级缓存与二级缓存的网络一般会更加繁忙,把这部分网络通道划分给各核线程将减轻管理线程的负担,有益于并行度的提高。
本实施例使用gcc支持的嵌入式汇编定义了两个空操作的X86系统调用指令,并在测试程序源代码的barrier、mutex等同步原语函数前后插入这两个指令,功能仿真子系统据此判断是否到达或退出同步原语指令段。如下为避免功能仿真子系统逻辑死锁的注释指令在本实施例中的一种实现方式。
同步开始的注释指令:
#define SYNC_BEGIN asm(″movl%0,%%eax\n\t″\
″movl%1,%%ebx\n\t″ \
″int$0x80\n\t″ \
: /*output*/\
:″r″(325),″r″(0) /*input*/\
:″%eax″,″%ebx″ \
);
同步结束的注释指令:
#define SYNC_END asm(″movl%0,%%eax\n\t″\
″movl%1,%%ebx\n\t″ \
″int$0x80\n\t″ \
: /*output*/\
:″r″(326),″r″(0) /*input*/ \
:″%eax″,″%ebx″ \
);
注释指令插入到同步原语前后可以如下:
Define(BARRIER,`
SYNC_BEGIN
pthread_barrier_wait(&($1));
SYNC_END
′)
本实施例以dlmalloc库所支持mspace_calloc、mspace_realloc等函数代替了C标准库中的calloc、realloc等分配函数,在核线程初始化之前为每条核线程分配了一块私有空间,私有空间的粒度为64K,每次私有空间被消耗完之后,dlmalloc库自动为其扩张64K的空间;核线程初始化及运行过程中所有动态变量的分配都必须指定私有空间,从私有空间内获取存储块。私有空间的相互隔离基本消除了假共享现象。
如下给出了本实施例如何使用线程私有空间动态分配变量的一种实施方式:
for(i=0;i<host_threads-1;i++)
private_space[i]=create_mspace(0,0);
......
for(i=0;i<host_threads;i++)
{
event_procs[i]=mspace_calloc(private_space[i],1,sizeof(struct list_t));
list_create(private_space[i],event_procs[i],10);
heap_create(private_space[i],20,event_heap[i]);
repos_create(private_space[i],sizeof(struct event_t),″event_repos″,
event_repos[i]);
host_thd[i].self.event_out_q.pool=
mspace_calloc(private_space[i],eq_len,sizeof(eq_entry));
host_thd[i].mnger.event_in_q.pool=
mspace_calloc(private_space[i],eq_len,sizeogf(eq_entry));
}
实验环境及实验结果:本实施例所用的服务器是曙光天演EP850-GF小型机,该小型机具体配置如下:8颗4核AMD Opteron 83461.8G HE CPU,32G DDR2ECC内存,4*146G SAS硬盘。该服务器运行的操作系统是LinuxDebain(X86-64)。实验以一条核线程仿真两块前端模块,工作负载为Splash2多线程测试集中的8个代表性程序:FFT、LU-non-contiguous、LU-contiguous、RADIX、CHOLESKY、WATER-spatial、WATER-nsquared、OCEAN-contiguous。图5给出了该仿真器运行上述工作负载时相对于串行仿真器的加速比,可以看出,该仿真器达到了较高的加速比,创建4条核线程仿真时达到平均3.48的加速比,创建8条核线程仿真时达到平均5.63倍的加速比,创建16条核线程仿真时达到平均8.66倍的加速比。但平均加速比掩盖了测试程序之间的差异,不能以此衡量仿真器的扩展性。从图6每项测试程序在不同核线程数下的加速比折线可以看出,单项测试程序随着核线程增加时表现出合理的扩展性。
图7给出了使用悬挂路障同步的仿真器相对于使用纯粹路障同步机制的仿真器仿真时间的比值,可以看出,悬挂路障同步并没有明显降低路障同步技术的性能,两者表现出的差异是由并行仿真内在的不确性形成的。
综上所述,本实施例说明本发明能够有效解决多核处理器系统并行仿真中细致互连网络及高速缓存一致性协议的仿真问题,并保持了较高的性能与合理的扩展性。
上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。
Claims (8)
1.一种片上多核处理器时钟精确并行仿真系统,包括初始化仿真系统的管理线程,所述管理线程根据仿真对象系统的核心数目或用户指定的参数创建核线程,其特征在于所述管理线程接受核线程发送的访问数据事件并设置作用于核线程的悬挂路障,当最小本地时钟的核线程到达预定时钟周期未接受到数据时,核线程移动悬挂路障同步前进形成滑动仿真时间窗口。
2.根据权利要求1所述的片上多核处理器时钟精确并行仿真系统,其特征在于所述核线程仿真一个或多个处理器核及私有一级高速缓存、一级高速缓存到二级高速缓存的点对点连接通道,所述管理线程仿真二级高速缓存、主存、低层互连网络。
3.根据权利要求1所述的片上多核处理器时钟精确并行仿真系统,其特征在于所述系统设置有相互分离的功能仿真模块、时序仿真模块,所述功能仿真模块完成工作负载的功能性仿真并驱动时序仿真模块前进,所述时序仿真模块完成工作负载在对象系统上运行的性能仿真,记录各种系统状态。
4.根据权利要求3所述的片上多核处理器时钟精确并行仿真系统,其特征在于所述功能仿真模块还包括工作负载存储空间的共享变量访问控制模块,所述工作负载存储空间的共享变量访问控制模块识别设置在工作负载源代码的同步原语前后的注释指令,并控制核线程互斥访问同步原语间的共享变量。
5.一种片上多核处理器时钟精确并行仿真方法,其特征在于所述方法包括当核线程发生二级高速缓存访问请求时,包括以下步骤:
(1)管理线程为核线程创建一个带有反馈数据预测返回时间戳的悬挂路障;
(2)核线程的本地时钟到达悬挂路障的时间戳却没有收到反馈数据时,停止本地时钟的前进;
(3)访问请求必须由更低级高速缓存或远地高速缓存满足时,管理线程更新悬挂路障的时间戳为新的数据预测返回时间,核线程可继续前进到新的时间戳形成滑动仿真时间窗口;
(4)当核线程收到反馈数据后,仿真器清除悬挂路障。
6.根据权利要求5所述的方法,其特征在于所述方法中核线程仿真一个或多个处理器核及私有一级高速缓存、一级高速缓存到二级高速缓存的点对点连接通道,所述管理线程仿真二级高速缓存、主存、低层互连网络。
7.根据权利要求5所述的方法,其特征在于所述方法还包括通过线程局部存储私有化全局变量消除数据竞争的步骤。
8.根据权利要求5所述的方法,其特征在于所述方法还包括使用线程私有动态空间分配库分配动态变量消除不同线程私有变量的交叉分配引起的假共享的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010104449 CN101788919B (zh) | 2010-01-29 | 2010-01-29 | 片上多核处理器时钟精确并行仿真系统及仿真方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010104449 CN101788919B (zh) | 2010-01-29 | 2010-01-29 | 片上多核处理器时钟精确并行仿真系统及仿真方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101788919A true CN101788919A (zh) | 2010-07-28 |
CN101788919B CN101788919B (zh) | 2013-08-14 |
Family
ID=42532142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010104449 Expired - Fee Related CN101788919B (zh) | 2010-01-29 | 2010-01-29 | 片上多核处理器时钟精确并行仿真系统及仿真方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101788919B (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102368729A (zh) * | 2011-09-23 | 2012-03-07 | 北京东方网信科技股份有限公司 | 一种在非实时系统上精确网络限速的方法 |
CN102375780A (zh) * | 2011-10-25 | 2012-03-14 | 无锡城市云计算中心有限公司 | 一种分布式文件系统中元数据缓存管理的方法 |
CN102467406A (zh) * | 2010-11-09 | 2012-05-23 | 无锡江南计算技术研究所 | 多处理器结构的模拟方法及模拟器 |
CN102591759A (zh) * | 2011-12-29 | 2012-07-18 | 中国科学技术大学苏州研究院 | 片上众核处理器时钟精确并行仿真系统 |
CN103049310A (zh) * | 2012-12-29 | 2013-04-17 | 中国科学院深圳先进技术研究院 | 一种基于采样的多核模拟并行加速方法 |
CN103136032A (zh) * | 2013-02-28 | 2013-06-05 | 北京时代民芯科技有限公司 | 一种多核体系并行仿真系统 |
CN103677965A (zh) * | 2014-01-03 | 2014-03-26 | 北京神舟航天软件技术有限公司 | 一种全数字快速仿真技术 |
CN104598306A (zh) * | 2014-12-05 | 2015-05-06 | 中国航空工业集团公司第六三一研究所 | Phm仿真验证中的一种进程调度方法 |
CN104615492A (zh) * | 2015-03-01 | 2015-05-13 | 中国人民解放军国防科学技术大学 | 一种多核并行离散事件仿真的内存管理方法 |
CN104866374A (zh) * | 2015-05-22 | 2015-08-26 | 北京华如科技股份有限公司 | 基于多任务的离散事件并行仿真及时间同步方法 |
CN105785789A (zh) * | 2015-12-29 | 2016-07-20 | 上海科梁信息工程股份有限公司 | 高空飞艇的仿真系统 |
CN105930242A (zh) * | 2016-05-06 | 2016-09-07 | 中国科学院计算技术研究所 | 一种支持精确访存检测的多核处理器随机验证方法及装置 |
CN103207831B (zh) * | 2012-01-13 | 2017-03-15 | 上海华虹集成电路有限责任公司 | 处理器芯片仿真器 |
CN107172650A (zh) * | 2016-03-08 | 2017-09-15 | 中兴通讯股份有限公司 | 一种大规模复杂无线通信系统的仿真方法和系统 |
CN107193639A (zh) * | 2017-06-05 | 2017-09-22 | 北京航空航天大学 | 一种支持联合作战的多核并行仿真引擎系统 |
CN109637312A (zh) * | 2019-01-28 | 2019-04-16 | 安徽师范大学 | 一种片上数字电子技术实验系统 |
US10445445B2 (en) * | 2016-04-22 | 2019-10-15 | Synopsys, Inc. | Sliding time window control mechanism for parallel execution of multiple processor core models in a virtual platform simulation |
CN117195591A (zh) * | 2023-11-06 | 2023-12-08 | 成都大征创智科技有限公司 | 一种异构节点的分布式全局时序控制周期效率优化方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100499556C (zh) * | 2007-10-17 | 2009-06-10 | 中国人民解放军国防科学技术大学 | 异构多核处理器高速异步互连通信网络 |
CN101169743A (zh) * | 2007-11-27 | 2008-04-30 | 南京大学 | 电力网格中基于多核计算机实现并行潮流计算的方法 |
CN100573456C (zh) * | 2007-12-10 | 2009-12-23 | 华中科技大学 | 一种并行多处理器虚拟机系统 |
-
2010
- 2010-01-29 CN CN 201010104449 patent/CN101788919B/zh not_active Expired - Fee Related
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102467406B (zh) * | 2010-11-09 | 2014-04-16 | 无锡江南计算技术研究所 | 多处理器结构的模拟方法及模拟器 |
CN102467406A (zh) * | 2010-11-09 | 2012-05-23 | 无锡江南计算技术研究所 | 多处理器结构的模拟方法及模拟器 |
CN102368729B (zh) * | 2011-09-23 | 2013-11-27 | 北京东方网信科技股份有限公司 | 一种在非实时系统上精确网络限速的方法 |
CN102368729A (zh) * | 2011-09-23 | 2012-03-07 | 北京东方网信科技股份有限公司 | 一种在非实时系统上精确网络限速的方法 |
CN102375780B (zh) * | 2011-10-25 | 2014-07-30 | 无锡城市云计算中心有限公司 | 一种分布式文件系统中元数据缓存管理的方法 |
CN102375780A (zh) * | 2011-10-25 | 2012-03-14 | 无锡城市云计算中心有限公司 | 一种分布式文件系统中元数据缓存管理的方法 |
CN102591759A (zh) * | 2011-12-29 | 2012-07-18 | 中国科学技术大学苏州研究院 | 片上众核处理器时钟精确并行仿真系统 |
CN102591759B (zh) * | 2011-12-29 | 2014-08-13 | 中国科学技术大学苏州研究院 | 片上众核处理器时钟精确并行仿真系统 |
CN103207831B (zh) * | 2012-01-13 | 2017-03-15 | 上海华虹集成电路有限责任公司 | 处理器芯片仿真器 |
CN103049310A (zh) * | 2012-12-29 | 2013-04-17 | 中国科学院深圳先进技术研究院 | 一种基于采样的多核模拟并行加速方法 |
CN103049310B (zh) * | 2012-12-29 | 2016-12-28 | 中国科学院深圳先进技术研究院 | 一种基于采样的多核模拟并行加速方法 |
CN103136032A (zh) * | 2013-02-28 | 2013-06-05 | 北京时代民芯科技有限公司 | 一种多核体系并行仿真系统 |
CN103136032B (zh) * | 2013-02-28 | 2016-02-10 | 北京时代民芯科技有限公司 | 一种多核体系并行仿真系统 |
CN103677965A (zh) * | 2014-01-03 | 2014-03-26 | 北京神舟航天软件技术有限公司 | 一种全数字快速仿真技术 |
CN103677965B (zh) * | 2014-01-03 | 2017-03-22 | 北京神舟航天软件技术有限公司 | 一种全数字快速仿真方法 |
CN104598306A (zh) * | 2014-12-05 | 2015-05-06 | 中国航空工业集团公司第六三一研究所 | Phm仿真验证中的一种进程调度方法 |
CN104598306B (zh) * | 2014-12-05 | 2018-12-25 | 中国航空工业集团公司第六三一研究所 | Phm仿真验证中的一种进程调度方法 |
CN104615492A (zh) * | 2015-03-01 | 2015-05-13 | 中国人民解放军国防科学技术大学 | 一种多核并行离散事件仿真的内存管理方法 |
CN104866374B (zh) * | 2015-05-22 | 2018-07-06 | 北京华如科技股份有限公司 | 基于多任务的离散事件并行仿真及时间同步方法 |
CN104866374A (zh) * | 2015-05-22 | 2015-08-26 | 北京华如科技股份有限公司 | 基于多任务的离散事件并行仿真及时间同步方法 |
CN105785789A (zh) * | 2015-12-29 | 2016-07-20 | 上海科梁信息工程股份有限公司 | 高空飞艇的仿真系统 |
CN107172650A (zh) * | 2016-03-08 | 2017-09-15 | 中兴通讯股份有限公司 | 一种大规模复杂无线通信系统的仿真方法和系统 |
US10445445B2 (en) * | 2016-04-22 | 2019-10-15 | Synopsys, Inc. | Sliding time window control mechanism for parallel execution of multiple processor core models in a virtual platform simulation |
CN105930242A (zh) * | 2016-05-06 | 2016-09-07 | 中国科学院计算技术研究所 | 一种支持精确访存检测的多核处理器随机验证方法及装置 |
CN105930242B (zh) * | 2016-05-06 | 2018-07-06 | 中国科学院计算技术研究所 | 一种支持精确访存检测的多核处理器随机验证方法及装置 |
CN107193639A (zh) * | 2017-06-05 | 2017-09-22 | 北京航空航天大学 | 一种支持联合作战的多核并行仿真引擎系统 |
CN107193639B (zh) * | 2017-06-05 | 2020-11-24 | 北京航空航天大学 | 一种支持联合作战的多核并行仿真引擎系统 |
CN109637312A (zh) * | 2019-01-28 | 2019-04-16 | 安徽师范大学 | 一种片上数字电子技术实验系统 |
CN117195591A (zh) * | 2023-11-06 | 2023-12-08 | 成都大征创智科技有限公司 | 一种异构节点的分布式全局时序控制周期效率优化方法 |
CN117195591B (zh) * | 2023-11-06 | 2024-01-09 | 成都大征创智科技有限公司 | 一种异构节点的分布式全局时序控制周期效率优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101788919B (zh) | 2013-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101788919B (zh) | 片上多核处理器时钟精确并行仿真系统及仿真方法 | |
Alhammad et al. | Time-predictable execution of multithreaded applications on multicore systems | |
Lv et al. | Combining abstract interpretation with model checking for timing analysis of multicore software | |
CN102591759B (zh) | 片上众核处理器时钟精确并行仿真系统 | |
Gustavsson et al. | Towards WCET analysis of multicore architectures using UPPAAL | |
Chen et al. | SlackSim: A platform for parallel simulations of CMPs on CMPs | |
CN103577376B (zh) | 改善多核芯处理器的处理性能的方法 | |
US8352924B2 (en) | Method and device for multi-core instruction-set simulation | |
TW201413456A (zh) | 處理巢狀串流事件的方法和系統 | |
US6507809B1 (en) | Method and system for simulating performance of a computer system | |
CN104243617A (zh) | 一种异构集群中面向混合负载的任务调度方法及系统 | |
Barnat et al. | Scalable shared memory LTL model checking | |
CN106250217A (zh) | 一种多虚拟处理器间的同步调度方法及其调度系统 | |
Chung et al. | SimParallel: A high performance parallel SystemC simulator using hierarchical multi-threading | |
Wu et al. | GPU accelerated counterexample generation in LTL model checking | |
Razaghi et al. | Host-compiled multicore RTOS simulator for embedded real-time software development | |
Ousterhout et al. | Performance clarity as a first-class design principle | |
Binet et al. | Multicore in production: Advantages and limits of the multiprocess approach in the ATLAS experiment | |
US20230185991A1 (en) | Multi-processor simulation on a multi-core machine | |
Manthey | Parallel SAT solving-using more cores | |
CN103699363A (zh) | 一种用于在多核平台下优化关键临界区的方法 | |
Tam | Operating system management of shared caches on multicore processors | |
Shekarisaz et al. | MASTER: Reclamation of hybrid scratchpad memory to maximize energy saving in multi-core edge systems | |
CN115858112A (zh) | 一种基于约束规划的综合化航空电子系统任务分配与调度方法 | |
Waddell et al. | A multithreaded simulation executive in support of discrete event simulations |
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 |
Granted publication date: 20130814 Termination date: 20180129 |
|
CF01 | Termination of patent right due to non-payment of annual fee |