callgrind.out.*
### Examples and traces
*.exe
-examples/msg/actions-mpi/actions-mpi
+examples/msg/actions-comm/actions-comm
examples/msg/actions-storage/actions-storage
examples/msg/async-wait/async-wait
examples/msg/async-waitall/async-waitall
examples/msg/async-waitany/async-waitany
-examples/msg/bittorrent/bittorrent
-examples/msg/bittorrent/bittorrent_platfgen
-examples/msg/chainsend/chainsend
+examples/msg/app-bittorrent/bittorrent
+examples/msg/app-chainsend/chainsend
examples/msg/cloud-capping/cloud-capping
examples/msg/cloud-masterworker/cloud-masterworker
examples/msg/cloud-migration/cloud-migration
examples/msg/io-remote/io-remote
examples/msg/io-storage/io-storage
examples/msg/failures/failures
-examples/msg/masterworker/masterworker
examples/msg/process-kill/process-kill
-examples/msg/masterworker-mailbox/masterworker-mailbox
+examples/msg/app-masterworker/app-masterworker
examples/msg/mc/bugged1
examples/msg/mc/bugged1_liveness
examples/msg/mc/bugged1_stateful
-foreach(x actions-mpi actions-storage async-wait async-waitall async-waitany cloud-capping cloud-masterworker
- cloud-migration cloud-multicore cloud-scale cloud-simple cloud-two-tasks dht-chord dht-pastry exception
- energy-consumption energy-onoff energy-pstate energy-ptask energy-vm failures io-file io-file-unlink io-remote
- io-storage masterworker masterworker-mailbox pmm task-priority process-kill process-migration process-suspend
+foreach(x actions-comm actions-storage app-masterworker async-wait async-waitall async-waitany cloud-capping
+ cloud-masterworker cloud-migration cloud-multicore cloud-scale cloud-simple cloud-two-tasks dht-chord
+ dht-pastry exception energy-consumption energy-onoff energy-pstate energy-ptask energy-vm failures io-file
+ io-file-unlink io-remote io-storage pmm task-priority process-kill process-migration process-suspend
properties sendrecv set-maestro process-startkilltime synchro token_ring trace-categories
trace-link-srcdst-user-variables trace-link-user-variables trace-masterworker trace-platform
trace-process-migration trace-simple trace-user-variables)
set_target_properties(ns3 PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ns3)
endif()
-add_executable (bittorrent bittorrent/bittorrent.c bittorrent/messages.c bittorrent/peer.c bittorrent/tracker.c bittorrent/connection.c)
+add_executable (bittorrent app-bittorrent/bittorrent.c app-bittorrent/messages.c app-bittorrent/peer.c app-bittorrent/tracker.c app-bittorrent/connection.c)
target_link_libraries(bittorrent simgrid)
-set_target_properties(bittorrent PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bittorrent)
+set_target_properties(bittorrent PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/app-bittorrent)
foreach (file bittorrent connection messages peer tracker)
- set(examples_src ${examples_src} ${CMAKE_CURRENT_SOURCE_DIR}/bittorrent/${file}.c ${CMAKE_CURRENT_SOURCE_DIR}/bittorrent/${file}.h)
+ set(examples_src ${examples_src} ${CMAKE_CURRENT_SOURCE_DIR}/app-bittorrent/${file}.c ${CMAKE_CURRENT_SOURCE_DIR}/app-bittorrent/${file}.h)
endforeach()
-add_executable (chainsend chainsend/chainsend.c chainsend/iterator.c chainsend/common.c chainsend/messages.c chainsend/broadcaster.c chainsend/peer.c)
+add_executable (chainsend app-chainsend/chainsend.c app-chainsend/iterator.c app-chainsend/common.c app-chainsend/messages.c app-chainsend/broadcaster.c app-chainsend/peer.c)
target_link_libraries(chainsend simgrid)
-set_target_properties(chainsend PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/chainsend)
+set_target_properties(chainsend PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/app-chainsend)
foreach (file common iterator messages broadcaster peer)
- set(examples_src ${examples_src} ${CMAKE_CURRENT_SOURCE_DIR}/chainsend/${file}.c ${CMAKE_CURRENT_SOURCE_DIR}/chainsend/${file}.h)
+ set(examples_src ${examples_src} ${CMAKE_CURRENT_SOURCE_DIR}/app-chainsend/${file}.c ${CMAKE_CURRENT_SOURCE_DIR}/app-chainsend/${file}.h)
endforeach()
add_executable (dht-kademlia dht-kademlia/dht-kademlia.c dht-kademlia/node.c dht-kademlia/routing_table.c dht-kademlia/task.c dht-kademlia/answer.c)
set(examples_src ${examples_src} ${CMAKE_CURRENT_SOURCE_DIR}/dht-kademlia/${file}.c ${CMAKE_CURRENT_SOURCE_DIR}/dht-kademlia/${file}.h)
endforeach()
-foreach (file actions-mpi actions-storage async-wait async-waitall async-waitany bittorrent chainsend dht-chord
- dht-kademlia dht-pastry io-remote masterworker masterworker-mailbox properties sendrecv set-maestro
- task-priority)
+foreach (file actions-comm actions-storage app-bittorrent app-chainsend app-masterworker async-wait async-waitall
+ async-waitany dht-chord dht-kademlia dht-pastry io-remote properties sendrecv set-maestro task-priority)
set(xml_files ${xml_files} ${CMAKE_CURRENT_SOURCE_DIR}/${file}/${file}_d.xml)
endforeach()
set(txt_files ${txt_files} ${CMAKE_CURRENT_SOURCE_DIR}/README
- ${CMAKE_CURRENT_SOURCE_DIR}/actions-mpi/actions-mpi.txt
- ${CMAKE_CURRENT_SOURCE_DIR}/actions-mpi/actions-mpi_split_p0.txt
- ${CMAKE_CURRENT_SOURCE_DIR}/actions-mpi/actions-mpi_split_p1.txt
+ ${CMAKE_CURRENT_SOURCE_DIR}/actions-comm/actions-comm.txt
+ ${CMAKE_CURRENT_SOURCE_DIR}/actions-comm/actions-comm_split_p0.txt
+ ${CMAKE_CURRENT_SOURCE_DIR}/actions-comm/actions-comm_split_p1.txt
${CMAKE_CURRENT_SOURCE_DIR}/actions-storage/actions-storage.txt PARENT_SCOPE)
-set(bin_files ${bin_files} ${CMAKE_CURRENT_SOURCE_DIR}/bittorrent/generate.py
+set(bin_files ${bin_files} ${CMAKE_CURRENT_SOURCE_DIR}/app-bittorrent/generate.py
${CMAKE_CURRENT_SOURCE_DIR}/dht-chord/generate.py
${CMAKE_CURRENT_SOURCE_DIR}/dht-kademlia/generate.py PARENT_SCOPE)
-set(examples_src ${examples_src} ${CMAKE_CURRENT_SOURCE_DIR}/chainsend/chainsend.c
+set(examples_src ${examples_src} ${CMAKE_CURRENT_SOURCE_DIR}/app-chainsend/chainsend.c
${CMAKE_CURRENT_SOURCE_DIR}/dht-kademlia/common.h
${CMAKE_CURRENT_SOURCE_DIR}/ns3/ns3.c PARENT_SCOPE)
-set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/bittorrent/bittorrent.tesh
- ${CMAKE_CURRENT_SOURCE_DIR}/chainsend/chainsend.tesh
+set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/app-bittorrent/app-bittorrent.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/app-chainsend/app-chainsend.tesh
${CMAKE_CURRENT_SOURCE_DIR}/dht-kademlia/dht-kademlia.tesh
- ${CMAKE_CURRENT_SOURCE_DIR}/masterworker/masterworker_cpu_ti.tesh
- ${CMAKE_CURRENT_SOURCE_DIR}/masterworker-mailbox/masterworker-mailbox-multicore.tesh
- ${CMAKE_CURRENT_SOURCE_DIR}/masterworker-mailbox/masterworker-mailbox-vivaldi.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/app-masterworker/app-masterworker-multicore.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/app-masterworker/app-masterworker-vivaldi.tesh
${CMAKE_CURRENT_SOURCE_DIR}/ns3/ns3.tesh PARENT_SCOPE)
-set(xml_files ${xml_files} ${CMAKE_CURRENT_SOURCE_DIR}/actions-mpi/actions-mpi_split_d.xml
+set(xml_files ${xml_files} ${CMAKE_CURRENT_SOURCE_DIR}/actions-comm/actions-comm_split_d.xml
+ ${CMAKE_CURRENT_SOURCE_DIR}/app-masterworker/app-masterworker-multicore_d.xml
+ ${CMAKE_CURRENT_SOURCE_DIR}/app-masterworker/app-masterworker-vivaldi_d.xml
${CMAKE_CURRENT_SOURCE_DIR}/async-wait/async-wait2_d.xml
${CMAKE_CURRENT_SOURCE_DIR}/async-wait/async-wait3_d.xml
${CMAKE_CURRENT_SOURCE_DIR}/async-wait/async-wait4_d.xml
${CMAKE_CURRENT_SOURCE_DIR}/energy-onoff/platform_onoff.xml
- ${CMAKE_CURRENT_SOURCE_DIR}/masterworker-mailbox/masterworker-mailbox-multicore_d.xml
- ${CMAKE_CURRENT_SOURCE_DIR}/masterworker-mailbox/masterworker-mailbox-vivaldi_d.xml
${CMAKE_CURRENT_SOURCE_DIR}/ns3/3hosts_2links_d.xml
${CMAKE_CURRENT_SOURCE_DIR}/ns3/3links-timer_d.xml
${CMAKE_CURRENT_SOURCE_DIR}/ns3/3links_d.xml
${CMAKE_CURRENT_SOURCE_DIR}/process-startkilltime/start_d.xml
${CMAKE_CURRENT_SOURCE_DIR}/process-startkilltime/start_kill_d.xml PARENT_SCOPE)
-foreach(x actions-mpi actions-storage async-wait async-waitall async-waitany bittorrent chainsend cloud-capping
- cloud-masterworker cloud-migration cloud-scale cloud-simple cloud-two-tasks dht-chord dht-kademlia
- failures io-file io-file-unlink io-remote io-storage masterworker masterworker-mailbox task-priority process-kill
- process-migration process-suspend properties sendrecv synchro process-startkilltime token_ring)
+foreach(x actions-comm actions-storage app-bittorrent app-chainsend app-masterworker async-wait async-waitall
+ async-waitany cloud-capping cloud-masterworker cloud-migration cloud-scale cloud-simple cloud-two-tasks
+ dht-chord dht-kademlia failures io-file io-file-unlink io-remote io-storage task-priority process-kill
+ process-migration process-suspend properties sendrecv synchro process-startkilltime token_ring)
ADD_TESH_FACTORIES(msg-${x} "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/${x} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/platforms --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/${x} ${x}.tesh)
endforeach()
ADD_TESH(msg-trace-${x} --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/trace-${x} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/platforms --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/trace-${x} trace-${x}.tesh)
endforeach()
-ADD_TESH_FACTORIES(msg-bittorrent-parallel "thread;ucontext;raw" --cfg contexts/nthreads:4 ${CONTEXTS_SYNCHRO} --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/bittorrent --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/platforms --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/bittorrent bittorrent.tesh)
+ADD_TESH_FACTORIES(msg-app-bittorrent-parallel "thread;ucontext;raw" --cfg contexts/nthreads:4 ${CONTEXTS_SYNCHRO} --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/app-bittorrent --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/platforms --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/app-bittorrent app-bittorrent.tesh)
ADD_TESH_FACTORIES(msg-dht-chord-parallel "thread;ucontext;raw" --cfg contexts/nthreads:4 ${CONTEXTS_SYNCHRO} --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/dht-chord --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/platforms --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/dht-chord dht-chord.tesh)
ADD_TESH_FACTORIES(msg-dht-kademlia-parallel "thread;ucontext;raw" --cfg contexts/nthreads:4 ${CONTEXTS_SYNCHRO} --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/dht-kademlia --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/platforms --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/dht-kademlia dht-kademlia.tesh)
ADD_TESH_FACTORIES(msg-energy-pstate-ptask "thread;ucontext;raw;boost" --cfg host/model:ptask_L07 --log xbt_cfg.threshold:critical --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy-pstate/energy-pstate.tesh)
ADD_TESH_FACTORIES(msg-energy-ptask "thread;ucontext;raw" --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy-ptask/energy-ptask.tesh)
ADD_TESH_FACTORIES(msg-set-maestro "thread" --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/set-maestro/set-maestro.tesh)
-ADD_TESH_FACTORIES(msg-masterworker-mailbox-multicore "thread;ucontext;raw;boost" --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/masterworker-mailbox/masterworker-mailbox-multicore.tesh)
-ADD_TESH_FACTORIES(msg-masterworker-mailbox-vivaldi "thread;ucontext;raw;boost" --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/masterworker-mailbox/masterworker-mailbox-vivaldi.tesh)
-
-# Weird issue with this one ...
-#ADD_TESH_FACTORIES(msg-masterworker-cpu-ti "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/masterworker --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/platforms --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/masterworker masterworker_cpu_ti.tesh)
+ADD_TESH_FACTORIES(app-masterworker-multicore "thread;ucontext;raw;boost" --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/app-masterworker/app-masterworker-multicore.tesh)
+ADD_TESH_FACTORIES(app-masterworker-vivaldi "thread;ucontext;raw;boost" --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/app-masterworker/app-masterworker-vivaldi.tesh)
ADD_TESH(msg-pmm --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/platforms --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/pmm/pmm.tesh)
}
}
-static void action_reduce(const char *const *action)
-{
- int i;
- char *reduce_identifier;
- char mailbox[80];
- double comm_size = parse_double(action[2]);
- double comp_size = parse_double(action[3]);
- msg_task_t comp_task = NULL;
- const char *process_name;
- double clock = MSG_get_clock();
-
- process_globals_t counters = (process_globals_t) MSG_process_get_data(MSG_process_self());
-
- xbt_assert(communicator_size, "Size of Communicator is not defined can't use collective operations");
-
- process_name = MSG_process_get_name(MSG_process_self());
-
- reduce_identifier = bprintf("reduce_%d", counters->reduce_counter++);
-
- if (!strcmp(process_name, "p0")) {
- XBT_DEBUG("%s: %s is the Root", reduce_identifier, process_name);
-
- msg_comm_t *comms = xbt_new0(msg_comm_t, communicator_size - 1);
- msg_task_t *tasks = xbt_new0(msg_task_t, communicator_size - 1);
- for (i = 1; i < communicator_size; i++) {
- sprintf(mailbox, "%s_p%d_p0", reduce_identifier, i);
- comms[i - 1] = MSG_task_irecv(&(tasks[i - 1]), mailbox);
- }
- MSG_comm_waitall(comms, communicator_size - 1, -1);
- for (i = 1; i < communicator_size; i++) {
- MSG_comm_destroy(comms[i - 1]);
- MSG_task_destroy(tasks[i - 1]);
- }
- xbt_free(comms);
- xbt_free(tasks);
-
- comp_task = MSG_task_create("reduce_comp", comp_size, 0, NULL);
- XBT_DEBUG("%s: computing 'reduce_comp'", reduce_identifier);
- MSG_task_execute(comp_task);
- MSG_task_destroy(comp_task);
- XBT_DEBUG("%s: computed", reduce_identifier);
- } else {
- XBT_DEBUG("%s: %s sends", reduce_identifier, process_name);
- sprintf(mailbox, "%s_%s_p0", reduce_identifier, process_name);
- XBT_DEBUG("put on %s", mailbox);
- MSG_task_send(MSG_task_create(reduce_identifier, 0, comm_size, NULL), mailbox);
- }
-
- log_action(action, MSG_get_clock() - clock);
- xbt_free(reduce_identifier);
-}
-
static void action_bcast(const char *const *action)
{
int i;
xbt_free(bcast_identifier);
}
-static void action_sleep(const char *const *action)
-{
- const char *duration = action[2];
- double clock = MSG_get_clock();
-
- ACT_DEBUG("Entering %s", NAME);
- MSG_process_sleep(parse_double(duration));
- log_action(action, MSG_get_clock() - clock);
-}
-
-static void action_allReduce(const char *const *action)
-{
- int i;
- char *allreduce_identifier;
- char mailbox[80];
- double comm_size = parse_double(action[2]);
- double comp_size = parse_double(action[3]);
- msg_task_t task = NULL, comp_task = NULL;
- const char *process_name;
- double clock = MSG_get_clock();
-
- process_globals_t counters = (process_globals_t) MSG_process_get_data(MSG_process_self());
-
- xbt_assert(communicator_size, "Size of Communicator is not defined, can't use collective operations");
-
- process_name = MSG_process_get_name(MSG_process_self());
-
- allreduce_identifier = bprintf("allReduce_%d", counters->allReduce_counter++);
-
- if (!strcmp(process_name, "p0")) {
- XBT_DEBUG("%s: %s is the Root", allreduce_identifier, process_name);
-
- msg_comm_t *comms = xbt_new0(msg_comm_t, communicator_size - 1);
- msg_task_t *tasks = xbt_new0(msg_task_t, communicator_size - 1);
- for (i = 1; i < communicator_size; i++) {
- sprintf(mailbox, "%s_p%d_p0", allreduce_identifier, i);
- comms[i - 1] = MSG_task_irecv(&(tasks[i - 1]), mailbox);
- }
- MSG_comm_waitall(comms, communicator_size - 1, -1);
- for (i = 1; i < communicator_size; i++) {
- MSG_comm_destroy(comms[i - 1]);
- MSG_task_destroy(tasks[i - 1]);
- }
- xbt_free(tasks);
-
- comp_task = MSG_task_create("allReduce_comp", comp_size, 0, NULL);
- XBT_DEBUG("%s: computing 'reduce_comp'", allreduce_identifier);
- MSG_task_execute(comp_task);
- MSG_task_destroy(comp_task);
- XBT_DEBUG("%s: computed", allreduce_identifier);
-
- for (i = 1; i < communicator_size; i++) {
- sprintf(mailbox, "%s_p0_p%d", allreduce_identifier, i);
- comms[i - 1] = MSG_task_isend(MSG_task_create(mailbox, 0, comm_size, NULL), mailbox);
- }
- MSG_comm_waitall(comms, communicator_size - 1, -1);
- for (i = 1; i < communicator_size; i++)
- MSG_comm_destroy(comms[i - 1]);
- xbt_free(comms);
-
- XBT_DEBUG("%s: all messages sent by %s have been received", allreduce_identifier, process_name);
- } else {
- XBT_DEBUG("%s: %s sends", allreduce_identifier, process_name);
- sprintf(mailbox, "%s_%s_p0", allreduce_identifier, process_name);
- XBT_DEBUG("put on %s", mailbox);
- MSG_task_send(MSG_task_create(allreduce_identifier, 0, comm_size, NULL), mailbox);
-
- sprintf(mailbox, "%s_p0_%s", allreduce_identifier, process_name);
- MSG_task_receive(&task, mailbox);
- MSG_task_destroy(task);
- XBT_DEBUG("%s: %s has received", allreduce_identifier, process_name);
- }
-
- log_action(action, MSG_get_clock() - clock);
- xbt_free(allreduce_identifier);
-}
-
static void action_comm_size(const char *const *action)
{
const char *size = action[2];
"\tExample: %s msg_platform.xml msg_deployment.xml ",
argv[0],argv[0],argv[0]);
- printf("WARNING: THIS BINARY IS KINDA DEPRECATED\n"
- "This example is still relevant if you want to learn about MSG-based trace replay, but if you want to simulate "
- "MPI-like traces, you should use the newer version that is in the examples/smpi/replay directory instead.\n");
-
MSG_create_environment(argv[1]);
MSG_launch_application(argv[2]);
xbt_replay_action_register("wait", action_wait);
xbt_replay_action_register("barrier", action_barrier);
xbt_replay_action_register("bcast", action_bcast);
- xbt_replay_action_register("reduce", action_reduce);
- xbt_replay_action_register("allReduce", action_allReduce);
- xbt_replay_action_register("sleep", action_sleep);
xbt_replay_action_register("compute", action_compute);
/* Actually do the simulation using MSG_action_trace_run */
--- /dev/null
+! output sort 19
+$ ${bindir:=.}/actions-comm --log=actions.thres=verbose ${srcdir:=.}/small_platform_fatpipe.xml actions-comm_split_d.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
+> [ 20.703314] (1:p0@Tremblay) p0 recv p1 20.703314
+> [ 20.703314] (2:p1@Ruby) p1 send p0 1e10 20.703314
+> [ 30.897513] (0:maestro@) Simulation time 30.8975
+> [ 30.897513] (1:p0@Tremblay) p0 compute 1e9 10.194200
+> [ 30.897513] (2:p1@Ruby) p1 compute 1e9 10.194200
+
+! output sort 19
+$ ${bindir:=.}/actions-comm --log=actions.thres=verbose ${srcdir:=.}/small_platform_fatpipe.xml actions-comm_d.xml actions-comm.txt "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
+> [ 0.000000] (1:p0@Tremblay) p0 comm_size 3 0.000000
+> [ 1.037020] (1:p0@Tremblay) p0 bcast 5e8 1.037020
+> [ 1.037020] (2:p1@Ruby) p1 bcast 5e8 1.037020
+> [ 1.037020] (3:p2@Perl) p2 bcast 5e8 1.037020
+> [ 1.082894] (1:p0@Tremblay) p0 compute 4.5E6 0.045874
+> [ 1.123670] (1:p0@Tremblay) p0 compute 4E6 0.040777
+> [ 1.149156] (1:p0@Tremblay) p0 compute 2.5E6 0.025485
+> [ 1.149156] (2:p1@Ruby) p1 Irecv p0 0.000000
+> [ 1.149156] (3:p2@Perl) p2 Irecv p1 0.000000
+> [ 3.221244] (1:p0@Tremblay) p0 send p1 1e9 2.072088
+> [ 6.246256] (3:p2@Perl) p2 compute 5e8 5.097100
+> [ 11.343355] (2:p1@Ruby) p1 compute 1e9 10.194200
+> [ 11.343355] (2:p1@Ruby) p1 wait 0.000000
+> [ 11.343355] (2:p1@Ruby) p1 Isend p2 1e9 0.000000
+> [ 13.415443] (0:maestro@) Simulation time 13.4154
+> [ 13.415443] (1:p0@Tremblay) p0 compute 1e9 10.194200
+> [ 13.415443] (3:p2@Perl) p2 wait 7.169187
p1 barrier
p2 barrier
-p0 reduce 5e8 5e8
-p1 reduce 5e8 5e8
-p2 reduce 5e8 5e8
-
-p0 compute 5e8
-p1 compute 5e8
-p2 compute 5e8
-
-p0 barrier
-p1 barrier
-p2 barrier
-
-p0 allReduce 5e8 5e8
-p1 allReduce 5e8 5e8
-p2 allReduce 5e8 5e8
-
p0 finalize
p1 finalize
p2 finalize
<platform version="4">
<!-- Example file of how to use trace replay, with actions split in separate files, one per process.
Launch it like this:
- ./mpi_actions homogeneous_3_hosts.xml mpi_deployment_split.xml -->
+ ./actions-comm ../../platforms/platform.xml actions-comm_split_d.xml -->
- <process host="Tremblay" function="p0"> <argument value="actions-mpi_split_p0.txt"/> </process>
- <process host="Ruby" function="p1"> <argument value="actions-mpi_split_p1.txt"/> </process>
+ <process host="Tremblay" function="p0"> <argument value="actions-comm_split_p0.txt"/> </process>
+ <process host="Ruby" function="p1"> <argument value="actions-comm_split_p1.txt"/> </process>
</platform>
--- /dev/null
+# sample action file (with only the actions for p0, to be launched by deployment file)
+p0 init
+p0 recv p1
+p0 compute 1e9
+p0 finalize
+
--- /dev/null
+# sample action file (with only the actions for p1, to be launched by deployment file)
+p1 init
+p1 send p0 1e10
+p1 compute 1e9
+p1 finalize
+++ /dev/null
-# A little tesh file testing most MPI-related actions
-
-! output sort 19
-$ ${bindir:=.}/actions-mpi --log=actions.thres=verbose ${srcdir:=.}/small_platform_fatpipe.xml actions-mpi_split_d.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
-> WARNING: THIS BINARY IS KINDA DEPRECATED
-> This example is still relevant if you want to learn about MSG-based trace replay, but if you want to simulate MPI-like traces, you should use the newer version that is in the examples/smpi/replay directory instead.
-> [ 20.703314] (1:p0@Tremblay) p0 recv p1 20.703314
-> [ 20.703314] (2:p1@Ruby) p1 send p0 1e10 20.703314
-> [ 20.703314] (1:p0@Tremblay) p0 compute 12 0.000000
-> [ 32.703314] (2:p1@Ruby) p1 sleep 12 12.000000
-> [ 32.703314] (0:maestro@) Simulation time 32.7033
-
-! output sort 19
-$ ${bindir:=.}/actions-mpi --log=actions.thres=verbose ${srcdir:=.}/small_platform_fatpipe.xml actions-mpi_d.xml actions-mpi.txt "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
-> WARNING: THIS BINARY IS KINDA DEPRECATED
-> This example is still relevant if you want to learn about MSG-based trace replay, but if you want to simulate MPI-like traces, you should use the newer version that is in the examples/smpi/replay directory instead.
-> [ 0.000000] (1:p0@Tremblay) p0 comm_size 3 0.000000
-> [ 1.037020] (1:p0@Tremblay) p0 bcast 5e8 1.037020
-> [ 1.037020] (2:p1@Ruby) p1 bcast 5e8 1.037020
-> [ 1.037020] (3:p2@Perl) p2 bcast 5e8 1.037020
-> [ 1.082894] (1:p0@Tremblay) p0 compute 4.5E6 0.045874
-> [ 1.123670] (1:p0@Tremblay) p0 compute 4E6 0.040777
-> [ 1.149156] (1:p0@Tremblay) p0 compute 2.5E6 0.025485
-> [ 1.149156] (2:p1@Ruby) p1 Irecv p0 0.000000
-> [ 1.149156] (3:p2@Perl) p2 Irecv p1 0.000000
-> [ 3.221244] (1:p0@Tremblay) p0 send p1 1e9 2.072088
-> [ 6.246256] (3:p2@Perl) p2 compute 5e8 5.097100
-> [ 11.343355] (2:p1@Ruby) p1 compute 1e9 10.194200
-> [ 11.343355] (2:p1@Ruby) p1 wait 0.000000
-> [ 11.343355] (2:p1@Ruby) p1 Isend p2 1e9 0.000000
-> [ 13.415443] (1:p0@Tremblay) p0 compute 1e9 10.194200
-> [ 13.415443] (3:p2@Perl) p2 wait 7.169187
-> [ 14.452463] (2:p1@Ruby) p1 reduce 5e8 5e8 1.037020
-> [ 14.452463] (3:p2@Perl) p2 reduce 5e8 5e8 1.037020
-> [ 19.549562] (1:p0@Tremblay) p0 reduce 5e8 5e8 6.134119
-> [ 19.549562] (2:p1@Ruby) p1 compute 5e8 5.097100
-> [ 19.549562] (3:p2@Perl) p2 compute 5e8 5.097100
-> [ 24.646662] (1:p0@Tremblay) p0 compute 5e8 5.097100
-> [ 31.817801] (0:maestro@) Simulation time 31.8178
-> [ 31.817801] (1:p0@Tremblay) p0 allReduce 5e8 5e8 7.171139
-> [ 31.817801] (2:p1@Ruby) p1 allReduce 5e8 5e8 7.171139
-> [ 31.817801] (3:p2@Perl) p2 allReduce 5e8 5e8 7.171139
+++ /dev/null
-# sample action file (with only the actions for p0,
-# to be launched by deployment file)
-p0 init
-p0 recv p1
-p0 compute 12
-p0 finalize
-
+++ /dev/null
-# sample action file (with only the actions for p1,
-# to be launched by deployment file)
-p1 init
-p1 send p0 1e10
-p1 sleep 12
-p1 finalize
! timeout 10
! output sort 19
-$ $SG_TEST_EXENV ${bindir:=.}/bittorrent ${srcdir:=.}/cluster.xml ${srcdir:=.}/../msg/bittorrent/bittorrent_d.xml "--log=root.fmt:[%12.6r]%e(%i:%P@%h)%e%m%n"
+$ $SG_TEST_EXENV ${bindir:=.}/bittorrent ${srcdir:=.}/cluster.xml ${srcdir:=.}/../msg/app-bittorrent/app-bittorrent_d.xml "--log=root.fmt:[%12.6r]%e(%i:%P@%h)%e%m%n"
> [ 0.000000] (1:tracker@node-0.acme.org) Tracker launched.
> [ 0.000000] (2:peer@node-1.acme.org) Hi, I'm joining the network with id 2
> [ 0.000000] (3:peer@node-2.acme.org) Hi, I'm joining the network with id 3
! timeout 60
! output sort 19
-$ $SG_TEST_EXENV ${bindir:=.}/chainsend ${srcdir:=.}/platform.xml ${srcdir:=.}/../msg/chainsend/chainsend_d.xml "--log=root.fmt:[%12.6r]%e(%i:%P@%h)%e%m%n"
+$ $SG_TEST_EXENV ${bindir:=.}/chainsend ${srcdir:=.}/platform.xml ${srcdir:=.}/../msg/app-chainsend/app-chainsend_d.xml "--log=root.fmt:[%12.6r]%e(%i:%P@%h)%e%m%n"
> [ 587.704210] (2:peer@Boivin) ### 587.704224 16777216 bytes (Avg 0.027225 MB/s); copy finished (simulated).
> [ 786.931829] (3:peer@Jean_Yves) ### 786.931824 16777216 bytes (Avg 0.020332 MB/s); copy finished (simulated).
> [ 788.837385] (4:peer@TeX) ### 788.837402 16777216 bytes (Avg 0.020283 MB/s); copy finished (simulated).
p Testing a simple master/worker example application
-$ $SG_TEST_EXENV ./masterworker-mailbox/masterworker-mailbox ${srcdir:=.}/../platforms/multicore_machine.xml ${srcdir:=.}/masterworker-mailbox/masterworker-mailbox-multicore_d.xml --cfg=cpu/model:Cas01 --cfg=cpu/optim:Full
+$ $SG_TEST_EXENV ./app-masterworker/app-masterworker ${srcdir:=.}/../platforms/multicore_machine.xml ${srcdir:=.}/app-masterworker/app-masterworker-multicore_d.xml --cfg=cpu/model:Cas01 --cfg=cpu/optim:Full
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'cpu/model' to 'Cas01'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'cpu/optim' to 'Full'
> [Tremblay:master:(1) 0.000000] [msg_test/INFO] Got 6 workers and 20 tasks to process
p Testing a simple master/worker example application
-$ $SG_TEST_EXENV ./masterworker-mailbox/masterworker-mailbox ${srcdir:=.}/../platforms/vivaldi.xml ${srcdir:=.}/masterworker-mailbox/masterworker-mailbox-vivaldi_d.xml --cfg=network/latency_factor:1.0 --cfg=network/bandwidth_factor:1.0
+$ $SG_TEST_EXENV ./app-masterworker/app-masterworker ${srcdir:=.}/../platforms/vivaldi.xml ${srcdir:=.}/app-masterworker/app-masterworker-vivaldi_d.xml --cfg=network/latency_factor:1.0 --cfg=network/bandwidth_factor:1.0
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/latency_factor' to '1.0'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/bandwidth_factor' to '1.0'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/coordinates' to 'yes'
static int worker(int argc, char *argv[])
{
msg_task_t task = NULL;
- XBT_ATTRIB_UNUSED int res;
char mailbox[80];
- XBT_ATTRIB_UNUSED int read;
long id= xbt_str_parse_int(argv[1], "Invalid argument %s");
sprintf(mailbox, "worker-%ld", id);
while (1) {
- res = MSG_task_receive(&(task), mailbox);
+ int res = MSG_task_receive(&(task), mailbox);
xbt_assert(res == MSG_OK, "MSG_task_get failed");
// XBT_INFO("Received \"%s\"", MSG_task_get_name(task));
p Testing a simple master/worker example application (mailbox version)
! output sort 19
-$ $SG_TEST_EXENV ${bindir:=.}/masterworker-mailbox$EXEEXT ${srcdir:=.}/small_platform_with_routers.xml ${srcdir:=.}/../msg/masterworker-mailbox/masterworker-mailbox_d.xml --cfg=network/crosstraffic:0 --trace "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
+$ $SG_TEST_EXENV ${bindir:=.}/app-masterworker$EXEEXT ${srcdir:=.}/small_platform_with_routers.xml ${srcdir:=.}/../msg/app-masterworker/app-masterworker_d.xml --cfg=network/crosstraffic:0 --trace "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
> [ 0.000000] (0:maestro@) Configuration change: Set 'network/crosstraffic' to '0'
> [ 0.000000] (1:master@Tremblay) Got 5 workers and 20 tasks to process
> [ 0.000000] (1:master@Tremblay) Sending "Task_0" (of 20) to mailbox "worker-0"
> [ 5.094868] (0:maestro@) Simulation time 5.09487
> [ 5.094868] (6:worker@Bourassa) I'm done. See you!
-$ $SG_TEST_EXENV ${bindir:=.}/masterworker-mailbox$EXEEXT ${srcdir:=.}/small_platform_with_routers.xml ${srcdir:=.}/../msg/masterworker-mailbox/masterworker-mailbox_d.xml --trace "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
+$ $SG_TEST_EXENV ${bindir:=.}/app-masterworker$EXEEXT ${srcdir:=.}/small_platform_with_routers.xml ${srcdir:=.}/../msg/app-masterworker/app-masterworker_d.xml --trace "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
> [ 0.000000] (1:master@Tremblay) Got 5 workers and 20 tasks to process
> [ 0.000000] (1:master@Tremblay) Sending "Task_0" (of 20) to mailbox "worker-0"
> [ 0.002265] (1:master@Tremblay) Sending "Task_1" (of 20) to mailbox "worker-1"
<argument value="20"/> <!-- Number of tasks -->
<argument value="50000000"/> <!-- Computation size of tasks -->
<argument value="1000000"/> <!-- Communication size of tasks -->
- <argument value="Jupiter"/> <!-- First worker -->
- <argument value="Fafard"/> <!-- Second worker -->
- <argument value="Ginette"/> <!-- Third worker -->
- <argument value="Bourassa"/> <!-- Last worker -->
- <argument value="Tremblay"/> <!-- Me! I can work too! -->
+ <argument value="5"/> <!-- Number of workers -->
</process>
- <!-- The worker process (with no argument) -->
- <process host="Tremblay" function="worker" on_failure="RESTART"/>
- <process host="Jupiter" function="worker" on_failure="RESTART"/>
- <process host="Fafard" function="worker" on_failure="RESTART"/>
- <process host="Ginette" function="worker" on_failure="RESTART"/>
- <process host="Bourassa" function="worker" on_failure="RESTART"/>
+ <!-- The worker processes (with mailbox to listen on as argument) -->
+ <process host="Tremblay" function="worker" on_failure="RESTART"> <argument value="0"/> </process>
+ <process host="Jupiter" function="worker" on_failure="RESTART"> <argument value="1"/> </process>
+ <process host="Fafard" function="worker" on_failure="RESTART"> <argument value="2"/> </process>
+ <process host="Ginette" function="worker" on_failure="RESTART"> <argument value="3"/> </process>
+ <process host="Bourassa" function="worker" on_failure="RESTART"> <argument value="4"/> </process>
</platform>
static int master(int argc, char *argv[])
{
- int workers_count = 0;
- msg_host_t *workers = NULL;
- int number_of_tasks = 0;
- double task_comp_size = 0;
- double task_comm_size = 0;
int i;
- XBT_ATTRIB_UNUSED int read;
-
- read = sscanf(argv[1], "%d", &number_of_tasks);
- xbt_assert(read, "Invalid argument %s\n", argv[1]);
- read = sscanf(argv[2], "%lg", &task_comp_size);
- xbt_assert(read, "Invalid argument %s\n", argv[2]);
- read = sscanf(argv[3], "%lg", &task_comm_size);
- xbt_assert(read, "Invalid argument %s\n", argv[3]);
-
- { /* Process organization */
- workers_count = argc - 4;
- workers = xbt_new0(msg_host_t, workers_count);
-
- for (i = 4; i < argc; i++) {
- workers[i - 4] = MSG_host_by_name(argv[i]);
- if (workers[i - 4] == NULL) {
- XBT_INFO("Unknown host %s. Stopping Now! ", argv[i]);
- abort();
- }
- }
- }
- XBT_INFO("Got %d worker(s) :", workers_count);
- for (i = 0; i < workers_count; i++)
- XBT_INFO("%s", MSG_host_get_name(workers[i]));
+ long number_of_tasks = xbt_str_parse_int(argv[1], "Invalid amount of tasks: %s");
+ double task_comp_size = xbt_str_parse_double(argv[2], "Invalid computational size: %s");
+ double task_comm_size = xbt_str_parse_double(argv[3], "Invalid communication size: %s");
+ long workers_count = xbt_str_parse_int(argv[4], "Invalid amount of workers: %s");
- XBT_INFO("Got %d task to process :", number_of_tasks);
+ XBT_INFO("Got %ld workers and %ld tasks to process", workers_count, number_of_tasks);
for (i = 0; i < number_of_tasks; i++) {
+ char mailbox[256];
+ sprintf(mailbox, "worker-%ld", i % workers_count);
+
msg_task_t task = MSG_task_create("Task", task_comp_size, task_comm_size, xbt_new0(double, 1));
*((double *) task->data) = MSG_get_clock();
- msg_error_t a = MSG_task_send_with_timeout(task,MSG_host_get_name(workers[i % workers_count]),10.0);
+ msg_error_t a = MSG_task_send_with_timeout(task,mailbox,10.0);
if (a == MSG_OK) {
XBT_INFO("Send completed");
XBT_INFO("Gloups. The cpu on which I'm running just turned off!. See you!");
free(task->data);
MSG_task_destroy(task);
- free(workers);
return 0;
} else if (a == MSG_TRANSFER_FAILURE) {
- XBT_INFO("Mmh. Something went wrong with '%s'. Nevermind. Let's keep going!",
- MSG_host_get_name(workers[i % workers_count]));
+ XBT_INFO("Mmh. Something went wrong with '%s'. Nevermind. Let's keep going!", mailbox);
free(task->data);
MSG_task_destroy(task);
} else if (a == MSG_TIMEOUT) {
- XBT_INFO ("Mmh. Got timeouted while speaking to '%s'. Nevermind. Let's keep going!",
- MSG_host_get_name(workers[i % workers_count]));
+ XBT_INFO ("Mmh. Got timeouted while speaking to '%s'. Nevermind. Let's keep going!", mailbox);
free(task->data);
MSG_task_destroy(task);
} else {
XBT_INFO("All tasks have been dispatched. Let's tell everybody the computation is over.");
for (i = 0; i < workers_count; i++) {
+ char mailbox[256];
+ sprintf(mailbox, "worker-%ld", i % workers_count);
msg_task_t task = MSG_task_create("finalize", 0, 0, FINALIZE);
- int a = MSG_task_send_with_timeout(task,MSG_host_get_name(workers[i]),1.0);
+ int a = MSG_task_send_with_timeout(task,mailbox,1.0);
if (a == MSG_OK)
continue;
if (a == MSG_HOST_FAILURE) {
XBT_INFO("Gloups. The cpu on which I'm running just turned off!. See you!");
MSG_task_destroy(task);
- free(workers);
return 0;
} else if (a == MSG_TRANSFER_FAILURE) {
- XBT_INFO("Mmh. Can't reach '%s'! Nevermind. Let's keep going!", MSG_host_get_name(workers[i]));
+ XBT_INFO("Mmh. Can't reach '%s'! Nevermind. Let's keep going!", mailbox);
MSG_task_destroy(task);
} else if (a == MSG_TIMEOUT) {
- XBT_INFO("Mmh. Got timeouted while speaking to '%s'. Nevermind. Let's keep going!",
- MSG_host_get_name(workers[i % workers_count]));
+ XBT_INFO("Mmh. Got timeouted while speaking to '%s'. Nevermind. Let's keep going!", mailbox);
MSG_task_destroy(task);
} else {
XBT_INFO("Hey ?! What's up ? ");
- xbt_die("Unexpected behavior with '%s': %d", MSG_host_get_name(workers[i]), a);
+ xbt_die("Unexpected behavior with '%s': %d", mailbox, a);
}
}
XBT_INFO("Goodbye now!");
- free(workers);
return 0;
}
static int worker(int argc, char *argv[])
{
+ msg_task_t task = NULL;
+ char mailbox[80];
+
+ long id= xbt_str_parse_int(argv[1], "Invalid argument %s");
+
+ sprintf(mailbox, "worker-%ld", id);
+
while (1) {
- msg_task_t task = NULL;
int a;
double time1, time2;
time1 = MSG_get_clock();
- a = MSG_task_receive( &(task), MSG_host_get_name(MSG_host_self()) );
+ a = MSG_task_receive( &(task), mailbox);
time2 = MSG_get_clock();
if (a == MSG_OK) {
XBT_INFO("Received \"%s\"", MSG_task_get_name(task));
if (MSG_task_get_data(task) == FINALIZE) {
MSG_task_destroy(task);
+ task = NULL;
break;
}
if (time1 < *((double *) task->data))
XBT_INFO("\"%s\" done", MSG_task_get_name(task));
free(task->data);
MSG_task_destroy(task);
+ task = NULL;
} else if (a == MSG_HOST_FAILURE) {
XBT_INFO("Gloups. The cpu on which I'm running just turned off!. See you!");
free(task->data);
MSG_task_destroy(task);
+ task = NULL;
return 0;
} else {
XBT_INFO("Hey ?! What's up ? ");
p Testing a simple master/worker example application handling failures TCP crosstraffic DISABLED
! output sort 19
-$ $SG_TEST_EXENV ${bindir:=.}/failures$EXEEXT --log=xbt_cfg.thres:critical --log=no_loc ${srcdir:=.}/small_platform_with_failures.xml ${srcdir:=.}/../msg/masterworker/masterworker_d.xml --cfg=path:${srcdir} --cfg=network/crosstraffic:0 "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
+$ $SG_TEST_EXENV ${bindir:=.}/failures$EXEEXT --log=xbt_cfg.thres:critical --log=no_loc ${srcdir:=.}/small_platform_with_failures.xml ${srcdir:=.}/../msg/app-masterworker/app-masterworker_d.xml --cfg=path:${srcdir} --cfg=network/crosstraffic:0 "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
> [ 0.000000] (0:maestro@) Cannot launch process 'worker' on failed host 'Fafard'
-> [ 0.000000] (1:master@Tremblay) Got 5 worker(s) :
-> [ 0.000000] (1:master@Tremblay) Jupiter
-> [ 0.000000] (1:master@Tremblay) Fafard
-> [ 0.000000] (1:master@Tremblay) Ginette
-> [ 0.000000] (1:master@Tremblay) Bourassa
-> [ 0.000000] (1:master@Tremblay) Tremblay
-> [ 0.000000] (1:master@Tremblay) Got 20 task to process :
+> [ 0.000000] (1:master@Tremblay) Got 5 workers and 20 tasks to process
+> [ 0.010309] (1:master@Tremblay) Send completed
+> [ 0.010309] (2:worker@Tremblay) Received "Task"
+> [ 0.010309] (2:worker@Tremblay) Communication time : "0.010309"
+> [ 0.010309] (2:worker@Tremblay) Processing "Task"
> [ 1.000000] (0:maestro@) Restart processes on host: Fafard
-> [ 1.000000] (1:master@Tremblay) Mmh. Something went wrong with 'Jupiter'. Nevermind. Let's keep going!
+> [ 1.000000] (1:master@Tremblay) Mmh. Something went wrong with 'worker-1'. Nevermind. Let's keep going!
> [ 1.000000] (3:worker@Jupiter) Gloups. The cpu on which I'm running just turned off!. See you!
> [ 2.000000] (0:maestro@) Restart processes on host: Jupiter
-> [ 11.000000] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'Fafard'. Nevermind. Let's keep going!
+> [ 2.010309] (2:worker@Tremblay) "Task" done
+> [ 11.000000] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
> [ 12.030928] (1:master@Tremblay) Send completed
> [ 12.030928] (4:worker@Ginette) Received "Task"
> [ 12.030928] (4:worker@Ginette) Communication time : "1.030928"
> [ 15.061856] (5:worker@Bourassa) "Task" done
> [ 15.072165] (2:worker@Tremblay) "Task" done
> [ 16.103093] (6:worker@Jupiter) "Task" done
-> [ 24.103093] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'Fafard'. Nevermind. Let's keep going!
-> [ 24.103093] (1:master@Tremblay) Mmh. Something went wrong with 'Ginette'. Nevermind. Let's keep going!
+> [ 24.103093] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
+> [ 24.103093] (1:master@Tremblay) Mmh. Something went wrong with 'worker-3'. Nevermind. Let's keep going!
> [ 24.103093] (4:worker@Ginette) Mmh. Something went wrong. Nevermind. Let's keep going!
> [ 25.134021] (1:master@Tremblay) Send completed
> [ 25.134021] (5:worker@Bourassa) Received "Task"
> [ 27.134021] (5:worker@Bourassa) "Task" done
> [ 27.144330] (2:worker@Tremblay) "Task" done
> [ 28.175258] (6:worker@Jupiter) "Task" done
-> [ 36.175258] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'Fafard'. Nevermind. Let's keep going!
+> [ 36.175258] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
> [ 37.206186] (1:master@Tremblay) Send completed
-> [ 37.206186] (1:master@Tremblay) Mmh. Something went wrong with 'Bourassa'. Nevermind. Let's keep going!
+> [ 37.206186] (1:master@Tremblay) Mmh. Something went wrong with 'worker-4'. Nevermind. Let's keep going!
> [ 37.206186] (4:worker@Ginette) Received "Task"
> [ 37.206186] (4:worker@Ginette) Communication time : "1.030928"
> [ 37.206186] (4:worker@Ginette) Processing "Task"
> [ 39.206186] (4:worker@Ginette) "Task" done
> [ 39.216495] (2:worker@Tremblay) "Task" done
> [ 40.247423] (6:worker@Jupiter) "Task" done
-> [ 48.247423] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'Fafard'. Nevermind. Let's keep going!
+> [ 48.247423] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
> [ 49.278351] (1:master@Tremblay) Send completed
> [ 49.278351] (4:worker@Ginette) Received "Task"
> [ 49.278351] (4:worker@Ginette) Communication time : "1.030928"
> [ 49.278351] (4:worker@Ginette) Processing "Task"
> [ 50.000000] (4:worker@Ginette) Gloups. The cpu on which I'm running just turned off!. See you!
> [ 50.309278] (1:master@Tremblay) Send completed
+> [ 50.309278] (1:master@Tremblay) All tasks have been dispatched. Let's tell everybody the computation is over.
+> [ 50.309278] (2:worker@Tremblay) Received "finalize"
+> [ 50.309278] (2:worker@Tremblay) I'm done. See you!
> [ 50.309278] (5:worker@Bourassa) Received "Task"
> [ 50.309278] (5:worker@Bourassa) Communication time : "1.030928"
> [ 50.309278] (5:worker@Bourassa) Processing "Task"
-> [ 50.319588] (1:master@Tremblay) Send completed
-> [ 50.319588] (1:master@Tremblay) All tasks have been dispatched. Let's tell everybody the computation is over.
-> [ 50.319588] (2:worker@Tremblay) Received "Task"
-> [ 50.319588] (2:worker@Tremblay) Communication time : "0.010309"
-> [ 50.319588] (2:worker@Tremblay) Processing "Task"
-> [ 50.319588] (6:worker@Jupiter) Received "finalize"
-> [ 50.319588] (6:worker@Jupiter) I'm done. See you!
-> [ 51.319588] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'Fafard'. Nevermind. Let's keep going!
+> [ 50.309278] (6:worker@Jupiter) Received "finalize"
+> [ 50.309278] (6:worker@Jupiter) I'm done. See you!
+> [ 51.309278] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
+> [ 52.309278] (0:maestro@) Simulation time 52.3093
+> [ 52.309278] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-3'. Nevermind. Let's keep going!
+> [ 52.309278] (1:master@Tremblay) Goodbye now!
> [ 52.309278] (5:worker@Bourassa) "Task" done
-> [ 52.319588] (0:maestro@) Simulation time 52.3196
-> [ 52.319588] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'Ginette'. Nevermind. Let's keep going!
-> [ 52.319588] (1:master@Tremblay) Goodbye now!
-> [ 52.319588] (2:worker@Tremblay) "Task" done
-> [ 52.319588] (2:worker@Tremblay) Received "finalize"
-> [ 52.319588] (2:worker@Tremblay) I'm done. See you!
-> [ 52.319588] (5:worker@Bourassa) Received "finalize"
-> [ 52.319588] (5:worker@Bourassa) I'm done. See you!
+> [ 52.309278] (5:worker@Bourassa) Received "finalize"
+> [ 52.309278] (5:worker@Bourassa) I'm done. See you!
p Testing a simple master/worker example application handling failures. TCP crosstraffic ENABLED
! output sort 19
-$ $SG_TEST_EXENV ${bindir:=.}/failures$EXEEXT --log=xbt_cfg.thres:critical --log=no_loc ${srcdir:=.}/small_platform_with_failures.xml ${srcdir:=.}/../msg/masterworker/masterworker_d.xml --cfg=path:${srcdir} "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
+$ $SG_TEST_EXENV ${bindir:=.}/failures$EXEEXT --log=xbt_cfg.thres:critical --log=no_loc ${srcdir:=.}/small_platform_with_failures.xml ${srcdir:=.}/../msg/app-masterworker/app-masterworker_d.xml --cfg=path:${srcdir} "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
> [ 0.000000] (0:maestro@) Cannot launch process 'worker' on failed host 'Fafard'
-> [ 0.000000] (1:master@Tremblay) Got 5 worker(s) :
-> [ 0.000000] (1:master@Tremblay) Jupiter
-> [ 0.000000] (1:master@Tremblay) Fafard
-> [ 0.000000] (1:master@Tremblay) Ginette
-> [ 0.000000] (1:master@Tremblay) Bourassa
-> [ 0.000000] (1:master@Tremblay) Tremblay
-> [ 0.000000] (1:master@Tremblay) Got 20 task to process :
+> [ 0.000000] (1:master@Tremblay) Got 5 workers and 20 tasks to process
+> [ 0.010825] (1:master@Tremblay) Send completed
+> [ 0.010825] (2:worker@Tremblay) Received "Task"
+> [ 0.010825] (2:worker@Tremblay) Communication time : "0.010825"
+> [ 0.010825] (2:worker@Tremblay) Processing "Task"
> [ 1.000000] (0:maestro@) Restart processes on host: Fafard
-> [ 1.000000] (1:master@Tremblay) Mmh. Something went wrong with 'Jupiter'. Nevermind. Let's keep going!
+> [ 1.000000] (1:master@Tremblay) Mmh. Something went wrong with 'worker-1'. Nevermind. Let's keep going!
> [ 1.000000] (3:worker@Jupiter) Gloups. The cpu on which I'm running just turned off!. See you!
> [ 2.000000] (0:maestro@) Restart processes on host: Jupiter
-> [ 11.000000] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'Fafard'. Nevermind. Let's keep going!
+> [ 2.010825] (2:worker@Tremblay) "Task" done
+> [ 11.000000] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
> [ 12.082474] (1:master@Tremblay) Send completed
> [ 12.082474] (4:worker@Ginette) Received "Task"
> [ 12.082474] (4:worker@Ginette) Communication time : "1.082474"
> [ 15.164948] (5:worker@Bourassa) "Task" done
> [ 15.175773] (2:worker@Tremblay) "Task" done
> [ 16.258247] (6:worker@Jupiter) "Task" done
-> [ 24.258247] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'Fafard'. Nevermind. Let's keep going!
-> [ 24.258247] (1:master@Tremblay) Mmh. Something went wrong with 'Ginette'. Nevermind. Let's keep going!
+> [ 24.258247] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
+> [ 24.258247] (1:master@Tremblay) Mmh. Something went wrong with 'worker-3'. Nevermind. Let's keep going!
> [ 24.258247] (4:worker@Ginette) Mmh. Something went wrong. Nevermind. Let's keep going!
> [ 25.340722] (1:master@Tremblay) Send completed
> [ 25.340722] (5:worker@Bourassa) Received "Task"
> [ 27.340722] (5:worker@Bourassa) "Task" done
> [ 27.351546] (2:worker@Tremblay) "Task" done
> [ 28.434021] (6:worker@Jupiter) "Task" done
-> [ 36.434021] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'Fafard'. Nevermind. Let's keep going!
+> [ 36.434021] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
> [ 37.516495] (1:master@Tremblay) Send completed
-> [ 37.516495] (1:master@Tremblay) Mmh. Something went wrong with 'Bourassa'. Nevermind. Let's keep going!
+> [ 37.516495] (1:master@Tremblay) Mmh. Something went wrong with 'worker-4'. Nevermind. Let's keep going!
> [ 37.516495] (4:worker@Ginette) Received "Task"
> [ 37.516495] (4:worker@Ginette) Communication time : "1.082474"
> [ 37.516495] (4:worker@Ginette) Processing "Task"
> [ 39.516495] (4:worker@Ginette) "Task" done
> [ 39.527320] (2:worker@Tremblay) "Task" done
> [ 40.609794] (6:worker@Jupiter) "Task" done
-> [ 48.609794] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'Fafard'. Nevermind. Let's keep going!
+> [ 48.609794] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
> [ 49.692268] (1:master@Tremblay) Send completed
> [ 49.692268] (4:worker@Ginette) Received "Task"
> [ 49.692268] (4:worker@Ginette) Communication time : "1.082474"
> [ 49.692268] (4:worker@Ginette) Processing "Task"
> [ 50.000000] (4:worker@Ginette) Gloups. The cpu on which I'm running just turned off!. See you!
> [ 50.774742] (1:master@Tremblay) Send completed
+> [ 50.774742] (1:master@Tremblay) All tasks have been dispatched. Let's tell everybody the computation is over.
+> [ 50.774742] (2:worker@Tremblay) Received "finalize"
+> [ 50.774742] (2:worker@Tremblay) I'm done. See you!
> [ 50.774742] (5:worker@Bourassa) Received "Task"
> [ 50.774742] (5:worker@Bourassa) Communication time : "1.082474"
> [ 50.774742] (5:worker@Bourassa) Processing "Task"
-> [ 50.785567] (1:master@Tremblay) Send completed
-> [ 50.785567] (1:master@Tremblay) All tasks have been dispatched. Let's tell everybody the computation is over.
-> [ 50.785567] (2:worker@Tremblay) Received "Task"
-> [ 50.785567] (2:worker@Tremblay) Communication time : "0.010825"
-> [ 50.785567] (2:worker@Tremblay) Processing "Task"
-> [ 50.785567] (6:worker@Jupiter) Received "finalize"
-> [ 50.785567] (6:worker@Jupiter) I'm done. See you!
-> [ 51.785567] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'Fafard'. Nevermind. Let's keep going!
+> [ 50.774742] (6:worker@Jupiter) Received "finalize"
+> [ 50.774742] (6:worker@Jupiter) I'm done. See you!
+> [ 51.774742] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
+> [ 52.774742] (0:maestro@) Simulation time 52.7747
+> [ 52.774742] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-3'. Nevermind. Let's keep going!
+> [ 52.774742] (1:master@Tremblay) Goodbye now!
> [ 52.774742] (5:worker@Bourassa) "Task" done
-> [ 52.785567] (0:maestro@) Simulation time 52.7856
-> [ 52.785567] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'Ginette'. Nevermind. Let's keep going!
-> [ 52.785567] (1:master@Tremblay) Goodbye now!
-> [ 52.785567] (2:worker@Tremblay) "Task" done
-> [ 52.785567] (2:worker@Tremblay) Received "finalize"
-> [ 52.785567] (2:worker@Tremblay) I'm done. See you!
-> [ 52.785567] (5:worker@Bourassa) Received "finalize"
-> [ 52.785567] (5:worker@Bourassa) I'm done. See you!
+> [ 52.774742] (5:worker@Bourassa) Received "finalize"
+> [ 52.774742] (5:worker@Bourassa) I'm done. See you!
p Testing a simple master/worker example application handling failures. CPU_TI optimization enabled
! output sort 19
-$ $SG_TEST_EXENV ${bindir:=.}/failures$EXEEXT --log=xbt_cfg.thres:critical --log=no_loc ${srcdir:=.}/small_platform_with_failures.xml ${srcdir:=.}/../msg/masterworker/masterworker_d.xml --cfg=path:${srcdir} -cfg=cpu/optim:TI "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
+$ $SG_TEST_EXENV ${bindir:=.}/failures$EXEEXT --log=xbt_cfg.thres:critical --log=no_loc ${srcdir:=.}/small_platform_with_failures.xml ${srcdir:=.}/../msg/app-masterworker/app-masterworker_d.xml --cfg=path:${srcdir} -cfg=cpu/optim:TI "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
> [ 0.000000] (0:maestro@) Cannot launch process 'worker' on failed host 'Fafard'
-> [ 0.000000] (1:master@Tremblay) Got 5 worker(s) :
-> [ 0.000000] (1:master@Tremblay) Jupiter
-> [ 0.000000] (1:master@Tremblay) Fafard
-> [ 0.000000] (1:master@Tremblay) Ginette
-> [ 0.000000] (1:master@Tremblay) Bourassa
-> [ 0.000000] (1:master@Tremblay) Tremblay
-> [ 0.000000] (1:master@Tremblay) Got 20 task to process :
+> [ 0.000000] (1:master@Tremblay) Got 5 workers and 20 tasks to process
+> [ 0.010825] (1:master@Tremblay) Send completed
+> [ 0.010825] (2:worker@Tremblay) Received "Task"
+> [ 0.010825] (2:worker@Tremblay) Communication time : "0.010825"
+> [ 0.010825] (2:worker@Tremblay) Processing "Task"
> [ 1.000000] (0:maestro@) Restart processes on host: Fafard
-> [ 1.000000] (1:master@Tremblay) Mmh. Something went wrong with 'Jupiter'. Nevermind. Let's keep going!
+> [ 1.000000] (1:master@Tremblay) Mmh. Something went wrong with 'worker-1'. Nevermind. Let's keep going!
> [ 1.000000] (3:worker@Jupiter) Gloups. The cpu on which I'm running just turned off!. See you!
> [ 2.000000] (0:maestro@) Restart processes on host: Jupiter
-> [ 11.000000] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'Fafard'. Nevermind. Let's keep going!
+> [ 2.010825] (2:worker@Tremblay) "Task" done
+> [ 11.000000] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
> [ 12.082474] (1:master@Tremblay) Send completed
> [ 12.082474] (4:worker@Ginette) Received "Task"
> [ 12.082474] (4:worker@Ginette) Communication time : "1.082474"
> [ 15.164948] (5:worker@Bourassa) "Task" done
> [ 15.175773] (2:worker@Tremblay) "Task" done
> [ 16.258247] (6:worker@Jupiter) "Task" done
-> [ 24.258247] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'Fafard'. Nevermind. Let's keep going!
-> [ 24.258247] (1:master@Tremblay) Mmh. Something went wrong with 'Ginette'. Nevermind. Let's keep going!
+> [ 24.258247] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
+> [ 24.258247] (1:master@Tremblay) Mmh. Something went wrong with 'worker-3'. Nevermind. Let's keep going!
> [ 24.258247] (4:worker@Ginette) Mmh. Something went wrong. Nevermind. Let's keep going!
> [ 25.340722] (1:master@Tremblay) Send completed
> [ 25.340722] (5:worker@Bourassa) Received "Task"
> [ 27.340722] (5:worker@Bourassa) "Task" done
> [ 27.351546] (2:worker@Tremblay) "Task" done
> [ 28.434021] (6:worker@Jupiter) "Task" done
-> [ 36.434021] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'Fafard'. Nevermind. Let's keep going!
+> [ 36.434021] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
> [ 37.516495] (1:master@Tremblay) Send completed
-> [ 37.516495] (1:master@Tremblay) Mmh. Something went wrong with 'Bourassa'. Nevermind. Let's keep going!
+> [ 37.516495] (1:master@Tremblay) Mmh. Something went wrong with 'worker-4'. Nevermind. Let's keep going!
> [ 37.516495] (4:worker@Ginette) Received "Task"
> [ 37.516495] (4:worker@Ginette) Communication time : "1.082474"
> [ 37.516495] (4:worker@Ginette) Processing "Task"
> [ 39.516495] (4:worker@Ginette) "Task" done
> [ 39.527320] (2:worker@Tremblay) "Task" done
> [ 40.609794] (6:worker@Jupiter) "Task" done
-> [ 48.609794] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'Fafard'. Nevermind. Let's keep going!
+> [ 48.609794] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
> [ 49.692268] (1:master@Tremblay) Send completed
> [ 49.692268] (4:worker@Ginette) Received "Task"
> [ 49.692268] (4:worker@Ginette) Communication time : "1.082474"
> [ 49.692268] (4:worker@Ginette) Processing "Task"
> [ 50.000000] (4:worker@Ginette) Gloups. The cpu on which I'm running just turned off!. See you!
> [ 50.774742] (1:master@Tremblay) Send completed
+> [ 50.774742] (1:master@Tremblay) All tasks have been dispatched. Let's tell everybody the computation is over.
+> [ 50.774742] (2:worker@Tremblay) Received "finalize"
+> [ 50.774742] (2:worker@Tremblay) I'm done. See you!
> [ 50.774742] (5:worker@Bourassa) Received "Task"
> [ 50.774742] (5:worker@Bourassa) Communication time : "1.082474"
> [ 50.774742] (5:worker@Bourassa) Processing "Task"
-> [ 50.785567] (1:master@Tremblay) Send completed
-> [ 50.785567] (1:master@Tremblay) All tasks have been dispatched. Let's tell everybody the computation is over.
-> [ 50.785567] (2:worker@Tremblay) Received "Task"
-> [ 50.785567] (2:worker@Tremblay) Communication time : "0.010825"
-> [ 50.785567] (2:worker@Tremblay) Processing "Task"
-> [ 50.785567] (6:worker@Jupiter) Received "finalize"
-> [ 50.785567] (6:worker@Jupiter) I'm done. See you!
-> [ 51.785567] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'Fafard'. Nevermind. Let's keep going!
+> [ 50.774742] (6:worker@Jupiter) Received "finalize"
+> [ 50.774742] (6:worker@Jupiter) I'm done. See you!
+> [ 51.774742] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-2'. Nevermind. Let's keep going!
+> [ 52.774742] (0:maestro@) Simulation time 52.7747
+> [ 52.774742] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'worker-3'. Nevermind. Let's keep going!
+> [ 52.774742] (1:master@Tremblay) Goodbye now!
> [ 52.774742] (5:worker@Bourassa) "Task" done
-> [ 52.785567] (0:maestro@) Simulation time 52.7856
-> [ 52.785567] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'Ginette'. Nevermind. Let's keep going!
-> [ 52.785567] (1:master@Tremblay) Goodbye now!
-> [ 52.785567] (2:worker@Tremblay) "Task" done
-> [ 52.785567] (2:worker@Tremblay) Received "finalize"
-> [ 52.785567] (2:worker@Tremblay) I'm done. See you!
-> [ 52.785567] (5:worker@Bourassa) Received "finalize"
-> [ 52.785567] (5:worker@Bourassa) I'm done. See you!
+> [ 52.774742] (5:worker@Bourassa) Received "finalize"
+> [ 52.774742] (5:worker@Bourassa) I'm done. See you!
+++ /dev/null
-<?xml version='1.0'?>
-<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd">
-<platform version="4">
- <!-- The master process (with some arguments) -->
- <process host="Tremblay" function="master">
- <argument value="20"/> <!-- Number of tasks -->
- <argument value="50000000"/> <!-- Computation size of tasks -->
- <argument value="1000000"/> <!-- Communication size of tasks -->
- <argument value="5"/> <!-- Number of workers -->
- </process>
- <!-- The worker processes (with mailbox to listen on as argument) -->
- <process host="Tremblay" function="worker"> <argument value="0"/> </process>
- <process host="Jupiter" function="worker"> <argument value="1"/> </process>
- <process host="Fafard" function="worker"> <argument value="2"/> </process>
- <process host="Ginette" function="worker"> <argument value="3"/> </process>
- <process host="Bourassa" function="worker"> <argument value="4"/> </process>
-</platform>
+++ /dev/null
-/* Copyright (c) 2007-2015. The SimGrid Team.
- * All rights reserved. */
-
-/* This program is free software; you can redistribute it and/or modify it
- * under the terms of the license (GNU LGPL) which comes with this package. */
-
-#include "simgrid/msg.h"
-
-XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test, "Messages specific for this msg example");
-
-/** @addtogroup MSG_examples
- *
- * - <b>masterworker/masterworker.c: Master/workers example</b>. This good old example is also very simple. Its
- * basic version is fully commented on this page: \ref MSG_ex_master_worker, but several variants can be found in the
- * same directory.
- */
-
-#define FINALIZE ((void*)221297) /* a magic number to tell people to stop working */
-
-static int master(int argc, char *argv[])
-{
- msg_host_t *workers = NULL;
- msg_task_t *todo = NULL;
- long workers_count = 0;
- int i;
-
- long number_of_tasks = xbt_str_parse_int(argv[1], "Invalid amount of tasks: %s");
- double task_comp_size = xbt_str_parse_double(argv[2], "Invalid computational size: %s");
- double task_comm_size = xbt_str_parse_double(argv[3], "Invalid communication size: %s");
-
- { /* Task creation */
- char sprintf_buffer[64];
-
- todo = xbt_new0(msg_task_t, number_of_tasks);
-
- for (i = 0; i < number_of_tasks; i++) {
- sprintf(sprintf_buffer, "Task_%d", i);
- todo[i] = MSG_task_create(sprintf_buffer, task_comp_size, task_comm_size, NULL);
- }
- }
-
- { /* Process organization */
- workers_count = argc - 4;
- workers = xbt_new0(msg_host_t, workers_count);
-
- for (i = 4; i < argc; i++) {
- workers[i - 4] = MSG_host_by_name(argv[i]);
- xbt_assert(workers[i - 4] != NULL, "Unknown host %s. Stopping Now! ", argv[i]);
- }
- }
-
- XBT_INFO("Got %ld workers and %ld tasks to process", workers_count, number_of_tasks);
- for (i = 0; i < workers_count; i++)
- XBT_DEBUG("%s", MSG_host_get_name(workers[i]));
-
- for (i = 0; i < number_of_tasks; i++) {
- XBT_INFO("Sending \"%s\" to \"%s\"", todo[i]->name, MSG_host_get_name(workers[i % workers_count]));
- if (MSG_host_self() == workers[i % workers_count]) {
- XBT_INFO("Hey ! It's me ! :)");
- }
-
- MSG_task_send(todo[i], MSG_host_get_name(workers[i % workers_count]));
- XBT_INFO("Sent");
- }
-
- XBT_INFO("All tasks have been dispatched. Let's tell everybody the computation is over.");
- for (i = 0; i < workers_count; i++) {
- msg_task_t finalize = MSG_task_create("finalize", 0, 0, FINALIZE);
- MSG_task_send(finalize, MSG_host_get_name(workers[i]));
- }
-
- XBT_INFO("Goodbye now!");
- free(workers);
- free(todo);
- return 0;
-}
-
-static int worker(int argc, char *argv[])
-{
- msg_task_t task = NULL;
- XBT_ATTRIB_UNUSED int res;
- while (1) {
- res = MSG_task_receive(&(task),MSG_host_get_name(MSG_host_self()));
- xbt_assert(res == MSG_OK, "MSG_task_get failed");
-
- XBT_INFO("Received \"%s\"", MSG_task_get_name(task));
- if (!strcmp(MSG_task_get_name(task), "finalize")) {
- MSG_task_destroy(task);
- break;
- }
-
- XBT_INFO("Processing \"%s\"", MSG_task_get_name(task));
- MSG_task_execute(task);
- XBT_INFO("\"%s\" done", MSG_task_get_name(task));
- MSG_task_destroy(task);
- task = NULL;
- }
- XBT_INFO("I'm done. See you!");
- return 0;
-}
-
-int main(int argc, char *argv[])
-{
- msg_error_t res = MSG_OK;
-
- MSG_init(&argc, argv);
- xbt_assert(argc > 2, "Usage: %s platform_file deployment_file\n"
- "\tExample: %s msg_platform.xml msg_deployment.xml\n", argv[0], argv[0]);
-
- MSG_create_environment(argv[1]);
-
- MSG_function_register("master", master);
- MSG_function_register("worker", worker);
- MSG_launch_application(argv[2]);
-
- res = MSG_main();
-
- XBT_INFO("Simulation time %g", MSG_get_clock());
-
- return res != MSG_OK;
-}
+++ /dev/null
-#! ./tesh
-
-p Testing a simple master/worker example application. TCP crosstraffic DISABLED
-
-! output sort 19
-$ $SG_TEST_EXENV ${bindir:=.}/masterworker$EXEEXT ${srcdir:=.}/small_platform_with_routers.xml ${srcdir:=.}/../msg/masterworker/masterworker_d.xml --cfg=network/crosstraffic:0 --trace "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
-> [ 0.000000] (0:maestro@) Configuration change: Set 'network/crosstraffic' to '0'
-> [ 0.000000] (1:master@Tremblay) Got 5 workers and 20 tasks to process
-> [ 0.000000] (1:master@Tremblay) Sending "Task_0" to "Jupiter"
-> [ 0.162005] (1:master@Tremblay) Sent
-> [ 0.162005] (1:master@Tremblay) Sending "Task_1" to "Fafard"
-> [ 0.162005] (3:worker@Jupiter) Received "Task_0"
-> [ 0.162005] (3:worker@Jupiter) Processing "Task_0"
-> [ 0.314083] (1:master@Tremblay) Sent
-> [ 0.314083] (1:master@Tremblay) Sending "Task_2" to "Ginette"
-> [ 0.314083] (4:worker@Fafard) Received "Task_1"
-> [ 0.314083] (4:worker@Fafard) Processing "Task_1"
-> [ 0.432712] (1:master@Tremblay) Sent
-> [ 0.432712] (1:master@Tremblay) Sending "Task_3" to "Bourassa"
-> [ 0.432712] (5:worker@Ginette) Received "Task_2"
-> [ 0.432712] (5:worker@Ginette) Processing "Task_2"
-> [ 0.560227] (1:master@Tremblay) Sent
-> [ 0.560227] (1:master@Tremblay) Sending "Task_4" to "Tremblay"
-> [ 0.560227] (1:master@Tremblay) Hey ! It's me ! :)
-> [ 0.560227] (6:worker@Bourassa) Received "Task_3"
-> [ 0.560227] (6:worker@Bourassa) Processing "Task_3"
-> [ 0.562492] (1:master@Tremblay) Sent
-> [ 0.562492] (1:master@Tremblay) Sending "Task_5" to "Jupiter"
-> [ 0.562492] (2:worker@Tremblay) Received "Task_4"
-> [ 0.562492] (2:worker@Tremblay) Processing "Task_4"
-> [ 0.817347] (3:worker@Jupiter) "Task_0" done
-> [ 0.969426] (4:worker@Fafard) "Task_1" done
-> [ 0.979353] (1:master@Tremblay) Sent
-> [ 0.979353] (1:master@Tremblay) Sending "Task_6" to "Fafard"
-> [ 0.979353] (3:worker@Jupiter) Received "Task_5"
-> [ 0.979353] (3:worker@Jupiter) Processing "Task_5"
-> [ 1.072202] (2:worker@Tremblay) "Task_4" done
-> [ 1.131431] (1:master@Tremblay) Sent
-> [ 1.131431] (1:master@Tremblay) Sending "Task_7" to "Ginette"
-> [ 1.131431] (4:worker@Fafard) Received "Task_6"
-> [ 1.131431] (4:worker@Fafard) Processing "Task_6"
-> [ 1.463809] (5:worker@Ginette) "Task_2" done
-> [ 1.582438] (1:master@Tremblay) Sent
-> [ 1.582438] (1:master@Tremblay) Sending "Task_8" to "Bourassa"
-> [ 1.582438] (5:worker@Ginette) Received "Task_7"
-> [ 1.582438] (5:worker@Ginette) Processing "Task_7"
-> [ 1.591325] (6:worker@Bourassa) "Task_3" done
-> [ 1.634695] (3:worker@Jupiter) "Task_5" done
-> [ 1.718840] (1:master@Tremblay) Sent
-> [ 1.718840] (1:master@Tremblay) Sending "Task_9" to "Tremblay"
-> [ 1.718840] (1:master@Tremblay) Hey ! It's me ! :)
-> [ 1.718840] (6:worker@Bourassa) Received "Task_8"
-> [ 1.718840] (6:worker@Bourassa) Processing "Task_8"
-> [ 1.721105] (1:master@Tremblay) Sent
-> [ 1.721105] (1:master@Tremblay) Sending "Task_10" to "Jupiter"
-> [ 1.721105] (2:worker@Tremblay) Received "Task_9"
-> [ 1.721105] (2:worker@Tremblay) Processing "Task_9"
-> [ 1.786773] (4:worker@Fafard) "Task_6" done
-> [ 1.883110] (1:master@Tremblay) Sent
-> [ 1.883110] (1:master@Tremblay) Sending "Task_11" to "Fafard"
-> [ 1.883110] (3:worker@Jupiter) Received "Task_10"
-> [ 1.883110] (3:worker@Jupiter) Processing "Task_10"
-> [ 2.035188] (1:master@Tremblay) Sent
-> [ 2.035188] (1:master@Tremblay) Sending "Task_12" to "Ginette"
-> [ 2.035188] (4:worker@Fafard) Received "Task_11"
-> [ 2.035188] (4:worker@Fafard) Processing "Task_11"
-> [ 2.230815] (2:worker@Tremblay) "Task_9" done
-> [ 2.538453] (3:worker@Jupiter) "Task_10" done
-> [ 2.613536] (5:worker@Ginette) "Task_7" done
-> [ 2.690531] (4:worker@Fafard) "Task_11" done
-> [ 2.732164] (1:master@Tremblay) Sent
-> [ 2.732164] (1:master@Tremblay) Sending "Task_13" to "Bourassa"
-> [ 2.732164] (5:worker@Ginette) Received "Task_12"
-> [ 2.732164] (5:worker@Ginette) Processing "Task_12"
-> [ 2.749938] (6:worker@Bourassa) "Task_8" done
-> [ 2.877453] (1:master@Tremblay) Sent
-> [ 2.877453] (1:master@Tremblay) Sending "Task_14" to "Tremblay"
-> [ 2.877453] (1:master@Tremblay) Hey ! It's me ! :)
-> [ 2.877453] (6:worker@Bourassa) Received "Task_13"
-> [ 2.877453] (6:worker@Bourassa) Processing "Task_13"
-> [ 2.879718] (1:master@Tremblay) Sent
-> [ 2.879718] (1:master@Tremblay) Sending "Task_15" to "Jupiter"
-> [ 2.879718] (2:worker@Tremblay) Received "Task_14"
-> [ 2.879718] (2:worker@Tremblay) Processing "Task_14"
-> [ 3.041723] (1:master@Tremblay) Sent
-> [ 3.041723] (1:master@Tremblay) Sending "Task_16" to "Fafard"
-> [ 3.041723] (3:worker@Jupiter) Received "Task_15"
-> [ 3.041723] (3:worker@Jupiter) Processing "Task_15"
-> [ 3.193802] (1:master@Tremblay) Sent
-> [ 3.193802] (1:master@Tremblay) Sending "Task_17" to "Ginette"
-> [ 3.193802] (4:worker@Fafard) Received "Task_16"
-> [ 3.193802] (4:worker@Fafard) Processing "Task_16"
-> [ 3.389428] (2:worker@Tremblay) "Task_14" done
-> [ 3.697066] (3:worker@Jupiter) "Task_15" done
-> [ 3.763262] (5:worker@Ginette) "Task_12" done
-> [ 3.849144] (4:worker@Fafard) "Task_16" done
-> [ 3.881890] (1:master@Tremblay) Sent
-> [ 3.881890] (1:master@Tremblay) Sending "Task_18" to "Bourassa"
-> [ 3.881890] (5:worker@Ginette) Received "Task_17"
-> [ 3.881890] (5:worker@Ginette) Processing "Task_17"
-> [ 3.908551] (6:worker@Bourassa) "Task_13" done
-> [ 4.036066] (1:master@Tremblay) Sent
-> [ 4.036066] (1:master@Tremblay) Sending "Task_19" to "Tremblay"
-> [ 4.036066] (1:master@Tremblay) Hey ! It's me ! :)
-> [ 4.036066] (6:worker@Bourassa) Received "Task_18"
-> [ 4.036066] (6:worker@Bourassa) Processing "Task_18"
-> [ 4.038331] (1:master@Tremblay) Sent
-> [ 4.038331] (1:master@Tremblay) All tasks have been dispatched. Let's tell everybody the computation is over.
-> [ 4.038331] (2:worker@Tremblay) Received "Task_19"
-> [ 4.038331] (2:worker@Tremblay) Processing "Task_19"
-> [ 4.057346] (3:worker@Jupiter) Received "finalize"
-> [ 4.057346] (3:worker@Jupiter) I'm done. See you!
-> [ 4.083054] (4:worker@Fafard) Received "finalize"
-> [ 4.083054] (4:worker@Fafard) I'm done. See you!
-> [ 4.548041] (2:worker@Tremblay) "Task_19" done
-> [ 4.912988] (5:worker@Ginette) "Task_17" done
-> [ 4.929540] (5:worker@Ginette) Received "finalize"
-> [ 4.929540] (5:worker@Ginette) I'm done. See you!
-> [ 5.067164] (6:worker@Bourassa) "Task_18" done
-> [ 5.092603] (6:worker@Bourassa) Received "finalize"
-> [ 5.092603] (6:worker@Bourassa) I'm done. See you!
-> [ 5.092798] (0:maestro@) Simulation time 5.0928
-> [ 5.092798] (1:master@Tremblay) Goodbye now!
-> [ 5.092798] (2:worker@Tremblay) Received "finalize"
-> [ 5.092798] (2:worker@Tremblay) I'm done. See you!
-
-p Testing a simple master/worker example application. TCP crosstraffic DISABLED
-
-$ $SG_TEST_EXENV ${bindir:=.}/masterworker$EXEEXT ${srcdir:=.}/small_platform_with_routers.xml ${srcdir:=.}/../msg/masterworker/masterworker_d.xml --trace "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
-> [ 0.000000] (1:master@Tremblay) Got 5 workers and 20 tasks to process
-> [ 0.000000] (1:master@Tremblay) Sending "Task_0" to "Jupiter"
-> [ 0.169155] (3:worker@Jupiter) Received "Task_0"
-> [ 0.169155] (3:worker@Jupiter) Processing "Task_0"
-> [ 0.169155] (1:master@Tremblay) Sent
-> [ 0.169155] (1:master@Tremblay) Sending "Task_1" to "Fafard"
-> [ 0.327551] (4:worker@Fafard) Received "Task_1"
-> [ 0.327551] (4:worker@Fafard) Processing "Task_1"
-> [ 0.327551] (1:master@Tremblay) Sent
-> [ 0.327551] (1:master@Tremblay) Sending "Task_2" to "Ginette"
-> [ 0.451283] (5:worker@Ginette) Received "Task_2"
-> [ 0.451283] (5:worker@Ginette) Processing "Task_2"
-> [ 0.451283] (1:master@Tremblay) Sent
-> [ 0.451283] (1:master@Tremblay) Sending "Task_3" to "Bourassa"
-> [ 0.583902] (6:worker@Bourassa) Received "Task_3"
-> [ 0.583902] (6:worker@Bourassa) Processing "Task_3"
-> [ 0.583902] (1:master@Tremblay) Sent
-> [ 0.583902] (1:master@Tremblay) Sending "Task_4" to "Tremblay"
-> [ 0.583902] (1:master@Tremblay) Hey ! It's me ! :)
-> [ 0.586168] (2:worker@Tremblay) Received "Task_4"
-> [ 0.586168] (2:worker@Tremblay) Processing "Task_4"
-> [ 0.586168] (1:master@Tremblay) Sent
-> [ 0.586168] (1:master@Tremblay) Sending "Task_5" to "Jupiter"
-> [ 0.824497] (3:worker@Jupiter) "Task_0" done
-> [ 0.982894] (4:worker@Fafard) "Task_1" done
-> [ 0.993652] (1:master@Tremblay) Sent
-> [ 0.993652] (1:master@Tremblay) Sending "Task_6" to "Fafard"
-> [ 0.993652] (3:worker@Jupiter) Received "Task_5"
-> [ 0.993652] (3:worker@Jupiter) Processing "Task_5"
-> [ 1.095878] (2:worker@Tremblay) "Task_4" done
-> [ 1.152048] (4:worker@Fafard) Received "Task_6"
-> [ 1.152048] (4:worker@Fafard) Processing "Task_6"
-> [ 1.152048] (1:master@Tremblay) Sent
-> [ 1.152048] (1:master@Tremblay) Sending "Task_7" to "Ginette"
-> [ 1.482381] (5:worker@Ginette) "Task_2" done
-> [ 1.606113] (1:master@Tremblay) Sent
-> [ 1.606113] (1:master@Tremblay) Sending "Task_8" to "Bourassa"
-> [ 1.606113] (5:worker@Ginette) Received "Task_7"
-> [ 1.606113] (5:worker@Ginette) Processing "Task_7"
-> [ 1.615000] (6:worker@Bourassa) "Task_3" done
-> [ 1.648994] (3:worker@Jupiter) "Task_5" done
-> [ 1.747619] (1:master@Tremblay) Sent
-> [ 1.747619] (1:master@Tremblay) Sending "Task_9" to "Tremblay"
-> [ 1.747619] (1:master@Tremblay) Hey ! It's me ! :)
-> [ 1.747619] (6:worker@Bourassa) Received "Task_8"
-> [ 1.747619] (6:worker@Bourassa) Processing "Task_8"
-> [ 1.749885] (2:worker@Tremblay) Received "Task_9"
-> [ 1.749885] (2:worker@Tremblay) Processing "Task_9"
-> [ 1.749885] (1:master@Tremblay) Sent
-> [ 1.749885] (1:master@Tremblay) Sending "Task_10" to "Jupiter"
-> [ 1.807391] (4:worker@Fafard) "Task_6" done
-> [ 1.919039] (3:worker@Jupiter) Received "Task_10"
-> [ 1.919039] (3:worker@Jupiter) Processing "Task_10"
-> [ 1.919039] (1:master@Tremblay) Sent
-> [ 1.919039] (1:master@Tremblay) Sending "Task_11" to "Fafard"
-> [ 2.077436] (4:worker@Fafard) Received "Task_11"
-> [ 2.077436] (4:worker@Fafard) Processing "Task_11"
-> [ 2.077436] (1:master@Tremblay) Sent
-> [ 2.077436] (1:master@Tremblay) Sending "Task_12" to "Ginette"
-> [ 2.259594] (2:worker@Tremblay) "Task_9" done
-> [ 2.574382] (3:worker@Jupiter) "Task_10" done
-> [ 2.637211] (5:worker@Ginette) "Task_7" done
-> [ 2.732778] (4:worker@Fafard) "Task_11" done
-> [ 2.760943] (1:master@Tremblay) Sent
-> [ 2.760943] (1:master@Tremblay) Sending "Task_13" to "Bourassa"
-> [ 2.760943] (5:worker@Ginette) Received "Task_12"
-> [ 2.760943] (5:worker@Ginette) Processing "Task_12"
-> [ 2.778717] (6:worker@Bourassa) "Task_8" done
-> [ 2.911336] (1:master@Tremblay) Sent
-> [ 2.911336] (1:master@Tremblay) Sending "Task_14" to "Tremblay"
-> [ 2.911336] (1:master@Tremblay) Hey ! It's me ! :)
-> [ 2.911336] (6:worker@Bourassa) Received "Task_13"
-> [ 2.911336] (6:worker@Bourassa) Processing "Task_13"
-> [ 2.913601] (2:worker@Tremblay) Received "Task_14"
-> [ 2.913601] (2:worker@Tremblay) Processing "Task_14"
-> [ 2.913601] (1:master@Tremblay) Sent
-> [ 2.913601] (1:master@Tremblay) Sending "Task_15" to "Jupiter"
-> [ 3.082756] (3:worker@Jupiter) Received "Task_15"
-> [ 3.082756] (3:worker@Jupiter) Processing "Task_15"
-> [ 3.082756] (1:master@Tremblay) Sent
-> [ 3.082756] (1:master@Tremblay) Sending "Task_16" to "Fafard"
-> [ 3.241153] (4:worker@Fafard) Received "Task_16"
-> [ 3.241153] (4:worker@Fafard) Processing "Task_16"
-> [ 3.241153] (1:master@Tremblay) Sent
-> [ 3.241153] (1:master@Tremblay) Sending "Task_17" to "Ginette"
-> [ 3.423311] (2:worker@Tremblay) "Task_14" done
-> [ 3.738098] (3:worker@Jupiter) "Task_15" done
-> [ 3.792041] (5:worker@Ginette) "Task_12" done
-> [ 3.896495] (4:worker@Fafard) "Task_16" done
-> [ 3.915773] (1:master@Tremblay) Sent
-> [ 3.915773] (1:master@Tremblay) Sending "Task_18" to "Bourassa"
-> [ 3.915773] (5:worker@Ginette) Received "Task_17"
-> [ 3.915773] (5:worker@Ginette) Processing "Task_17"
-> [ 3.942434] (6:worker@Bourassa) "Task_13" done
-> [ 4.075053] (1:master@Tremblay) Sent
-> [ 4.075053] (1:master@Tremblay) Sending "Task_19" to "Tremblay"
-> [ 4.075053] (1:master@Tremblay) Hey ! It's me ! :)
-> [ 4.075053] (6:worker@Bourassa) Received "Task_18"
-> [ 4.075053] (6:worker@Bourassa) Processing "Task_18"
-> [ 4.077318] (2:worker@Tremblay) Received "Task_19"
-> [ 4.077318] (2:worker@Tremblay) Processing "Task_19"
-> [ 4.077318] (1:master@Tremblay) Sent
-> [ 4.077318] (1:master@Tremblay) All tasks have been dispatched. Let's tell everybody the computation is over.
-> [ 4.096333] (3:worker@Jupiter) Received "finalize"
-> [ 4.096333] (3:worker@Jupiter) I'm done. See you!
-> [ 4.122041] (4:worker@Fafard) Received "finalize"
-> [ 4.122041] (4:worker@Fafard) I'm done. See you!
-> [ 4.587028] (2:worker@Tremblay) "Task_19" done
-> [ 4.946871] (5:worker@Ginette) "Task_17" done
-> [ 4.963423] (5:worker@Ginette) Received "finalize"
-> [ 4.963423] (5:worker@Ginette) I'm done. See you!
-> [ 5.106151] (6:worker@Bourassa) "Task_18" done
-> [ 5.131590] (6:worker@Bourassa) Received "finalize"
-> [ 5.131590] (6:worker@Bourassa) I'm done. See you!
-> [ 5.131785] (2:worker@Tremblay) Received "finalize"
-> [ 5.131785] (2:worker@Tremblay) I'm done. See you!
-> [ 5.131785] (1:master@Tremblay) Goodbye now!
-> [ 5.131785] (0:maestro@) Simulation time 5.13179
+++ /dev/null
-#! ./tesh
-
-p Testing a simple master/worker example application
-
-! output sort 19
-$ $SG_TEST_EXENV ${bindir:=.}/masterworker$EXEEXT ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/masterworker/masterworker_d.xml --cfg=cpu/optim:TI "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
-> [ 0.000000] (0:maestro@) Configuration change: Set 'cpu/optim' to 'TI'
-> [ 0.000000] (1:master@Tremblay) Got 5 workers and 20 tasks to process
-> [ 0.000000] (1:master@Tremblay) Sending "Task_0" to "Jupiter"
-> [ 0.169155] (1:master@Tremblay) Sent
-> [ 0.169155] (1:master@Tremblay) Sending "Task_1" to "Fafard"
-> [ 0.169155] (3:worker@Jupiter) Received "Task_0"
-> [ 0.169155] (3:worker@Jupiter) Processing "Task_0"
-> [ 0.327551] (1:master@Tremblay) Sent
-> [ 0.327551] (1:master@Tremblay) Sending "Task_2" to "Ginette"
-> [ 0.327551] (4:worker@Fafard) Received "Task_1"
-> [ 0.327551] (4:worker@Fafard) Processing "Task_1"
-> [ 0.451283] (1:master@Tremblay) Sent
-> [ 0.451283] (1:master@Tremblay) Sending "Task_3" to "Bourassa"
-> [ 0.451283] (5:worker@Ginette) Received "Task_2"
-> [ 0.451283] (5:worker@Ginette) Processing "Task_2"
-> [ 0.583902] (1:master@Tremblay) Sent
-> [ 0.583902] (1:master@Tremblay) Sending "Task_4" to "Tremblay"
-> [ 0.583902] (1:master@Tremblay) Hey ! It's me ! :)
-> [ 0.583902] (6:worker@Bourassa) Received "Task_3"
-> [ 0.583902] (6:worker@Bourassa) Processing "Task_3"
-> [ 0.586168] (1:master@Tremblay) Sent
-> [ 0.586168] (1:master@Tremblay) Sending "Task_5" to "Jupiter"
-> [ 0.586168] (2:worker@Tremblay) Received "Task_4"
-> [ 0.586168] (2:worker@Tremblay) Processing "Task_4"
-> [ 0.824497] (3:worker@Jupiter) "Task_0" done
-> [ 0.982894] (4:worker@Fafard) "Task_1" done
-> [ 0.993652] (1:master@Tremblay) Sent
-> [ 0.993652] (1:master@Tremblay) Sending "Task_6" to "Fafard"
-> [ 0.993652] (3:worker@Jupiter) Received "Task_5"
-> [ 0.993652] (3:worker@Jupiter) Processing "Task_5"
-> [ 1.095878] (2:worker@Tremblay) "Task_4" done
-> [ 1.152048] (1:master@Tremblay) Sent
-> [ 1.152048] (1:master@Tremblay) Sending "Task_7" to "Ginette"
-> [ 1.152048] (4:worker@Fafard) Received "Task_6"
-> [ 1.152048] (4:worker@Fafard) Processing "Task_6"
-> [ 1.482381] (5:worker@Ginette) "Task_2" done
-> [ 1.606113] (1:master@Tremblay) Sent
-> [ 1.606113] (1:master@Tremblay) Sending "Task_8" to "Bourassa"
-> [ 1.606113] (5:worker@Ginette) Received "Task_7"
-> [ 1.606113] (5:worker@Ginette) Processing "Task_7"
-> [ 1.615000] (6:worker@Bourassa) "Task_3" done
-> [ 1.648994] (3:worker@Jupiter) "Task_5" done
-> [ 1.747619] (1:master@Tremblay) Sent
-> [ 1.747619] (1:master@Tremblay) Sending "Task_9" to "Tremblay"
-> [ 1.747619] (1:master@Tremblay) Hey ! It's me ! :)
-> [ 1.747619] (6:worker@Bourassa) Received "Task_8"
-> [ 1.747619] (6:worker@Bourassa) Processing "Task_8"
-> [ 1.749885] (1:master@Tremblay) Sent
-> [ 1.749885] (1:master@Tremblay) Sending "Task_10" to "Jupiter"
-> [ 1.749885] (2:worker@Tremblay) Received "Task_9"
-> [ 1.749885] (2:worker@Tremblay) Processing "Task_9"
-> [ 1.807391] (4:worker@Fafard) "Task_6" done
-> [ 1.919039] (1:master@Tremblay) Sent
-> [ 1.919039] (1:master@Tremblay) Sending "Task_11" to "Fafard"
-> [ 1.919039] (3:worker@Jupiter) Received "Task_10"
-> [ 1.919039] (3:worker@Jupiter) Processing "Task_10"
-> [ 2.077436] (1:master@Tremblay) Sent
-> [ 2.077436] (1:master@Tremblay) Sending "Task_12" to "Ginette"
-> [ 2.077436] (4:worker@Fafard) Received "Task_11"
-> [ 2.077436] (4:worker@Fafard) Processing "Task_11"
-> [ 2.259594] (2:worker@Tremblay) "Task_9" done
-> [ 2.574382] (3:worker@Jupiter) "Task_10" done
-> [ 2.637211] (5:worker@Ginette) "Task_7" done
-> [ 2.732778] (4:worker@Fafard) "Task_11" done
-> [ 2.760943] (1:master@Tremblay) Sent
-> [ 2.760943] (1:master@Tremblay) Sending "Task_13" to "Bourassa"
-> [ 2.760943] (5:worker@Ginette) Received "Task_12"
-> [ 2.760943] (5:worker@Ginette) Processing "Task_12"
-> [ 2.778717] (6:worker@Bourassa) "Task_8" done
-> [ 2.911336] (1:master@Tremblay) Sent
-> [ 2.911336] (1:master@Tremblay) Sending "Task_14" to "Tremblay"
-> [ 2.911336] (1:master@Tremblay) Hey ! It's me ! :)
-> [ 2.911336] (6:worker@Bourassa) Received "Task_13"
-> [ 2.911336] (6:worker@Bourassa) Processing "Task_13"
-> [ 2.913601] (1:master@Tremblay) Sent
-> [ 2.913601] (1:master@Tremblay) Sending "Task_15" to "Jupiter"
-> [ 2.913601] (2:worker@Tremblay) Received "Task_14"
-> [ 2.913601] (2:worker@Tremblay) Processing "Task_14"
-> [ 3.082756] (1:master@Tremblay) Sent
-> [ 3.082756] (1:master@Tremblay) Sending "Task_16" to "Fafard"
-> [ 3.082756] (3:worker@Jupiter) Received "Task_15"
-> [ 3.082756] (3:worker@Jupiter) Processing "Task_15"
-> [ 3.241153] (1:master@Tremblay) Sent
-> [ 3.241153] (1:master@Tremblay) Sending "Task_17" to "Ginette"
-> [ 3.241153] (4:worker@Fafard) Received "Task_16"
-> [ 3.241153] (4:worker@Fafard) Processing "Task_16"
-> [ 3.423311] (2:worker@Tremblay) "Task_14" done
-> [ 3.738098] (3:worker@Jupiter) "Task_15" done
-> [ 3.792041] (5:worker@Ginette) "Task_12" done
-> [ 3.896495] (4:worker@Fafard) "Task_16" done
-> [ 3.915773] (1:master@Tremblay) Sent
-> [ 3.915773] (1:master@Tremblay) Sending "Task_18" to "Bourassa"
-> [ 3.915773] (5:worker@Ginette) Received "Task_17"
-> [ 3.915773] (5:worker@Ginette) Processing "Task_17"
-> [ 3.942434] (6:worker@Bourassa) "Task_13" done
-> [ 4.075053] (1:master@Tremblay) Sent
-> [ 4.075053] (1:master@Tremblay) Sending "Task_19" to "Tremblay"
-> [ 4.075053] (1:master@Tremblay) Hey ! It's me ! :)
-> [ 4.075053] (6:worker@Bourassa) Received "Task_18"
-> [ 4.075053] (6:worker@Bourassa) Processing "Task_18"
-> [ 4.077318] (1:master@Tremblay) Sent
-> [ 4.077318] (1:master@Tremblay) All tasks have been dispatched. Let's tell everybody the computation is over.
-> [ 4.077318] (2:worker@Tremblay) Received "Task_19"
-> [ 4.077318] (2:worker@Tremblay) Processing "Task_19"
-> [ 4.096333] (3:worker@Jupiter) Received "finalize"
-> [ 4.096333] (3:worker@Jupiter) I'm done. See you!
-> [ 4.122041] (4:worker@Fafard) Received "finalize"
-> [ 4.122041] (4:worker@Fafard) I'm done. See you!
-> [ 4.587028] (2:worker@Tremblay) "Task_19" done
-> [ 4.946871] (5:worker@Ginette) "Task_17" done
-> [ 4.963423] (5:worker@Ginette) Received "finalize"
-> [ 4.963423] (5:worker@Ginette) I'm done. See you!
-> [ 5.106151] (6:worker@Bourassa) "Task_18" done
-> [ 5.131590] (6:worker@Bourassa) Received "finalize"
-> [ 5.131590] (6:worker@Bourassa) I'm done. See you!
-> [ 5.131785] (0:maestro@) Simulation time 5.13179
-> [ 5.131785] (1:master@Tremblay) Goodbye now!
-> [ 5.131785] (2:worker@Tremblay) Received "finalize"
-> [ 5.131785] (2:worker@Tremblay) I'm done. See you!
-
-p Testing a simple master/worker example application
-
-! output sort 19
-$ $SG_TEST_EXENV ${bindir:=.}/masterworker$EXEEXT ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/masterworker/masterworker_d.xml --cfg=network/crosstraffic:0 --cfg=cpu/optim:TI "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
-> [ 0.000000] (0:maestro@) Configuration change: Set 'network/crosstraffic' to '0'
-> [ 0.000000] (0:maestro@) Configuration change: Set 'cpu/optim' to 'TI'
-> [ 0.000000] (1:master@Tremblay) Got 5 workers and 20 tasks to process
-> [ 0.000000] (1:master@Tremblay) Sending "Task_0" to "Jupiter"
-> [ 0.165962] (1:master@Tremblay) Sent
-> [ 0.165962] (1:master@Tremblay) Sending "Task_1" to "Fafard"
-> [ 0.165962] (3:worker@Jupiter) Received "Task_0"
-> [ 0.165962] (3:worker@Jupiter) Processing "Task_0"
-> [ 0.384115] (1:master@Tremblay) Sent
-> [ 0.384115] (1:master@Tremblay) Sending "Task_2" to "Ginette"
-> [ 0.384115] (4:worker@Fafard) Received "Task_1"
-> [ 0.384115] (4:worker@Fafard) Processing "Task_1"
-> [ 0.524575] (1:master@Tremblay) Sent
-> [ 0.524575] (1:master@Tremblay) Sending "Task_3" to "Bourassa"
-> [ 0.524575] (5:worker@Ginette) Received "Task_2"
-> [ 0.524575] (5:worker@Ginette) Processing "Task_2"
-> [ 0.740447] (1:master@Tremblay) Sent
-> [ 0.740447] (1:master@Tremblay) Sending "Task_4" to "Tremblay"
-> [ 0.740447] (1:master@Tremblay) Hey ! It's me ! :)
-> [ 0.740447] (6:worker@Bourassa) Received "Task_3"
-> [ 0.740447] (6:worker@Bourassa) Processing "Task_3"
-> [ 0.742786] (1:master@Tremblay) Sent
-> [ 0.742786] (1:master@Tremblay) Sending "Task_5" to "Jupiter"
-> [ 0.742786] (2:worker@Tremblay) Received "Task_4"
-> [ 0.742786] (2:worker@Tremblay) Processing "Task_4"
-> [ 0.821304] (3:worker@Jupiter) "Task_0" done
-> [ 0.987266] (1:master@Tremblay) Sent
-> [ 0.987266] (1:master@Tremblay) Sending "Task_6" to "Fafard"
-> [ 0.987266] (3:worker@Jupiter) Received "Task_5"
-> [ 0.987266] (3:worker@Jupiter) Processing "Task_5"
-> [ 1.039457] (4:worker@Fafard) "Task_1" done
-> [ 1.252495] (2:worker@Tremblay) "Task_4" done
-> [ 1.257610] (1:master@Tremblay) Sent
-> [ 1.257610] (1:master@Tremblay) Sending "Task_7" to "Ginette"
-> [ 1.257610] (4:worker@Fafard) Received "Task_6"
-> [ 1.257610] (4:worker@Fafard) Processing "Task_6"
-> [ 1.555672] (5:worker@Ginette) "Task_2" done
-> [ 1.642608] (3:worker@Jupiter) "Task_5" done
-> [ 1.696132] (1:master@Tremblay) Sent
-> [ 1.696132] (1:master@Tremblay) Sending "Task_8" to "Bourassa"
-> [ 1.696132] (5:worker@Ginette) Received "Task_7"
-> [ 1.696132] (5:worker@Ginette) Processing "Task_7"
-> [ 1.771545] (6:worker@Bourassa) "Task_3" done
-> [ 1.912953] (4:worker@Fafard) "Task_6" done
-> [ 1.987417] (1:master@Tremblay) Sent
-> [ 1.987417] (1:master@Tremblay) Sending "Task_9" to "Tremblay"
-> [ 1.987417] (1:master@Tremblay) Hey ! It's me ! :)
-> [ 1.987417] (6:worker@Bourassa) Received "Task_8"
-> [ 1.987417] (6:worker@Bourassa) Processing "Task_8"
-> [ 1.989756] (1:master@Tremblay) Sent
-> [ 1.989756] (1:master@Tremblay) Sending "Task_10" to "Jupiter"
-> [ 1.989756] (2:worker@Tremblay) Received "Task_9"
-> [ 1.989756] (2:worker@Tremblay) Processing "Task_9"
-> [ 2.155718] (1:master@Tremblay) Sent
-> [ 2.155718] (1:master@Tremblay) Sending "Task_11" to "Fafard"
-> [ 2.155718] (3:worker@Jupiter) Received "Task_10"
-> [ 2.155718] (3:worker@Jupiter) Processing "Task_10"
-> [ 2.373871] (1:master@Tremblay) Sent
-> [ 2.373871] (1:master@Tremblay) Sending "Task_12" to "Ginette"
-> [ 2.373871] (4:worker@Fafard) Received "Task_11"
-> [ 2.373871] (4:worker@Fafard) Processing "Task_11"
-> [ 2.499466] (2:worker@Tremblay) "Task_9" done
-> [ 2.727230] (5:worker@Ginette) "Task_7" done
-> [ 2.811060] (3:worker@Jupiter) "Task_10" done
-> [ 2.867690] (1:master@Tremblay) Sent
-> [ 2.867690] (1:master@Tremblay) Sending "Task_13" to "Bourassa"
-> [ 2.867690] (5:worker@Ginette) Received "Task_12"
-> [ 2.867690] (5:worker@Ginette) Processing "Task_12"
-> [ 3.018515] (6:worker@Bourassa) "Task_8" done
-> [ 3.029213] (4:worker@Fafard) "Task_11" done
-> [ 3.234387] (1:master@Tremblay) Sent
-> [ 3.234387] (1:master@Tremblay) Sending "Task_14" to "Tremblay"
-> [ 3.234387] (1:master@Tremblay) Hey ! It's me ! :)
-> [ 3.234387] (6:worker@Bourassa) Received "Task_13"
-> [ 3.234387] (6:worker@Bourassa) Processing "Task_13"
-> [ 3.236726] (1:master@Tremblay) Sent
-> [ 3.236726] (1:master@Tremblay) Sending "Task_15" to "Jupiter"
-> [ 3.236726] (2:worker@Tremblay) Received "Task_14"
-> [ 3.236726] (2:worker@Tremblay) Processing "Task_14"
-> [ 3.402688] (1:master@Tremblay) Sent
-> [ 3.402688] (1:master@Tremblay) Sending "Task_16" to "Fafard"
-> [ 3.402688] (3:worker@Jupiter) Received "Task_15"
-> [ 3.402688] (3:worker@Jupiter) Processing "Task_15"
-> [ 3.620841] (1:master@Tremblay) Sent
-> [ 3.620841] (1:master@Tremblay) Sending "Task_17" to "Ginette"
-> [ 3.620841] (4:worker@Fafard) Received "Task_16"
-> [ 3.620841] (4:worker@Fafard) Processing "Task_16"
-> [ 3.746436] (2:worker@Tremblay) "Task_14" done
-> [ 3.898788] (5:worker@Ginette) "Task_12" done
-> [ 4.039247] (1:master@Tremblay) Sent
-> [ 4.039247] (1:master@Tremblay) Sending "Task_18" to "Bourassa"
-> [ 4.039247] (5:worker@Ginette) Received "Task_17"
-> [ 4.039247] (5:worker@Ginette) Processing "Task_17"
-> [ 4.058030] (3:worker@Jupiter) "Task_15" done
-> [ 4.265485] (6:worker@Bourassa) "Task_13" done
-> [ 4.276183] (4:worker@Fafard) "Task_16" done
-> [ 4.481357] (1:master@Tremblay) Sent
-> [ 4.481357] (1:master@Tremblay) Sending "Task_19" to "Tremblay"
-> [ 4.481357] (1:master@Tremblay) Hey ! It's me ! :)
-> [ 4.481357] (6:worker@Bourassa) Received "Task_18"
-> [ 4.481357] (6:worker@Bourassa) Processing "Task_18"
-> [ 4.483696] (1:master@Tremblay) Sent
-> [ 4.483696] (1:master@Tremblay) All tasks have been dispatched. Let's tell everybody the computation is over.
-> [ 4.483696] (2:worker@Tremblay) Received "Task_19"
-> [ 4.483696] (2:worker@Tremblay) Processing "Task_19"
-> [ 4.498896] (3:worker@Jupiter) Received "finalize"
-> [ 4.498896] (3:worker@Jupiter) I'm done. See you!
-> [ 4.519447] (4:worker@Fafard) Received "finalize"
-> [ 4.519447] (4:worker@Fafard) I'm done. See you!
-> [ 4.993406] (2:worker@Tremblay) "Task_19" done
-> [ 5.070345] (5:worker@Ginette) "Task_17" done
-> [ 5.083577] (5:worker@Ginette) Received "finalize"
-> [ 5.083577] (5:worker@Ginette) I'm done. See you!
-> [ 5.512455] (6:worker@Bourassa) "Task_18" done
-> [ 5.532791] (6:worker@Bourassa) Received "finalize"
-> [ 5.532791] (6:worker@Bourassa) I'm done. See you!
-> [ 5.532947] (0:maestro@) Simulation time 5.53295
-> [ 5.532947] (1:master@Tremblay) Goodbye now!
-> [ 5.532947] (2:worker@Tremblay) Received "finalize"
-> [ 5.532947] (2:worker@Tremblay) I'm done. See you!
-
p Tracing multiple categories master/worker application
-$ $SG_TEST_EXENV ${bindir:=.}/trace-categories$EXEEXT --cfg=tracing:yes --cfg=tracing/buffer:yes --cfg=tracing/filename:categories.trace --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes --cfg=viva/categorized:categories.cat.plist --cfg=viva/uncategorized:categories.uncat.plist ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/masterworker-mailbox/masterworker-mailbox_d.xml
+$ $SG_TEST_EXENV ${bindir:=.}/trace-categories$EXEEXT --cfg=tracing:yes --cfg=tracing/buffer:yes --cfg=tracing/filename:categories.trace --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes --cfg=viva/categorized:categories.cat.plist --cfg=viva/uncategorized:categories.uncat.plist ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/app-masterworker/app-masterworker_d.xml
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/buffer' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'categories.trace'
#! ./tesh
p Trace user variables associated to links of the platform file
-$ $SG_TEST_EXENV ${bindir:=.}/trace-link-srcdst-user-variables$EXEEXT --cfg=tracing:yes --cfg=tracing/platform:yes ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/masterworker-mailbox/masterworker-mailbox_d.xml
+$ $SG_TEST_EXENV ${bindir:=.}/trace-link-srcdst-user-variables$EXEEXT --cfg=tracing:yes --cfg=tracing/platform:yes ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/app-masterworker/app-masterworker_d.xml
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/platform' to 'yes'
#! ./tesh
p Trace user variables associated to links of the platform file
-$ $SG_TEST_EXENV ${bindir:=.}/trace-link-user-variables$EXEEXT --cfg=tracing:yes --cfg=tracing/platform:yes ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/masterworker-mailbox/masterworker-mailbox_d.xml
+$ $SG_TEST_EXENV ${bindir:=.}/trace-link-user-variables$EXEEXT --cfg=tracing:yes --cfg=tracing/platform:yes ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/app-masterworker/app-masterworker_d.xml
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/platform' to 'yes'
#! ./tesh
p Tracing master/worker application
-$ $SG_TEST_EXENV ${bindir:=.}/trace-masterworker$EXEEXT --cfg=tracing:yes --cfg=tracing/buffer:yes --cfg=tracing/filename:trace-masterworker.trace --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes --cfg=viva/categorized:trace-masterworker.cat.plist --cfg=viva/uncategorized:trace-masterworker.uncat.plist ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/masterworker-mailbox/masterworker-mailbox_d.xml
+$ $SG_TEST_EXENV ${bindir:=.}/trace-masterworker$EXEEXT --cfg=tracing:yes --cfg=tracing/buffer:yes --cfg=tracing/filename:trace-masterworker.trace --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes --cfg=viva/categorized:trace-masterworker.cat.plist --cfg=viva/uncategorized:trace-masterworker.uncat.plist ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/app-masterworker/app-masterworker_d.xml
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/buffer' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'trace-masterworker.trace'
> [4.214821] [msg_test/INFO] msmark
p Tracing master/worker application with xml config
-$ $SG_TEST_EXENV ${bindir:=.}/trace-masterworker$EXEEXT ${srcdir:=.}/config_tracing.xml ${srcdir:=.}/../msg/masterworker-mailbox/masterworker-mailbox_d.xml
+$ $SG_TEST_EXENV ${bindir:=.}/trace-masterworker$EXEEXT ${srcdir:=.}/config_tracing.xml ${srcdir:=.}/../msg/app-masterworker/app-masterworker_d.xml
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/uncategorized' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/buffer' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
> [4.214821] [msg_test/INFO] msmark
p Not tracing master/worker application
-$ $SG_TEST_EXENV ${bindir:=.}/trace-masterworker$EXEEXT ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/masterworker-mailbox/masterworker-mailbox_d.xml
+$ $SG_TEST_EXENV ${bindir:=.}/trace-masterworker$EXEEXT ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/app-masterworker/app-masterworker_d.xml
p Testing tracing by process
-$ $SG_TEST_EXENV ${bindir:=.}/trace-masterworker$EXEEXT --cfg=tracing:yes --cfg=tracing/msg/process:yes --cfg=tracing/buffer:yes --cfg=tracing/filename:trace-masterworker.trace --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes --cfg=viva/categorized:trace-masterworker.cat.plist --cfg=viva/uncategorized:trace-masterworker.uncat.plist ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/masterworker-mailbox/masterworker-mailbox_d.xml
+$ $SG_TEST_EXENV ${bindir:=.}/trace-masterworker$EXEEXT --cfg=tracing:yes --cfg=tracing/msg/process:yes --cfg=tracing/buffer:yes --cfg=tracing/filename:trace-masterworker.trace --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes --cfg=viva/categorized:trace-masterworker.cat.plist --cfg=viva/uncategorized:trace-masterworker.uncat.plist ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/app-masterworker/app-masterworker_d.xml
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/msg/process' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/buffer' to 'yes'
#! ./tesh
p Tracing user variables
-$ $SG_TEST_EXENV ${bindir:=.}/trace-user-variables$EXEEXT --cfg=tracing:yes --cfg=tracing/platform:yes ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/masterworker-mailbox/masterworker-mailbox_d.xml
+$ $SG_TEST_EXENV ${bindir:=.}/trace-user-variables$EXEEXT --cfg=tracing:yes --cfg=tracing/platform:yes ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/app-masterworker/app-masterworker_d.xml
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/platform' to 'yes'
> [0.004078] [msg_test/INFO] Declared host variables:
$ rm -f viva_graph.plist
p Not tracing user variables
-$ $SG_TEST_EXENV ${bindir:=.}/trace-user-variables$EXEEXT ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/masterworker-mailbox/masterworker-mailbox_d.xml
+$ $SG_TEST_EXENV ${bindir:=.}/trace-user-variables$EXEEXT ${srcdir:=.}/small_platform.xml ${srcdir:=.}/../msg/app-masterworker/app-masterworker_d.xml
> [0.000000 -> 0.292217] C2-05 -> C1-01 transfer of 10014000 bytes # root->5
> [60.002281->62.002281] C2-05 compute 10000000129.452715 flops # end
-$ rm -f ${srcdir:=.}/dag-dotload/dag.trace ${srcdir:=.}/dag-dotload/dot.dot
+$ rm -f ${srcdir:=.}/dag-dotload/dag.trace ${srcdir:=.}/dot.dot
! expect return 2
$ $SG_TEST_EXENV ${bindir:=.}/dag-dotload/sd_dag-dotload --log=no_loc ${srcdir:=.}/../platforms/2clusters.xml ${srcdir:=.}/dag-dotload/dag_with_cycle.dot