基于MPI的并行文件传输服务器群黄松林1王鹏1,2严伟才1李裕森1聂治3(1.成都信息工程学院并行计算实验室四川成都610225;2.电子科技大学四川成都610054;3.成都理工大学四川成都610059)摘要:本文运用MPI、COM/ActiveX和面向缓存等技术设计并实现了文件并行传输理论的新模型,将传统的最小负载均衡调度单位缩小至低于单文档大小,并将命令处理和数据服务相分离。文中给出了系统拓扑图、命令处理流程图和核心模块的设计原理图。实际测试结果表明,该系统增强了处理并发请求的能力和带宽,大大提高了数据传输速率,证明了这一设计方案的可行性和有效性。关键词:并行文件传输协议;MPI;并行文件I/O;集群监控中图分类号:TP393文献标识码:ATree-StructureWebServerClustersBasedonMPIHuangSonglin1WangPeng1,2YanWeicai1LiYusen1NieZhi3(1.ParallelComputingLaboratory,ChengduUniversityofInformationTechnology,Sichuan,Chengdu,610225;2.UniversityofElectronicScienceandTechnologyofChina,Sichuan,Chengdu,610054;3.ChengduUniversityofTechnology,SichuanChengdu610059)Abstract:ThispaperdiscussesanewmodelofparalleledtransfertheoryoffilesindetailwithtechnologyofMPI﹑COM/ActiveXandcaching-oriented,whicheffectivelyreducetosingledocumentfortraditionalleastloadbalanceschedulingunits.Systemtopologygraph、thedealflowchartsofcommandandthediagramofcentralmodulearedescribedinthesametime.Thecirculationresultshows:thissystemenhancestheabilityofparallelqueryandincreasesthedatatransfervelocity,moreover,validatesthefeasibilityofthismodel.KeyWords:PFTP;MPI;ParalleledFileI/O;ClusteMonitor.1.引言随着网络技术的发展和普及,人们对FTP传输的速度与稳定性要求越来越高。从结构上讲,FTP属于客户/服务器结构,是一种简单的多对一结构,即多台客户机向一台服务器发出请求,此服务器对各个客户机分时作出应答。随着并行FTP用户的增加,服务器的网络传输效率会显著下降,表现为:数据传输速度不稳定,服务器对请求响应迟缓,甚至拒绝应答,传统的解决方法是限制客户的连接数。本文将并行计算理论应用到传统的FTP系统中,通过增加服务器结点的数量来增加带宽和同时访问连接数,并对这些服务器结点进行集中控制和管理,以确保整个系统中对用户是透明的,多台服务器节点并行地传输同一个文件的不同块,因而既增大了系统带宽又提高了文件传输速度。基于这种思想的并行文件传输服务器群,可以有效地解决现有FTP系统存在问题[1-5]。2.MPI及相关技术MPI(MessagePassingInterface)是由MPI论坛开发的一个非专利且独立于平台的消息传递函数库的与语言无关的标准规范,而不特指某一具体实现[6]。MPI是目前最重要的并行编程工具,它具有移植性好、功能强大、效率高等优点,而且有多种不同的实现版本,几乎所有的并行计算机厂商都提供对它的支持,这是其他并行编程环境所无法比拟的。MPI不仅提供了多种通讯模式,其打/解包收发不连续数据功能有效的减少了通讯次数;他的扩充版本MPI-2提供文件并行I/O,能够方便的实现文件的并行读写。基于这些原因,本文选用了MPI作为服务端系统的开发平台。3.基于MPI的并行文件传输服务器群模型3.1并行服务器群的拓扑结构服务器节点呈层叠结构排列,分为调度节点与子结点。调度结点只有一个,调度服务器可能在下层搜寻负载最轻的子节点和进行并行I/O操作。子结点有多个,结点数可扩展,增加层内节点数目即可提升系统处理大批量请求的能力。当然,服务树具体的规模应以实际需求和单个服务器性能而定。监控结点只有一个,独立于服务器群。如图1图1PFTP系统拓扑图【注:11,接收用户请求。12分析消息中包含的文档大小,文件并行I/O。13,本地数据服务。14,MPI消息传递。15,响应客户请求;21,收集各结点监控数据。22,读取监控数据】3.2并行服务器群的调度策略传统的分布式调度策略和负载均衡算法所采用的最小调度单位为文件甚至为本次连接,很难实现理想中的负载均衡。我们的目标是要设计并行服务的调度策略。模型中主服务器(单...