[Gecode] Fundamental change of managing the current space

Christian Schulte schulte at imit.kth.se
Mon Aug 30 21:51:14 CEST 2004


Dear all,

One deficiency of the gecode design has been that it relied on a global
variable refering to the current space. This has been done just out of
laziness and now was the time to do it right (TM).

Now all operations which need access to the current space (that is
pretty much everything as one gets the memory from the current space)
take as first argument 'Space* home': the home will always refer to the
current space.

The rewrite has been brutal, Guido is still working on the set stuff...
And there has to be done alittle more to the notification boards and
propagator pools (also global state). This will be done by introducing a
worker which comprises all the state required to perform copying and
propagation.

The advantages of course are clear: no problems on Windows any longer
with gcc. And, most notably, now the way is open for parallel search
engines using several threads running in parallel. Interestingly, the
kernel will be completely ignorant of any parallelism, all this is
encapsulated in the search engine.

Christian
 




More information about the gecode-users mailing list