Professional Documents
Culture Documents
High-performance asset cluster analysis implemented with Parallel Genetic Algorithms on the NVIDIA CUDA platform
by Dariusz Cieslakiewicz1 , Diane Wilcox1 , Tim Gebbie2
1
The nancial assistance of the National Research Foundation (NRF) towards this research is hereby acknowledged. Opinions expressed and conclusions arrived at, are those of the author and are not necessarily attributed to the NRF.
Outline
1
Motivation Non-parametric cluster analysis Background Genetic Algorithms Genetic operators Parallel Genetic Algorithms Computing Platform Approach Technical architecture Results Results References
by Dariusz Cieslakiewicz, Diane Wilcox, Tim Gebbie
Outline
1
Motivation Non-parametric cluster analysis Background Genetic Algorithms Genetic operators Parallel Genetic Algorithms Computing Platform Approach Technical architecture Results Results References
by Dariusz Cieslakiewicz, Diane Wilcox, Tim Gebbie
Cluster analysis
Cluster analysis I
Cluster analysis groups objects and describes their associations. Conguration of clusters is represented by a set S = {C1 , . . . , Ci , Ci+1 , . . . , Cn } where Ci is the cluster that object i belongs to and adheres to the following conditions: Ci = for i = 1, . . . , K , Ci Cj = for i = 1, . . . , K , j = 1, . . . , K and i = j and K Ci = S i=1 [Giada and Marsili, 2002] addressed the problem of data clustering by introducing an unsupervised, parameter free approach based on the maximum likelihood principle (ML) principle.
by Dariusz Cieslakiewicz, Diane Wilcox, Tim Gebbie
Log-likelihood function I
Log-likelihood function [Giada and Marsili, 2002] computed the probability density P({xi }|G, S) and used this to derive the maximum likelihood of a feature Lc thus resulting in a structure S as P(G , S|xi ) eDL(S) , where the resulting likelihood function is denoted by 1 2 ns n 2 ns + (ns 1) log s ] 2 cs n s cs
Lc (S) =
[log
s:ns >1
(1)
ci,j =
(2)
Outline
1
Motivation Non-parametric cluster analysis Background Genetic Algorithms Genetic operators Parallel Genetic Algorithms Computing Platform Approach Technical architecture Results Results References
by Dariusz Cieslakiewicz, Diane Wilcox, Tim Gebbie
In 1975, Holland, in his book titled Adaptation in natural and articial systems, described how to apply the principles of natural evolution to optimization problems and built the rst Genetic Algorithms. Genetic algorithms are computationally intensive global search heuristics. Search space contains all feasiable solutions among which the desired solution resides.
Outline
1
Motivation Non-parametric cluster analysis Background Genetic Algorithms Genetic operators Parallel Genetic Algorithms Computing Platform Approach Technical architecture Results Results References
by Dariusz Cieslakiewicz, Diane Wilcox, Tim Gebbie
Genetic operators I
Genetic operators
Representation: Integer-based individual Ch = Ci1 , Cj2 , . . . , ClK for i, j, l = {1, . . . , K } where Ci is the cluster that the object at the ordinal position belongs to. Objective function: Lc (S) = 1 2 [log
s:ns >1
ns n 2 ns + (ns 1) log s ] 2 cs ns cs
(3)
Outline
1
Motivation Non-parametric cluster analysis Background Genetic Algorithms Genetic operators Parallel Genetic Algorithms Computing Platform Approach Technical architecture Results Results References
by Dariusz Cieslakiewicz, Diane Wilcox, Tim Gebbie
Parallelisation Schemes
Migration Topologies
Migration
Deme Size Migration Topologies: Stepping Stone, One-Way Ring, Ring, Ring+1+2 and Ring+1+2+3
Migration rate
Outline
1
Motivation Non-parametric cluster analysis Background Genetic Algorithms Genetic operators Parallel Genetic Algorithms Computing Platform Approach Technical architecture Results Results References
by Dariusz Cieslakiewicz, Diane Wilcox, Tim Gebbie
Compute Unied Device Architecture(CUDA) is NVIDIAs platform for massively parallel high-performance computing on the NVIDIA GPUs. Utilising Nsight Eclipse Edition 5 with CUDA 5 on Linux Mint 13 using two cards: GTX 560 Ti and GTX 660 Ti
Technical architecture
Outline
1
Motivation Non-parametric cluster analysis Background Genetic Algorithms Genetic operators Parallel Genetic Algorithms Computing Platform Approach Technical architecture Results Results References
by Dariusz Cieslakiewicz, Diane Wilcox, Tim Gebbie
Technical architecture
Technical architecture
Physical View: Multiple-deme GA on the the NVIDIA CUDA platform [Pospichal et al., 2010]
Technical architecture
Technical architecture
Genetic Operators
Crossover Operator Single-Point, Two-Point and Custom Crossover implemented and executed at Pc of 0.6 and 0.8-0.9. Custom Crossover utilises a Single-Point Crossover approach with a knowledge directed operator applying the following measure f = arg max
1 1 2 ns s:ns >1 [log cs
+ (ns 1) log
2 ns ns 2 ns cs
Technical architecture
Migration Topologies
Migration
Deme Size : Variable Migration Topologies: Stepping Stone, One-Way Ring and Ring Migration rate:
Variable Default: 2
Technical architecture
Generic Framework for PGAs comprising 50 code artefacts to research different aspects of PGAs on GPUs. Includes templatised C++ artefacts: Processing Context, Chromsome, Individual, SubPopulation, Population, Archipalego, etc.
Technical architecture
Results
Outline
1
Motivation Non-parametric cluster analysis Background Genetic Algorithms Genetic operators Parallel Genetic Algorithms Computing Platform Approach Technical architecture Results Results References
by Dariusz Cieslakiewicz, Diane Wilcox, Tim Gebbie
Results
Master-Slave model
Results
Conclusion
Successfully implemented PGAs on the GPU. Speedups of more than 20x are attainable. Marsilli-Giada Log-likelihood function is a viable approach for isolating residual clusters.
References I
Chen, D., Chen, W., and Zheng, W. (2012). Cuda-zero: a framework for porting shared memory gpu applications to multi-gpus. SCIENCE CHINA Information Sciences, 55(3):663676. Coley, D. (1999). An Introduction to Genetic Algorithms for Scientists and Engineers. World Scientic. Giada, L. and Marsili, M. (2001). Data clustering and noise undressing of correlation matrices. Phys. Rev. E, 63:061101.
by Dariusz Cieslakiewicz, Diane Wilcox, Tim Gebbie
References II
Giada, L. and Marsili, M. (2002). Algorithms of maximum likelihood data clustering with applications. Physica A: Statistical Mechanics and its Applications, 315(34):650 664. Hoberock, J. and Bell, N. (2010). Thrust: A parallel template library. Version 1.3.0.
References III
Langdon, W. B. (2011). Debugging cuda. In Proceedings of the 13th annual conference companion on Genetic and evolutionary computation, GECCO 11, pages 415422, New York, NY, USA. ACM. Noh, J. (2000). Phys. Rev. E, 61. NVIDIA (2012a). CUDA Toolkit 4.1 CURAND Guide. NVIDIA Corporation.
References IV
NVIDIA (2012b). NVIDIA CUDA C Programming Guide. NVIDIA Corporation. Pospichal, P., Jaros, J., and Schwarz, J. (2010). Parallel genetic algorithm on the cuda architecture. In Proceedings of the 2010 international conference on Applications of Evolutionary Computation - Volume Part I, EvoApplicatons10, pages 442451, Berlin, Heidelberg. Springer-Verlag.
References V
Robilliard, D., Marion-Poty, V., and Fonlupt, C. (2009). Genetic programming on graphics processing units. Genetic Programming and Evolvable Machines, 10(4):447471. Sivanandam, S. and Deepa, S. (2010). Introduction to Genetic Algorithms. Springer. Xiao, S. and chun Feng, W. Inter-block gpu communication via fast barrier synchronization.
References VI
Zhang, S. and He, Z. (2009). Implementation of parallel genetic algorithm based on cuda. In Proceedings of the 4th International Symposium on Advances in Computation and Intelligence, ISICA 09, pages 2430, Berlin, Heidelberg. Springer-Verlag.