用户级通信在软件分布式共享存储系统中的应用

用户级通信在软件分布式共享存储系统中的应用

史岗[1]2003年在《支持软件分布式共享存储系统的机群通信技术》文中认为在软件分布式共享存储领域,通信开销是阻碍它成为主流并行计算环境的重要原因。在过去的研究中,人们提出许多优化措施来减少通信开销,比如:支持更放松的一致性模型来减小消息个数和消息量;采用多写协议减少消息个数;采用写向量技术减小缺页时的消息量;采用数据预取来容忍通信延迟。然而,随着存储一致性协议的成熟,大幅度减小通信次数和通信量已十分困难。本文的目的就是要研究有效的机群通信技术来进一步提高软件分布式共享存储系统的性能。本文分析了软件分布式共享存储系统的通信行为特点,并对基于home的软件分布式共享存储系统JIAJIA在三个通用的高性能互连网络上的性能做了测试和分析。发现:①软件分布式共享存储系统对网络的通信延迟和带宽都十分敏感;②由于采用“请求-应答”通信模式,消息的异步处理机制不仅使得计算和通信无法重叠,而且对于系统中为数较多的远程取页操作,这种通信模式的效率较低;③程序运行中出现的并发通信和接口竞争行为通常是导致并行应用性能降低的主要原因之一。基于在通信上的这些特点,本文设计并实现了一个适合软件分布式共享存储系统特点的机群通信系统FRAMP (Fast Remote Access and Message Passing)。FRAMP机群通信系统由完全定制的交换机、网络接口卡和通信协议组成。交换机采用全互连交叉开关结构和缓冲虫洞交换方式,同时在网络接口上支持消息传递和远程直接内存读/写两种通信模型,实现了纯用户级的通信协议,获得了高带宽、低延迟的网络通信性能。对FRAMP的性能测试表明:在33MHz,32位PCI传输方式下,pingpong测试的小消息单向延迟为5.7μs,渐近带宽达到101MB/s。基于FRAMP实现的软件分布式共享存储系统,由于有交叉开关网络和接口硬件对通信方式的支持以及通信协议中的优化措施,使并行应用的性能获得了显著的提高。本文的研究工作表明:相对于传统的机群通信系统,设计适合于软件分布式共享存储系统特点的网络通信系统可显著地改善系统的最终使用性能,使高性能、易编程的共享存储并行计算环境在机群体系结构上也能获得。

毛永捷[2]2000年在《用户级通信在软件分布式共享存储系统中的应用》文中研究说明建立在集群上的软件分布式共享存储系统,可扩展性好,易于移植,是一种有竞争力的并行计算环境。然而,尽管各种精巧的一致性协议已经大大地降低了计算节点间的通信量,软件分布式共享存储系统的性能还是与其通信底层的实现十分相关。用户级通信可以减少软件开销和数据拷贝次数,明显地降低通信延迟、提高通信带宽,为软件分布式共享存储系统性能的提高开辟了新的道路。 本文细致地研究了软件分布式共享存储系统特点,仔细鉴别了各种关键技术对性能的影响。在对基于锁的高速缓存一致性协议进行研究的基础上,论文对JIAJIA系统的开发与优化做出总结,并比较了各种优化策略的作用。同时,对JIAJIA系统的行为模式的分析,也进一步指出通信性能对于软件分布式共享存储系统的重要意义。 文章对各种用户级通信库做了比较广泛的比较与分析,对其中关键技术的权衡取舍进行了深入的研究。结合集群的特点和软件分布式共享存储系统的需求,本文提出并设计实现了一个面向软件分布式共享存储系统的用户级通信库JMCL,就其通信性能与对JIAJIA系统的影响进行了细致的评测和分析,并对软件分布式共享存储系统的行为模式进行了进一步的研究。 对基于JMCL的JIAJIA系统的研究表明,用户级通信库极大地改善了软件分布式共享存储系统的通信性能,并因此而使得其上的应用程序的性能获得了明显的改善,尤其是那些过去由于通信密集而被认为比较不适合于软件分布式共享存储系统的应用程序,性能提高更为突出。用户级通信库进一步扩大了软件分布式共享存储系统的应用范围,可扩展性更好,使之有可能成为方便而廉价的大规模并行应用平台。但是,用户级通信并未从根本上改变软件分布式共享存储系统的计算模式,它仅仅是由于使通信过程加快而使得整个系统的运行时间成比例减小而改善了系统的性能。要继续改善和优化软件分布式共享存储系统的性能,仍然必须从体系结构和协议的角度入手。

