multi threading issues ...

Thomas Binder binder at
Fri Mar 24 12:20:16 EST 2000


I am using GALIB in a TCAD optimization framework which is capable of starting
several simulations on a cluster of workstations.

Therefore I am using a multi-threaded population evaluation mechanism; every 
evaluation of a certain population is carried out in a separate thread. Each 
thread queues a simulation run; the results from the simulations are then 
collected from the main thread via stdin and passed to the (blocking) threads 
via `userData'.

This mechanism worked fine until I started to change the `nBestGenomes' 
parameter of the genetic algorithm. The program now stops with an exit status 
of 139? as soon as the evaluation of the first population is finished.

I wrote a little test program which invokes the very same genetic algorithm
with completely the same settings but without multi-threaded population 
evaluation and of course everything works fine. The only difference in the 
little test program (apart from single-threaded evaluation) is that I use a 
simple objective function (instead of the simulation run).

At this point I have a few questions:

Is the data in the multi-threaded (GA-)optimizer consistent even if I don't 
touch `nBestGenomes'? If not, is there an easy workaround? 
Has anybody else similar experiences/problems with thread-safety?

Any response would be appreciated
"Computers are like air conditioners - they stop working properly when you open
                          \\  ~ ~  //
                           (  @ @  )
| Thomas Binder                        |                                       |
| Institute for  Microelectronics      | phone: ++43/1/58801-36036             |
| Technical University Vienna          |                                       |
| Gusshausstrasse  27-29 / E360        | fax  : ++43/1/58801-36099             |
| A-1040  Vienna                       |                                       |
| A U S T R I A                        | email: binder at        |
                        .oooO     (   )
                        (   )      ) /
                         \ (      (_/

More information about the galib mailing list