Speeding up of Particle Swarm Optimization using ...

1 downloads 0 Views 147KB Size Report
SIMD-oriented Fast Mersenne Twister on the Cell. Broadband Engine. Jun Igarashi1, Satoshi Sonoh1 and Takanori Koga2. 1 Graduate School of Life Science ...
Speeding up of Particle Swarm Optimization using SIMD-oriented Fast Mersenne Twister on the Cell Broadband Engine Jun Igarashi1, Satoshi Sonoh1 and Takanori Koga2 1 Graduate School of Life Science and Systems Engineering Kyushu Institute of Technology 2-4 Hibikino, Wakamatsu-ku, Kitakyushu, 808-0196, Japan {igarashi@, sonoo-satoshi@edu.}brain.kyutech.ac.jp 2 Graduate School of Science and Engineering Yamaguchi University 1677-1 Yoshida, Yamaguchi-shi Yamaguchi, 753-8511, Japan [email protected]

1

Introduction

Particle Swarm Optimization (PSO) [1], which is a metaheuristic inspired-by a swarm of insects or a pod of fish, shows excellent performance for optimization problems. When a large-scale or complex space is searched by PSO algorithm, however, there is a problem that it takes much processing time to solve it because of repeating independent trials from different initial values. The processing time of PSO is largely occupied by generation time of pseudo random number that has high computational cost. In the present study, we propose an implementation of fast computation of PSO using two features: the Cell Broadband Engine (Cell/B.E.) that is Multi-core processor with high computing power, and SIMD-oriented Fast Mersenne Twister (SFMT) [2] that is algorithm designed for fast generation of pseudo random numbers. Finally, we show that PSO can be effectively performed together with SFMT on the Cell/B.E.

2 Method In the present study, we performed searching optimum values in DeJong’s F1F5 functions by using general PSO algorithm [1]. We coded SFMT for the Cell/B.E. by modifying SFMT version 1.3.3 for PowerPC Altivec. The rand()

function of standard library of ANSI C was used for comparison with SFMT. We used the Cell/B.E. mounted on the PLAYSTATION3 by installing Fedora Core 6 Linux. The Cell/B.E. offered one PPE core and 6 SPE cores specialized for SIMD computing. We assigned independent trials of PSO to 6 SPEs equally. Furthermore, we assigned 4 trials to 4 elements of SIMD computing in each SPE. PPE was only used for starting and ending process of SPE threads. Intel Core 2 (2.66 GHz) machine was used as control for the Cell/B.E.

3 Result First, we compared processing time of PSO using one SPE of the Cell/B.E. or the Core 2 processor in the case that the rand() function of ANSI C was used. Then, processing time of the one SPE took twice as much as that of the Core 2. When we used 6 SPEs for PSO processing, processing time were from 1/3 to 1/7 as compared with that of the Core 2. As a result, performance scaled with increased in the number of SPEs. This performance scaling occurred due to parallel execution of independent trials on the six SPEs. Next, we introduced SFMT to PSO processing. Figure1 shows the cases that PSO processing with SFMT or the rand() function was performed on the Cell B.E. or the Core 2. In the both case of the Cell/B.E. and the Core 2, processing times were drastically shorten by employing SFMT as compared with the rand() function. In the all benchmarks, PSO processing with SFMT on the Cell/B.E. performed the fastest computation. The processing of the Cell/B.E. using SFMT were approximately from 14 to 42 times faster than that on the Core 2 with the rand() function. SFMT brought out high floating-point performance of the Cell/B.E. because of its optimization for SIMD and pipeline feature.

Figure1. The reduction of processing time by using SIMD processing on the one SPE in DeJong’s benchmark.

References 1. Kennedy, J., Eberhart, R.: Particle Swarm Optimization. In: IEEE InternationalConference on Neural Networks, pp. 1942-1948. (1995) 2. Saito, M., Matsumoto, M.: SIMD-oriented Fast Mersenne Twister: a128-bit PseudorandomNumber Generator. In: Keller, A., Heinrich, S., Niederreiter, H. (eds.) Monte Carlo and Quasi-Monte Carl Methods 2006. pp.607-622. Springe, Heidelberg (2008)

Suggest Documents