Difference between revisions of "LCMAPS Tracking GroupID plugin"

From PDP/Grid Wiki
Jump to navigationJump to search
Line 10: Line 10:
  
 
=== Why do we need this plugin? ===
 
=== Why do we need this plugin? ===
Processes are nested. They are always spawned from another process. The root is the init process, which is the first process that comes alive when the system boots.
+
Here is an example process tree on a PBS/Torque based cluster Worker Node. For illustration purposes all non-relative processes are removed from the tree:
 
 
Here is an example process tree on a PBS/Torque based cluster Worker Node:
 
 
  init-+
 
  init-+
 
       ├─pbs_mom
 
       ├─pbs_mom
Line 19: Line 17:
 
       │  │      └─jobwrapper /opt/lcg/libexec/jobwrapper ./CREAM31337_jobWrapper.sh
 
       │  │      └─jobwrapper /opt/lcg/libexec/jobwrapper ./CREAM31337_jobWrapper.sh
 
       │  │          └─CREAM31337_ -l ./CREAM31337_jobWrapper.sh
 
       │  │          └─CREAM31337_ -l ./CREAM31337_jobWrapper.sh
       │  │              └─perl -e...
+
       │  │              └─glexec /bin/bash payload.sh
       │  │                  ├─perl -e...
+
       │  │                  ├─payload.sh

Revision as of 14:00, 9 April 2011

Tracking Group IDs are added to batch jobs to be able to track them regardless if they escape the process tree.

Batch systems that use this feature are:

  • Sun Grid Engine (SGE, now known as the Oracle Grid Engine)
  • Condor-C batch system

Other batch systems are known to have the feature, but it doesn't seem to be used in (known) Grid deployments:

  • LSF
  • Torque/PBS

Why do we need this plugin?

Here is an example process tree on a PBS/Torque based cluster Worker Node. For illustration purposes all non-relative processes are removed from the tree:

init-+
     ├─pbs_mom
     │   ├─bash
     │   │   └─1337.stro.n /var/spool/pbs/mom_priv/jobs/1337.stro.nikhef.nl.SC
     │   │       └─jobwrapper /opt/lcg/libexec/jobwrapper ./CREAM31337_jobWrapper.sh
     │   │           └─CREAM31337_ -l ./CREAM31337_jobWrapper.sh
     │   │               └─glexec /bin/bash payload.sh
     │   │                   ├─payload.sh