The server layer consists of a single process which acts as a distribution
center for tasks to be evaluated. This layer is used to allow multiple
optimization processes to be run, while sharing the workstation resources that
are currently available. The tasks are scheduled fairly with respect to the estimated
execution time and a task priority. The server automatically discovers new
workstations as they come online through a simple discovery protocol. When
new tasks are received from the user layer, it schedules these tasks
(according to their priority) onto a task queue. Whenever a workstation becomes
available, the task is sent to this workstation to be executed. The workstation
then sends the result back to the server, which in turn relays it back to the
user layer. Details of the implementation and the used communication
protocols will be discussed in section 2.
Jesse van den Kieboom
2014-02-26