X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6760cb07d6b57be16928d95339d71e57c4e24f36..f783ed4680c6862a1b7543237e89d1221334bae0:/src/amok/Bandwidth/bandwidth.c diff --git a/src/amok/Bandwidth/bandwidth.c b/src/amok/Bandwidth/bandwidth.c index 32e9890ec0..9364c2e111 100644 --- a/src/amok/Bandwidth/bandwidth.c +++ b/src/amok/Bandwidth/bandwidth.c @@ -81,7 +81,8 @@ void amok_bw_bw_init() gras_datadesc_struct_close(bw_res_desc); bw_res_desc = gras_datadesc_ref("bw_res_t", bw_res_desc); - gras_msgtype_declare_rpc("BW handshake", bw_request_desc, bw_request_desc); + gras_msgtype_declare_rpc("BW handshake", bw_request_desc, + bw_request_desc); gras_msgtype_declare_rpc("BW reask", bw_request_desc, NULL); gras_msgtype_declare("BW stop", NULL); @@ -153,7 +154,7 @@ void amok_bw_test(gras_socket_t peer, CATCH(e) { measMasterIn = NULL; if (port == 10000 - 1) { - RETHROW0("Error caught while opening a measurement socket: %s"); + RETHROWF("Error caught while opening a measurement socket: %s"); } else { xbt_ex_free(e); } @@ -166,17 +167,17 @@ void amok_bw_test(gras_socket_t peer, request->msg_amount = msg_amount; request->peer.name = NULL; request->peer.port = gras_socket_my_port(measMasterIn); - DEBUG6 - ("Handshaking with %s:%d to connect it back on my %d (bufsize=%ld, msg_size=%ld, msg_amount=%ld)", - gras_socket_peer_name(peer), gras_socket_peer_port(peer), - request->peer.port, request->buf_size, request->msg_size, - request->msg_amount); + XBT_DEBUG + ("Handshaking with %s:%d to connect it back on my %d (bufsize=%ld, msg_size=%ld, msg_amount=%ld)", + gras_socket_peer_name(peer), gras_socket_peer_port(peer), + request->peer.port, request->buf_size, request->msg_size, + request->msg_amount); TRY { gras_msg_rpccall(peer, 15, "BW handshake", &request, &request_ack); } - CATCH(e) { - RETHROW0("Error encountered while sending the BW request: %s"); + CATCH_ANONYMOUS { + RETHROWF("Error encountered while sending the BW request: %s"); } measIn = gras_socket_meas_accept(measMasterIn); @@ -185,13 +186,14 @@ void amok_bw_test(gras_socket_t peer, request_ack->peer.port, request->buf_size, 1); } - CATCH(e) { - RETHROW2 - ("Error encountered while opening the measurement socket to %s:%d for BW test: %s", - gras_socket_peer_name(peer), request_ack->peer.port); + CATCH_ANONYMOUS { + RETHROWF + ("Error encountered while opening the measurement socket to %s:%d for BW test: %s", + gras_socket_peer_name(peer), request_ack->peer.port); } - DEBUG2("Got ACK; conduct the experiment (msg_size = %ld, msg_amount=%ld)", - request->msg_size, request->msg_amount); + XBT_DEBUG + ("Got ACK; conduct the experiment (msg_size = %ld, msg_amount=%ld)", + request->msg_size, request->msg_amount); *sec = 0; first_pass = 1; @@ -215,21 +217,22 @@ void amok_bw_test(gras_socket_t peer, And then increase the number of messages to compensate (check for overflow there, too) */ if (request->msg_size > 64 * 1024 * 1024) { unsigned long int new_amount = - ((request->msg_size / ((double) 64 * 1024 * 1024)) - * request->msg_amount) + 1; + ((request->msg_size / ((double) 64 * 1024 * 1024)) + * request->msg_amount) + 1; - xbt_assert0(new_amount > request->msg_amount, + xbt_assert(new_amount > request->msg_amount, "Overflow on the number of messages! You must have a *really* fat pipe. Please fix your platform"); request->msg_amount = new_amount; request->msg_size = 64 * 1024 * 1024; } - VERB5 - ("The experiment was too short (%f sec<%f sec). Redo it with msg_size=%lu (nb_messages=%lu) (got %fMb/s)", - meas_duration, min_duration, request->msg_size, request->msg_amount, - ((double) request->msg_size) * ((double) request->msg_amount / - (*sec) / 1024.0 / 1024.0)); + XBT_VERB + ("The experiment was too short (%f sec<%f sec). Redo it with msg_size=%lu (nb_messages=%lu) (got %fMb/s)", + meas_duration, min_duration, request->msg_size, + request->msg_amount, + ((double) request->msg_size) * ((double) request->msg_amount / + (*sec) / 1024.0 / 1024.0)); gras_msg_rpccall(peer, 60, "BW reask", &request, NULL); } @@ -239,29 +242,31 @@ void amok_bw_test(gras_socket_t peer, TRY { gras_socket_meas_send(measOut, 120, request->msg_size, request->msg_amount); - DEBUG0("Data sent. Wait ACK"); + XBT_DEBUG("Data sent. Wait ACK"); gras_socket_meas_recv(measIn, 120, 1, 1); - } CATCH(e) { + } + CATCH_ANONYMOUS { gras_socket_close(measOut); gras_socket_close(measMasterIn); gras_socket_close(measIn); - RETHROW0("Unable to conduct the experiment: %s"); + RETHROWF("Unable to conduct the experiment: %s"); } *sec = gras_os_time() - *sec; if (*sec != 0.0) { *bw = - ((double) request->msg_size) * ((double) request->msg_amount) / - (*sec); + ((double) request->msg_size) * ((double) request->msg_amount) / + (*sec); } - DEBUG1("Experiment done ; it took %f sec", *sec); + XBT_DEBUG("Experiment done ; it took %f sec", *sec); if (*sec <= 0) { - CRITICAL1("Nonpositive value (%f) found for BW test time.", *sec); + XBT_CRITICAL("Nonpositive value (%f) found for BW test time.", *sec); } } while (*sec < min_duration); - DEBUG2("This measurement was long enough (%f sec; found %f b/s). Stop peer", - *sec, *bw); + XBT_DEBUG + ("This measurement was long enough (%f sec; found %f b/s). Stop peer", + *sec, *bw); gras_msg_send(peer, "BW stop", NULL); free(request_ack); @@ -293,10 +298,10 @@ int amok_bw_cb_bw_handshake(gras_msg_cb_ctx_t ctx, void *payload) gras_msg_cb_ctx_t ctx_reask; static xbt_dynar_t msgtwaited = NULL; - DEBUG5 - ("Handshaked to connect to %s:%d (sizes: buf=%lu msg=%lu msg_amount=%lu)", - gras_socket_peer_name(expeditor), request->peer.port, request->buf_size, - request->msg_size, request->msg_amount); + XBT_DEBUG + ("Handshaked to connect to %s:%d (sizes: buf=%lu msg=%lu msg_amount=%lu)", + gras_socket_peer_name(expeditor), request->peer.port, + request->buf_size, request->msg_size, request->msg_amount); /* Build our answer */ answer = xbt_new0(s_bw_request_t, 1); @@ -311,8 +316,8 @@ int amok_bw_cb_bw_handshake(gras_msg_cb_ctx_t ctx, void *payload) xbt_ex_free(e); else /* FIXME: tell error to remote */ - RETHROW0 - ("Error encountered while opening a measurement server socket: %s"); + RETHROWF + ("Error encountered while opening a measurement server socket: %s"); } } @@ -324,10 +329,10 @@ int amok_bw_cb_bw_handshake(gras_msg_cb_ctx_t ctx, void *payload) TRY { gras_msg_rpcreturn(60, ctx, &answer); } - CATCH(e) { + CATCH_ANONYMOUS { gras_socket_close(measMasterIn); /* FIXME: tell error to remote */ - RETHROW0("Error encountered while sending the answer: %s"); + RETHROWF("Error encountered while sending the answer: %s"); } @@ -337,26 +342,26 @@ int amok_bw_cb_bw_handshake(gras_msg_cb_ctx_t ctx, void *payload) request->peer.port, request->buf_size, 1); } - CATCH(e) { - RETHROW2 - ("Error encountered while opening a measurement socket back to %s:%d : %s", - gras_socket_peer_name(expeditor), request->peer.port); + CATCH_ANONYMOUS { + RETHROWF + ("Error encountered while opening a measurement socket back to %s:%d : %s", + gras_socket_peer_name(expeditor), request->peer.port); /* FIXME: tell error to remote */ } TRY { measIn = gras_socket_meas_accept(measMasterIn); - DEBUG4 - ("BW handshake answered. buf_size=%lu msg_size=%lu msg_amount=%lu port=%d", - answer->buf_size, answer->msg_size, answer->msg_amount, - answer->peer.port); + XBT_DEBUG + ("BW handshake answered. buf_size=%lu msg_size=%lu msg_amount=%lu port=%d", + answer->buf_size, answer->msg_size, answer->msg_amount, + answer->peer.port); } - CATCH(e) { + CATCH_ANONYMOUS { gras_socket_close(measMasterIn); gras_socket_close(measIn); gras_socket_close(measOut); /* FIXME: tell error to remote ? */ - RETHROW0("Error encountered while opening the meas socket: %s"); + RETHROWF("Error encountered while opening the meas socket: %s"); } if (!msgtwaited) { @@ -372,12 +377,13 @@ int amok_bw_cb_bw_handshake(gras_msg_cb_ctx_t ctx, void *payload) gras_socket_meas_recv(measIn, 120, request->msg_size, request->msg_amount); gras_socket_meas_send(measOut, 120, 1, 1); - } CATCH(e) { + } + CATCH_ANONYMOUS { gras_socket_close(measMasterIn); gras_socket_close(measIn); gras_socket_close(measOut); /* FIXME: tell error to remote ? */ - RETHROW0("Error encountered while receiving the experiment: %s"); + RETHROWF("Error encountered while receiving the experiment: %s"); } gras_msg_wait_or(60, msgtwaited, &ctx_reask, &msggot, &payload); switch (msggot) { @@ -388,7 +394,7 @@ int amok_bw_cb_bw_handshake(gras_msg_cb_ctx_t ctx, void *payload) tooshort = 1; free(request); request = (bw_request_t) payload; - VERB0("Return the reasking RPC"); + XBT_VERB("Return the reasking RPC"); gras_msg_rpcreturn(60, ctx_reask, NULL); } gras_msg_cb_ctx_free(ctx_reask); @@ -400,7 +406,7 @@ int amok_bw_cb_bw_handshake(gras_msg_cb_ctx_t ctx, void *payload) gras_socket_close(measOut); free(answer); free(request); - VERB0("BW experiment done."); + XBT_VERB("BW experiment done."); return 0; } @@ -456,7 +462,7 @@ void amok_bw_request(const char *from_name, unsigned int from_port, - DEBUG4("Ask for a BW test between %s:%d and %s:%d", from_name, from_port, + XBT_DEBUG("Ask for a BW test between %s:%d and %s:%d", from_name, from_port, to_name, to_port); gras_msg_rpccall(sock, 20 * 60, "BW request", &request, &result); @@ -465,7 +471,7 @@ void amok_bw_request(const char *from_name, unsigned int from_port, if (bw) *bw = result->bw; - VERB6("BW test (%s:%d -> %s:%d) took %f sec (%f kb/s)", + XBT_VERB("BW test (%s:%d -> %s:%d) took %f sec (%f kb/s)", from_name, from_port, to_name, to_port, result->sec, ((double) result->bw) / 1024.0); @@ -483,7 +489,7 @@ int amok_bw_cb_bw_request(gras_msg_cb_ctx_t ctx, void *payload) gras_socket_t peer, asker; asker = gras_msg_cb_ctx_from(ctx); - VERB6("Asked by %s:%d to conduct a bw XP with %s:%d (request: %ld %ld)", + XBT_VERB("Asked by %s:%d to conduct a bw XP with %s:%d (request: %ld %ld)", gras_socket_peer_name(asker), gras_socket_peer_port(asker), request->peer.name, request->peer.port, request->msg_size, request->msg_amount); @@ -529,8 +535,8 @@ double *amok_bw_matrix(xbt_dynar_t peers, if (i != j) { /* Mesurements of Bandwidth */ amok_bw_request(p1->name, p1->port, p2->name, p2->port, - buf_size_bw, msg_size_bw, msg_amount_bw, min_duration, - &sec, &matrix_res[i * len + j]); + buf_size_bw, msg_size_bw, msg_amount_bw, + min_duration, &sec, &matrix_res[i * len + j]); } } }