From: Arnaud Giersch Date: Mon, 7 Dec 2020 09:46:09 +0000 (+0100) Subject: Convert deprecated/msg/trace-categories to s4u/trace-categories. X-Git-Tag: v3.26~43 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/3dd33836c3d6c154bff1b13a6cd6fb7a57a02fa1 Convert deprecated/msg/trace-categories to s4u/trace-categories. --- diff --git a/.gitignore b/.gitignore index 94d8c39b30..a8a9ba53f8 100644 --- a/.gitignore +++ b/.gitignore @@ -166,7 +166,6 @@ examples/deprecated/msg/mc/bugged3 examples/deprecated/msg/mc/centralized_mutex examples/deprecated/msg/mc/electric_fence examples/deprecated/msg/synchro-semaphore/synchro-semaphore -examples/deprecated/msg/trace-categories/trace-categories examples/deprecated/msg/trace-host-user-variables/trace-host-user-variables examples/deprecated/msg/trace-link-user-variables/trace-link-user-variables examples/deprecated/msg/trace-masterworker/trace-masterworker @@ -241,6 +240,7 @@ examples/s4u/synchro-barrier/s4u-synchro-barrier examples/s4u/synchro-condition-variable/s4u-synchro-condition-variable examples/s4u/synchro-mutex/s4u-synchro-mutex examples/s4u/synchro-semaphore/s4u-synchro-semaphore +examples/s4u/trace-categories/s4u-trace-categories examples/s4u/trace-platform/s4u-trace-platform examples/deprecated/simdag/dag-dotload/sd_dag-dotload examples/deprecated/simdag/daxload/sd_daxload diff --git a/MANIFEST.in b/MANIFEST.in index 8c7fb3c961..986a8b5e65 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -262,8 +262,6 @@ include examples/deprecated/msg/mc/centralized_mutex.tesh include examples/deprecated/msg/mc/deploy_bugged2_liveness.xml include examples/deprecated/msg/mc/deploy_centralized_mutex.xml include examples/deprecated/msg/mc/promela_bugged2_liveness -include examples/deprecated/msg/trace-categories/trace-categories.c -include examples/deprecated/msg/trace-categories/trace-categories.tesh include examples/deprecated/msg/trace-host-user-variables/trace-host-user-variables.c include examples/deprecated/msg/trace-host-user-variables/trace-host-user-variables.tesh include examples/deprecated/msg/trace-link-user-variables/trace-link-user-variables.c @@ -519,6 +517,8 @@ include examples/s4u/synchro-mutex/s4u-synchro-mutex.cpp include examples/s4u/synchro-mutex/s4u-synchro-mutex.tesh include examples/s4u/synchro-semaphore/s4u-synchro-semaphore.cpp include examples/s4u/synchro-semaphore/s4u-synchro-semaphore.tesh +include examples/s4u/trace-categories/s4u-trace-categories.cpp +include examples/s4u/trace-categories/s4u-trace-categories.tesh include examples/s4u/trace-platform/s4u-trace-platform.cpp include examples/s4u/trace-platform/s4u-trace-platform.tesh include examples/smpi/NAS/DGraph.c diff --git a/examples/deprecated/msg/CMakeLists.txt b/examples/deprecated/msg/CMakeLists.txt index bf222a7f1b..d58c3b8490 100644 --- a/examples/deprecated/msg/CMakeLists.txt +++ b/examples/deprecated/msg/CMakeLists.txt @@ -1,4 +1,4 @@ -foreach(x trace-categories trace-route-user-variables trace-link-user-variables +foreach(x trace-route-user-variables trace-link-user-variables trace-masterworker trace-process-migration trace-host-user-variables) if(enable_msg) add_executable (${x} EXCLUDE_FROM_ALL ${x}/${x}.c) @@ -15,7 +15,7 @@ set(txt_files ${txt_files} ${CMAKE_CURRENT_SOURCE_DIR}/README.doc set(tesh_files ${tesh_files} PARENT_SCOPE) if(enable_msg) - foreach (x trace-categories trace-route-user-variables trace-link-user-variables trace-masterworker + foreach (x trace-route-user-variables trace-link-user-variables trace-masterworker trace-process-migration trace-host-user-variables) ADD_TESH(msg-${x} --setenv bindir=${CMAKE_BINARY_DIR}/examples/deprecated/msg/${x} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/deprecated/msg/${x} @@ -23,4 +23,4 @@ if(enable_msg) --cd ${CMAKE_BINARY_DIR}/examples/deprecated/msg/${x} ${CMAKE_HOME_DIRECTORY}/examples/deprecated/msg/${x}/${x}.tesh) endforeach() -endif(enable_msg) \ No newline at end of file +endif(enable_msg) diff --git a/examples/deprecated/msg/trace-categories/trace-categories.c b/examples/deprecated/msg/trace-categories/trace-categories.c deleted file mode 100644 index f7d7c44c50..0000000000 --- a/examples/deprecated/msg/trace-categories/trace-categories.c +++ /dev/null @@ -1,76 +0,0 @@ -/* Copyright (c) 2010-2020. 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" - -static int master(XBT_ATTRIB_UNUSED int argc, XBT_ATTRIB_UNUSED char* argv[]) -{ - long number_of_tasks = 10; - long workers_count = 1; - - for (int i = 0; i < number_of_tasks; i++) { - msg_task_t task = NULL; - - /* creating task and setting its category */ - if (i % 2) { - task = MSG_task_create("task_compute", 10000000, 0, NULL); - MSG_task_set_category(task, "compute"); - } else if (i % 3) { - task = MSG_task_create("task_request", 10, 10, NULL); - MSG_task_set_category(task, "request"); - } else { - task = MSG_task_create("task_data", 10, 10000000, NULL); - MSG_task_set_category(task, "data"); - } - MSG_task_send(task, "master_mailbox"); - } - - for (int i = 0; i < workers_count; i++) { - msg_task_t finalize = MSG_task_create("finalize", 0, 1000, 0); - MSG_task_set_category(finalize, "finalize"); - MSG_task_send(finalize, "master_mailbox"); - } - - return 0; -} - -static int worker(XBT_ATTRIB_UNUSED int argc, XBT_ATTRIB_UNUSED char* argv[]) -{ - msg_task_t task = NULL; - - while (1) { - MSG_task_receive(&(task), "master_mailbox"); - - if (strcmp(MSG_task_get_name(task), "finalize") == 0) { - MSG_task_destroy(task); - break; - } - - MSG_task_execute(task); - MSG_task_destroy(task); - task = NULL; - } - return 0; -} - -int main(int argc, char *argv[]) -{ - MSG_init(&argc, argv); - xbt_assert(argc > 1, "Usage: %s platform_file\n \tExample: %s msg_platform.xml\n", argv[0], argv[0]); - - MSG_create_environment(argv[1]); - - /* declaring user categories with RGB colors */ - TRACE_category_with_color ("compute", "1 0 0"); //red - TRACE_category_with_color ("request", "0 1 0"); //green - TRACE_category_with_color ("data", "0 0 1"); //blue - TRACE_category_with_color ("finalize", "0 0 0");//black - - MSG_process_create("master", master, NULL, MSG_host_by_name("Tremblay")); - MSG_process_create("worker", worker, NULL, MSG_host_by_name("Fafard")); - - MSG_main(); - return 0; -} diff --git a/examples/s4u/CMakeLists.txt b/examples/s4u/CMakeLists.txt index 0e91ca612a..c616c7c443 100644 --- a/examples/s4u/CMakeLists.txt +++ b/examples/s4u/CMakeLists.txt @@ -186,7 +186,7 @@ endif() # Examples not accepting factories ################################## -foreach (example trace-platform) +foreach (example trace-categories trace-platform) add_executable (s4u-${example} EXCLUDE_FROM_ALL ${example}/s4u-${example}.cpp) target_link_libraries(s4u-${example} simgrid) set_target_properties(s4u-${example} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${example}) diff --git a/examples/s4u/trace-categories/s4u-trace-categories.cpp b/examples/s4u/trace-categories/s4u-trace-categories.cpp new file mode 100644 index 0000000000..27453a5e74 --- /dev/null +++ b/examples/s4u/trace-categories/s4u-trace-categories.cpp @@ -0,0 +1,76 @@ +/* Copyright (c) 2010-2020. 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. */ + +/* This source code simply loads the platform. This is only useful to play + * with the tracing module. See the tesh file to see how to generate the + * traces. + */ + +#include "simgrid/instr.h" +#include "simgrid/s4u.hpp" + +struct Task { + std::string name; + std::string category; + double flops; + double bytes; +}; + +static void master() +{ + auto mbox = simgrid::s4u::Mailbox::by_name("master_mailbox"); + + for (int i = 0; i < 10; i++) { + Task task; + if (i % 2) + task = {"task_compute", "compute", 10000000, 0}; + else if (i % 3) + task = {"task_request", "request", 10, 10}; + else + task = {"task_data", "data", 10, 10000000}; + mbox->put(new Task(task), task.bytes); + } + + Task finalize = {"finalize", "finalize", 0, 1000}; + mbox->put(new Task(finalize), finalize.bytes); +} + +static void worker() +{ + auto mbox = simgrid::s4u::Mailbox::by_name("master_mailbox"); + while (true) { + const auto* task = static_cast(mbox->get()); + if (task->name == "finalize") { + delete task; + break; + } + // creating task and setting its category + simgrid::s4u::this_actor::exec_init(task->flops) + ->set_name(task->name) + ->set_tracing_category(task->category) + ->wait(); + delete task; + } +} + +int main(int argc, char* argv[]) +{ + simgrid::s4u::Engine e(&argc, argv); + xbt_assert(argc > 1, "Usage: %s platform_file\n \tExample: %s small_platform.xml\n", argv[0], argv[0]); + + e.load_platform(argv[1]); + + // declaring user categories with RGB colors + TRACE_category_with_color("compute", "1 0 0"); // red + TRACE_category_with_color("request", "0 1 0"); // green + TRACE_category_with_color("data", "0 0 1"); // blue + TRACE_category_with_color("finalize", "0 0 0"); // black + + simgrid::s4u::Actor::create("master", simgrid::s4u::Host::by_name("Tremblay"), master); + simgrid::s4u::Actor::create("worker", simgrid::s4u::Host::by_name("Fafard"), worker); + + e.run(); + return 0; +} diff --git a/examples/deprecated/msg/trace-categories/trace-categories.tesh b/examples/s4u/trace-categories/s4u-trace-categories.tesh similarity index 66% rename from examples/deprecated/msg/trace-categories/trace-categories.tesh rename to examples/s4u/trace-categories/s4u-trace-categories.tesh index d62794490b..fa39b6c92b 100644 --- a/examples/deprecated/msg/trace-categories/trace-categories.tesh +++ b/examples/s4u/trace-categories/s4u-trace-categories.tesh @@ -2,8 +2,10 @@ p Tracing multiple categories master/worker application -$ ${bindir:=.}/trace-categories --cfg=tracing:yes --cfg=tracing/filename:categories.trace --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes ${platfdir}/small_platform.xml +$ ${bindir:=.}/s4u-trace-categories --cfg=tracing:yes --cfg=tracing/filename:categories.trace --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes ${platfdir}/small_platform.xml > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes' > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'categories.trace' > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes' > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/uncategorized' to 'yes' + +$ rm -f categories.trace