next up previous
Next: PES-Server Up: Parallelized Evolution System Programmer's Previous: Parallelized Evolution System Programmer's


What is PES?

PES is a platform to parallelize evolutionary methods on a group of computers connected via a network. It separates the fitness evaluation of genotypes from other tasks (such as selection and reproduction) and distributes these evaluations onto a group of computers to be processed in parallel. PES consists of two components; (1) a server component, named PES-Server, that executes the evolutionary method, the management of the communication with the client computers, and (2) a client component, named PES-Client, that executes programs to evaluate a single individual and return the fitness back to the server. PES provides the user with an easy interface that relieves him from dealing with the communication between server and client processes. PES-Client is developed for both Windows and Linux, enabling the PES system to harvest computation power from computers running either of these operating systems. An easy-to-use framework for implementing evolutionary methods, and the inter-operability of the system distinguishes PES from other systems available and makes it a valuable tool for evolutionary methods with large computational requirements. PES uses PVM (Parallel Virtual Machine)[4]1, a widely utilized message passing library in distributed and parallel programming studies, for communication between the server and the clients. We have also considered MPI[2] as an alternative to PVM. MPI is a newer standart that is being developed by multiprocessor machine manufacturers and is more efficient. However PVM is more suitable for our purposes since (1) it is available in source code as free software and is ported on many computer systems ranging from laptops to CRAY supercomputers, (2) it is inter-operable, i.e. different architectures running PVM can be mixed in a single application, (3) it does not assume a static architecture of processors and is robust against failures of individual processors. PES wraps and improves PVM functionality. It implements a time-out mechanism is implemented to detect processes that have crashed or have entered an infinite loop. It provides ping, data and result message facilities. Ping messages are used to check the state of client processes. Data messages are used to send task information to client processes and result packages are used to carry fitness information from clients. Now we will describe the PES-Sever and PES-Clients.

Subsections
next up previous
Next: PES-Server Up: Parallelized Evolution System Programmer's Previous: Parallelized Evolution System Programmer's
root 2003-11-01