tests: add build status for master branch in README

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
tests: update Jenkins badge link in README

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
documentation: move credits at the end

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
unitig: reduce visitor count per worker to 100

Link: https://github.com/GeneAssembly/biosal/issues/804
Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
tests: convert time from the format 0m0.012s to a number of seconds

Link: https://github.com/GeneAssembly/biosal/issues/802
Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
tests: change invalid time values to 0 seconds

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
thorium_actor: add thorium_actor_get_time_in_seconds()

Link: https://github.com/GeneAssembly/biosal/issues/803
Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
unitig: add graph traversal speed in unitig visitor script

Link: https://github.com/GeneAssembly/biosal/issues/803
Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
tests: improve spate launcher on Blue Gene/Q

Link: https://github.com/GeneAssembly/biosal/issues/690
Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
tests: copy the correct job template on Blue Gene/Q

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
tests: simplify the Jenkins script

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
tests: update build status link in README

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
tests: use the same shell script for all Jenkins projects

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
documentation: fix build status link for master branch

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
tests: use "All view" instead of "Active" view for Jenkins

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
tests: fix bug in script that test code to find bugs

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
tests: improve Jenkins test script

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
thorium: store a time value for each destination buffer in exporter worker

Multiplexing (message batching) is done in worker space. A time value is
used to calculate the elapsed time, which is compared to a timeout value.

If the number of nodes is lower than the number of workers per node,
then each worker typically is responsible for at most one
destination node (it is an exporter worker). In that case, one single
time value for all buffers is sufficient (there is at most one buffer).

In the case where the number of nodes is greater than the number of workers
per node, each worker will be the exporter worker for at least one
destination node. In the case where the exporter is responsible for at
least two destination nodes, the time value is shared between the destination
buffers and thus the flushing operations are always synchronized. This prevents
buffers from filling up, and therefore decreases the multiplexing rate.

This changesett allows each buffer to be flushed independently, using one timer
per non-empty destination buffer for each exporter worker.

Link: https://github.com/GeneAssembly/biosal/issues/751
Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
core: add a function to check if red-black is empty

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
thorium: store timestamp in multiplexed buffer for transport

Link: https://github.com/GeneAssembly/biosal/issues/809
Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>