基于多核处理器的动态负载平衡并行遗传算法.pdfVIP

基于多核处理器的动态负载平衡并行遗传算法.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于多核处理器的动态负载平衡并行遗传算法.pdf

基于多核处理器的动态负载平衡并行遗传算法 王力生张欣 同济大学计算机科学与技术系,上海200433 摘要:基于多核处理器系统的并行计算模型是并行处理研究方向的重点之一。本文首先分析了并 行遗传算法中三种主要模型的不足,然后提出了一种基于多核处理器并运用多线程技术的动态负载平 衡并行遗传算法。该算法在并发控制中通过采用原子操作避免了使用锁的不可靠性,易于实现且实现 了动态负载平衡。通过与一般串行和并行遗传算法的实验结果比较,表明该算法在性能上接近线性加 速比,同时证明了算法的正确性和有效性。 关键词:多核处理器系统多线程技术动态负载平衡并行遗传算法 1引 言 规律,如“适者生存”、“优胜劣汰”和“遗传机制”等演化而来的随机化搜索方法。它已广泛地应用于组合优 化、机器学习、信号处理、自适应控制和人工生命等领域,是现代智能计算中的关键技术之一llJ。 但是,随着科学技术的发展,问题的规模不断扩大,复杂度难度增加,GA在处理这些问题时往往由 于需要大量的计算时间而显得“力不从心”。由于GA具有天然的并行性特点,采用并行遗传算法(Pa阻llel Genetic 前,PGA模型主要分为三类【3】:主从式模型【4】、粗粒度模型【5】和细粒度模型16J。 多核处理器系统属于多处理机系统。随着多核处理器的普及,基于多核处理器系统的并行计算相比于 基于分布式多处理机系统的计算成本大大降低。因此,基于多核处理器系统的并行计算模型必然是今后并 行处理研究方向的重点之一f刀。上述四类PGA模型虽然同样可以应用于多核系统,但是由于多核系统本 质上是基于共享存储器的处理器系统,通讯延迟和个体迁移不是影响PGA效率的主要瓶颈,而如何最大 的提高算法的并行性以充分利用CPU的计算资源是算法的关键。因此,上述模型应用于多核系统不一定 能够达到最优,需要进一步改进和优化。 在多核处理器系统下编程多采用多线程技术。由于多线程的执行顺序不可预测,导致了多个线程之间 的同步等待的延迟同样不可预测,这往往造成了cPU资源的浪费。本文针对多核处理器系统,应用多线 程技术,设计了一种动态负载平衡的并行遗传算法。 2并行遗传算法的一般模型 遗传算法在解决实际问题时,其内含并行性是其保持较高计算和搜索效率的主要原因之一,但当问题 的规模和计算量很大时,遗传算法仍然需要消耗大量的时间。对于并行遗传算法的研究已有较多成果,主 要的并行实现方案有主从式模型、粗粒度模型和细粒度模型三种。 Model) (1)主从式模型(MaSter-Slave 该模型是把原来遗传算法中的种群分成若干个子种群,分别由各自的处理器运行,设置一个主处理器 负责若干个从处理器间的通信和协调。主处理器主要基于全局统计执行选择操作;而各个从处理器则接收 来自主处理器的新个体进行交叉和变异等遗传操作,产生新个体,并计算其适应值,把结果传回主处理 器,再由主处理器进行选择。 该模型易于实现,但仍有其自身的局限性。因为这种方法要求同步机制,这就可能导致主进程和子进 程之间的负载不平衡,造成一方忙而另一方闲的问题,引起效率下降。尤其当问题所需要的目标函数的适 应值计算量不太大时,会由于通信时间超过计算时间而影响算法的整体效率。因此,应用于多核处理器系 统会造成计算资源的浪费。 Model) (2)粗粒度模型(Coarse—Grained 粗粒度模型也叫做孤岛模型(IsIaIldModeI),而基于粗粒度模型的遗传算法也称为分布式遗传算法 (Distributed 这种并行模型与主从式模型的区别就在于取消了主处理器的监控地位。把遗传算法中的种群分成若干子种 群后分别由各自的处理器独立地进行适应值计算、选择、交叉和变异等操作,只是定期在各个处理器之间 进行最优个体的传递。 对于粗粒度模型,可以看出何时交换个体,交换哪些个体,采用什么方式交换,也就是如何确定迁移 规模、迁移策略和迁移拓扑等问题是关键问题。这些问题的解决往往依赖于具体问题和具体环境,所以对 于编程实现带来很大麻烦。 图l两线程分布式遗传算法的基本流程 Mode

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档