[发明专利]用于在多个进程之间分配计算操作的方法和装置有效
申请号: | 200710186937.2 | 申请日: | 2007-11-15 |
公开(公告)号: | CN101206588A | 公开(公告)日: | 2008-06-25 |
发明(设计)人: | 贾彬 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 | 代理人: | 李镇江 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 进程 之间 分配 计算 操作 方法 装置 | ||
技术领域
本发明主要涉及并行计算。更准确地说,本发明涉及用于在多个进程之间分配计算操作并且从该多个进程收集该计算操作的结果的技术。
背景技术
并行计算是在多个处理器和/或多个计算系统之间分配计算操作。并行计算是有利的,这是因为如果使用多个处理器,则计算花费高的处理任务可花费较少的时间完成。例如,科学和科技研究常常包含这样的计算任务,该计算任务由于其复杂性而在单个处理器上需要数年才能完成。但是,这种任务如果在大量处理器之间分配则往往可在可管理的时间量内完成。天气预报和真实世界现象的计算机仿真也经常包含复杂的计算任务,该计算任务也可从并行计算中受益。并行计算对于高性能计算尤其有利,高性能计算是在本领域内用于指示需要非常大量的计算资源的计算任务的术语。
历史上,已经使用具有非常快的处理器的超级计算机、专用系统计算花费高的计算任务。但是,并行计算系统可以比超级计算机成本效率更高的方式执行这种任务。主要原因是与通过增加单个处理器的速度来提高计算能力相比,通过并行计算添加额外的处理器可更有效地和/或以较低成本提高性能。这是因为增加单个处理器的速度和性能存在报酬递减情况。相反,事实上往往不会限制有助于计算任务的处理器的数量。将多个处理器耦合到一起所需的开销是远不如增加单个处理器的速度的报酬递减重要的因素。此外,并行计算可有利地减少完成计算任务所需的功耗。这是因为并行执行得到的性能通常要比增加处理速度得到的性能更加功率高效。
并行计算中的一个操作是全局归约操作。在全局归约操作中,多个进程合作以完成计算操作。进程位于不同的处理器和/或不同的计算系统内。每个进程一开始具有本领域内已知的一些数据作为输入向量。全局归约操作使用专用的计算操作或一组计算操作组合所有输入向量。当向量大时,这可通过每个处理器在向量的子集上执行计算操作或一组计算操作来实现。应强调,本领域内已知的多种计算操作可与全局归约一起应用。全局归约操作的性能对于许多高性能并行应用是重要的。
为了成功地进行并行计算,重要地是共享计算任务的进程有效地交互。计算任务以预定义的方式在参与进程之间分配是非常有利的。为了实现此目标,进程应该理想地根据预定义的通信协议相互通信。消息传递接口或MPI是本领域内已知的有助于合作执行计算任务的多个处理器之间的通信的协议。MPI定义了各种通信的语义。
为了有助于通信,MPI定义了多个原语。一些MPI原语执行点对点通信。在这些原语中存在单向发送操作和单向接收操作。其他MPI原语有助于集群通信。这些原语包括MPI_BARRIER和MPI_BCAST。集群通信原语的子集值得注意,这是因为它们在多个进程之间分配计算操作。特别地,原语将通信和计算组合在相同操作内。此子集包括原语MPI_REDUCE和MPI_ALLREDUCE,这两个原语都执行全局归约操作。
在MPI_REDUCE操作中,每个进程具有输入向量。MPI_REDUCE操作的输出是对所有输入向量应用全局组合或归约操作的结果。MPI定义了一些内核计算操作包括求和以及确定最小值或最大值。另外,可实现MPI没有预见的定制计算操作。当归约完成时,在已知为根的进程可利用归约操作的结果。可指定哪个进程将用作根。
MPI_ALLREDUCE操作的输入和输出与MPI_REDUCE操作相似。但是,在MPI_ALLREDUCE操作结束时,在每个处理器可利用跨越所有处理器的归约操作的组合结果。
MPI_REDUCE和MPI_ALLREDUCE原语的性能对于基于MPI对并行计算应用的性能是重要的。一个长期的概括确定对于使用消息传递接口的并行计算应用,在MPI_REDUCE和MPI_ALLREDUCE内花费的时间量占任何MPI函数内配置的应用花费的总时间的超过40%。见Rolf Rabenseifner,Optimization ofCollective Reduction Operations,International Conference onComputational Science 2004,Lecture Notes in Computer Science(LNCS),Volu me 3036/2004,Springer。
MPI_REDUCE或MPI_ALLREDUCE的计算成本至少为(N-1)Lγ,其中N是进程数,L是用字节表示的向量长度而γ是每个字节的归约操作成本。如果在进程之间平均分配,则在任何具体进程内的计算成本为至少
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710186937.2/2.html,转载请声明来源钻瓜专利网。