全部 标题 作者
关键词 摘要

OALib Journal期刊
ISSN: 2333-9721
费用:99美元

查看量下载量

相关文章

更多...

虚拟内存密集型多线程程序的性能改进方法

Keywords: 虚拟内存密集型程序,地址空间,竞争,性能,可扩展性

Full-Text   Cite this paper   Add to My Lib

Abstract:

摘要 随着多核处理器的普及,大量基于共享地址空间的虚拟内存密集型多线程程序被开发出来.这类程序的一个重要特征是存在频繁的地址空间操作,例如 page faults 、mmap.为了保证并发地址空间操作的正确性,操作系统使用一个全局读写锁来同步,然而却导致在高并发时因多个线程竞争该锁而使这类程序性能下降.为了解决该问题,本文提出了一个基于隔离地址空间的线程模型PMthreads,可以完全消除线程在该读写锁上的竞争.通过自定义字符设备驱动轻量级更改Linux内核中进程的全局数据区域以及实现IAmalloc堆分配器,PMthreads可以保持线程共享变量.此外,PMthreads采用Pthreads接口以支持现有的Pthreads程序.在32核机器上,本文使用5个应用进行性能评估,实验结果表明:对于虚拟内存密集型应用histogram和dedup,在32线程时PMthreads相对于Pthreads性能提升了2.17倍和3.19倍;在16线程时,非此类应用的linear_regression也因削减假共享带来了8.15倍的性能提升

Full-Text

Contact Us

service@oalib.com

QQ:3279437679

WhatsApp +8615387084133