LaborTone is a java-based compute task to heterogeneous resource execution planner.
To ensure that the best planner algorithm can be developed, the input (tasks and resources) and output (task execution plan) are defined as data maps and are processed by the specified PlanSolverInterface implementation class. This approach allows for any and all algorithms and their variants to be explored, developed, and tested for speed and accuracy in a consistent way.
Use maven to build the LaborTone application
$ mvn clean verify
To run the LaborTone application, run the jar with java -jar
$ java -jar target/labortone-0.1.0-SNAPSHOT-withdepends.jar \
--taskfile src/test/resources/tasks001.yml \
--resourcefile src/test/resources/resources001.yml
For testing consistency, use the vagrant and virtualbox managed CentOS VM with
$ vagrant up
To test code changes or run the solution again, you only need to run vagrant provisioning steps again:
$ vagrant provision
If you want to get in the VM and poke things, you can get into the box with:
$ vagrant ssh
To get started developing a new PlanSolver algorithm or tuning one that already exists, start with the SolverComparisonTest.