基于内存隔离的确定性多线程系统研究

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:xueyingnn
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着多核众核体系结构的普及,多线程程序的需求越来越大。由于多线程程序的非确定性特征,导致程序的测试、调试复杂化,即多线程编写过程产生大量并发性错误,如死锁、数据竞争。现有的解决方案或基于先前生成的日志文件再现程序调度过程实现,需要高昂的存储开销及性能开销;或基于修改源代码的确定性系统实现,不具有通用性和可扩展性。  基于内存隔离的确定性多线程系统(libthread),采用内存隔离与内存提交技术来保证源码的确定性执行,并且具有高效性、通用性和可扩展性等特点。Libthread系统通过将共享内存映射到每个线程中,隔离线程的并发执行过程,避免数据竞争,消除了假共享;使用标准的虚拟内存保护机制跟踪每个线程的读写操作,在同步原语处采用串行执行,按照确定的顺序提交私有内存到共享内存,保证多线程程序执行的确定性。Libthread系统使用性能计数器跟踪每个线程执行进度来建立确定性逻辑时间,利用确定性逻辑时间建立内存提交的顺序,保证共享内存数据访问的准确性,同时提供良好的均衡性。Libthread系统利用封装的同步原语作为并行阶段和串行阶段的边界,即使程序调试过程中加入调试语句也不改变并串行边界,从而降低了调试难度。  通过并行程序测试集PARSEC BenchmarkSuite进行模拟实验,将基于libthread的编译策略与基于pthread的编译策略进行比较,实验结果表明,libthread系统解决了多线程程序非确定性问题,保证同一程序每次执行的结果是相同的;libthread系统执行效率和pthread相当,平均执行时间增加在20%以内。实验进一步表明,libthread系统在不同核数的执行环境中拥有良好的可扩展性。
其他文献
随着计算机及网络的飞速发展,网络技术的应用日益普及,网络的开放性、共享性不断扩大,网络安全问题也逐渐突出。入侵检测技术是近十几年发展起来的一种网络安全技术,并迅速成为国
当前,IT产业迅速发展,各领域都积累了大量的信息数据,其中结构化的关系型数据模式由于其提出较早并且易于理解,因此占据了大部分的数据量。随着数据量的规模飞速增长,低质量的数据
随着网络和Internet的蓬勃发展和广泛应用,极大数量的软、硬件资源涌入网络从而加剧了网络使用和维护的复杂性。这样对分布式体系提出了新的需求:软、硬件资源接入网络时,能
软件度量是软件工程的一个基础研究领域。COCOMOII模型是软件度量领域最有影响力的模型之一,但产生于国外的COCOMOII模型在引入中国之后,逐渐发现有些不尽适合中国企业的实际
颜色特征是图像的最基本的特征,具有鲁棒性、直观性等特点,因此基于颜色特征的图像检索方法在基于内容的图像检索中被广泛应用。传统的基于颜色特征的图像检索方法使用图像的
环境识别系统是智能车辆的重要组成部分,它在车辆行驶过程中对出现的各种目标进行采集和识别,可及时提取环境状况,向驾驶员做出指示或警告,或者直接控制车辆的操作,以保持交通通畅
“区域网络化制造”是先进制造技术和网络技术相结合的产物,将给我国制造业的发展带来新的机遇和挑战。区域网络制造系统把网络化制造限定到一定的具有相同特点、相同需求的
智能移动机器人是机器人研究领域的一个重要分支,有着巨大的应用潜力。当前,对智能移动机器人的研究吸引了众多学者的注意。全局路径规划则是智能移动机器人开发的重要环节之一
随着XML成为Internet/Intranet上数据表示和交换的标准,XML信息的安全问题也成为人们关切并致力解决的问题,其中,对XML文档的访问控制管理的研究是个热点问题,已有诸多文献提出了
随着虚拟现实技术的不断发展,虚拟实验的相关研究日益深入。实现虚拟实验系统的难点是如何建立合理高效的系统仿真模型,但当前的虚拟实验仿真模型在模型自身和模型控制方面还