How to Interface Moab with Your Environment MoabCon 2009 September 18

How to Interface Moab with Your
Environment
MoabCon 2009
Stephen Mardson McQuay
September 18th, 2009
Outline
§
§
§
Moab Topology Overview
●
Moab
●
Resource Managers
●
Types of Resource Managers
●
Standard RM integration
Native Interface
●
Definition
●
Constructing Configurations
●
Wiki
Demonstration
2
What is Moab
“Moab Workload Manager is a policy-based job
scheduler and event engine that enables utility-based
computing.”
3
What is Moab
4
What is a Resource Manager
Report on and Control
Resources and Workload
5
Moab Topology
6
Type
Example
Execution
Torque
Monitoring
Ganglia
License
FlexLM
Network
Nagios
Storage
Panasas
Provisioning
xCAT
7
Standard Execution
RM Interface
# moab.cfg for torque
RMCFG[myTorque] TYPE=PBS
8
Standard Execution
RM Interface
# moab.cfg for torque
RMCFG[mySGE] TYPE=NATIVE:SGE
9
10
What is Native Interface
11
URL Types
# moab.cfg example of file
RMCFG[tempRm] TYPE=NATIVE
RMCFG[tempRm] CLUSTERQUERYURL= \
file://$HOME/tools/temp.txt
# moab.cfg example of exec
RMCFG[tempRm] TYPE=NATIVE
RMCFG[tempRm] CLUSTERQUERYURL= \
file://$HOME/tools/temp.py
12
Moab Interfacing URLs
13
URL Types
# moab.cfg
RMCFG[rm] TYPE=NATIVE
RMCFG[rm] CLUSTERQUERYURL=exec://$HOME/a.py
RMCFG[rm] WORKLOADQUERYURL=exec://$HOME/b.py
RMCFG[rm] JOBSUBMITURL=exec://$HOME/c.py
RMCFG[rm] JOBSTARTURL=exec://$HOME/d.py
RMCFG[rm] JOBCANCELURL=exec://$HOME/e.py
RMCFG[rm] JOBMODIFYURL=exec://$HOME/f.py
RMCFG[rm] JOBREQUEUEURL=exec://$HOME/g.py
RMCFG[rm] JOBSUSPENDURL=exec://$HOME/h.py
RMCFG[rm] JOBRESUMEURL=exec://$HOME/i.py
RMCFG[rm] NODEPOWERURL=exec://$HOME/j.py
14
Native Language
15
Moab Interfacing URLs
<nodename> [KEY1=ATTR1] [KEY2=ATTR2] ...
16
Sample CLUSTERQUERYURL
Output
n0 APROC=1 CPROC=4 CURRENTTASK=2 STATE=Idle
n1 APROC=0 CPROC=4 CURRENTTASK=1 STATE=Idle
n2 APROC=0 CPROC=4 CURRENTTASK=1 STATE=Idle
17