Server Layer

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