Threads versus event loop

"ccf::satchell"@hermes.dra.hmg.gb
Thu, 15 Jan 1998 09:22:54 GMT

A design question; I want to write a "processor farm" client in guile.
This shares a relatively large computational problem (in circuit optimisation)
over servers running on our network, giving each server another part of the
job when it finishes the last. At some points everything has to wait,
and all the servers get re-synched (e.g. if a global change in circuit
parameters is made). I have an old version in c, which uses an event loop,
and waits in select for the servers to reply.

It is easy to see how I can just replace the c programme with a scheme
based one, then extend it with better optimisation strategies etc.
Another alternative is to use a multithreaded design, e.g. with communication
with each server occuring in its own thread, and mutexs to handle
interthread interactions. The client programme does very little work compared
with the servers, so client efficiency is not a big deal, provided busy waits
can be avoided. What do people on the list think is best approach? There is
limited documentation about the thread system, and most of that is marked as
due for revision.

Julian Satchell
<satchell@dra.hmg.gb>

The opinions expressed above are my own, and do not represent those of any
organisation or body.