检索规则说明:AND代表“并且”;OR代表“或者”;NOT代表“不包含”;(注意必须大写,运算符两边需空一格)
检 索 范 例 :范例一: (K=图书馆学 OR K=情报学) AND A=范并思 范例二:J=计算机应用与软件 AND (U=C++ OR U=Basic) NOT M=Visual
作 者:陈健康 张昱[1] CHEN Jian-kang;ZHANG Yu(School of Computer & Technology, University of Science & Technology of China,Hefei 230027, Chin)
机构地区:[1]中国科学技术大学计算机科学与技术学院,合肥230027
出 处:《小型微型计算机系统》2018年第5期924-929,共6页Journal of Chinese Computer Systems
基 金:国家重点研发计划项目(2016YFB1000403)资助
摘 要:随着多核处理器的普及,大量基于共享地址空间的虚拟内存密集型多线程程序被开发出来.这类程序的一个重要特征是存在频繁的地址空间操作,例如page faults、mmap.为了保证并发地址空间操作的正确性,操作系统使用一个全局读写锁来同步,然而却导致在高并发时因多个线程竞争该锁而使这类程序性能下降.为了解决该问题,本文提出了一个基于隔离地址空间的线程模型PMthreads,可以完全消除线程在该读写锁上的竞争.通过自定义字符设备驱动轻量级更改Linux内核中进程的全局数据区域以及实现IAmalloc堆分配器,PMthreads可以保持线程共享变量.此外,PMthreads采用Pthreads接口以支持现有的Pthreads程序.在32核机器上,本文使用5个应用进行性能评估,实验结果表明:对于虚拟内存密集型应用histogram和dedup,在32线程时PM threads相对于Pthreads性能提升了2.17倍和3.19倍;在16线程时,非此类应用的linear_regression也因削减假共享带来了8.15倍的性能提升.The development of multicore processor arouses the flourish of multithreaded VM-intensive programs based on shared memory.These programs feature frequent VM space operations such as page faults,mmap. To ensure the correctness of these concurrent operations on VM space which is shared by all threads,the operating system guards these operations with a r-w lock. However,the lock may drag the performance of these programs. This paper proposes a thread model( PMthreads) based on isolated address space to address this problem which can eliminate these contentions completely. Lightly modifying Linux kernel by character devices driver and implementing IAmalloc heap allocators,PMthreads can keep shared variables. To avoid modifying the Pthreads programs,this paper prototypes an analog of Pthreads programming model. 5 programs are evaluated on a 32-core machine with the support from Pthreads or PMthreads. The results show that VM-intensive applications such as histogram and dedup get a boost of 2. 17 times and 3. 19 times respectively when running with 32 threads. as a Non-VM-intensive application,linear regression gets an increase of 8. 15 times when running with 16 threads.
关 键 词:虚拟内存密集型程序 地址空间 竞争 性能 可扩展性
分 类 号:TP311[自动化与计算机技术—计算机软件与理论]
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在链接到云南高校图书馆文献保障联盟下载...
云南高校图书馆联盟文献共享服务平台 版权所有©
您的IP:216.73.216.49