Difference between revisions of "ZOID"

From ZeptoOS
Jump to navigationJump to search
Line 13: Line 13:
 
==User interface==
 
==User interface==
  
User script (here or someplace else?)
+
===User script===
  
Broadcast & Performance counters
+
Right before a job starts running, and right after the last process of a job has terminated, ZOID daemon attempts to invoke a ''user script'' on I/O nodes.  By default, the daemon invokes <tt>$HOME/zoid-user-script.sh</tt> (this pathname can be [[#user_script|changed]] by an administrator).  A single parameter is passed to the script: <tt>1</tt> at the job startup, and <tt>0</tt> at the termination.
 +
 
 +
A number of environment variables are also passed to the script:
 +
; <tt>ZOID_JOB_ID</tt>
 +
: BG/P control system job id ('''Note:''' this is generally different from the Cobalt job ID; see [[FAQ#Cobalt_job_ID|FAQ]] for the latter),
 +
; <tt>ZOID_JOB_MODE</tt>
 +
: <tt>0</tt> for SMP, <tt>1</tt> for VN, and <tt>2</tt> for DUAL,
 +
; <tt>ZOID_JOB_GLOBAL_SIZE</tt>
 +
: number of processes in the job (size of <tt>MPI_COMM_WORLD</tt>),
 +
; <tt>ZOID_JOB_LOCAL_SIZE</tt>
 +
: number of job processes handled by this I/O node,
 +
; <tt>ZOID_JOB_EXEC</tt>
 +
: name of the job executable,
 +
; <tt>ZOID_JOB_ARGS</tt>
 +
: job arguments, separated by a <tt>:</tt>
 +
; <tt>ZOID_JOB_ENV</tt>
 +
: job environment variables, separated by a <tt>:</tt>
 +
; <tt>SHELL</tt>, <tt>PATH</tt>, <tt>USER</tt>, and <tt>HOME</tt>
 +
: will also be set for your convenience...
 +
 
 +
===Pset broadcast===
 +
 
 +
===Performance counters===
  
 
==Administrator interface==
 
==Administrator interface==
  
 
Command line options
 
Command line options
 +
 +
-u <span id="user_script"></span>
  
 
==Programmer interface==
 
==Programmer interface==

Revision as of 16:34, 22 April 2009

Other Packages and Utilities | Top | KTAU


Introduction

ZOID is an I/O forwarding component of the ZeptoOS project. Any communication between the compute nodes and I/O nodes (job management, file I/O, sockets) is facilitated by ZOID.

ZOID infrastructure consists of:

  • Multithreaded zoid daemon on the I/O nodes which performs I/O forwarding for the compute nodes and which also communicates with the service node to perform job management,
  • control daemon on the compute nodes which is responsible for job management tasks such as launching application processes, for the forwarding of stdin/out/err data, and for forwarding of IP packets,
  • zoid-fuse daemon on the compute nodes which performs file I/O forwarding for POSIX-compliant applications.

User interface

User script

Right before a job starts running, and right after the last process of a job has terminated, ZOID daemon attempts to invoke a user script on I/O nodes. By default, the daemon invokes $HOME/zoid-user-script.sh (this pathname can be changed by an administrator). A single parameter is passed to the script: 1 at the job startup, and 0 at the termination.

A number of environment variables are also passed to the script:

ZOID_JOB_ID
BG/P control system job id (Note: this is generally different from the Cobalt job ID; see FAQ for the latter),
ZOID_JOB_MODE
0 for SMP, 1 for VN, and 2 for DUAL,
ZOID_JOB_GLOBAL_SIZE
number of processes in the job (size of MPI_COMM_WORLD),
ZOID_JOB_LOCAL_SIZE
number of job processes handled by this I/O node,
ZOID_JOB_EXEC
name of the job executable,
ZOID_JOB_ARGS
job arguments, separated by a :
ZOID_JOB_ENV
job environment variables, separated by a :
SHELL, PATH, USER, and HOME
will also be set for your convenience...

Pset broadcast

Performance counters

Administrator interface

Command line options

-u

Programmer interface

Building a new plugin

Replacement libc?


Other Packages and Utilities | Top | KTAU