[发明专利]基于Linux并行计算平台的动态负载均衡方法有效
| 申请号: | 201310341592.9 | 申请日: | 2013-08-07 |
| 公开(公告)号: | CN103399800A | 公开(公告)日: | 2013-11-20 |
| 发明(设计)人: | 江铭炎;徐昆;徐海东 | 申请(专利权)人: | 山东大学 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/38;H04L12/803 |
| 代理公司: | 济南金迪知识产权代理有限公司 37219 | 代理人: | 许德山 |
| 地址: | 250100 山*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 linux 并行 计算 平台 动态 负载 均衡 方法 | ||
技术领域
本发明涉及一种基于Linux并行计算平台的动态负载均衡方法,属于并行计算领域。
背景技术
并行计算(Parallel Computing)是指同时使用多种计算资源解决计算问题的过程。并行计算的主要目的是快速解决大型且复杂的计算问题。为了节约成本,实现对现有资源的充分利用,可以使用多台普通配置的个人计算机作为计算节点,多个节点之间通过网络互连,SSH远程登录以及MPI并行库函数构建并行计算平台。现阶段,在使用此类并行计算平台进行并行计算时,一种广泛运用的并行策略是将计算的参数均匀的分配到每个参与计算的计算机上,并根据MPI软件包提供的通信接口函数在程序运行的适当时间进行必要参数的通信与交流,最终完成并行计算任务。与传统的串行计算方式相比,该并行计算能够对大规模计算问题快速求解,极大降低了运算时间。但是这种并行策略存在以下问题:(1)这种并行方式不考虑各节点计算性能的差异,对计算任务平均分配,因此运行时,配置低的计算节点花费时间最长,成为限制整个并行计算平台计算效率的瓶颈;(2)当执行大规模,耗时长的计算任务时,计算过程中各个节点可能会因为突发性的访问或其他应用程序占用计算资源等情况,导致该节点计算时间大大延长。但是其他计算节点已经完成了本阶段的计算任务,处于空闲等待阶段,因此导致计算资源利用率大大降低。
在由山东大学信息科学与工程学院的徐昆,江铭炎发表的“Parallel Artificial Bee Colony Algorithm for Traveling Salesman Problem”(“并行人工蜂群算法求解旅行商问题”)论文中,就是使用了上述普通的并行计算策略,不考虑各节点的具体配置及实际拥有的计算能力,使用并行人工蜂群算法,将计算任务平均的分配给各个计算节。虽然与传统的串行算法相比,该并行策略大大提高了运算效率,节省了计算时间,但是计算能力最差的节点成为限制整个并行计算平台计算效率的瓶颈,导致整个平台资源利用率低。
发明内容
为了克服现有技术的缺陷和不足,以解决普通并行计算在执行大规模,超大规模计算任务时,出现的系统资源利用率低,任务分配不均衡,计算效率低的问题,本发明提出了一种基于Linux并行计算平台的动态负载均衡方法。
本发明的技术方案是采用如下方式来实现的:
一种基于Linux的并行计算平台的动态负载均衡方法,其硬件架构包括多台参与计算的计算机,每台计算机上安装Linux操作系统和相关的MPICH软件,将每根网线的一端插入计算机的网口,另一端接入同一个局域网的路由器上,并配置Linux的SSH服务器使各个计算机之间实现无密码登入,选择其一台计算机为主控计算机,称为主节点,负责数据和任务的收集与分发、计算结果的显示这些辅助工作,同时它也作为一个计算节点参与计算,其余的计算机均只负责计算功能,称为从节点;上述完成了并行计算的硬件连接和软件的配置,并行计算平台构建完成后,再在该环境下设计并行算法,以硬件平台以及并行算法为基础,通过编写脚本文件,并结合Linux系统中的例行性工作调度技术,实现并行计算的动态负载均衡,该方法步骤如下:
1.依次在各计算节点上对将要执行的并行计算程序进行编译;所有节点参与计算的程序均存放在相同的路径下;
2.主节点通过SSH服务器,实现远程登录并控制各个节点,执行保存在各节点统一路径下的脚本文件,该脚本文件用于计算各个节点的CPU利用率,并使用Linux系统中的数据处理指令awk以及数据流重定向技术将计算得到的CPU利用率保存到指定路径的文件中;
3.主节点通过执行远程复制指令scp,将各节点记录CPU利用率的文件远程复制到主节点的指定路径;
4.主节点使用指令awk指令读取各节点的CPU利用率,设定每个阶段并行计算时间为TD,根据运算时间TD、算法复杂度、每个节点处理器性能、内核数目及CPU利用率,分别计算每个节点在单位TD时间段内能够完成的计算数据量,根据计算的值为每个节点分配TD内的数据量,由此保证各节点都能在TD时间内完成该阶段的计算任务,将分配好的数据依次保存到指定路径文件中;
5.使用远程复制指令scp,将分配好的数据文件依次下发到各从节点;
6.主节点执行程序运行指令,使各节点同时开始计算时间为TD的并行计算任务;
7.TD时间的并行计算任务完成后,各节点将本阶段运行结果保存;
8.判断总的计算是否完成,如未完成,返回步骤2继续下一次动态任务分配;如完成,执行步骤9;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东大学,未经山东大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310341592.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:连接器
- 下一篇:一种基于温湿度反演的在线粮食水分检测系统及其方法





