Changeset 4075
- Timestamp:
- 03/14/09 22:35:41 (12 months ago)
- Location:
- mpich2/trunk/src/pm/hydra
- Files:
-
- 13 added
- 6 removed
- 14 modified
-
bootstrap/Makefile.sm (modified) (1 diff)
-
bootstrap/fork/Makefile.sm (modified) (1 diff)
-
bootstrap/fork/fork.h (added)
-
bootstrap/fork/fork_finalize.c (deleted)
-
bootstrap/fork/fork_init.c (added)
-
bootstrap/fork/fork_launch.c (modified) (1 diff)
-
bootstrap/fork/fork_usize.c (deleted)
-
bootstrap/fork/fork_wait.c (deleted)
-
bootstrap/include/bsci.h (modified) (1 diff)
-
bootstrap/src (added)
-
bootstrap/src/Makefile.sm (added)
-
bootstrap/src/bsci_finalize.c (added)
-
bootstrap/src/bsci_init.c (added)
-
bootstrap/src/bsci_launch.c (added)
-
bootstrap/src/bsci_usize.c (added)
-
bootstrap/src/bsci_wait.c (added)
-
bootstrap/ssh/Makefile.sm (modified) (1 diff)
-
bootstrap/ssh/ssh.h (added)
-
bootstrap/ssh/ssh_finalize.c (deleted)
-
bootstrap/ssh/ssh_init.c (added)
-
bootstrap/ssh/ssh_launch.c (modified) (1 diff)
-
bootstrap/ssh/ssh_usize.c (deleted)
-
bootstrap/ssh/ssh_wait.c (deleted)
-
bootstrap/utils/Makefile.sm (modified) (1 diff)
-
bootstrap/utils/bscu.h (modified) (1 diff)
-
bootstrap/utils/bscu_finalize.c (added)
-
bootstrap/utils/bscu_usize.c (added)
-
bootstrap/utils/bscu_wait.c (modified) (2 diffs)
-
configure.in (modified) (3 diffs)
-
launcher/mpiexec/utils.c (modified) (2 diffs)
-
pm/central/central_finalize.c (modified) (1 diff)
-
pm/central/central_launch.c (modified) (2 diffs)
-
pm/utils/pmi.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
mpich2/trunk/src/pm/hydra/bootstrap/Makefile.sm
r4052 r4075 6 6 7 7 SUBDIRS_hydra_bss_names = ssh fork 8 SUBDIRS = utils @hydra_bss_names@ .8 SUBDIRS = utils src @hydra_bss_names@ . -
mpich2/trunk/src/pm/hydra/bootstrap/fork/Makefile.sm
r4024 r4075 8 8 9 9 libhydra_a_DIR = ${HYDRA_LIB_PATH} 10 libhydra_a_SOURCES = fork_ launch.c fork_wait.c fork_finalize.c fork_usize.c10 libhydra_a_SOURCES = fork_init.c fork_launch.c 11 11 INCLUDES = -I${abs_srcdir}/../../include \ 12 12 -I${abs_srcdir}/../../../../include \ -
mpich2/trunk/src/pm/hydra/bootstrap/fork/fork_launch.c
r4024 r4075 12 12 HYD_Handle handle; 13 13 14 HYD_Status HYD_BSC I_Launch_procs(void)14 HYD_Status HYD_BSCD_fork_launch_procs(void) 15 15 { 16 16 struct HYD_Proc_params *proc_params; -
mpich2/trunk/src/pm/hydra/bootstrap/include/bsci.h
r4019 r4075 10 10 #include "hydra.h" 11 11 12 HYD_Status HYD_BSCI_Launch_procs(void); 13 HYD_Status HYD_BSCI_Get_universe_size(int *size); 14 HYD_Status HYD_BSCI_Wait_for_completion(void); 15 HYD_Status HYD_BSCI_Finalize(void); 12 struct HYD_BSCI_fns { 13 HYD_Status(*launch_procs) (void); 14 HYD_Status(*get_usize) (int *); 15 HYD_Status(*wait_for_completion) (void); 16 HYD_Status(*finalize) (void); 17 }; 18 19 extern struct HYD_BSCI_fns HYD_BSCI_fns; 20 21 HYD_Status HYD_BSCI_init(char * bootstrap); 22 HYD_Status HYD_BSCI_finalize(void); 23 HYD_Status HYD_BSCI_get_usize(int *size); 24 HYD_Status HYD_BSCI_wait_for_completion(void); 25 26 /* Each bootstrap server has to expose an initialization function */ 27 HYD_Status HYD_BSCI_ssh_init(void); 28 HYD_Status HYD_BSCI_fork_init(void); 16 29 17 30 #endif /* BSCI_H_INCLUDED */ -
mpich2/trunk/src/pm/hydra/bootstrap/ssh/Makefile.sm
r3971 r4075 8 8 9 9 libhydra_a_DIR = ${HYDRA_LIB_PATH} 10 libhydra_a_SOURCES = ssh_launch.c ssh_ wait.c ssh_finalize.c ssh_usize.c10 libhydra_a_SOURCES = ssh_launch.c ssh_init.c 11 11 INCLUDES = -I${abs_srcdir}/../../include \ 12 12 -I${abs_srcdir}/../../../../include \ -
mpich2/trunk/src/pm/hydra/bootstrap/ssh/ssh_launch.c
r4023 r4075 13 13 14 14 /* 15 * HYD_BSC I_Launch_procs: For each process, we create an executable16 * which reads like "ssh exec args" and the list of environment17 * variables. We fork a worker process that sets the environment and18 * e xecvp's this executable.15 * HYD_BSCD_ssh_launch_procs: For each process, we create an 16 * executable which reads like "ssh exec args" and the list of 17 * environment variables. We fork a worker process that sets the 18 * environment and execvp's this executable. 19 19 */ 20 HYD_Status HYD_BSC I_Launch_procs(void)20 HYD_Status HYD_BSCD_ssh_launch_procs(void) 21 21 { 22 22 struct HYD_Proc_params *proc_params; -
mpich2/trunk/src/pm/hydra/bootstrap/utils/Makefile.sm
r4019 r4075 8 8 9 9 libhydra_a_DIR = ${HYDRA_LIB_PATH} 10 libhydra_a_SOURCES = bscu_wait.c 10 libhydra_a_SOURCES = bscu_wait.c bscu_usize.c bscu_finalize.c 11 11 INCLUDES = -I${abs_srcdir}/../../include \ 12 12 -I${abs_srcdir}/../../../../include \ -
mpich2/trunk/src/pm/hydra/bootstrap/utils/bscu.h
r4019 r4075 8 8 #define BSCU_H_INCLUDED 9 9 10 #include "hydra.h" 11 #include "hydra_utils.h" 12 #include "bsci.h" 10 #include "hydra_base.h" 13 11 14 HYD_Status HYD_BSCU_Wait_for_completion(void); 12 HYD_Status HYD_BSCU_finalize(void); 13 HYD_Status HYD_BSCU_get_usize(int *size); 14 HYD_Status HYD_BSCU_wait_for_completion(void); 15 15 16 #endif /* BSC I_H_INCLUDED */16 #endif /* BSCU_H_INCLUDED */ -
mpich2/trunk/src/pm/hydra/bootstrap/utils/bscu_wait.c
r4063 r4075 7 7 #include "hydra.h" 8 8 #include "hydra_utils.h" 9 #include "bsci.h"10 9 #include "bscu.h" 11 10 … … 13 12 14 13 /* 15 * HYD_BSCU_ Wait_for_completion: We first wait for communication14 * HYD_BSCU_wait_for_completion: We first wait for communication 16 15 * events from the available processes till all connections have 17 16 * closed. In the meanwhile, the SIGCHLD handler keeps track of all 18 17 * the terminated processes. 19 18 */ 20 HYD_Status HYD_BSCU_ Wait_for_completion(void)19 HYD_Status HYD_BSCU_wait_for_completion(void) 21 20 { 22 21 int pid, ret_status, not_completed; -
mpich2/trunk/src/pm/hydra/configure.in
r4073 r4075 66 66 AC_ARG_WITH(hydra-bss, [ --with-hydra-bss Boot-strap Server], 67 67 [ hydra_bss=$withval ], 68 [ hydra_bss= ssh])68 [ hydra_bss="ssh,fork" ]) 69 69 AC_MSG_CHECKING(boot-strap server) 70 70 AC_MSG_RESULT($hydra_bss) … … 267 267 268 268 for hydra_bss_name in ${hydra_bss_names}; do 269 if test -z "${hydra_default_bss}" ; then 270 hydra_default_bss=$hydra_bss_name 271 fi 269 272 hydra_bss_makefiles="$hydra_bss_makefiles bootstrap/${hydra_bss_name}/Makefile" 270 273 done 274 AC_DEFINE_UNQUOTED(HYDRA_DEFAULT_BSS,"$hydra_default_bss",[Default bootstrap server]) 271 275 272 276 dnl Final output … … 293 297 bootstrap/Makefile \ 294 298 bootstrap/utils/Makefile \ 299 bootstrap/src/Makefile \ 295 300 ${hydra_bss_makefiles} 296 301 ) -
mpich2/trunk/src/pm/hydra/launcher/mpiexec/utils.c
r4074 r4075 163 163 status = HYD_GRACEFUL_ABORT; 164 164 goto fn_fail; 165 } 166 167 /* Bootstrap server */ 168 if (!strcmp(*argv, "--bootstrap")) { 169 CHECK_LOCAL_PARAM_START(local_params_started, status); 170 CHECK_NEXT_ARG_VALID(status); 171 172 if (handle.bootstrap != NULL) { 173 HYDU_Error_printf("Duplicate bootstrap setting; previously set to %s\n", 174 handle.bootstrap); 175 status = HYD_INTERNAL_ERROR; 176 goto fn_fail; 177 } 178 179 handle.bootstrap = MPIU_Strdup(*argv); 180 continue; 165 181 } 166 182 … … 419 435 } 420 436 } 437 438 if (handle.bootstrap == NULL) 439 handle.bootstrap = MPIU_Strdup(HYDRA_DEFAULT_BSS); 421 440 422 441 /* -
mpich2/trunk/src/pm/hydra/pm/central/central_finalize.c
r4019 r4075 37 37 } 38 38 39 status = HYD_BSCI_ Finalize();39 status = HYD_BSCI_finalize(); 40 40 if (status != HYD_SUCCESS) { 41 41 HYDU_Error_printf("unable to finalize the bootstrap server\n"); -
mpich2/trunk/src/pm/hydra/pm/central/central_launch.c
r4072 r4075 220 220 /* Initialize the bootstrap server and ask it to launch the 221 221 * processes. */ 222 status = HYD_BSCI_Launch_procs(); 222 status = HYD_BSCI_init(handle.bootstrap); 223 if (status != HYD_SUCCESS) { 224 HYDU_Error_printf("bootstrap server initialization failed\n"); 225 goto fn_fail; 226 } 227 228 status = HYD_BSCI_launch_procs(); 223 229 if (status != HYD_SUCCESS) { 224 230 HYDU_Error_printf("bootstrap server returned error launching processes\n"); … … 241 247 HYDU_FUNC_ENTER(); 242 248 243 status = HYD_BSCI_ Wait_for_completion();249 status = HYD_BSCI_wait_for_completion(); 244 250 if (status != HYD_SUCCESS) { 245 251 status = HYD_PMCD_Central_cleanup(); -
mpich2/trunk/src/pm/hydra/pm/utils/pmi.c
r4005 r4075 671 671 HYDU_FUNC_ENTER(); 672 672 673 status = HYD_BSCI_ Get_universe_size(&usize);673 status = HYD_BSCI_get_usize(&usize); 674 674 if (status != HYD_SUCCESS) { 675 675 HYDU_Error_printf("Unable to get universe size from the bootstrap server\n");