施巍松[3]1999年在《软件分布式共享存储系统的性能优化》文中进行了进一步梳理软件分布式共享存储系统(又称为虚拟共享存储系统)由于结合了共享存储系统的易编程性和分布式存储系统的可伸缩性而成为近十几年来的一个重要研究方向。设计软件分布式共享存储系统最主要的目标是对应用程序不作修改或很少修改就可以在该系统上运行,并能取得令人满意的性能。但为了维护共享数据的一致性和通信的透明而引入的系统开销使得现有的很多系统很难达到这个目标。 本文着重研究如何提高软件分布式共享存储系统的性能,分别从高速缓存一致性协议、存储器组织方式、系统开销、循环调度、任务迁移、和通信优化六个方面提出了相应的优化技术。 通过对传统的侦听协议、目录协议和几种不同的释放一致性协议进行的详细分析,本文提出了一个新型的基于锁的一致性协议,它的独特之处在于“主结点”的概念不仅应用于共享数据信息,而且还应用于一致性信息,如写记录,每个一致性信息根据相应的同步对象都有一个主结点。与基于目录的协议相比,该协议中所有与一致性相关的操作都在同步点上,因此对于普通的访存操作几乎没有任何额外的开销。更重要的是,基于锁的协议中无须维护一个目录,从而更具有可伸缩性,基于这个一致性协议,本文设计并实现了一个简单而实用的软件分布式共享存储系统JIAJIA。JIAJIA采用了一种类似CC-NUMA的存储组织方式,即同一页在所有处理机上都有相同的虚拟地址,因而在发生不命中时,无须象其它系统一样进行两次复杂的地址转换。另外,JIAJIA是第一个真正能够把多个机器的存储器组织起来形成大内存空间的系统,基于JIAJIA系统,本文并行化了一个电磁场计算的实际应用程序,效果与国际上同类程序的消息传递版本可比。另外,本文还提出一种基于置信区间的数据分析方法。 通过对软件分布式共享存储的系统开销进行的详细分析,发现远程数据不命中时间和同步时间是两个最主要的开销。因此提出读记录技术、唯cache写检测技术、层次式栅障实现等三种优化技术。分析结果表明,前两种技术对性能的提高是明显的,层次式栅障实现在系统规模较大时效果会比较好。 本论文第一次在软件分布式共享存储系统中分析和比较了各种自调度算法,发现一些以前的结论在这样的系统中不再成立,甚至完全相反。在分析前人工作的基础上,提出了一种基于耦合度的自调度算法ABS。该算法在调度时充分考虑了数据的静态分布和计算任务之间的关系,从而尽量保持处理机与存储器之间的耦合关系。ABS算法结合了集中式任务队列和分布式任务队列的优点,与分布式任务队列相比,大大减少了在负载不平衡时因调度引起的同步开销。

孙春玲[4]2008年在《基于局域网的共享存储研究》文中进行了进一步梳理基于局域网的共享存储是一种分布式共享存储,采用共享存储系统的相关原理将局域网中各计算机的内存共同组织起来,形成一个统一的共享存储空间,供系统中的计算机共同使用,以完成高性能计算机才能完成的任务。这样的系统涉及到的关键技术包括:存储器组织方式、存储一致性模型、高速缓存一致性协议、实现层次、共享粒度、通信机制等等。常用的存储器组织方式有基于主节点和无主节点两种;存储一致性模型和高速缓存一致性协议直接影响到数据一致性的维护问题;共享粒度和通信机制的选取是系统性能高低的关键因素,而通常共享存储系统中采用的共享粒度均为虚存页,所以要最大程度的提高系统性能,减少通信开销便成了一个关键目标。本文的研究是在以往相关理论及实践基础上进行的,借鉴了前人的研究成果,采用基于主节点的内存组织方式、域一致性模型、经过优化的基于锁的高速缓存一致性协议和改进后的用户级通信机制。分析了影响系统性能的各方面因素,并采用读记录技术和二叉树实现的栅障信息传递对系统进行了优化。同时在用户级通信机制前提下,在链路层加入一个通信服务进程使消息传递有效地避开了操作系统的参与,大大降低了通信开销,从而减少了不必要的系统开销,提高了系统性能。本文开始介绍了相关理论基础并在此基础上介绍了基于局域网的共享存储系统的各个模块的设计,着重研究了系统性能的相关问题,对系统性能进行了相应优化,并基本达到了预期目的。

