The invention discloses a data object perception memory partition based method and device, the method comprises the following steps: according to the data object data object to be analyzed according to the scale identification; data acquisition flow of data objects from the data object to be analyzed is identified in the parallel access, and combined with the analysis of the performance monitoring unit PMU the data objects are parallel access memory overhead to determine the source of conflict, conflict, and the negative effect of quantization on the performance of the source of conflict; according to the analysis of pseudo page fault exception, acquiring dense access memory in multiple time segment data on like combination, distribution is parallel access data objects through operating system adjustments have been identified the in memory. The invention utilizes the page fault exception to evaluate the access behavior of the application in the execution phase of the real machine, and guides the memory allocation, and can accurately obtain the traces of the visit, so as to obtain higher authenticity and accuracy.
【技术实现步骤摘要】
一种基于数据对象感知的内存库划分方法和装置
本专利技术涉及一种内存库划分技术,尤其涉及一种基于数据对象感知的内存库划分方法和装置。
技术介绍
在对存储性能进行分析评测时,往往需要获取数据流或指令流。然而,用来获取的数据流或指令流的传统工具或模拟器存在多种问题。首先,模拟器不能提供真实的运行环境,因此无法严格保证数据的真实性和精确性,特别是时间的准确性无法严格保证。其次,传统工具可能需要对应用或硬件进行修改,才能获取所需的数据流或指令流,而这种方法在很多种情况下是不适用的。主存由多个内存库(bank)组成,例如主流的单条DDR2/3内存条会包含8或16个bank。bank数量会随主存的容量同步增长。每个bank是一个二位矩阵,包含多个行,每个行又划分为多列。在bank内部又包含一个独立的行缓存结构,用于保存最近一次被访问的整行数据。采用上述结构的主存能同时利用并行性和局部性来提高访存性能。访存并行性是指主存能够利用多bank结构同时响应多个访存请求,而多个访存请求重叠执行,能够隐藏部分访存延迟。访存局部性是指处理器能直接从行缓冲器(rowbuffer)读取之前被缓存的数据,避免额外的预充电、行选以及列选等操作。一旦多个访存请求同时访问相同的bank,产生的访存冲突会导致两方面的负面影响。首先,bank冲突会使并行的访存请求串行执行,使访存延迟成倍增长。其次,行缓存冲突使得原本空间局部性较强的数据回写阵列,而频繁的换行操作会进一步增加访存的延迟,使处理器的访存性能恶化。单芯片多处理器(Chipmultiprocessors,CMP,也指多核心)通过复用传统的单 ...
【技术保护点】
一种基于数据对象感知的内存库划分方法,其特征在于,包括:根据数据对象的规模标识待分析的数据对象;根据获取的子数据流,从待分析的数据对象中标识被并行访问的数据对象,并结合性能监视单元PMU分析被并行访问的数据对象的访存冲突开销,确定冲突源,并量化冲突源对性能的负面影响;根据伪缺页异常的分析,获取在多个时间片段内密集访问主存的数据对象组合,通过操作系统调整已经标识出的被并行访问的数据对象在主存中的分布。
【技术特征摘要】
1.一种基于数据对象感知的内存库划分方法,其特征在于,包括:根据数据对象的规模标识待分析的数据对象;根据获取的子数据流,从待分析的数据对象中标识被并行访问的数据对象,并结合性能监视单元PMU分析被并行访问的数据对象的访存冲突开销,确定冲突源,并量化冲突源对性能的负面影响;根据伪缺页异常的分析,获取在多个时间片段内密集访问主存的数据对象组合,通过操作系统调整已经标识出的被并行访问的数据对象在主存中的分布。2.根据权利要求1所述的方法,其特征在于,获取子数据流包括:利用伪缺页异常机制捕获所述子数据流。3.根据权利要求2所述的方法,其特征在于,利用伪缺页异常机制捕获所述子数据流之后还包括:利用伪缺页异常机制分析所述子数据流。4.根据权利要求2所述的方法,其特征在于,利用伪缺页异常机制捕获所述子数据流,包括以下至少之一:进程创建阶段,通过未分配物理内存获得所述子数据流;通过数据对象内存初始化分配获得所述子数据流;设置伪缺页状态,通过标记待分析的数据对象获得所述子数据流;通过触发伪缺页异常获得所述子数据流;通过无异常数据访问获得所述子数据流。5.根据权利要求3所述的方法,其特征在于,利用伪缺页异常机制分析所述子数据流包括:收集伪缺缺页异常产生的异常地址;结合PMU分析当前代码片段所访问的数据对象对性能的负面影响采用瞬时的主存访问频度和/或次数和/或时间跨度判断访存的性能。6.根据权利要求1所述的方法,其特征在于:所述数据对象包括静态数据对象或动态数据对象;通过读取编译器生成的符号表来获取所述静态数据对象的规模,通过捕获操作系统的动态内存分配操作来获取所述动态数据对象的规模。7.根据权利要求1所述的方法,其特征在于:标识待分析的数据对象,包括:...
【专利技术属性】
技术研发人员:程旭,钟祺,王晶,管雪涛,刘国莅,
申请(专利权)人:北京北大众志微系统科技有限责任公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。