Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add some tools to evaluate performances.
authorNavarrop <Pierre.Navarro@imag.fr>
Tue, 12 Jul 2011 12:18:04 +0000 (14:18 +0200)
committerNavarrop <Pierre.Navarro@imag.fr>
Tue, 12 Jul 2011 12:18:04 +0000 (14:18 +0200)
teshsuite/simdag/platforms/CMakeLists.txt
teshsuite/simdag/platforms/Evaluate_get_route_time.c [new file with mode: 0644]
teshsuite/simdag/platforms/Evaluate_parse_time.c [new file with mode: 0644]

index 4e960d0..5c1d5d4 100644 (file)
@@ -5,13 +5,19 @@ set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
 add_executable(basic_parsing_test basic_parsing_test.c)
 add_executable(is_router_test is_router_test.c)
 add_executable(flatifier flatifier.c)
+add_executable(evaluate_parse_time Evaluate_parse_time.c)
+add_executable(evaluate_get_route_time Evaluate_get_route_time.c)
 
 ### Add definitions for compile
 if(NOT WIN32)
-target_link_libraries(basic_parsing_test simgrid m pthread )
-target_link_libraries(is_router_test simgrid m pthread )
-target_link_libraries(flatifier simgrid m pthread )
+target_link_libraries(evaluate_get_route_time simgrid m)
+target_link_libraries(evaluate_parse_time simgrid m)
+target_link_libraries(basic_parsing_test simgrid m)
+target_link_libraries(is_router_test simgrid m)
+target_link_libraries(flatifier simgrid m)
 else(NOT WIN32)
+target_link_libraries(evaluate_get_route_time simgrid)
+target_link_libraries(evaluate_parse_time simgrid)
 target_link_libraries(basic_parsing_test simgrid)
 target_link_libraries(is_router_test simgrid)
 target_link_libraries(flatifier simgrid)
diff --git a/teshsuite/simdag/platforms/Evaluate_get_route_time.c b/teshsuite/simdag/platforms/Evaluate_get_route_time.c
new file mode 100644 (file)
index 0000000..828b4ca
--- /dev/null
@@ -0,0 +1,73 @@
+/* Copyright (c) 2008, 2009, 2010. 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. */
+
+//for i in $(seq 1 100); do teshsuite/simdag/platforms/evaluate_get_route_time ../examples/platforms/One_cluster.xml 1 2> /tmp/null ; done
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "simdag/simdag.h"
+#include "surf/surf_private.h"
+#include <time.h>
+
+#define BILLION  1000000000L;
+extern routing_global_t global_routing;
+
+int main(int argc, char **argv)
+{
+       SD_workstation_t w1, w2;
+       const SD_workstation_t *workstations;
+       int i, j;
+       int list_size;
+       struct timespec start, stop;
+       double accum;
+
+       /* initialisation of SD */
+       SD_init(&argc, argv);
+
+       /* creation of the environment */
+       SD_create_environment(argv[1]);
+
+       workstations = SD_workstation_get_list();
+       list_size = SD_workstation_get_number();
+
+       unsigned int seed;
+       struct timespec time;
+       clock_gettime( CLOCK_REALTIME, &time);
+       seed = time.tv_nsec;
+
+       srand(seed);
+
+       do{
+               i = rand()%list_size;
+               j = rand()%list_size;
+       }while(i==j);
+
+       w1 = workstations[i];
+       w2 = workstations[j];
+       printf("%d\tand\t%d\t\t",i,j);
+
+       if( clock_gettime( CLOCK_REALTIME, &start) == -1 ) {
+       perror( "clock gettime" );
+       return EXIT_FAILURE;
+       }
+
+       SD_route_get_list(w1, w2);
+
+       if( clock_gettime( CLOCK_REALTIME, &stop) == -1 ) {
+       perror( "clock gettime" );
+       return EXIT_FAILURE;
+       }
+
+       accum = ( stop.tv_sec - start.tv_sec )
+          + (double)( stop.tv_nsec - start.tv_nsec )
+                / (double)BILLION;
+       printf("%lf\n", accum);
+
+       SD_exit();
+
+       return 0;
+}
diff --git a/teshsuite/simdag/platforms/Evaluate_parse_time.c b/teshsuite/simdag/platforms/Evaluate_parse_time.c
new file mode 100644 (file)
index 0000000..11ffd3d
--- /dev/null
@@ -0,0 +1,50 @@
+/* Copyright (c) 2008, 2009, 2010. 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. */
+
+//teshsuite/simdag/platforms/evaluate_parse_time ../examples/platforms/nancy.xml
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "simdag/simdag.h"
+#include "surf/surf_private.h"
+#include <time.h>
+
+#define BILLION  1000000000L;
+extern routing_global_t global_routing;
+
+int main(int argc, char **argv)
+{
+       struct timespec start, stop;
+       double accum;
+
+       /* initialisation of SD */
+       SD_init(&argc, argv);
+
+       if( clock_gettime( CLOCK_REALTIME, &start) == -1 ) {
+       perror( "clock gettime" );
+       return EXIT_FAILURE;
+       }
+
+       /* creation of the environment */
+       SD_create_environment(argv[1]);
+
+       if( clock_gettime( CLOCK_REALTIME, &stop) == -1 ) {
+       perror( "clock gettime" );
+       return EXIT_FAILURE;
+       }
+
+       accum = ( stop.tv_sec - start.tv_sec )
+                  + (double)( stop.tv_nsec - start.tv_nsec )
+                        / (double)BILLION;
+
+       printf( "%lf\n", accum );
+
+       sleep(20);
+
+       SD_exit();
+
+       return 0;
+}