毛永捷, 施巍松, 祝明发[5]2001年在《用户级通信在软件分布式共享存储系统中的应用与分析》文中研究表明通信性能不高是影响软件分布式共享存储系统性能的主要因素之一 .用户级通信技术能够充分发挥高速网络的硬件性能 ,减少数据拷贝次数、降低软件开销 ,明显改善了带宽和延迟 ,为软件分布式共享存储系统性能的提高开辟了新的途径 .设计并实现了一个面向软件分布式存储系统的用户级通信库 ,它不仅改善了系统的通信性能 ,同时也使得系统的并行计算性能得到改善 ,从而十分显著地提高了软件分布式共享存储系统的整体性能

胡明昌[6]2003年在《共享虚拟存储机群高速互连网络研究》文中进行了进一步梳理现在的机群互连网络要么价格偏高;要么功能不强,也不支持RDMA操作。本文尝试设计一种高性能的机群互连网络FRAMP(Fast Remote Access and Message Passing),它不但提供高性能的消息传递,而且对共享虚拟存储提供一些底层硬件支持,包括RDMA读写操作和TLB自动更新,同时在价格上维持较低的水平。本文论述了并行计算的现状和发展趋势及支持并行计算的互连网络的特点和研究现状,用测试数据展示了不同的通信方式对提高机群并行性能的影响,分析了每种方式的通信特点及对并行性能的影响程度,指出机群并行计算对互连网络的要求:采用高性能网络和精简通信协议。本文实现了尽量穿透交换方式——该方式是对虚穿透、虫洞和混合交换的改进,它利用原有的硬件尽量进行虚穿透交换,发现没有可用资源时与虫洞交换一样阻塞链路,它不需要增加硬件,但是提高了链路利用率。本文中设计的FRAMP网络采用尽量穿透交换方式、水线流量控制和源路由寻径,在通信链路上以同步和并行方式传输数据。本文为FRAMP网络设计了一种定制的轻量级通信协议,其特点是:用户进程直接访问网卡,减少系统调用开销;尽量减少数据拷贝,远程数据读写不进行数据拷贝,普通消息只进行一次数据拷贝;减少中断处理次数,采用多线程进行通信;合并网络层和链路层,采用两层协议结构,减少组包拆包次数;采用链路级流量控制和错误检测,减少上层协议流量控制和数据校验开销;丢弃分组中的无用填充,减小帧的长度。FRAMP原型交换机是一个4×4的用FPGA实现的高速交换机,其设计要点是采用输入缓冲输出分布式调度的交叉开关结构、穿透交换、带初始值的轮循调度算法和水线流量控制方法,用LVDS接收和发送器作端口控制器。采用双时钟同步先进先出存储器作缓冲器,解决了时钟隔离和切换问题,实现了输入缓冲功能,并利用存储器的使用情况对输入端口进行水线流量控制,这种流量控制机制比采用异步数据传输的交换机提高了链路的利用率和加快传输速度。FRAMP交换机采用穿透交换方式和同步传输数据和控制,实现分组的流水传输,减小了传输延时,简化了交换机级联扩展。为了减小调度时间,采用分布式仲裁部件进行调度。为了进一步加快调度速度,在一个时钟周期内完成改进的带初始值的轮循调度,大大缩短了交换延时,提高了交换效率,而实现调度算法的硬件成本增加较少,仍保持较低的水平。FRAMP网络支持四种数据传输方式:小消息发送和接收,大消息发送和接收,远程DMA读和远程DMA写,这些功能在网卡上实现。FRAMP网卡的主要组成部分是一个功能强大的FPGA芯片和一些接口控制器与缓冲器。网卡FPGA完成网络接口的大部分逻辑功能,包括:以轮循方式实现本地总线仲裁、完成普通大小消息的快速发送和接收、在网卡上实现一个定制的小规模TLB表并进行自动更新、实现远程内存直接写和直接读功能。在网卡上实现RDMA读和RDMA写,为虚拟共享存储系统提供了强有力的硬件支持。

