基于IA32多核架构的多线程程序性能的动态优化

来源 :东南大学 | 被引量 : 0次 | 上传用户:wohaha163
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着多核处理器在计算领域的广泛使用,面向多核处理器的程序性能优化成为重要的研究问题。当今主流多核处理器都采用共享Cache结构,然而共享Cache所带来的Cache伪共享、Cache冲突等问题都会降低程序的性能。目前程序性能优化主要是采用源代码插桩或者二进制插桩的技术米实现,然而这些技术都需要修改程序代码,不具备实时性,并且都是针对单个程序的性能优化。   针对上述技术的局限性,本文分析了多核环境下影响多线程程序执行性能的因素,讨论了多核环境下存储墙问题。在此基础上,设计与实现了IA32多核处理器平台上的程序性能动态优化技术,该技术嵌入到Linux操作系统内,在程序运行过程中监测同时运行的程序对共享资源的竞争情况,并且通过Linux操作系统动态地缓解共享资源的竞争,提高系统范围内的多个程序的性能。   论文首先设计与实现了IA32多核处理器平台拓扑结构的自动检测技术,实现了处理器的三层拓扑结构的自动检测和Cache拓扑结构的自动检测。其次,设计与实现了程序性能的实时监测技术,利用处理器的硬件性能计数器,在程序运行过程中,对程序的性能进行实时监测。最后,设计与实现了程序性能的动态优化技术,采用基于页面着色的动态Cache划分技术,缓解程序间的共享Cache的访问,提高系统中同时运行的多个程序的性能。   本文选择SPLASH-2和NPB基准测试程序作为多线程负载,测试结果表明,本文所设计的程序性能动态优化技术能够缓解共享Cache的访问冲突,提高多线程程序的性能。
其他文献
随着互联网的快速发展和成熟,基于Web的应用程序也越来越多,逐渐改变着互联网用户生活和工作的方式。近年来,Web2.0理念的提出及其在互联网上的完美应用,使用户对Web产品的用
随着电子信息技术的飞速发展,互联网(Internet)正飞速的改变着人们的工作、生活、学习方式,给社会的发展、个人的生活带来了前所未有的便利。近十年,数字图书馆(Digital Library
随着互联网的迅猛发展,特别是Web2.0的兴起,越来越多的人们以网络为媒介发表他们对某个事件或事物的意见和评论。意见挖掘得到了广泛地应用,并引起了自然语言处理等相关领域
随着计算机技术和网络技术在校园中的普及和应用,校园中建立了多种应用系统,来实现对人员的管理、信息的管理,提供各种信息服务。但是,由于各个系统主管部门不同、面向对象不同、
随着现代工业的不断发展,对荷重测量产品的要求越来越高,对大量现场信号的采集、传送和对精度、可靠性提出了更高的要求。而现有的一些荷重测量装置已不能满足这些要求,因此
随着互联网的更加普及和信息科技的快速发展,我们已经迈入到信息过载的时代,游戏行业产生的数据同样成指数级别增长。游戏中提供的道具信息量快速增加,用户经常会迷失在大量
近二十年是互联网技术和计算机技术飞速发展的阶段,社会信息化的程度也在这段时间越来越高,对各行各业来说,既是挑战也是机遇,大学作为高等教育的学府,也不能避免社会信息化
随着互联网和信息化技术的不断发展,企业及其他各种组织积累了大量的数据,人们面临着从大量不同类型、不同来源的数据中获取有用知识的问题。数据挖掘技术融合了人工智能、数
半导体制造工艺的发展带来了晶体管单片集成度的增加,电路设计能力的提升推进了集成电路功能和复杂度的提高。这样,集成电路规模便与日俱增,测试数据量和测试难度也自然加大
随着计算机技术和网络技术的发展,存储技术已从本地存储发展到网络存储。目前,磁盘存储阵列(简称存储阵列)是网络存储器的主要形式之一,它从磁盘上存取数据的速度,往往成为用