From 7233630d9041b7389f709734b27ca352170ca845 Mon Sep 17 00:00:00 2001 From: phung4 <phung4@unknown> Date: Thu, 21 Oct 2004 21:04:41 +0000 Subject: [PATCH] fixed bug with no side affect of allocations --- src/partition_allocator/Makefile.am | 27 ++++++------ src/partition_allocator/graph_solver.c | 7 ++-- src/partition_allocator/partition_allocator.c | 42 +++++++++++++++---- src/partition_allocator/runme | 4 +- 4 files changed, 53 insertions(+), 27 deletions(-) diff --git a/src/partition_allocator/Makefile.am b/src/partition_allocator/Makefile.am index da8beee9742..901c9c44860 100644 --- a/src/partition_allocator/Makefile.am +++ b/src/partition_allocator/Makefile.am @@ -5,6 +5,7 @@ AUTOMAKE_OPTIONS = foreign INCLUDES = -I$(top_srcdir) +# to build the executable bin_PROGRAMS = partition_allocator partition_allocator_SOURCES = partition_allocator.c partition_allocator.h \ @@ -16,24 +17,22 @@ partition_allocator_LDADD = \ partition_allocator_LDFLAGS = -export-dynamic -lm $(CMD_LDFLAGS) +# making a .la +# lib_LTLIBRARIES = libpartition_allocator.la +# libpartition_allocator_la_SOURCES = \ +# partition_allocator.c partition_allocator.h\ +# graph_solver.c graph_solver.h\ +# graph_structs.c graph_structs.h -#making a .la -lib_LTLIBRARIES = libpartition_allocator.la +# libpartition_allocator_la_LIBADD = $(top_builddir)/src/common/libcommon.la -lpthread -libpartition_allocator_la_SOURCES = \ - partition_allocator.c partition_allocator.h\ - graph_solver.c graph_solver.h\ - graph_structs.c graph_structs.h +# libpartition_allocator_la_LDFLAGS = \ +# $(LIB_LDFLAGS) -lm -libpartition_allocator_la_LIBADD = $(top_builddir)/src/common/libcommon.la -lpthread +# libpartition_allocator_la_DEPENDENCIES = \ +# $(top_builddir)/src/common/libcommon.la -libpartition_allocator_la_LDFLAGS = \ - $(LIB_LDFLAGS) -lm - -libpartition_allocator_la_DEPENDENCIES = \ - $(top_builddir)/src/common/libcommon.la - -##### +#### #force: #$(convenience_libs) : force diff --git a/src/partition_allocator/graph_solver.c b/src/partition_allocator/graph_solver.c index 1b7aa689d0c..ad69266d38e 100644 --- a/src/partition_allocator/graph_solver.c +++ b/src/partition_allocator/graph_solver.c @@ -375,7 +375,8 @@ int find_all_tori(List conf_result_list) printf("ALL DONE\n"); */ - _print_results(conf_result_list); + // 999 + // _print_results(conf_result_list); return SUCCESS; } @@ -632,9 +633,7 @@ void _insert_results(List conf_result_list, List result_partitions, List current } list_iterator_destroy(itr); - // if ((has_large_part && found_torus && p1_all_toroidal) || part_size == list_count(global_sys->node_list)){ - if ((has_large_part && p1_all_toroidal) || part_size == list_count(global_sys->node_list)){ - // if (has_large_part && found_torus && p1_all_toroidal){ + if (has_large_part && found_torus && p1_all_toroidal){ conf_data_t* conf_data; conf_result_t* conf_result; port_conf_t* port_conf, *port_conf_copy; diff --git a/src/partition_allocator/partition_allocator.c b/src/partition_allocator/partition_allocator.c index 45da6b87438..321f89d1725 100644 --- a/src/partition_allocator/partition_allocator.c +++ b/src/partition_allocator/partition_allocator.c @@ -43,7 +43,6 @@ int DIM_SIZE[PA_SYSTEM_DIMENSIONS] = {8,4,4}; List* _conf_result_list; bool _initialized = false; - /** some internal structures used in the partition allocator alone * * the partition virtual system is a linked list where each node has a @@ -1219,7 +1218,6 @@ void pa_init() { int i; List switch_config_list; - #ifdef DEBUG_PA printf("pa_init()\n"); @@ -1239,13 +1237,17 @@ void pa_init() } /* see if we can load in the filenames from the env */ - filenames[X] = "Y_dim_torus.conf"; + filenames[X] = "X_alt_dim_torus.conf"; filenames[Y] = "Y_dim_torus.conf"; filenames[Z] = "Z_dim_torus.conf"; /* create the X configuration (8 nodes) */ if (filenames[X]){ + time_t start, end; + time(&start); _load_part_config(filenames[X], _conf_result_list[X]); + time(&end); + error("loading file time: %ld\n", (end-start)); } else { switch_config_list = list_create(delete_gen); create_config_8_1d(switch_config_list); @@ -1335,7 +1337,8 @@ void set_node_down(int c[PA_SYSTEM_DIMENSIONS]) #endif /* first we make a copy of the current system */ - _backup_pa_system(); + // 999 + //_backup_pa_system(); /* basically set the node as NULL */ _delete_pa_node(&(_pa_system[c[0]][c[1]][c[2]])); @@ -1367,7 +1370,8 @@ int allocate_part(pa_request_t* pa_request, List* results) print_pa_request(pa_request); #endif - _backup_pa_system(); + // 999 + // _backup_pa_system(); _find_first_match(pa_request, results); return 1; } @@ -1401,6 +1405,7 @@ int main(int argc, char** argv) bool force_contig = true; List results; pa_request_t* request; + time_t start, end; if (argc == 4){ int i; @@ -1422,7 +1427,11 @@ int main(int argc, char** argv) exit(0); } + + time(&start); pa_init(); + time(&end); + error("init: %ld\n", (end-start)); /* int dead_node1[3] = {0,0,0}; int dead_node2[3] = {1,0,0}; @@ -1431,17 +1440,36 @@ int main(int argc, char** argv) printf("done setting node down\n"); */ + + time(&start); if (allocate_part(request, &results)){ + ListIterator itr; + pa_node_t* result; printf("allocation succeeded\n"); + itr = list_iterator_create(results); + printf("results: \n"); + while((result = (pa_node_t*) list_next(itr))){ + printf("%d%d%d ", + result->coord[0], + result->coord[1], + result->coord[2]); + } + printf("\n"); // _print_results(results); list_destroy(results); } else { printf("request failed\n"); } + time(&end); + error("allocate: %ld\n", (end-start)); - delete_pa_request(request); - + time(&start); pa_fini(); + time(&end); + error("fini: %ld\n", (end-start)); + + + return 0; } diff --git a/src/partition_allocator/runme b/src/partition_allocator/runme index 93a9994ab5b..9bc1138f359 100755 --- a/src/partition_allocator/runme +++ b/src/partition_allocator/runme @@ -1,6 +1,6 @@ #!/bin/bash -export X_DIM_CONF=Y_dim_torus.conf +export X_DIM_CONF=X_dim_torus.conf export Y_DIM_CONF=Y_dim_torus.conf export Z_DIM_CONF=Z_dim_torus.conf -./partition_allocator +./partition_allocator 2 2 2 -- GitLab