赵晓芳[7]1999年在《非一致性存储访问的机群系统及其关键技术》文中指出分布式并行计算机系统是一个子系统数量非常庞大、且相互关联、相互制约和相互作用的关系复杂的有层次结构的系统。系统具有开放性的特点,其开放性体现在两个方面,一是对内部的开放性,即各结点之间的开放性和交互作用,另一点是对外的开放性,即对系统管理员和用户的开放性。并行系统中信息资源的开发、合理配置和有效使用是性能的根本问题。 机群和NUMA系统是近几年发展比较快的体系结构。NUMA系统通常是通过高速专用网络连接起来的独立的高速处理器构成的大规模处理器系统。这样的系统可以提供很高的综合性能。NUMA系统的优点是易于管理和可用性比较好。机群是由完整的互连的计算机集合组成,作为一个统一的计算和处理资源来使用的系统。由于机群系统中的每一个结点是一个完整的、可独立使用的计算机,系统的可用性、性能价格比、可扩展性以及可再利用性等方面与其他的系统相比较有很大的优势。 本文在广泛了解已有的并行系统结构的基础之上,深入研究了分布式并行系统设计的关键问题,包括结点结构、通讯接口、单一系统映像等,并结合计算机技术的发展趋势,提出了以好用性为核心,以可扩展性、高可用性和系统的灵活动态可配置和重构为目标,能很好地结合了机群系统和传统NUMA系统的优点的机群-NUMA系统结构。在此基础上,本文就从系统的多层次结构上通过功能扩展实现这样的系统的方法进行了探讨,特别是对结点之间的硬件通讯机制、系统信息交互以及资源共享等基础方面的问题,通过部分系统功能的实现进行了细致的分析和研究。 具体地说,本文的工作主要包括以下几个方面: ● 分析了NUMA系统的结构,包括CC-NUMA和COMA的特点和相关的cache一致性实现的特点,并分析和比较了两种结构在性能上的特点,指出不同方式下对不同类型的不命中产生的延时是有差别的。同时详细讨论了软件实现NUMA结构的方法和这些方法对系统的影响,对影响性能的几个方面进行了分析和提出了可能采取的措施。并对NUMA和SC-NUMA系统的性能进行了定性的比较。 ● 提出了一种新的体系结构,即机群NUMA系统,这种新的系统很好地结合了机群和NUMA机器的特点,以好用性为核心,以可扩展性、高可用性和系统的灵活动态可配置和重构为目标,很好地结合了机群系统和传

