面向存储层次访问优化的内存分配策略研究

来源 :北京大学 | 被引量 : 0次 | 上传用户:xianglongke2000
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
受功耗、线延迟、芯片引脚封装成本的限制,通过大幅增加存储资源来提高系统访存性能的方式,日益受到严重挑战。但随着应用种类的丰富以及工作集规模的扩大,大量数据被映射到相同的存储结构,即有限的存储资源所承载的数据访问量不断增加。访存请求频繁争抢存储资源产生访问冲突,导致访存性能进一步恶化。为了应对这一挑战,软硬件协同的优化技术,尤其是借助操作系统来加强应用访存行为与存储器结构间的匹配,已经成为提高访存性能的重要手段之一。操作系统能基于对存储器结构的理解,利用编译器提供的静态信息,并结合性能监测单元分析运行时的动态信息,在低成本和低复杂度的约束条件下,通过减少访问冲突来提高访存性能。  本文通过调整操作系统的内存分配策略开展软硬件协同的访存性能优化技术研究。从面向的存储层次来看,内存分配策略可以影响数据在Cache中的分布,从而减少访存请求对Cache的争抢,使局部性较强的数据驻留,降低失效率。另外,内存分配策略还可以直接调整数据在主存中的分布,即将数据放置到指定的主存结构(如Rank/Bank/Row)中。通过减少访存请求对存储体和行缓冲区的争抢,提高访存的并行性和行局部性,降低主存访问开销。本文利用操作系统分析应用和设备的访存行为,并结合存储器的结构特点,通过调整内存分配策略加强应用访存行为与存储器结构之间的匹配,具有较强的灵活性和覆盖性。同时,基于操作系统来改变数据布局,无需修改上层应用和特殊硬件支持,能以透明的方式利用现有存储资源提高访存性能。本文的贡献和创新之处包括:  (1)提出了一种基于I/O数据分布的自适应缓冲区管理策略。LRU替换算法在Cache设计中被广泛使用,并默认处理器所访问的数据均具有较强的局部性。这会导致局部性较差的I/O数据抢占应用程序拥有的Cache资源,产生Cache污染问题。该方法利用操作系统的软件接口感知无效I/O数据在Cache中的分布位置,并修改内存分配策略使I/O处理过程尽快重用包含无效数据的Cache块,减少I/O数据占用的Cache资源以缓解污染问题。同时,该方法还能根据系统的I/O负载自适应地控制I/O数据在Cache中的分布数量,并调整缓冲区的重用顺序,减少因写缓冲区而导致的失效,提高I/O处理过程自身的访存性能。本文将该方法应用于PKUnitySoC中的网络子系统,实验结果表明,该方法能够减少I/O处理过程与应用程序之间对Cache的争抢,使网络应用程序的性能提升5.2%~8.1%。  (2)提出了一种基于访存负载均衡的内存分配策略。设备之间所争抢的存储资源并不仅限于Cache,SoC系统中多个并行工作的设备相互争抢主存存储体,导致访存请求串行执行并降低系统带宽利用率。该方法通过操作系统对物理内存的管理,将设备所访问的数据映射到独立的存储体中,减少设备间因争抢存储体而导致的体冲突。该方法基于带宽、延迟两个参数分析设备访存行为与体冲突之间的关系,并以此来均衡各存储体的访问负载,充分利用存储体资源来提高访存并行性。实验结果表明,与基于带宽的划分方法相比,该方法在提高带宽利用率的同时能降低访存延迟,并将高清视频解码帧率提升8.4%~12.3%。  (3)提出了一种基于内存分配的多Rank数据放置策略。即使在访存并行性较低的应用场景下,同一循环体中所访问的数据因共享存储体使处理器交替访问不同行,导致争抢行缓冲区结构并增加主存访问延迟。本文通过观察数据在主存中的分布,发现传统的内存分配策略倾向分配地址连续的物理页帧,使进程的数据聚簇于单个Rank中,加剧行缓冲区冲突。该方法利用编译器和操作系统提供的信息来分析数据间的冲突开销,并将冲突开销较大的数据放置到不同的Rank,减少因聚簇导致的行缓冲区冲突。实验结果表明,同现有的BUDDY和PARBLO两种分配策略相比,采用该方法后处理器的平均性能分别提升了8.04%和3.7%。  (4)提出了一种以数据对象为中心的混合式存储体划分方法。在多道程序负载中,进程间和进程内的访存请求争抢存储体和行缓冲区,导致访存并行性和行局部性被破坏。该方法通过缺页异常将进程的执行过程切分成多个片段,基于异常地址标识处理器所访问的数据对象,并利用性能监测单元评估各个时间片段内的访存性能。然后,在进程间划分存储体的基础上,根据分析结果在进程内的数据对象间再次进行划分,同时提升进程间的访存并行性和进程内的行局部性。实验结果表明,同现有的BUDDY和BPART分配策略相比,该方法使系统的整体性能分别提高了9.1%和3.6%。
其他文献
远程桌面技术是云计算环境中提供桌面应用服务的支撑技术之一。高分辨率的桌面和日益丰富的应用程序界面给远程桌面终端的图形处理能力带来了挑战。本文结合远程桌面应用程序
该文面向自然语言问答系统(QA)研究了基于知网的汉语词语义相似度计算问题.具体来说,研究了以下四个方面的内容:1、详细介绍和分析了知网层次网络结构,比较了知网和其他语义
本文回顾了网络管理的起源和发展历程;从网络管理的一般模型结构,系统功能结构和体系结构方面具体分析了网络管理,并具体的分析了各种网络管理模型的优缺点;详细的分析了SNMP
该论文所研究的内容"地学空间信息三维可视化"是中国地质科学院矿产资源研究国家高科技计划(863)项目"地学空间信息三维智能分析与可视化技术"(2002AA125160)的子课题.该课题
社会网络是社会个体成员之间因为互动而形成的相对稳定的关系体系。电话呼叫网络、电子邮件发送网络、科学家合作网络、社交网站形成的在线社会网络等都属于典型的社会网络。
本文主要对手写体字符识别进行了研究。主要研究了手写体数字识别的特征提取方法,并提出了一种新的边界特征提取方法。其主要特点是提取特征简单有效,无需进行细化,节省了特征提
软件复用是解决软件危机、实现软件产业工业化生产方式的有效方法。领域工程是软件复用过程中的一个重要环节,其前期阶段领域分析是获取领域需求规约的关键过程。在领域分析中
该文在国家自然科学基金和863/CIMS研究课题的支持下,针对敏捷虚拟企业的建立过程,在群体决策支持方法与技术方面开展了研究工作.主要研究如何在群体决策的环境中,支持AVE盟
该文系统的介绍了PMI的概念,PMI相关知识(PKI,RBAC,属性证书),PMI原理,在此基础上,该文给粜了一个基于PKI的PMI系统的实现-JITPMI,并列举了该文实现的PMI系统与现有访问控制
软件构件理解是软件复用过程中关键技术环节之一。近年来,随着互联网和软件开发技术的发展,互联网上积累了大量可复用构件及其构件信息。面对海量资源,开发人员面临的主要问题是