mpi并行程序设计的负载平衡实现方法

mpi并行程序设计的负载平衡实现方法

ID:34384074

大小:112.17 KB

页数:3页

时间:2019-03-05

mpi并行程序设计的负载平衡实现方法_第1页
mpi并行程序设计的负载平衡实现方法_第2页
mpi并行程序设计的负载平衡实现方法_第3页
资源描述:

《mpi并行程序设计的负载平衡实现方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件时空中文核心期刊《微计算机信息》(管控一体化)2007年第23卷第5-3期文章编号:1008-0570(2007)05-3-0226-02MPI并行程序设计的负载平衡实现方法ImplementingLoadBalanceinMPIParallelProgram1林晓辉2(1.深圳大学超级计算中心;2.深圳大学)陆克中LUKEZHONGLINXIAOHUI摘要:MPI是目前集群系统中最重要的并行编程工具,它采用消息传递的方式实现并行程序间通信。在MPI并行程序设计中实现负载平衡有着重要的意义,可以减少运行时间,提高MPI并行程序的性能。负载平衡又可分为静态负载平衡和动态负载平衡

2、,对于静态负载平衡,提出了一种分配任务的算法,可有效地按照节点的计算能力,在节点间分配任务;对于动态负载平衡,提出了一种在MPI并行程序中实现的方法,可有效地根据节点的负载情况,在节点间迁移任务。关键词:集群;MPI并行程序;负载平衡;任务迁移中图分类号:TP393文献标识码:BAbstract:MPIisthemostimportantparallelprogrammingtoolinclustercurrently.Itimplementscommunicationinparallelprogrambymessage.ImplementingloadbalanceinMPIp

3、arallelprogramisveryimportant.Itmayreducerunningtimeandimproveperfor-技manceofMPIparallelprogram.Loadbalanceisclassifiedofstaticloadbalanceanddynamicloadbalance.Forstaticloadbalance,thispaperproposedanalgorithmofdistributingtasksthatcandistributetasksamongnodeseffectivelybynode’scomputingcapab

4、ili-术ty.Fordynamicloadbalance,thispaperproposedanimplementingmethodinMPIparallelprogramthatcantransfertasksbetweennodseffectivelybynode’sload.创Keywords:cluster,MPIparallelprogram,loadbalance,tasktransfer新的并行程序,其目的是为用户提供一个实际可用、可移植、高效1引言灵活的消息传递接口库。MPI采用单程序流多数据流的编程模高性能计算是一个国家综合实力的体现,广泛应用于航空型,即每个

5、进程执行同样的MPI程序。MPI程序可以通过航天、气象与天气预报、环境问题、材料科学、石油勘探等领域。MPI_Comm_rank函数获取当前进程的编号,有了该编号,不同集群系统具有低成本、高性能的特性,提供了强大的并行计算的进程就可以将自身和其他进程区分开来,各个进程就可以执能力和批处理能力,代表了高性能计算机发展的新方向[[1]。行不同的任务,从而实现进程间的并行和合作。一个典型的运行时间是衡量并行程序性能的重要指标。一个并行程序MPI程序结构如下:通常由多个进程组成,通常一个计算节点上运行一个进程,这intrank;些进程可同时并行执行任务,并行程序的运行时间由运行时间MPI

6、_Init(&argc,&argv);最长的进程决定。负载平衡是指在各计算节点间均匀分配负MPI_Comm_rank(MPI_COMM_WORLD,&rank);载,以使得各个进程倾向于同时完成任务,从而减少进程的最if(rank==0)长运行时间。在并行程序设计中实现负载平衡可有效减少并行{程序的运行时间,提高并行程序的性能[2][3]。task01();MPI是目前集群系统中最重要的并行编程工具[4][5],它采task02();用消息传递的方式实现并行程序间通信。MPI具有移植性好、⋯功能强大、效率高等多种优点,而且有多种不同的免费、高效、实用的实现版本,常见的如MPICH

7、、LAM、IBMMPL,几乎所有}的并行计算机厂商都提供对MPI的支持,成为了事实上的并行elseif(rank==1)编程标准。{在MPI并行程序设计中实现负载平衡有着重要的意义,可task11();以提高MPI并行程序的性能。一般来说,负载平衡又可分为静task12();态负载平衡和动态负载平衡,本文以下分别介绍MPI并行程序⋯设计中的静态负载平衡实现方法和动态负载平衡实现方法。}elseif(rank==2)2MPI并行程序设计简介{MPI是一个消息传递接口的标准,用于开发

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。