design and I need a java developer to implement a plain/vanilla version of client-side simulator that acts as a simple job dispatcher
Budget: $30 – $250 AUD
This version of client-side simulator shall implement:
• The ds-sim simulation protocol as described in the ds-sim user guide. Briefly, it connects the server-side simulator (ds-server), receives jobs (one job at a time) and schedules them.
• A simple job dispatcher/scheduler, called Largest-Round-Robin (LRR) that sends each job to a server of the largest type in a round-robin fashion. The largest server type is defined to be the one with the largest number of CPU cores. If there are more than two server types with the same number of cores, use the first one, i.e., the first one listed in the configuration file or ds-system.xml.
See the example below:
For the largest server type of xlarge with five servers, LRR schedules
job 0 to xlarge 0, job 1 to xlarge 1, ..., job 4 to xlarge 4, job 5 to xlarge 0, job 6 to xlarge 1, ...
You can assume there is no job that requires more resources than those of a largest server; this has been ensured in the current implementation of ds-server job generation.
The reference implementation of client-side simulator (ds-client) can be found in the ds-sim repository (https://github.com/distsys-MQ/ds-sim). Your implementation of ds-client is required to work the same way as the reference implementation. In particular, for a given simulation with the ‘-v brief’ option
for ds-server, your simulation log should match exactly that generated by the reference implementation.
• The ds-sim simulation protocol as described in the ds-sim user guide. Briefly, it connects the server-side simulator (ds-server), receives jobs (one job at a time) and schedules them.
• A simple job dispatcher/scheduler, called Largest-Round-Robin (LRR) that sends each job to a server of the largest type in a round-robin fashion. The largest server type is defined to be the one with the largest number of CPU cores. If there are more than two server types with the same number of cores, use the first one, i.e., the first one listed in the configuration file or ds-system.xml.
See the example below:
For the largest server type of xlarge with five servers, LRR schedules
job 0 to xlarge 0, job 1 to xlarge 1, ..., job 4 to xlarge 4, job 5 to xlarge 0, job 6 to xlarge 1, ...
You can assume there is no job that requires more resources than those of a largest server; this has been ensured in the current implementation of ds-server job generation.
The reference implementation of client-side simulator (ds-client) can be found in the ds-sim repository (https://github.com/distsys-MQ/ds-sim). Your implementation of ds-client is required to work the same way as the reference implementation. In particular, for a given simulation with the ‘-v brief’ option
for ds-server, your simulation log should match exactly that generated by the reference implementation.
Related categories:
Business, Accounting, Human Resources & Legal
Software Architecture
Virtual Machines