基于OpenMP的Multi-Critical分子动力学并行算法优化研究

来源 :重庆邮电大学 | 被引量 : 0次 | 上传用户:l420303622163com
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
分子动力学模拟是一种利用牛顿运动定律来模拟分子运动过程的方法,给定粒子初始状态的位置和速度,通过对运动方程进行积分,从而求得粒子在下一时刻的位置和速度。这样就能记录下每一时刻粒子的位置,获取粒子的运动轨迹,再通过统计力学的方法得到模拟系统的特性,最后得到物质的宏观性质。因此分子动力学模拟广泛应用于各个领域,如材料力学、生命科学、气候模拟等学科中。   为了使分子动力学模拟的计算结果能够更加准确地反映物质的宏观性质,通常需要模拟体系的粒子个数尽可能的多,模拟尽可能长时间的物理化学反应,这使得分子动力学模拟会非常耗费计算时间,并且需要进行模拟的硬件平台拥有更高的计算性能。目前处理器制造商普遍采用在单个处理器上集成更多核心的方式来提升计算性能。为了使模拟计算更加快速与高效,需要将已有分子动力学模拟计算方法进行并行优化,并将其运用到SMP和CMP平台上,以加快模拟过程和缩短模拟时间。   本文根据并行计算基本理论,对分子动力学模拟使用OpenMP进行并行算法优化。本文的主要工作如下:   首先,介绍了并行计算机理论研究的历史与并行计算机硬件平台的发展,当前主流的并行体系处理器,以及本文所涉及到的共享存储的并行编程模型OpenMP。详细描述了分子动力学模拟算法的原理与步骤,模拟计算的过程和计算过程中需要选取的势函数、积分算法、系综等一系列条件。对处于平衡态的流体使用串行算法进行分子动力学的模拟,并在现有的实验环境下选择OpenMP并行编程模型来进行算法的优化。   其次,分析并行算法中性能的制约点,将其优化。通过研究发现:在对共享力数组进行更新时(称之为Critical算法),同一时刻只有一个线程能进入临界区,其他线程必须等待该线程执行完毕,相当于在这段时间内程序串行执行;同时研究发现在整个模拟过程中,粒子间作用力的计算占整个模拟时间的80%-90%,所以如果将这段操作并行优化,整个模拟的运算时间将会减少,并且效率也会有很大的改进。介于此,本文提出了一种改进方法——Multi-Critical算法,大大提高程序的加速比与并行效率。在Critical算法中,线程在计算完粒子间相互作用力之后,既要更新到共享力数组,又要更新到私有副本数组。此方法除了在临界区内串行执行,降低了模拟的并行效率之外,还对共享数组进行频繁的读写,也降低了程序的效率。Multi-Critical算法将其优化为:线程计算的粒子间作用力更新到该线程私有副本矩阵,并应用分布式竞争的方法,将矩阵的更新分块操作,共享矩阵的更新操作放在不同的临界区内并行执行。该算法在多个Critical section来执行更新共享矩阵的操作,故称之为Multi-Critical算法。   最后,通过对不同体系进行了测试,Multi-Critical算法相对Critical算法并行效率和加速比有显著提升。分析性能提升的原因,并进行了理论分析。通过对比计算前后的总能量,验证了算法的正确性,并编写自动化脚本来简化程序的编译与执行。  
其他文献
无线自组织网络(MANET)作为一种新型移动无线通信网络,凭借其灵活性和实用性在军事通信领域受到广泛关注。MANET网络与传统移动无线通信网络具有很大的不同,其所特有的无中心
随着计算机信息技术的迅速发展,对海量数据的存储及访问需求都呈几何级数爆炸式增长,也对数据的存储及访问方式提出了更高的要求。基于对象存储Lustre文件系统结合了传统文件系
云计算是分布式处理、并行处理和网格计算的发展。云存储的概念与云计算类似。它是指通过服务器集群应用、网格或分布式文件系统等技术将网络中大量的处于不同计算机、不同类
随着移动互联网的高速发展,互联网已经成为人们日常生活,企业正常运转等必不可少的通讯方式,绝大多数的数据都要通过互联网传输。这些数据涉及到各个方面,如教育、金融、医学
近年来,互联网技术飞速发展,给人们的生活、工作带来了极大的便利,但与此同时,互联网技术如同一把双刃剑,利弊共存,使得网络安全问题也随之而来。在众多网络攻击及网络入侵中,分布式
工业无线网络自从20世纪诞生以来便得到业界的广泛重视。随着计算机技术、通信技术的发展,工业无线网络越来越多的应用在工业自动化控制领域,并在人们生活工作中发挥着重要的
随着计算机通信技术的快速发展与普及,互联网逐渐成为一种计算平台,云计算作为一种新型的计算模式,描述了一种基于互联网的新的IT服务增加、使用和交付模式。云计算是一种大规模
随着计算机和网络技术的快速发展,通过网络传输的数据急剧增加,许多新的多媒体业务正成为信息传送的重要组成部分。而传统的单播通信方式满足不了新业务的需求,多播技术的出现解
互联网环境中,单个Web服务功能薄弱,已经满足不了用户日益庞杂的实际应用需求。因此,组合基本Web服务成为粗粒度的强大的服务以满足用户繁复的需求,已成为新一代计算环境下的重要
1998年Napeter的出现开始了P2P(Peer-to-Peer)软件在人们日常生活中的应用。随着P2P技术的广泛应用,对于P2P技术的研究也逐渐升温。在P2P网络中,用户之间可以平等自由的交换资