首页> 外文学位 >Implementation of Genetic Algorithms in FPGA-based Reconfigurable Computing systems.
【24h】

Implementation of Genetic Algorithms in FPGA-based Reconfigurable Computing systems.

机译:遗传算法在基于FPGA的可重构计算系统中的实现。

获取原文
获取原文并翻译 | 示例

摘要

Genetic Algorithms (GAs) are used to solve many optimization problems in science and engineering. GA is a heuristics approach which relies largely on random numbers to determine the approximate solution of an optimization problem. We use the Mersenne Twister Algorithm (MTA) to generate a non-overlapping sequence of random numbers with a period of 219937-1. The random numbers are generated from a state vector that consists of 624 elements. Our work on state vector generation and the GA implementation targets the solution of a flow-line scheduling problem where the flow-lines have jobs to process and the goal is to find a suitable completion time for all jobs using a GA. The state vector generation algorithm (MTA) performs poorly in traditional von Neumann architectures due to its poor temporal and spatial locality. Therefore its performance is limited by the speed at which we can access memory. With an approximate increase of processor performance by 60% per year and a drop of memory latency only 7% per year, a new approach is needed for performance improvement. On the other hand, the GA implementation in a general-purpose microprocessor, though performs reasonably well, has scope for performance gain in a parallel implementation. The parallel implementation of the GA can work as a kernel for applications that uses a GA to reach a solution. Our approach is to implement the state vector generation process and the GA in an FPGA-based Reconfigurable Computing (RC) system with the goal of improving the overall performance.;Application design for FPGA-based RC systems is not trivial and the performance improvement is not guaranteed. Designing for RC systems requires algorithmic parallelism in order to exploit the inherent parallelism of the FPGA. We are using a high-level language that provides a level of abstraction from the lower-level hardware in the RC system making it difficult to fully exploit some of the architectural benefits of the FPGA. Considering these factors, we improve the state vector generation process algorithmically. Our implementation generates state vectors 5X faster than the previous implementation in an Intel Xeon microprocessor of 2GHz. The modified algorithm is also implemented in a Xilinx Virtex-4 FPGA that results in a 2.4X speedup. Improvement in this preprocessing step accelerates GA application performance as random numbers are generated from these state vectors for the genetic operators. We simulate the basic operations of a GA in an FPGA to study its behavior in a parallel environment and analyze the results. The initial FPGA implementation of the GA runs about 7X slower than its microprocessor counterpart. The reasons are explained along with suggestions for improvement and future work.
机译:遗传算法(GA)用于解决科学和工程学中的许多优化问题。 GA是一种启发式方法,主要依靠随机数来确定优化问题的近似解。我们使用Mersenne Twister算法(MTA)生成周期为219937-1的随机数的非重叠序列。随机数是从包含624个元素的状态向量中生成的。我们在状态向量生成和GA实施方面的工作旨在解决流水线调度问题的解决方案,其中流水线有要处理的作业,目标是为使用GA的所有作业找到合适的完成时间。状态向量生成算法(MTA)由于在时间和空间上的局限性而在传统的von Neumann体系结构中表现不佳。因此,它的性能受到我们访问内存速度的限制。处理器性能每年大约提高60%,而内存延迟每年仅降低7%,因此需要一种新的方法来提高性能。另一方面,通用微处理器中的GA实现虽然表现不错,但在并行实现中仍有性能提升的空间。 GA的并行实现可以用作使用GA达成解决方案的应用程序的内核。我们的方法是在基于FPGA的可重构计算(RC)系统中实现状态向量生成过程和GA,以提高整体性能。;基于FPGA的RC系统的应用设计并非易事,并且性能改进是不保证。 RC系统的设计需要算法并行性,以便利用FPGA固有的并行性。我们正在使用一种高级语言,该语言提供了RC系统中较低级硬件的抽象级别,这使得难以充分利用FPGA的某些架构优势。考虑到这些因素,我们在算法上改进了状态向量生成过程。我们的实现生成状态向量的速度比2GHz的Intel Xeon微处理器中的以前实现快5倍。 Xilinx Virtex-4 FPGA还实现了修改后的算法,从而使速度提高了2.4倍。由于从这些状态向量为遗传算子生成了随机数,因此对该预处理步骤的改进可加快GA应用程序的性能。我们在FPGA中模拟GA的基本操作,以研究其在并行环境中的行为并分析结果。 GA的最初FPGA实现比其微处理器运行慢大约7倍。解释了原因以及改进和未来工作的建议。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号