#include "amok/bandwidth.h"
#include "amok/hostmanagement.h"
-XBT_LOG_NEW_DEFAULT_CATEGORY(saturate,"Messages specific to this example");
+XBT_LOG_NEW_DEFAULT_CATEGORY(saturate,
+ "Messages specific to this example");
-static void env_hosttohost_bw(int argc, char*argv[]) {
+static void env_hosttohost_bw(int argc, char *argv[])
+{
/* where are the sensors */
- xbt_dynar_t hosts = xbt_dynar_new(sizeof(xbt_host_t),&free_host);
+ xbt_dynar_t hosts = xbt_dynar_new(sizeof(xbt_host_t), &free_host);
int nb_hosts;
/* results */
int i;
xbt_host_t h1;
- gras_socket_t peer; /* socket to sensor */
+ xbt_socket_t peer; /* socket to sensor */
- /* wait to ensure that all server sockets are there before starting the experiment */
+ /* wait to ensure that all server sockets are there before starting the experiment */
gras_os_sleep(0.5);
/* Get the sensor location from argc/argv */
- for (i=1; i<argc-1; i+=2){
- xbt_host_t host=xbt_new(s_xbt_host_t,1);
- host->name=strdup(argv[i]);
- host->port=atoi(argv[i+1]);
- INFO2("New sensor: %s:%d",host->name,host->port);
- xbt_dynar_push(hosts,&host);
+ for (i = 1; i < argc - 1; i += 2) {
+ xbt_host_t host = xbt_new(s_xbt_host_t, 1);
+ host->name = strdup(argv[i]);
+ host->port = atoi(argv[i + 1]);
+ XBT_INFO("New sensor: %s:%d", host->name, host->port);
+ xbt_dynar_push(hosts, &host);
}
nb_hosts = xbt_dynar_length(hosts);
- INFO0(">>> start Test1: ENV end to end mesurements");
+ XBT_INFO(">>> start Test1: ENV end to end mesurements");
- xbt_dynar_foreach(hosts,i,h1) {
- peer = gras_socket_client(h1->name,h1->port);
- amok_bw_test(peer,buf_size,exp_size,msg_size,min_duration,&sec,&bw);
- INFO6("Bandwidth between me and %s:%d (%d bytes in msgs of %d bytes) took %f sec, achieving %.3f kb/s",
- h1->name,h1->port,
- exp_size,msg_size,
- sec,((double)bw)/1024.0);
+ xbt_dynar_foreach(hosts, i, h1) {
+ peer = gras_socket_client(h1->name, h1->port);
+ amok_bw_test(peer, buf_size, exp_size, msg_size, min_duration, &sec,
+ &bw);
+ XBT_INFO
+ ("Bandwidth between me and %s:%d (%d bytes in msgs of %d bytes) took %f sec, achieving %.3f kb/s",
+ h1->name, h1->port, exp_size, msg_size, sec,
+ ((double) bw) / 1024.0);
}
- xbt_dynar_map(hosts,kill_buddy_dynar);
+ xbt_dynar_map(hosts, kill_buddy_dynar);
xbt_dynar_free(&hosts);
}
-/********************************************************************************************/
-static void env_Pairwisehost_bw(int argc, char*argv[]) {
- xbt_ex_t e;
+/********************************************************************************************/
+static void env_Pairwisehost_bw(int argc, char *argv[])
+{
/* where are the sensors */
- xbt_dynar_t hosts = xbt_dynar_new(sizeof(xbt_host_t),&free_host);
+ xbt_dynar_t hosts = xbt_dynar_new(sizeof(xbt_host_t), &free_host);
int nb_hosts;
/* getting the name of maestro for the saturation and the concurrent bandwidth measurements */
- char* host_test=argv[0];
+ char *host_test = argv[0];
/* results */
double sec, bw;
/* iterators */
- int i,j;
- xbt_host_t h1,h2;
+ int i, j;
+ xbt_host_t h1, h2;
/* socket to sensor */
- gras_socket_t peer;
+ xbt_socket_t peer;
- /* wait to ensure that all server sockets are there before starting the experiment */
+ /* wait to ensure that all server sockets are there before starting the experiment */
gras_os_sleep(0.5);
- INFO1(">>>>>< le maestro est: %s ",argv[0]);
+ XBT_INFO(">>>>>< le maestro est: %s ", argv[0]);
/* Get the sensor location from argc/argv */
- for (i=1; i<argc-1; i+=2){
- xbt_host_t host=xbt_new(s_xbt_host_t,1);
- host->name=strdup(argv[i]);
- host->port=atoi(argv[i+1]);
- INFO2("New sensor: %s:%d",host->name,host->port);
- xbt_dynar_push(hosts,&host);
+ for (i = 1; i < argc - 1; i += 2) {
+ xbt_host_t host = xbt_new(s_xbt_host_t, 1);
+ host->name = strdup(argv[i]);
+ host->port = atoi(argv[i + 1]);
+ XBT_INFO("New sensor: %s:%d", host->name, host->port);
+ xbt_dynar_push(hosts, &host);
}
nb_hosts = xbt_dynar_length(hosts);
- INFO0(">>> start Test2: ENV pairwise host bandwidth mesurements");
- xbt_dynar_foreach(hosts,i,h1) {
-
- TRY {
- amok_bw_saturate_start(h1->name,h1->port,
- host_test,h1->port,//"Ginette"
- msg_size,120); // sturation of the link with msg_size to compute a concurent bandwidth MA //MB
- } CATCH(e) {
- RETHROW0("Cannot ask hosts to saturate the link: %s");
- }
- // gras_os_sleep(1.0);
-
- xbt_dynar_foreach(hosts,j,h2) {
- if (i==j) continue;
-
- peer = gras_socket_client(h2->name,h2->port);
- amok_bw_test(peer,buf_size,exp_size,msg_size,min_duration,&sec,&bw);
- INFO6("Bandwidth between me and %s // measurement between me and %s (%d bytes in msgs of %d bytes) took %f sec, achieving %.3f kb/s",
- h2->name,h1->name,
- exp_size,msg_size,
- sec,((double)bw)/1024.0);
-
+ XBT_INFO(">>> start Test2: ENV pairwise host bandwidth mesurements");
+ xbt_dynar_foreach(hosts, i, h1) {
+
+ TRY {
+ amok_bw_saturate_start(h1->name, h1->port, host_test, h1->port, //"Ginette"
+ msg_size, 120); // sturation of the link with msg_size to compute a concurent bandwidth MA //MB
+ }
+ CATCH_ANONYMOUS {
+ RETHROWF("Cannot ask hosts to saturate the link: %s");
+ }
+ // gras_os_sleep(1.0);
+
+ xbt_dynar_foreach(hosts, j, h2) {
+ if (i == j)
+ continue;
+
+ peer = gras_socket_client(h2->name, h2->port);
+ amok_bw_test(peer, buf_size, exp_size, msg_size, min_duration, &sec,
+ &bw);
+ XBT_INFO
+ ("Bandwidth between me and %s // measurement between me and %s (%d bytes in msgs of %d bytes) took %f sec, achieving %.3f kb/s",
+ h2->name, h1->name, exp_size, msg_size, sec,
+ ((double) bw) / 1024.0);
+
+ }
+ amok_bw_saturate_stop(h1->name, h1->port, NULL, NULL);
}
- amok_bw_saturate_stop(h1->name,h1->port,NULL,NULL);
-}
- xbt_dynar_map(hosts,kill_buddy_dynar);
+ xbt_dynar_map(hosts, kill_buddy_dynar);
xbt_dynar_free(&hosts);
}
-int maestro(int argc,char *argv[]) {
+int maestro(int argc, char *argv[])
+{
- gras_init(&argc,argv);
+ gras_init(&argc, argv);
amok_bw_init();
amok_hm_init();
- gras_socket_server(3333); /* only so that messages from the transport layer in gras identify us */
+ gras_socket_server(3333); /* only so that messages from the transport layer in gras identify us */
//env_Pairwisehost_bw(argc,argv);
//env_hosttohost_bw(argc,argv);