基于确定性虚拟内存模型的无阻塞通信的研究

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:mengdewei6677
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在多核单机系统上,多个共享资源的线程或进程间的交错执行是不确定的,导致并行软件难以开发、调试,存在安全隐患。为保证线程或进程交错执行的确定性,课题组已提出确定性生产-消费虚拟内存模型SPMC,并封装SPMC内存区域建立确定性消息通道及其编程接口DetMP,实现DetMPI以支持MPI中语义确定的子集。DetMPI (?)能使MPI程序不经修改即可被编译和确定地执行,但是许多MPI程序在DetMPI上的性能相比不确定的MPI实现要差。实验分析表明,DetMPI性能差的原因之一是底层SPMC和消息通道是阻塞式的,DetMPI利用阻塞式通道和消息缓存机制实现MPI中的无阻塞通信接口。为此,本文扩展SPMC和DetMP以提供对无阻塞通信的支持,改进DetMPI中无阻塞通信函数的实现,在保证确定性的前提下提升性能。本文的主要贡献是:(1)在SPMC层和消息通道层引入支持无阻塞通信的原语和接口,并基于扩展后的DetMP改进DetMPI的实现。DetMPI中改进的通信函数实现包括语义确定的点对点无阻塞通信函数、1:N和N:1模式的集合通信函数。(2)在消息通道层,为扩展后的DetMP设计SelfMP和CothreadMP两种无阻塞实现模式。SelfMP下的每个进程,其通信和计算由该进程本身处理:而在CothreadMP下,每个进程会附加一个线程负责通信,使得通信和计算能重叠。在32核Linux机器上的实验表明,针对OSU Micro-BenchMarks中7个MPI程序,原阻塞式实现是SelfMP执行时间的0.98-2.21倍;针对1:N和N:1集合通信分别用DetMP程序comp-bcast和comp-gather评测,相比SelfMP, CothreadMP通过重叠通信和计算可以带来平均19%的性能提升。(3)设计基于传统共享内存的并发多播队列框架CMQue,并基于CMQue重新实现DetMP。该工作旨在评估内存模型(SPMC和传统共享内存)、数据的存储组织(顺序、链式)、同步机制(粗粒度锁、细粒度锁、比较交换原子指令)对DetMP程序的性能影响。6种CMQue实现是2种存储组织和3种同步的组合。对于beast程序,在32核下当广播给23个消费者时,使用粗粒度锁的总运行时间约是细粒度锁的4.5倍、无锁的8倍和SPMC通道的6.2倍。对于PARSEC dedup,使用SPMC通道有最好的可伸缩性,在32核时比其他6种快7倍左右。
其他文献
随着高速公路网建设的日臻完善,利用较为完备的视频监控系统对路面状况进行实时监控成为提高道路运营质量的一种重要手段。基于视频图像的目标检测和数据采集分析为更大程度
在低辐射航天环境下,由于空间粒子辐射等因素的影响,除引发处理器发生瞬时故障外,还会引起频发的、更加致命的间歇故障。传统单核处理器无法采用纯软件的手段实现容错,而多核
多源图像融合技术是将来自同一场景的不同图像传感器的多幅图像进行综合处理,得到一幅融合后的图像。与单一图像传感器所获得的图像相比,融合后的图像对场景提供更全面、精准、
基于位置的服务极大地方便了我们的生活,寻找附近的好友、推荐附近的热门餐馆等应用无一不包含了基于位置的服务。用户在享受基于位置服务的同时,会不经意地泄露敏感的位置隐
随着互联网的快速发展,当前每天都将产生海量的数据。为了存储这些数据,独立磁盘冗余阵列(RAID)利用多个磁盘提升系统容量和读写性能。在大规模RAID系统中,由于磁盘数较多,磁
由于其灵活性和可扩展性,XML成为越来越多互联网上数据的表示标准。在一类应用中,XML数据表现为源源不断到来的数据片断,在这类应用中的XML数据称为XML数据流。XML数据流的应
音频分割是指根据说话人特征、环境、信道条件,将音频流“自动”切分成若干同质区域的方法。由于其在音频检索、语音识别等应用中具有潜在价值,近年来受到了广泛关注。在各种音
很久以来中医一直依靠指面感觉来体会患者桡动脉搏动处的脉象信息,因此诊断时需借助医师的经验,这样使得其应用和发展都受到了很大的限制。所以,利用现代科技对脉诊进行客观
整个网络中的信息按深度可分成两个层次,表层和深层。表层主要包括“静态网页”,是指以文件形式静态存放在服务器上的数据信息。深层则主要包括“动态网页”,是指隐藏在表单
在很多实际应用中,数据的类别之间存在一种自然的序关系。例如,我们用1~5星去评价一部电影,3星评价高于2星评价,而4星评价低于5星评价。和标称数据不同,我们称这样一类数据为