Applications of genetic programming to parallel system optimization

Robert William Pinder · DSpace@MIT (Massachusetts Institute of Technology) · 2000

The parallel computers of the future will be both more complex and more varied than the machines of today. With complicated memory hierarchies and layers of parallelism, the task of efficiently distributing data and computation across a par-allel system is becoming difficult both for humans and for compilers. Since parallel computers are available in many different configurations, from networked worksta-tions to shared memory machines, porting to new parallel systems is also becoming more challenging. In order to address these problems, this research seeks to develop a method of automatically converting generic parallel code to efficient, highly opti-mized, machine-specific code. The approach is to use genetic programming to evolve from the initial parallel program an augmented, performance efficient version of the program specific to the target system. Specifically, the evolutionary system will evolve for every loop a dis-tribution algorithm and a configuration for the work distribution. These algorithms map each iteration of the loop to a specific thread assignment. The algorithms are

Read the paper · More papers on PaperTik