- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
并行仿真平台CHARM__的负载平衡策略分析
并行仿真平台CHARM++的
负载平衡策略分析
CHARM++概述
CHARM++的负载平衡策略分析
2.1 基于评测的chare负载平衡
①处理器信息,如处理器的运行速度,后台负载等;②对象信息,包括每个对象的cpu/墙钟计算时间;③对象之间的通讯量信息;(2)负载平衡子(load balancer)或策略:结合负载平衡数据库产生新的对象到处理器的映射。Charm++系统中,该策略定义为一个继承BaseLB的Chare Group来实现。与经典的负载平衡方案类似,策略分为集中式负载平衡策略和分布式负载平衡策略
2.1.1 集中式负载平衡策略分析
图1形象地表示了对象到处理器之间的映射:结点数目就是对象数目;每个结点的值表示对象的计算量;边表示对象之间的通讯;边的值表示消息传送量和通讯量。集中式负载平衡策略应用一个P-分割算法(P为处理机的数量)把可迁移的对象分割为P组,每组映射至一个处理器。该负载平衡问题抽象为一个NP分割问题。Charm++提供了以下几种主要的集中式负载平衡策略:
GreedyLB:一种“贪婪”的负载平衡策略,总是把最高负载处理机上的任务转移至最低负载处理机上
GreedyCommLB:与GreedyLB相同,另外参考了通讯信息,尽量保证通讯在同一处理机上;
RefineLB:迁移最高负载的处理机上的对象直到负载平衡,限制了迁移对象的数量;
RefineCommLB:与RefineLB相同,另外参考了通讯信息;
RandCentLB:随机地指定对象到处理机的映射;
MetisLB:运用了Metis(tm)来分割对象交互图;
RecBisectBfLB:在交互图上运用优先列举宽度的回归分割法;
ComboCentLB:一种特殊的平衡子,它可以是以上列举策略的各种组合
Charm++中,一种“良好”的负载平衡算法指的是在各种指标下多种可迁移对象映射至处理机方法的最优方法。这些指标包括通讯地址,标准路径,甚至是负载平衡策略开销本身。对于真实世界的仿真应用程序,仅仅基于对象的CPU负载而不考虑通讯因素的负载平衡策略是不足以成为最优方法的。集中式负载平衡策略可肯定平衡指标分为两类,一类是贪婪算法为核心的算法,不考虑现有的对象-处理器映射;另一类是基于现有的映射以限制对象迁移的次数,以精练算法为主。
集中式负载平衡考虑了全局负载通讯信息,使得平衡负载更加合理到位。但在大型的仿真系统中,存在以下几个问题:全局信息的收集难度大,开销大;中心处理机的存储开销大;单一的中央结点在存在大量结点的并行系统中成为通讯的瓶颈;基于集中式负载平衡策略算法的执行开销会很高,因为要输入大量处理机的信息和可迁移对象的计算量信息;贪婪类算法不考虑现有的对象处理机的映射来作迁移指令,可能会出现迁移当前位置所有对象的情况。另外,在要求频繁或快速负载平衡的应用中,集中式平衡负载开销尤其大。然而在普通大型并行机上,资源允许的情况,或者负载变化平缓的应用中,集中式负载平衡仍为首选。所以当较少的负载平衡次数换取的执行并行性能大于负载平衡开销时,集中式负载平衡是可以接受的。
在集中式负载平衡的基础上可做些许资源上的优化。例如在大型仿真应用系统中(多任务,多结点)可为中央结点配置一台专用的处理机,其存储空间可保留为应用专用;而中央处理机专用为负载平衡信息存储处理。对于占大型系统千分之一的专用结点是可以承担的。这样就最大地利用了中央结点的可用资源。该优化策略是参照了Blue Gene/L的一个基于树形结构的专用广播通讯端口。负载平衡可利用此类特别的网络结构来收集统计信息以做出迁移指令,即利用专有的资源来减小开销和提高大型并行机的效率。
2.1.2 分布式负载平衡策略分析
2.2 种子负载平衡子
Random:创建种子时进行随机的分配并在将来的时间里不进行转移。是缺省的种子负载平衡策略
Neighbor:负载的交换只在相邻的处理机之间发生。缺省的处理机拓扑结构为mesh2D,可使用命令行参数根据需要选择其他的拓扑结构如ring,mesh3D或dense graph(密集图)
Spray:一种在处理机上应用一个生成树结构的策略,在所有的处理机之间通过全局缩版来通讯,从而计算全局的平均负载。运用负载的平均量来确定如何分配种子
Chares的种子负载平衡子:种子负载平衡子可直接运用于平衡Chares的负载。链接的缺省种子负载平衡子总是随机的种子负载平衡子。用户当然也可以选择上述其他的平衡子链接至挂接的模块中
Array成员的种子负载平衡子:把array的成员看作是单独的chare,以同样的方式应用种子负载平衡子。Chare array有其自己的单个成员静态映射的内部策略,即创建一个名为CldMap的CkArrayMap方法,并传递给array的创建调用来与种子负载平衡子
文档评论(0)