From 8c8c0239fbcb7820a600978dd9c1470a0a438e7a Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Mon, 8 Feb 2016 01:06:01 +0100 Subject: [PATCH] kill two tests bypassing the XML parser the ugly way(s) --- .gitignore | 2 - examples/msg/masterslave/CMakeLists.txt | 5 - examples/msg/masterslave/masterslave_bypass.c | 291 ------------------ .../msg/masterslave/masterslave_bypass.tesh | 135 -------- .../masterslave_cpu_ti_crosstraffic.tesh | 136 -------- examples/msg/token_ring/CMakeLists.txt | 4 - examples/msg/token_ring/token_bypass.c | 127 -------- tools/cmake/Tests.cmake | 1 - 8 files changed, 701 deletions(-) delete mode 100644 examples/msg/masterslave/masterslave_bypass.c delete mode 100644 examples/msg/masterslave/masterslave_bypass.tesh delete mode 100644 examples/msg/token_ring/token_bypass.c diff --git a/.gitignore b/.gitignore index f2c89f31c8..9af0a40af9 100644 --- a/.gitignore +++ b/.gitignore @@ -161,7 +161,6 @@ examples/msg/irc_isend/peer examples/msg/irc_isend/toto.txt examples/msg/kademlia/kademlia examples/msg/masterslave/masterslave_arg -examples/msg/masterslave/masterslave_bypass examples/msg/masterslave/masterslave_cluster examples/msg/masterslave/masterslave_console examples/msg/masterslave/masterslave_failure @@ -204,7 +203,6 @@ examples/msg/simulation.trace examples/msg/start_kill_time/sk_time examples/msg/suspend/suspend examples/msg/tasks.trace -examples/msg/token_ring/token_bypass examples/msg/token_ring/token_ring examples/msg/toto.txt examples/msg/trace/test_trace_integration diff --git a/examples/msg/masterslave/CMakeLists.txt b/examples/msg/masterslave/CMakeLists.txt index e1384a3694..a515aead74 100644 --- a/examples/msg/masterslave/CMakeLists.txt +++ b/examples/msg/masterslave/CMakeLists.txt @@ -3,7 +3,6 @@ set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}") add_executable(masterslave_failure "masterslave_failure.c") add_executable(masterslave_forwarder "masterslave_forwarder.c") add_executable(masterslave_mailbox "masterslave_mailbox.c") -add_executable(masterslave_bypass "masterslave_bypass.c") add_executable(masterslave_cluster "masterslave_cluster.c") add_executable(masterslave_kill "masterslave_kill.c") add_executable(masterslave_arg "masterslave_arg.c") @@ -13,14 +12,12 @@ if(WIN32) target_link_libraries(masterslave_forwarder simgrid ) target_link_libraries(masterslave_failure simgrid ) target_link_libraries(masterslave_mailbox simgrid ) - target_link_libraries(masterslave_bypass simgrid ) target_link_libraries(masterslave_kill simgrid ) target_link_libraries(masterslave_arg simgrid ) else() target_link_libraries(masterslave_forwarder simgrid ) target_link_libraries(masterslave_failure simgrid ) target_link_libraries(masterslave_mailbox simgrid ) - target_link_libraries(masterslave_bypass simgrid ) target_link_libraries(masterslave_kill simgrid ) target_link_libraries(masterslave_arg simgrid ) endif() @@ -28,7 +25,6 @@ target_link_libraries(masterslave_cluster simgrid) set(tesh_files ${tesh_files} - ${CMAKE_CURRENT_SOURCE_DIR}/masterslave_bypass.tesh ${CMAKE_CURRENT_SOURCE_DIR}/masterslave_cpu_ti.tesh ${CMAKE_CURRENT_SOURCE_DIR}/masterslave_forwarder_crosstraffic.tesh ${CMAKE_CURRENT_SOURCE_DIR}/masterslave_mailbox.tesh @@ -58,7 +54,6 @@ set(xml_files set(examples_src ${examples_src} ${CMAKE_CURRENT_SOURCE_DIR}/masterslave_arg.c - ${CMAKE_CURRENT_SOURCE_DIR}/masterslave_bypass.c ${CMAKE_CURRENT_SOURCE_DIR}/masterslave_cluster.c ${CMAKE_CURRENT_SOURCE_DIR}/masterslave_failure.c ${CMAKE_CURRENT_SOURCE_DIR}/masterslave_forwarder.c diff --git a/examples/msg/masterslave/masterslave_bypass.c b/examples/msg/masterslave/masterslave_bypass.c deleted file mode 100644 index ecdf4cd9c3..0000000000 --- a/examples/msg/masterslave/masterslave_bypass.c +++ /dev/null @@ -1,291 +0,0 @@ -/* 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 -#include "simgrid/msg.h" /* Yeah! If you want to use msg, you need to include simgrid/msg.h */ -#include "surf/surfxml_parse.h" /* to override surf_parse and bypass the parser */ - -/* Create a log channel to have nice outputs. */ -#include "xbt/log.h" -XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test, - "Messages specific for this msg example"); -#define FINALIZE ((void*)221297) /* a magic number to tell people to stop working */ - -static int surf_parse_bypass_platform(void) -{ - static int AX_ptr = 0; - static int surfxml_bufferstack_size = 2048; - static int surfxml_buffer_stack_stack_ptr = 0; - static int surfxml_buffer_stack_stack[1024]; - /* allocating memory for the buffer, I think 2kB should be enough */ - surfxml_bufferstack = xbt_new0(char, surfxml_bufferstack_size); - - XBT_DEBUG(""); - SURFXML_BUFFER_SET(platform_version, "3"); - SURFXML_START_TAG(platform); - - XBT_DEBUG(""); - SURFXML_BUFFER_SET(AS_id, "AS0"); - A_surfxml_AS_routing = A_surfxml_AS_routing_Full; - SURFXML_START_TAG(AS); - - XBT_DEBUG(""); - SURFXML_BUFFER_SET(host_id, "host A"); - SURFXML_BUFFER_SET(host_power, "100000000.00"); - SURFXML_BUFFER_SET(host_pstate, "0"); - SURFXML_BUFFER_SET(host_availability, "1.0"); - SURFXML_BUFFER_SET(host_availability___file, ""); - SURFXML_BUFFER_SET(host_core, "1"); - A_surfxml_host_state = A_surfxml_host_state_ON; - SURFXML_BUFFER_SET(host_state___file, ""); - SURFXML_BUFFER_SET(host_coordinates, ""); - SURFXML_START_TAG(host); - SURFXML_END_TAG(host); - - XBT_DEBUG(""); - SURFXML_BUFFER_SET(host_id, "host B"); - SURFXML_BUFFER_SET(host_power, "100000000.00"); - SURFXML_BUFFER_SET(host_pstate, "0"); - SURFXML_BUFFER_SET(host_availability, "1.0"); - SURFXML_BUFFER_SET(host_availability___file, ""); - SURFXML_BUFFER_SET(host_core, "1"); - A_surfxml_host_state = A_surfxml_host_state_ON; - SURFXML_BUFFER_SET(host_state___file, ""); - SURFXML_BUFFER_SET(host_coordinates, ""); - SURFXML_START_TAG(host); - SURFXML_END_TAG(host); - - XBT_DEBUG(""); - SURFXML_BUFFER_SET(link_id, "LinkA"); - SURFXML_BUFFER_SET(link_bandwidth, "10000000.0"); - SURFXML_BUFFER_SET(link_bandwidth___file, ""); - SURFXML_BUFFER_SET(link_latency, "0.2"); - SURFXML_BUFFER_SET(link_latency___file, ""); - A_surfxml_link_state = A_surfxml_link_state_ON; - SURFXML_BUFFER_SET(link_state___file, ""); - A_surfxml_link_sharing___policy = A_surfxml_link_sharing___policy_SHARED; - SURFXML_START_TAG(link); - SURFXML_END_TAG(link); - - XBT_DEBUG(""); - SURFXML_BUFFER_SET(route_src, "host A"); - SURFXML_BUFFER_SET(route_dst, "host B"); - A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES; - SURFXML_START_TAG(route); - XBT_DEBUG(" "); - SURFXML_BUFFER_SET(link___ctn_id, "LinkA"); - A_surfxml_link___ctn_direction = A_surfxml_link___ctn_direction_NONE; - SURFXML_START_TAG(link___ctn); - SURFXML_END_TAG(link___ctn); - XBT_DEBUG(""); - SURFXML_END_TAG(route); - - XBT_DEBUG(""); - SURFXML_END_TAG(AS); - XBT_DEBUG(""); - SURFXML_END_TAG(platform); - - free(surfxml_bufferstack); - return 0; -} - -static int surf_parse_bypass_application(void) -{ - static int AX_ptr; - static int surfxml_bufferstack_size = 2048; - static int surfxml_buffer_stack_stack_ptr = 0; - static int surfxml_buffer_stack_stack[1024]; - /* allocating memory to the buffer, I think 2MB should be enough */ - surfxml_bufferstack = xbt_new0(char, surfxml_bufferstack_size); - - /* */ - SURFXML_BUFFER_SET(platform_version, "3"); - - SURFXML_START_TAG(platform); - -/* */ - SURFXML_BUFFER_SET(process_host, "host A"); - SURFXML_BUFFER_SET(process_function, "master"); - SURFXML_BUFFER_SET(process_start___time, "-1.0"); - SURFXML_BUFFER_SET(process_kill___time, "-1.0"); - SURFXML_START_TAG(process); - -/* */ - SURFXML_BUFFER_SET(argument_value, "20"); - SURFXML_START_TAG(argument); - SURFXML_END_TAG(argument); - -/* */ - SURFXML_BUFFER_SET(argument_value, "5000000"); - SURFXML_START_TAG(argument); - SURFXML_END_TAG(argument); - -/* */ - SURFXML_BUFFER_SET(argument_value, "100000"); - SURFXML_START_TAG(argument); - SURFXML_END_TAG(argument); - -/* */ - SURFXML_BUFFER_SET(argument_value, "host B"); - SURFXML_START_TAG(argument); - SURFXML_END_TAG(argument); - -/* */ - SURFXML_END_TAG(process); - -/* */ - SURFXML_BUFFER_SET(process_host, "host B"); - SURFXML_BUFFER_SET(process_function, "slave"); - SURFXML_BUFFER_SET(process_start___time, "-1.0"); - SURFXML_BUFFER_SET(process_kill___time, "-1.0"); - SURFXML_START_TAG(process); - SURFXML_END_TAG(process); - -/* */ - SURFXML_END_TAG(platform); - - free(surfxml_bufferstack); - return 0; -} - -int master(int argc, char *argv[]); -int slave(int argc, char *argv[]); -msg_error_t test_all(void); - -/** Emitter function */ -int master(int argc, char *argv[]) -{ - int slaves_count = 0; - msg_host_t *slaves = NULL; - msg_task_t *todo = 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]); - - { /* 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 */ - slaves_count = argc - 4; - slaves = xbt_new0(msg_host_t, slaves_count); - - for (i = 4; i < argc; i++) { - slaves[i - 4] = MSG_host_by_name(argv[i]); - if (slaves[i - 4] == NULL) { - XBT_INFO("Unknown host %s. Stopping Now!", argv[i]); - abort(); - } - } - } - - XBT_INFO("Got %d slave(s) :", slaves_count); - for (i = 0; i < slaves_count; i++) - XBT_INFO("\t %s", MSG_host_get_name(slaves[i])); - - XBT_INFO("Got %d task to process :", number_of_tasks); - - for (i = 0; i < number_of_tasks; i++) - XBT_INFO("\t\"%s\"", todo[i]->name); - - for (i = 0; i < number_of_tasks; i++) { - XBT_INFO("Sending \"%s\" to \"%s\"", - todo[i]->name, MSG_host_get_name(slaves[i % slaves_count])); - if (MSG_host_self() == slaves[i % slaves_count]) { - XBT_INFO("Hey ! It's me ! :)"); - } - MSG_task_send(todo[i], MSG_host_get_name(slaves[i % slaves_count])); - XBT_INFO("Send completed"); - } - - XBT_INFO - ("All tasks have been dispatched. Let's tell everybody the computation is over."); - for (i = 0; i < slaves_count; i++) - MSG_task_send(MSG_task_create("finalize", 0, 0, FINALIZE), - MSG_host_get_name(slaves[i])); - - XBT_INFO("Goodbye now!"); - free(slaves); - free(todo); - return 0; -} /* end_of_master */ - -/** Receiver function */ -int slave(int argc, char *argv[]) -{ - XBT_INFO("I'm a slave"); - while (1) { - msg_task_t task = NULL; - int a; - a = MSG_task_receive(&task, MSG_host_get_name(MSG_host_self())); - if (a == MSG_OK) { - XBT_INFO("Received \"%s\"" , MSG_task_get_name(task)); - if (MSG_task_get_data(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); - } else { - XBT_INFO("Hey ?! What's up ?"); - xbt_die( "Unexpected behavior"); - } - } - XBT_INFO("I'm done. See you!"); - return 0; -} /* end_of_slave */ - -/** Test function */ -msg_error_t test_all(void) -{ - msg_error_t res = MSG_OK; - - /* Simulation setting */ - surf_parse = surf_parse_bypass_platform; - MSG_create_environment(NULL); - - /* Application deployment */ - MSG_function_register("master", master); - MSG_function_register("slave", slave); - surf_parse = surf_parse_bypass_application; - MSG_launch_application(NULL); - - res = MSG_main(); - - XBT_INFO("Simulation time %g", MSG_get_clock()); - return res; -} /* end_of_test_all */ - -/** Main function */ -int main(int argc, char *argv[]) -{ - msg_error_t res = MSG_OK; - - MSG_init(&argc, argv); - res = test_all(); - - return res != MSG_OK; -} diff --git a/examples/msg/masterslave/masterslave_bypass.tesh b/examples/msg/masterslave/masterslave_bypass.tesh deleted file mode 100644 index f45b783975..0000000000 --- a/examples/msg/masterslave/masterslave_bypass.tesh +++ /dev/null @@ -1,135 +0,0 @@ -#! ./tesh -p Testing the bypassing of the flexml parser - -! output sort 19 -$ $SG_TEST_EXENV masterslave/masterslave_bypass --log=no_loc "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" -> [ 0.000000] (0:maestro@) Bypassing the XML parser since surf_parse_open received a NULL pointer. If it is not what you want, go fix your code. -> [ 0.000000] (1:master@host A) Got 1 slave(s) : -> [ 0.000000] (1:master@host A) host B -> [ 0.000000] (1:master@host A) Got 20 task to process : -> [ 0.000000] (1:master@host A) "Task_0" -> [ 0.000000] (1:master@host A) "Task_1" -> [ 0.000000] (1:master@host A) "Task_2" -> [ 0.000000] (1:master@host A) "Task_3" -> [ 0.000000] (1:master@host A) "Task_4" -> [ 0.000000] (1:master@host A) "Task_5" -> [ 0.000000] (1:master@host A) "Task_6" -> [ 0.000000] (1:master@host A) "Task_7" -> [ 0.000000] (1:master@host A) "Task_8" -> [ 0.000000] (1:master@host A) "Task_9" -> [ 0.000000] (1:master@host A) "Task_10" -> [ 0.000000] (1:master@host A) "Task_11" -> [ 0.000000] (1:master@host A) "Task_12" -> [ 0.000000] (1:master@host A) "Task_13" -> [ 0.000000] (1:master@host A) "Task_14" -> [ 0.000000] (1:master@host A) "Task_15" -> [ 0.000000] (1:master@host A) "Task_16" -> [ 0.000000] (1:master@host A) "Task_17" -> [ 0.000000] (1:master@host A) "Task_18" -> [ 0.000000] (1:master@host A) "Task_19" -> [ 0.000000] (1:master@host A) Sending "Task_0" to "host B" -> [ 0.000000] (2:slave@host B) I'm a slave -> [ 2.612825] (1:master@host A) Send completed -> [ 2.612825] (1:master@host A) Sending "Task_1" to "host B" -> [ 2.612825] (2:slave@host B) Received "Task_0" -> [ 2.612825] (2:slave@host B) Processing "Task_0" -> [ 2.662825] (2:slave@host B) "Task_0" done -> [ 5.275649] (1:master@host A) Send completed -> [ 5.275649] (1:master@host A) Sending "Task_2" to "host B" -> [ 5.275649] (2:slave@host B) Received "Task_1" -> [ 5.275649] (2:slave@host B) Processing "Task_1" -> [ 5.325649] (2:slave@host B) "Task_1" done -> [ 7.938474] (1:master@host A) Send completed -> [ 7.938474] (1:master@host A) Sending "Task_3" to "host B" -> [ 7.938474] (2:slave@host B) Received "Task_2" -> [ 7.938474] (2:slave@host B) Processing "Task_2" -> [ 7.988474] (2:slave@host B) "Task_2" done -> [ 10.601299] (1:master@host A) Send completed -> [ 10.601299] (1:master@host A) Sending "Task_4" to "host B" -> [ 10.601299] (2:slave@host B) Received "Task_3" -> [ 10.601299] (2:slave@host B) Processing "Task_3" -> [ 10.651299] (2:slave@host B) "Task_3" done -> [ 13.264124] (1:master@host A) Send completed -> [ 13.264124] (1:master@host A) Sending "Task_5" to "host B" -> [ 13.264124] (2:slave@host B) Received "Task_4" -> [ 13.264124] (2:slave@host B) Processing "Task_4" -> [ 13.314124] (2:slave@host B) "Task_4" done -> [ 15.926948] (1:master@host A) Send completed -> [ 15.926948] (1:master@host A) Sending "Task_6" to "host B" -> [ 15.926948] (2:slave@host B) Received "Task_5" -> [ 15.926948] (2:slave@host B) Processing "Task_5" -> [ 15.976948] (2:slave@host B) "Task_5" done -> [ 18.589773] (1:master@host A) Send completed -> [ 18.589773] (1:master@host A) Sending "Task_7" to "host B" -> [ 18.589773] (2:slave@host B) Received "Task_6" -> [ 18.589773] (2:slave@host B) Processing "Task_6" -> [ 18.639773] (2:slave@host B) "Task_6" done -> [ 21.252598] (1:master@host A) Send completed -> [ 21.252598] (1:master@host A) Sending "Task_8" to "host B" -> [ 21.252598] (2:slave@host B) Received "Task_7" -> [ 21.252598] (2:slave@host B) Processing "Task_7" -> [ 21.302598] (2:slave@host B) "Task_7" done -> [ 23.915423] (1:master@host A) Send completed -> [ 23.915423] (1:master@host A) Sending "Task_9" to "host B" -> [ 23.915423] (2:slave@host B) Received "Task_8" -> [ 23.915423] (2:slave@host B) Processing "Task_8" -> [ 23.965423] (2:slave@host B) "Task_8" done -> [ 26.578247] (1:master@host A) Send completed -> [ 26.578247] (1:master@host A) Sending "Task_10" to "host B" -> [ 26.578247] (2:slave@host B) Received "Task_9" -> [ 26.578247] (2:slave@host B) Processing "Task_9" -> [ 26.628247] (2:slave@host B) "Task_9" done -> [ 29.241072] (1:master@host A) Send completed -> [ 29.241072] (1:master@host A) Sending "Task_11" to "host B" -> [ 29.241072] (2:slave@host B) Received "Task_10" -> [ 29.241072] (2:slave@host B) Processing "Task_10" -> [ 29.291072] (2:slave@host B) "Task_10" done -> [ 31.903897] (1:master@host A) Send completed -> [ 31.903897] (1:master@host A) Sending "Task_12" to "host B" -> [ 31.903897] (2:slave@host B) Received "Task_11" -> [ 31.903897] (2:slave@host B) Processing "Task_11" -> [ 31.953897] (2:slave@host B) "Task_11" done -> [ 34.566722] (1:master@host A) Send completed -> [ 34.566722] (1:master@host A) Sending "Task_13" to "host B" -> [ 34.566722] (2:slave@host B) Received "Task_12" -> [ 34.566722] (2:slave@host B) Processing "Task_12" -> [ 34.616722] (2:slave@host B) "Task_12" done -> [ 37.229546] (1:master@host A) Send completed -> [ 37.229546] (1:master@host A) Sending "Task_14" to "host B" -> [ 37.229546] (2:slave@host B) Received "Task_13" -> [ 37.229546] (2:slave@host B) Processing "Task_13" -> [ 37.279546] (2:slave@host B) "Task_13" done -> [ 39.892371] (1:master@host A) Send completed -> [ 39.892371] (1:master@host A) Sending "Task_15" to "host B" -> [ 39.892371] (2:slave@host B) Received "Task_14" -> [ 39.892371] (2:slave@host B) Processing "Task_14" -> [ 39.942371] (2:slave@host B) "Task_14" done -> [ 42.555196] (1:master@host A) Send completed -> [ 42.555196] (1:master@host A) Sending "Task_16" to "host B" -> [ 42.555196] (2:slave@host B) Received "Task_15" -> [ 42.555196] (2:slave@host B) Processing "Task_15" -> [ 42.605196] (2:slave@host B) "Task_15" done -> [ 45.218021] (1:master@host A) Send completed -> [ 45.218021] (1:master@host A) Sending "Task_17" to "host B" -> [ 45.218021] (2:slave@host B) Received "Task_16" -> [ 45.218021] (2:slave@host B) Processing "Task_16" -> [ 45.268021] (2:slave@host B) "Task_16" done -> [ 47.880845] (1:master@host A) Send completed -> [ 47.880845] (1:master@host A) Sending "Task_18" to "host B" -> [ 47.880845] (2:slave@host B) Received "Task_17" -> [ 47.880845] (2:slave@host B) Processing "Task_17" -> [ 47.930845] (2:slave@host B) "Task_17" done -> [ 50.543670] (1:master@host A) Send completed -> [ 50.543670] (1:master@host A) Sending "Task_19" to "host B" -> [ 50.543670] (2:slave@host B) Received "Task_18" -> [ 50.543670] (2:slave@host B) Processing "Task_18" -> [ 50.593670] (2:slave@host B) "Task_18" done -> [ 53.206495] (1:master@host A) Send completed -> [ 53.206495] (1:master@host A) All tasks have been dispatched. Let's tell everybody the computation is over. -> [ 53.206495] (2:slave@host B) Received "Task_19" -> [ 53.206495] (2:slave@host B) Processing "Task_19" -> [ 53.256495] (2:slave@host B) "Task_19" done -> [ 55.858495] (0:maestro@) Simulation time 55.8585 -> [ 55.858495] (1:master@host A) Goodbye now! -> [ 55.858495] (2:slave@host B) Received "finalize" -> [ 55.858495] (2:slave@host B) I'm done. See you! diff --git a/examples/msg/masterslave/masterslave_cpu_ti_crosstraffic.tesh b/examples/msg/masterslave/masterslave_cpu_ti_crosstraffic.tesh index 85c83f3f83..5dbbc77066 100644 --- a/examples/msg/masterslave/masterslave_cpu_ti_crosstraffic.tesh +++ b/examples/msg/masterslave/masterslave_cpu_ti_crosstraffic.tesh @@ -376,139 +376,3 @@ $ ${bindir:=.}/masterslave_failure$EXEEXT --log=xbt_cfg.thres:critical --log=no_ > [ 52.785567] (2:slave@Tremblay) I'm done. See you! > [ 52.785567] (5:slave@Bourassa) Received "finalize" > [ 52.785567] (5:slave@Bourassa) I'm done. See you! - -p Testing the bypassing of the flexml parser - -! output sort 19 -$ $SG_TEST_EXENV ${bindir:=.}/masterslave_bypass --log=no_loc --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] (0:maestro@) Bypassing the XML parser since surf_parse_open received a NULL pointer. If it is not what you want, go fix your code. -> [ 0.000000] (1:master@host A) Got 1 slave(s) : -> [ 0.000000] (1:master@host A) host B -> [ 0.000000] (1:master@host A) Got 20 task to process : -> [ 0.000000] (1:master@host A) "Task_0" -> [ 0.000000] (1:master@host A) "Task_1" -> [ 0.000000] (1:master@host A) "Task_2" -> [ 0.000000] (1:master@host A) "Task_3" -> [ 0.000000] (1:master@host A) "Task_4" -> [ 0.000000] (1:master@host A) "Task_5" -> [ 0.000000] (1:master@host A) "Task_6" -> [ 0.000000] (1:master@host A) "Task_7" -> [ 0.000000] (1:master@host A) "Task_8" -> [ 0.000000] (1:master@host A) "Task_9" -> [ 0.000000] (1:master@host A) "Task_10" -> [ 0.000000] (1:master@host A) "Task_11" -> [ 0.000000] (1:master@host A) "Task_12" -> [ 0.000000] (1:master@host A) "Task_13" -> [ 0.000000] (1:master@host A) "Task_14" -> [ 0.000000] (1:master@host A) "Task_15" -> [ 0.000000] (1:master@host A) "Task_16" -> [ 0.000000] (1:master@host A) "Task_17" -> [ 0.000000] (1:master@host A) "Task_18" -> [ 0.000000] (1:master@host A) "Task_19" -> [ 0.000000] (1:master@host A) Sending "Task_0" to "host B" -> [ 0.000000] (2:slave@host B) I'm a slave -> [ 2.612825] (1:master@host A) Send completed -> [ 2.612825] (1:master@host A) Sending "Task_1" to "host B" -> [ 2.612825] (2:slave@host B) Received "Task_0" -> [ 2.612825] (2:slave@host B) Processing "Task_0" -> [ 2.662825] (2:slave@host B) "Task_0" done -> [ 5.275649] (1:master@host A) Send completed -> [ 5.275649] (1:master@host A) Sending "Task_2" to "host B" -> [ 5.275649] (2:slave@host B) Received "Task_1" -> [ 5.275649] (2:slave@host B) Processing "Task_1" -> [ 5.325649] (2:slave@host B) "Task_1" done -> [ 7.938474] (1:master@host A) Send completed -> [ 7.938474] (1:master@host A) Sending "Task_3" to "host B" -> [ 7.938474] (2:slave@host B) Received "Task_2" -> [ 7.938474] (2:slave@host B) Processing "Task_2" -> [ 7.988474] (2:slave@host B) "Task_2" done -> [ 10.601299] (1:master@host A) Send completed -> [ 10.601299] (1:master@host A) Sending "Task_4" to "host B" -> [ 10.601299] (2:slave@host B) Received "Task_3" -> [ 10.601299] (2:slave@host B) Processing "Task_3" -> [ 10.651299] (2:slave@host B) "Task_3" done -> [ 13.264124] (1:master@host A) Send completed -> [ 13.264124] (1:master@host A) Sending "Task_5" to "host B" -> [ 13.264124] (2:slave@host B) Received "Task_4" -> [ 13.264124] (2:slave@host B) Processing "Task_4" -> [ 13.314124] (2:slave@host B) "Task_4" done -> [ 15.926948] (1:master@host A) Send completed -> [ 15.926948] (1:master@host A) Sending "Task_6" to "host B" -> [ 15.926948] (2:slave@host B) Received "Task_5" -> [ 15.926948] (2:slave@host B) Processing "Task_5" -> [ 15.976948] (2:slave@host B) "Task_5" done -> [ 18.589773] (1:master@host A) Send completed -> [ 18.589773] (1:master@host A) Sending "Task_7" to "host B" -> [ 18.589773] (2:slave@host B) Received "Task_6" -> [ 18.589773] (2:slave@host B) Processing "Task_6" -> [ 18.639773] (2:slave@host B) "Task_6" done -> [ 21.252598] (1:master@host A) Send completed -> [ 21.252598] (1:master@host A) Sending "Task_8" to "host B" -> [ 21.252598] (2:slave@host B) Received "Task_7" -> [ 21.252598] (2:slave@host B) Processing "Task_7" -> [ 21.302598] (2:slave@host B) "Task_7" done -> [ 23.915423] (1:master@host A) Send completed -> [ 23.915423] (1:master@host A) Sending "Task_9" to "host B" -> [ 23.915423] (2:slave@host B) Received "Task_8" -> [ 23.915423] (2:slave@host B) Processing "Task_8" -> [ 23.965423] (2:slave@host B) "Task_8" done -> [ 26.578247] (1:master@host A) Send completed -> [ 26.578247] (1:master@host A) Sending "Task_10" to "host B" -> [ 26.578247] (2:slave@host B) Received "Task_9" -> [ 26.578247] (2:slave@host B) Processing "Task_9" -> [ 26.628247] (2:slave@host B) "Task_9" done -> [ 29.241072] (1:master@host A) Send completed -> [ 29.241072] (1:master@host A) Sending "Task_11" to "host B" -> [ 29.241072] (2:slave@host B) Received "Task_10" -> [ 29.241072] (2:slave@host B) Processing "Task_10" -> [ 29.291072] (2:slave@host B) "Task_10" done -> [ 31.903897] (1:master@host A) Send completed -> [ 31.903897] (1:master@host A) Sending "Task_12" to "host B" -> [ 31.903897] (2:slave@host B) Received "Task_11" -> [ 31.903897] (2:slave@host B) Processing "Task_11" -> [ 31.953897] (2:slave@host B) "Task_11" done -> [ 34.566722] (1:master@host A) Send completed -> [ 34.566722] (1:master@host A) Sending "Task_13" to "host B" -> [ 34.566722] (2:slave@host B) Received "Task_12" -> [ 34.566722] (2:slave@host B) Processing "Task_12" -> [ 34.616722] (2:slave@host B) "Task_12" done -> [ 37.229546] (1:master@host A) Send completed -> [ 37.229546] (1:master@host A) Sending "Task_14" to "host B" -> [ 37.229546] (2:slave@host B) Received "Task_13" -> [ 37.229546] (2:slave@host B) Processing "Task_13" -> [ 37.279546] (2:slave@host B) "Task_13" done -> [ 39.892371] (1:master@host A) Send completed -> [ 39.892371] (1:master@host A) Sending "Task_15" to "host B" -> [ 39.892371] (2:slave@host B) Received "Task_14" -> [ 39.892371] (2:slave@host B) Processing "Task_14" -> [ 39.942371] (2:slave@host B) "Task_14" done -> [ 42.555196] (1:master@host A) Send completed -> [ 42.555196] (1:master@host A) Sending "Task_16" to "host B" -> [ 42.555196] (2:slave@host B) Received "Task_15" -> [ 42.555196] (2:slave@host B) Processing "Task_15" -> [ 42.605196] (2:slave@host B) "Task_15" done -> [ 45.218021] (1:master@host A) Send completed -> [ 45.218021] (1:master@host A) Sending "Task_17" to "host B" -> [ 45.218021] (2:slave@host B) Received "Task_16" -> [ 45.218021] (2:slave@host B) Processing "Task_16" -> [ 45.268021] (2:slave@host B) "Task_16" done -> [ 47.880845] (1:master@host A) Send completed -> [ 47.880845] (1:master@host A) Sending "Task_18" to "host B" -> [ 47.880845] (2:slave@host B) Received "Task_17" -> [ 47.880845] (2:slave@host B) Processing "Task_17" -> [ 47.930845] (2:slave@host B) "Task_17" done -> [ 50.543670] (1:master@host A) Send completed -> [ 50.543670] (1:master@host A) Sending "Task_19" to "host B" -> [ 50.543670] (2:slave@host B) Received "Task_18" -> [ 50.543670] (2:slave@host B) Processing "Task_18" -> [ 50.593670] (2:slave@host B) "Task_18" done -> [ 53.206495] (1:master@host A) Send completed -> [ 53.206495] (1:master@host A) All tasks have been dispatched. Let's tell everybody the computation is over. -> [ 53.206495] (2:slave@host B) Received "Task_19" -> [ 53.206495] (2:slave@host B) Processing "Task_19" -> [ 53.256495] (2:slave@host B) "Task_19" done -> [ 55.858495] (0:maestro@) Simulation time 55.8585 -> [ 55.858495] (1:master@host A) Goodbye now! -> [ 55.858495] (2:slave@host B) Received "finalize" -> [ 55.858495] (2:slave@host B) I'm done. See you! diff --git a/examples/msg/token_ring/CMakeLists.txt b/examples/msg/token_ring/CMakeLists.txt index 12a15d1f82..8d465fadfd 100644 --- a/examples/msg/token_ring/CMakeLists.txt +++ b/examples/msg/token_ring/CMakeLists.txt @@ -1,15 +1,12 @@ set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}") add_executable(token_ring ring_call.c) -add_executable(token_bypass token_bypass.c) ### Add definitions for compile if(NOT WIN32) target_link_libraries(token_ring simgrid pthread ) - target_link_libraries(token_bypass simgrid pthread ) else() target_link_libraries(token_ring simgrid) - target_link_libraries(token_bypass simgrid) endif() set(tesh_files @@ -24,7 +21,6 @@ set(xml_files set(examples_src ${examples_src} ${CMAKE_CURRENT_SOURCE_DIR}/ring_call.c - ${CMAKE_CURRENT_SOURCE_DIR}/token_bypass.c PARENT_SCOPE ) set(bin_files diff --git a/examples/msg/token_ring/token_bypass.c b/examples/msg/token_ring/token_bypass.c deleted file mode 100644 index f4eb5dcef8..0000000000 --- a/examples/msg/token_ring/token_bypass.c +++ /dev/null @@ -1,127 +0,0 @@ -/* Copyright (c) 2008-2010, 2012-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 -#include -#include "surf/surfxml_parse.h" -#include "simgrid/msg.h" - -int host(int argc, char *argv[]); -unsigned int task_comp_size = 50000000; -unsigned int task_comm_size = 1000000; - -int nb_hosts; /* All declared hosts */ - -XBT_LOG_NEW_DEFAULT_CATEGORY(ring, - "Messages specific for this msg example"); - -/** @addtogroup MSG_examples - * - * - token_ring/token_bypass.c: Classical token ring with a bypass deployment. - * A token is exchanged along a ring to reach every participant. - * - */ - -int host(int argc, char *argv[]) -{ - int host_number = atoi(MSG_process_get_name(MSG_process_self())); - char mailbox[256]; - msg_task_t task = NULL; - XBT_ATTRIB_UNUSED int res; - if (host_number == 0){ //master send then receive - sprintf(mailbox, "%d", host_number+1); - task = MSG_task_create("Token", task_comp_size, task_comm_size, NULL); - XBT_INFO("Host \"%d\" send '%s' to Host \"%s\"",host_number,task->name,mailbox); - MSG_task_send(task, mailbox); - task = NULL; - res = MSG_task_receive(&(task), MSG_process_get_name(MSG_process_self())); - xbt_assert(res == MSG_OK, "MSG_task_get failed"); - XBT_INFO("Host \"%d\" received \"%s\"",host_number, MSG_task_get_name(task)); - MSG_task_destroy(task); - } - else{ //slave receive then send - res = MSG_task_receive(&(task), MSG_process_get_name(MSG_process_self())); - xbt_assert(res == MSG_OK, "MSG_task_get failed"); - XBT_INFO("Host \"%d\" received \"%s\"",host_number, MSG_task_get_name(task)); - - if(host_number+1 == nb_hosts) - sprintf(mailbox, "0"); - else - sprintf(mailbox, "%d", host_number+1); - XBT_INFO("Host \"%d\" send '%s' to Host \"%s\"",host_number,task->name,mailbox); - MSG_task_send(task, mailbox); - } - return 0; -} - -static int surf_parse_bypass_platform(void) -{ - sg_platf_begin(); - s_sg_platf_AS_cbarg_t AS = SG_PLATF_AS_INITIALIZER; - AS.id = "AS0"; - AS.routing = A_surfxml_AS_routing_Full; - sg_platf_new_AS_begin(&AS); - - s_sg_platf_host_cbarg_t bob = SG_PLATF_HOST_INITIALIZER; - bob.id = "bob"; - bob.speed_peak = xbt_dynar_new(sizeof(double), NULL); - xbt_dynar_push_as(bob.speed_peak, double, 98095000.0); - sg_platf_new_host(&bob); - xbt_dynar_free(&bob.speed_peak); - - s_sg_platf_host_cbarg_t alice = SG_PLATF_HOST_INITIALIZER; - alice.id = "alice"; - alice.speed_peak = xbt_dynar_new(sizeof(double), NULL); - xbt_dynar_push_as(alice.speed_peak, double, 98095000.0); - sg_platf_new_host(&alice); - xbt_dynar_free(&alice.speed_peak); - - s_sg_platf_link_cbarg_t link = SG_PLATF_LINK_INITIALIZER; - link.id = "link1"; - link.latency = 0.000278066; - link.bandwidth = 27946250; - sg_platf_new_link(&link); - - s_sg_platf_route_cbarg_t route= SG_PLATF_ROUTE_INITIALIZER; - route.src = "bob"; - route.dst = "alice"; - sg_platf_route_begin(&route); - sg_platf_route_add_link("link1", &route); - sg_platf_route_end(&route); - - sg_platf_new_AS_end(); - sg_platf_end(); - return 0; -} - -int main(int argc, char **argv) -{ - int i; - msg_error_t res = MSG_OK; - - MSG_init(&argc, argv); - surf_parse = surf_parse_bypass_platform; - MSG_create_environment(NULL); - - MSG_function_register("host", host); - - xbt_dynar_t hosts = MSG_hosts_as_dynar(); - nb_hosts = xbt_dynar_length(hosts); - - XBT_INFO("Number of host '%d'",nb_hosts); - for(i = 0 ; i