From 2d830be0a1bae5f138f8458a2d931fcaba8ae9ee Mon Sep 17 00:00:00 2001 From: velho Date: Wed, 25 Jul 2007 15:23:42 +0000 Subject: [PATCH] Added the GTNetS feature to examples/msg directory. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@3891 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- examples/msg/Makefile.am | 25 +- examples/msg/gtnets/dogbone-d.xml | 18 + examples/msg/gtnets/dogbone-p.xml | 67 + examples/msg/gtnets/gtnets.c | 136 ++ examples/msg/gtnets/onelink-d.xml | 12 + examples/msg/gtnets/onelink-p.xml | 19 + examples/msg/gtnets/r-n200-f50-s4-2-d.xml | 254 +++ examples/msg/gtnets/r-n200-f50-s4-2-p.xml | 1872 +++++++++++++++++++++ 8 files changed, 2402 insertions(+), 1 deletion(-) create mode 100644 examples/msg/gtnets/dogbone-d.xml create mode 100644 examples/msg/gtnets/dogbone-p.xml create mode 100644 examples/msg/gtnets/gtnets.c create mode 100644 examples/msg/gtnets/onelink-d.xml create mode 100644 examples/msg/gtnets/onelink-p.xml create mode 100644 examples/msg/gtnets/r-n200-f50-s4-2-d.xml create mode 100644 examples/msg/gtnets/r-n200-f50-s4-2-p.xml diff --git a/examples/msg/Makefile.am b/examples/msg/Makefile.am index 115117f9c8..7c3e4c6746 100644 --- a/examples/msg/Makefile.am +++ b/examples/msg/Makefile.am @@ -11,6 +11,10 @@ TESTS = sendrecv/sendrecv_KCCFLN05.tesh if HAVE_SDP TESTS += sendrecv/sendrecv_KCCFLN05_proportional.tesh endif +if USE_GTNETS +endif + + TESTS+= sendrecv/sendrecv_KCCFLN05_Vegas.tesh \ sendrecv/sendrecv_KCCFLN05_Reno.tesh \ suspend/suspend.tesh \ @@ -24,15 +28,28 @@ CLEANFILES = sendrecv/*~ \ suspend/suspend \ masterslave/*~ \ masterslave/masterslave \ - masterslave/masterslave_forwarder + masterslave/masterslave_forwarder #masterslave/masterslave_bypass +if USE_GTNETS + CLEANFILES += gtnets/gtnets +endif + + + + bin_PROGRAMS = sendrecv/sendrecv \ suspend/suspend \ masterslave/masterslave \ masterslave/masterslave_forwarder #masterslave/masterslave_bypass +if USE_GTNETS + bin_PROGRAMS += gtnets/gtnets +endif + + + # sendrecv simple example sendrecv_sendrecv_SOURCES = sendrecv/sendrecv.c sendrecv_sendrecv_LDADD = $(top_builddir)/src/libsimgrid.la @@ -53,4 +70,10 @@ masterslave_masterslave_forwarder_LDADD = $(top_builddir)/src/libsimgrid.la #masterslave_masterslave_bypass_SOURCES = masterslave/masterslave_bypass.c #masterslave_masterslave_bypass_LDADD = $(top_builddir)/src/libsimgrid.la +# verify if the GTNETS feature is working +if USE_GTNETS +gtnets_gtnets_SOURCES = gtnets/gtnets.c +gtnets_gtnets_LDADD = $(top_builddir)/src/libsimgrid.la +endif + include $(top_srcdir)/acmacro/dist-files.mk diff --git a/examples/msg/gtnets/dogbone-d.xml b/examples/msg/gtnets/dogbone-d.xml new file mode 100644 index 0000000000..5dca2333cb --- /dev/null +++ b/examples/msg/gtnets/dogbone-d.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/examples/msg/gtnets/dogbone-p.xml b/examples/msg/gtnets/dogbone-p.xml new file mode 100644 index 0000000000..3b0f7ca4a1 --- /dev/null +++ b/examples/msg/gtnets/dogbone-p.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/msg/gtnets/gtnets.c b/examples/msg/gtnets/gtnets.c new file mode 100644 index 0000000000..dc4f838d0d --- /dev/null +++ b/examples/msg/gtnets/gtnets.c @@ -0,0 +1,136 @@ + + + +#include +#include +#include "msg/msg.h" +/* Create a log channel to have nice outputs. */ +#include "xbt/log.h" +#include "xbt/asserts.h" + +XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,"Messages specific for this msg example"); + +int master(int argc, char *argv[]); +int slave(int argc, char *argv[]); +MSG_error_t test_all(const char *platform_file, const char *application_file); + +typedef enum { + PORT_22 = 0, + MAX_CHANNEL +} channel_t; + +#define FINALIZE ((void*)221297) /* a magic number to tell people to stop working */ + +/** master */ +int master(int argc, char *argv[]) +{ + char *slavename = NULL; + double task_comm_size = 0; + m_task_t todo; + m_host_t slave; + + /* data size */ + xbt_assert1(sscanf(argv[1],"%lg", &task_comm_size), + "Invalid argument %s\n", argv[1]); + + /* slave name */ + slavename = argv[2]; + + { /* Task creation. */ + char sprintf_buffer[64] = "Task_0"; + todo = MSG_task_create(sprintf_buffer, 0, task_comm_size, NULL); + } + + { /* Process organisation */ + slave = MSG_get_host_by_name(slavename); + } + + /* time measurement */ + double start_time = MSG_get_clock(); + MSG_task_put(todo, slave, PORT_22); + double end_time = MSG_get_clock(); + INFO2("Send completed (to %s). Transfer time: %f\n", + slave->name, (end_time - start_time)); + printf("Completed peer: %s time: %f\n", slave->name, (end_time-start_time)); + MSG_task_put(MSG_task_create("finalize", 0, 0, FINALIZE), + slave, PORT_22); + + return 0; +} /* end_of_master */ + +/** Receiver function */ +int slave(int argc, char *argv[]) +{ + while(1) { + m_task_t task = NULL; + int a; + a = MSG_task_get(&(task), PORT_22); + if (a == MSG_OK) { + if(MSG_task_get_data(task)==FINALIZE) { + MSG_task_destroy(task); + break; + } + MSG_task_destroy(task); + } else { + INFO0("Hey?! What's up?"); + xbt_assert0(0,"Unexpected behavior."); + } + } + return 0; +} /* end_of_slave */ + +/** Test function */ +MSG_error_t test_all(const char *platform_file, + const char *application_file) +{ + MSG_error_t res = MSG_OK; + +/* MSG_config("workstation_model", "GTNETS"); */ + /* MSG_config("workstation_model","KCCFLN05"); */ + { /* Simulation setting */ + MSG_set_channel_number(MAX_CHANNEL); + MSG_paje_output("msg_test.trace"); + MSG_create_environment(platform_file); + } + { /* Application deployment */ + MSG_function_register("master", master); + MSG_function_register("slave", slave); + MSG_launch_application(application_file); + } + res = MSG_main(); + return res; +} /* end_of_test_all */ + + +/** Main function */ +int main(int argc, char *argv[]) +{ + MSG_error_t res = MSG_OK; + + MSG_global_init(&argc,argv); + if (argc < 3) { + printf ("Usage: %s platform_file deployment_file\n",argv[0]); + exit(1); + } + res = test_all(argv[1],argv[2]); + + MSG_clean(); + + if(res==MSG_OK) return 0; + else return 1; +} /* end_of_main */ + + + + + + + + + + + + + + + diff --git a/examples/msg/gtnets/onelink-d.xml b/examples/msg/gtnets/onelink-d.xml new file mode 100644 index 0000000000..2706fd093a --- /dev/null +++ b/examples/msg/gtnets/onelink-d.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/examples/msg/gtnets/onelink-p.xml b/examples/msg/gtnets/onelink-p.xml new file mode 100644 index 0000000000..25af02e648 --- /dev/null +++ b/examples/msg/gtnets/onelink-p.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + diff --git a/examples/msg/gtnets/r-n200-f50-s4-2-d.xml b/examples/msg/gtnets/r-n200-f50-s4-2-d.xml new file mode 100644 index 0000000000..5623a09449 --- /dev/null +++ b/examples/msg/gtnets/r-n200-f50-s4-2-d.xml @@ -0,0 +1,254 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/msg/gtnets/r-n200-f50-s4-2-p.xml b/examples/msg/gtnets/r-n200-f50-s4-2-p.xml new file mode 100644 index 0000000000..4f58087d06 --- /dev/null +++ b/examples/msg/gtnets/r-n200-f50-s4-2-p.xml @@ -0,0 +1,1872 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- 2.20.1