Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

Subject: [OMPI devel] using hnp_always_use_plm
From: Damien Guinier (damien.guinier_at_[hidden])
Date: 2009-12-18 09:43:07


Hi Ralph

On Openmpi, I working on a new little feature: hnp_always_use_plm.
- To create final application , mpirun use on remote "orted via plm:
Process lifecycle managment module" or localy "fork()". So the first
compute node haven't the same methode than other compute node. Some
debug tools(padb ...) and management tools (squeus -s ...) are impacted
by this difference.
To simplify this cluster tools usage, I propose to add the possibility
to use "orted via plm" on remote and localy.

I make a patch to add the parameter "OMPI_MCA_ess_hnp_always_use_plm",
to use the "plm" module everywhere. On my patch , by default nothing is
changed ( no impact).

Can you say to me , if this feature( and the patch) is good ?

thank you

Damien

diff orte/mca/ess/hnp/ess_hnp.h
--- a/orte/mca/ess/hnp/ess_hnp.h Tue Dec 15 15:31:24 2009 +0100
+++ b/orte/mca/ess/hnp/ess_hnp.h Tue Dec 15 18:19:18 2009 +0100
@@ -27,7 +27,7 @@
 int orte_ess_hnp_component_open(void);
 int orte_ess_hnp_component_close(void);
 int orte_ess_hnp_component_query(mca_base_module_t **module, int
*priority);
-
+extern int mca_ess_hnp_always_use_plm;

 ORTE_MODULE_DECLSPEC extern orte_ess_base_component_t
mca_ess_hnp_component;

diff orte/mca/ess/hnp/ess_hnp_component.c
--- a/orte/mca/ess/hnp/ess_hnp_component.c Tue Dec 15 15:31:24 2009
+0100
+++ b/orte/mca/ess/hnp/ess_hnp_component.c Tue Dec 15 18:19:18 2009
+0100
@@ -33,6 +33,7 @@
 #include "orte/mca/ess/hnp/ess_hnp.h"

 extern orte_ess_base_module_t orte_ess_hnp_module;
+int mca_ess_hnp_always_use_plm = 0;

 /*
  * Instantiate the public struct with all of our public information
@@ -63,6 +64,10 @@
 int
 orte_ess_hnp_component_open(void)
 {
+ mca_base_param_reg_int(&mca_ess_hnp_component.base_version,
+ "always_use_plm",
+ "Used to force plm on all machine",
+ false,false, mca_ess_hnp_always_use_plm
,&mca_ess_hnp_always_use_plm);
     return ORTE_SUCCESS;
 }

diff orte/mca/ess/hnp/ess_hnp_module.c
--- a/orte/mca/ess/hnp/ess_hnp_module.c Tue Dec 15 15:31:24 2009 +0100
+++ b/orte/mca/ess/hnp/ess_hnp_module.c Tue Dec 15 18:19:18 2009 +0100
@@ -442,9 +442,12 @@
      * node object
      */
     OBJ_RETAIN(proc); /* keep accounting straight */
+ if(mca_ess_hnp_always_use_plm==0)
+ {
     node->daemon = proc;
     node->daemon_launched = true;
     node->state = ORTE_NODE_STATE_UP;
+ }

     /* record that the daemon job is running */
     jdata->num_procs = 1;