章隆兵[8]2004年在《提高机群OpenMP系统性能的关键技术研究》文中提出随着微处理器和高速网络技术的发展,机群由于性能价格比高和可扩展性好等特点,正逐渐成为并行计算的主流平台。适合机群的并行编程模型能够促进机群的广泛应用,从而促进并行应用的发展普及,成为当前关注热点。目前消息传递是机群上主流的并行编程模型。但是程序员在机群上使用消息传递编程相当困难,这一点阻碍了机群的广泛应用。一般认为,共享存储比消息传递易于编程。OpenMP作为当前共享存储的事实编程标准,具有易于编程和支持增量并行的特点。机群OpenMP系统在机群上提供了共享存储的OpenMP计算环境,它结合了OpenMP的易编程性和机群的可扩展性,引起了广泛的研究。由于机群通常采用廉价的商业网络互连,通信开销较大,机群OpenMP系统要想获得理想的性能较为困难,而具有良好的性能是它能否得到广泛应用的关键,因此如何有效提高机群OpenMP系统的性能成为当前研究热点。 本文研究了提高机群OpenMP系统性能的关键技术,并利用扩展OpenMP制导的方式进行了实现。机群OpenMP系统通过将OpenMP程序转换成软件DSM程序在机群上运行。基于Home的软件DSM系统在机群上构造了类似NUMA结构的共享存储抽象,针对这个特点,并借鉴了HPF语言,本文提出了数据分布制导扩展和充分利用拥有者计算原则的基于局部性的循环调度模式LBS和LBDS。由于数据分布制导扩展只适用于访存规则的程序,对于访存非规则的应用起不到作用。针对采用稀疏矩阵运算的一大类非规则应用,本文提出了indirect制导扩展以改善该类应用的性能。 本文对所提出的制导扩展进行了应用评测。测试结果表明使用这些制导扩展编程,既保持了OpenMP的易编程性,编程难度与循环级编程方式相似,又获得了与SPMD编程方式相当的性能,是机群上一种有效的编程方式。为了评价改进后机群OpenMP系统性能,本文在PC机群上将机群OpenMP系统OpenMP/JIAJIA与目前机群上主流的消息传递库MPI进行了比较。比较结果表明:在8个处理机运行时,相对于所测试的七个应用,机群OpenMP系统获得了相当于MPI的81%的性能。这个结果在一定程度上反映了机群OpenMP系统获得了与MPI可比的性能,但是采用OpenMP编程却比MPI要容易得多。

何田[9]2000年在《底层操作系统对软件DSM的影响》文中研究指明随着处理机速度提高,网络带宽加大和性价比极高的网络工作站机群系统(NOW)出现,利用分布式系统加速大规模科学计算成为当今的研究热点。本文在Windows NT平台上实现了JIAJIA软件分布式共享存储系统,并在相同的硬件平台下对JIAJIA DSM的两种版本:JIAJIA Linux和JIAJIA NT的性能进行了比较,作出了详细的分析,指出了底层操作系统对DSM系统的支持差异和改进途径,并在Windows NT平台上作出了相应的优化实现。本文工作主要体现在以下几个方面: · 利用Windows NT提供的内建多线程支持、虚存管理、结构化异常处理、扩展Winsock通讯集和同步变量等机制,采用混合策略实现Unix2Win32移植,成功地实现了一个基于Windows NT的软件分布式共享存储系统JIAJIA NT。该系统运行正确稳定,性能优良。 · 从理论研究和实际测试两个方面着手,深入分析和证实了Windows NT和Unix-Like OS在体系结构之间的差异以及这些差异对DSM系统性能的影响。 · 从Unix平台上移植了一批标准并行计算程序,例如Barnes,TSP,Water,EP,LU等。在不同计算规模和不同并行节点数的环境下,对这些并行计算程序在JIAJIA NT平台上运行时的开销进行了分析和测量。并与JIAJIA Linux的测试结果比较,得出一些有价值的结论。 · 在测量和分析的基础上,针对Windows NT的特色,对JIAJIA NT做出了一些优化,例如多线程构架,信号唤醒机制,动态修改线程运行优先级等。 · 开发了一些多平台支持程序,例如MiniServer、MiniClient、Rexec等,使JIAJIA NT版本能够成功地运行在Windows 9X,Windows 2000平台上。

