tracing: fix LTTng option

Commit 7c2dda5fb2c4 introduced a regression in CONFIG_LTTNG.

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
tests: fix Beagle launch script for Spate

Link: https://github.com/GeneAssembly/biosal/issues/788
Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
thorium: don't use rand() to avoid system calls (sys_futex)

The function rand() in the glibc (used in most GNU/Linux distributions)
generates 2 system calls on Linux (sys_futex with FUTEX_WAIT or FUTEX_WAKE).
Therefore, this function can not be used in Thorium.

The links below document where the locks are located in the rand() code path
when using the GNU glibc. I don't know where __libc_lock_lock() is defined
though.

Link: https://sourceware.org/git/?p=glibc.git;a=blob;f=stdlib/rand.c#l27
Link: https://sourceware.org/git/?p=glibc.git;a=blob;f=stdlib/random.c#l292
Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
genomics: don't use rand() inside actors

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
examples: don't use rand() in actors

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
performance: avoid the function rand() in receive()

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
tests: don't use rand() in tests, use rand_r() instead

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
tests: use CORE_DEBUGGER_ASSERT_ENABLED for complex assertions

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
Merge branch 'energy' of github.com:sebhtml/biosal into energy
thorium: call rand_r() in actor instead of in worker

Link: https://github.com/GeneAssembly/biosal/issues/792
Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
thorium: add a function to get the worker name of an actor

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
thorium: assign an actor to a worker when it is spawned

Otherwse, placement depends on the order of arrival of
messages.

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
performance: limit the number of targets to reduce memory usage

On Cray XE6 with 256 nodes, the number of actors is:
irb(main):001:0> 256*22*100
=> 563200

This patch selects 22 target actors per node which are allowed
to receive ACTION_PING messages. All actors still send
ACTION_PING messages however.

Link: https://github.com/GeneAssembly/biosal/issues/785
Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
thorium_worker: add function to send with multiplexer

Link: https://github.com/GeneAssembly/biosal/issues/791
Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
thorium_worker: add function to send message to other nodes

Link: https://github.com/GeneAssembly/biosal/issues/791
Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
scripts: don't search for action specifiers defined with a BASE

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
thorium: rename function to thorium_worker_send_local_delivery

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
thorium_worker: put message directly in outbound message ring

Link: https://github.com/GeneAssembly/biosal/issues/791
Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
thorium_worker: push message directly in ring when possible

Link: https://github.com/GeneAssembly/biosal/issues/791
Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
ring: always use a memory fence before incrementing the tail

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>