tasks_time =========== This is a collection of tools that is used to research scheduling strategies for intrees of tasks that are exponentially distributed. Other distributions and/or task dependency layouts (such as DAGs) can be incorporated, but are currently not part of the program. Components ---------- * tasks: A program that can be used to generate a DAG of snapshots and to generate visualization of that DAG. Use `--tikz` and `--dagview` as command line arguments to generate visualization. * dagviewer.py: A small tool to research the visual output generated by the tasks program (`--dagview`) and to adjust and examine the scheduling strategy on demand. Requirements ------------ * It is probably highly advantageous to build and run this stuff on a linux system. It *may* work on a windows machine with only minor modifications. * scons to build the program, just invoke `scons` to build with default parameters. Invoke `scons -h` to get an overview about the compilation options. * gcc4.9 (might work with earlier versions and other compilers, though) * Boost::program_options * Boost::spirit (used to parse input descriptions of trees) Optional -------- * Boost::rational (only if built with `MYFLOAT=2` or `MYFLOAT=3`) * gmp library (only if built with `MYFLOAT=4`) * Boost::python (only if built with `PYTHON_TESTS=1`) * Boost::filesystem (only if built with `PYTHON_TESTS=1`) Building -------- If you are impatient, just run `scons` from within the `src` directory. By default, the program is built with quite heavy optimization and uses floats to represent probabilities and expectancies. The resulting program is `build/tasks`. Run `scons -h` to get an overview about the possible options. Running ------- To see a list of options, run `build/tasks -h`.