吴少刚[10]2003年在《机群系统OpenMP研究》文中进行了进一步梳理由于性能价格比高和可扩展好等特点,基于COTS技术的机群系统逐渐成为并行计算的主流平台。目前消息传递编程是机群系统上主流的编程模型,而在机群系统上寻求共享存储编程乃至支持自动并行一直是并行计算的研究热点。OpenMP是共享存储体系结构的并行编程标准,易于编程且支持增量并行,因此研究在机群系统上支持OpenMP的共享存储计算环境非常有意义。可扩展性和可编程性是用来衡量并行系统处理能力的两个重要指标。这种并行计算环境结合了OpenMP语言的可编程性,以及机群系统的可扩展性,将极大地推动并行应用的开发和普及。本文采用编译时和软件DSM运行时相结合的技术路线实现机群OpenMP。其中软件DSM系统在机群的消息传递硬件上提供共享虚拟存储抽象,而编译器实现OpenMP语言到该编程抽象的翻译及优化。本文实现了一个机群OpenMP系统原型OpenMP/JIAJIA,具体组件包括一个源对源的编译器前端(OMP2JIA)和一个支持fork-join执行模式的OMP JIAJIA运行库后端。在透明支持OpenMP并行应用方面,本文的OpenMP/JIAJIA计算环境使得机群系统像硬件cc-NUMA结构的机器一样易用。本文着重研究了如何提高机群OpenMP系统的性能,分别从数据分布、循环调度和系统优化三个方面提出了增强性能的方法。OpenMP标准所针对的UMA体系结构与类NUMA的机群体系结构存在着本质差异。例如,机群系统的内存层次结构以及互连的商品网络使得数据的本地访问和远程访问速度相差很大,所以数据分布模式和进程访问模式是否匹配直接决定了OpenMP应用的性能。本文以语言扩展的形式,提出了适合机群体系结构特点的数据分布策略、静态和动态循环调度算法,能方便有效地实现拥有者计算。另外,本文从程序员、编译器和运行库三个环节上阐述了提高系统性能的途径,尤其是针对后端运行库做了许多优化工作,例如扩展OpenMP语言支持JIAJIA的写向量协议、Home迁移和数据预取,结合消息传递机制优化reduction归约操作等。对机群OpenMP系统进行客观评价需要一个覆盖面较广的测试程序集。本文收集了十二个应用程序,分别来自不同基准程序集,例如NAS、SPLASH2和SPEC等。该程序集包括用来测试制导开销的微程序,支持矩阵和偏微分方程等数值计算的核心算法程序,以及带有输入/输出、解决特定问题的应用级程序等。从程序的访存行为和通信模式看,这些程序包括规则和非规则应用、内存密集型和通信密集型应用等。本文从两个方面分析评价了机群OpenMP系统的实现。一方面比较了该计算环境和一个支持OpenMP的硬件cc-NUMA系统(SGI 2100服务器)的性能;另一方面比较了OpenMP和MPI两种编程模型在机群系统上的性能。测试结果表明,本文的OpenMP/JIAJIA原型系统在八个结点的PC机群平台上获得了与SGI 2100服务器相当的性能;在共享存储和消息传递的比较中,获得了MPI 82%的性能。本文的机群OpenMP

参考文献:

[1]. 支持软件分布式共享存储系统的机群通信技术[D]. 史岗. 中国科学院研究生院(计算技术研究所). 2003

[2]. 用户级通信在软件分布式共享存储系统中的应用[D]. 毛永捷. 中国科学院研究生院(计算技术研究所). 2000

[3]. 软件分布式共享存储系统的性能优化[D]. 施巍松. 中国科学院研究生院(计算技术研究所). 1999

[4]. 基于局域网的共享存储研究[D]. 孙春玲. 北京交通大学. 2008

[5]. 用户级通信在软件分布式共享存储系统中的应用与分析[J]. 毛永捷, 施巍松, 祝明发. 计算机研究与发展. 2001

[6]. 共享虚拟存储机群高速互连网络研究[D]. 胡明昌. 中国科学院研究生院(计算技术研究所). 2003

[7]. 非一致性存储访问的机群系统及其关键技术[D]. 赵晓芳. 中国科学院研究生院(计算技术研究所). 1999

[8]. 提高机群OpenMP系统性能的关键技术研究[D]. 章隆兵. 中国科学院研究生院(计算技术研究所). 2004

[9]. 底层操作系统对软件DSM的影响[D]. 何田. 中国科学院研究生院(计算技术研究所). 2000

[10]. 机群系统OpenMP研究[D]. 吴少刚. 中国科学院研究生院(计算技术研究所). 2003

标签:;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  

用户级通信在软件分布式共享存储系统中的应用
下载Doc文档

猜你喜欢