Difference between revisions of "OAR Installation"

From Supercomputación y Cálculo Científico UIS
Line 5: Line 5:
 
         <div class="well well-success">
 
         <div class="well well-success">
 
           <h4>'''Super Computación y Cálculo Científico'''</h4>
 
           <h4>'''Super Computación y Cálculo Científico'''</h4>
           <p class="bs">In this section we describe all the administration tasks for the job scheduler OAR</p>
+
           <p class="bs">In this section we describe all the administration tasks for the job scheduler OAR in the frontend node (Server) and in the compute nodes (Client)</p>
 
         </div>
 
         </div>
 
       </div>
 
       </div>
 
     </div>
 
     </div>
  
===OAR Installation===
+
===OAR Server Installation===
  
 
     <div class="column clearfix">
 
     <div class="column clearfix">
Line 25: Line 25:
 
{{Command|<nowiki>echo "deb http://oar-ftp.imag.fr/oar/2.5/debian squeeze main" > /etc/apt/sources.list.d/oar.list</nowiki>}}
 
{{Command|<nowiki>echo "deb http://oar-ftp.imag.fr/oar/2.5/debian squeeze main" > /etc/apt/sources.list.d/oar.list</nowiki>}}
  
2) Instalar dependencias
+
2) Install required software
  
 
{{Command|<nowiki>apt-get install mysql-server mysql-client libdbd-mysql-perl libdbi-perl libsort-versions-perl</nowiki>}}
 
{{Command|<nowiki>apt-get install mysql-server mysql-client libdbd-mysql-perl libdbi-perl libsort-versions-perl</nowiki>}}
 
   
 
   
3) Instalar software
+
3) Install OAR packages
  
 
{{Command|<nowiki>apt-get install oar-server-mysql oar-user oar-server oar-user-mysql oar-web-status oar-admin oar-node
 
{{Command|<nowiki>apt-get install oar-server-mysql oar-user oar-server oar-user-mysql oar-web-status oar-admin oar-node
 
</nowiki>}}
 
</nowiki>}}
  
4) Configurar OAR. Edite el archivo /etc/oar/oar.conf y especifique todas las opciones
+
4) OAR Configuration.
 +
Edit the file /etc/oar/oar.conf and fix all required values. Example
  
5) Inicializar la base de datos de OAR
+
{{File|/etc/oar/oar.conf|<pre><nowiki>
 +
DB_TYPE="mysql"
 +
DB_HOSTNAME="localhost"
 +
DB_PORT="3306"
 +
DB_BASE_NAME="oardb"
 +
DB_BASE_LOGIN="oar"
 +
DB_BASE_PASSWD="xxxx"
 +
SERVER_HOSTNAME="localhost"
 +
SERVER_PORT="6666"
 +
OARSUB_DEFAULT_RESOURCES="/nodes=1"
 +
OARSUB_NODES_RESOURCES="network_address"
 +
OARSUB_FORCE_JOB_KEY="no"
 +
LOG_LEVEL="3"
 +
LOG_CATEGORIES="all"
 +
OAREXEC_DEBUG_MODE="1"
 +
OAR_RUNTIME_DIRECTORY="/var/lib/oar"
 +
LOG_FILE="/var/log/oar.log"
 +
DEPLOY_HOSTNAME="127.0.0.1"
 +
COSYSTEM_HOSTNAME="127.0.0.1"
 +
DETACH_JOB_FROM_SERVER="1"
 +
OPENSSH_CMD="/usr/bin/ssh -p 6667"
 +
FINAUD_FREQUENCY="300"
 +
PINGCHECKER_SENTINELLE_SCRIPT_COMMAND="/usr/lib/oar/sentinelle.pl -t 5 -w 20"
 +
PROLOGUE_EXEC_FILE="/etc/oar/prologue"
 +
EPILOGUE_EXEC_FILE="/etc/oar/epilogue"
 +
SCHEDULER_TIMEOUT="10"
 +
SCHEDULER_NB_PROCESSES=4
 +
SCHEDULER_JOB_SECURITY_TIME="60"
 +
SCHEDULER_GANTT_HOLE_MINIMUM_TIME="300"
 +
SCHEDULER_RESOURCE_ORDER="scheduler_priority ASC, suspended_jobs ASC, network_address DESC, resource_id ASC"
 +
SCHEDULER_PRIORITY_HIERARCHY_ORDER="network_address/resource_id"
 +
SCHEDULER_AVAILABLE_SUSPENDED_RESOURCE_TYPE="default"
 +
SCHEDULER_FAIRSHARING_MAX_JOB_PER_USER=30
 +
ENERGY_SAVING_INTERNAL="no"
 +
JOB_RESOURCE_MANAGER_PROPERTY_DB_FIELD="cpuset"
 +
CPUSET_PATH="/oar"
 +
OARSH_OPENSSH_DEFAULT_OPTIONS="-oProxyCommand=none -oPermitLocalCommand=no"
 +
</nowiki></pre>}}
 +
 
 +
5) Initialize the OAR data base.
  
 
{{Command|<nowiki>oar-database --create --db-admin-user root --db-admin-pass 'XXXXXX'</nowiki>}}
 
{{Command|<nowiki>oar-database --create --db-admin-user root --db-admin-pass 'XXXXXX'</nowiki>}}
  
6) Agregar los recursos a OAR. Edite un archivo /tmp/nodos con el nombre de los nodos (uno por línea)
+
6) Add the resources (compute nodes) to the database.  
Ejemplo:
+
Edit the file /tmp/nodes and add the name of the compute nodes. (One per line)
  
        guane09
+
{{File|/tmp/nodes|<pre><nowiki>
        guane10
+
guane01
        ....
+
guane02
 +
.
 +
.
 +
guane09
 +
guane10
  
 +
</nowiki></pre>}}
  
Luego, ejecute
+
Then, excecute the following command
  
{{Command|<nowiki>oar_resources_init /tmp/nodos
+
{{Command|<nowiki>oar_resources_init /tmp/nodes
  
  

Revision as of 13:52, 19 February 2015

Back to Job Scheduler OAR

Super Computación y Cálculo Científico

In this section we describe all the administration tasks for the job scheduler OAR in the frontend node (Server) and in the compute nodes (Client)

OAR Server Installation

1) Configure the Repository

curl http://oar-ftp.imag.fr/oar/oarmaster.asc | sudo apt-key add -


echo "deb http://oar-ftp.imag.fr/oar/2.5/debian squeeze main" > /etc/apt/sources.list.d/oar.list


2) Install required software

apt-get install mysql-server mysql-client libdbd-mysql-perl libdbi-perl libsort-versions-perl


3) Install OAR packages

apt-get install oar-server-mysql oar-user oar-server oar-user-mysql oar-web-status oar-admin oar-node


4) OAR Configuration. Edit the file /etc/oar/oar.conf and fix all required values. Example

File: /etc/oar/oar.conf
DB_TYPE="mysql"
DB_HOSTNAME="localhost"
DB_PORT="3306"
DB_BASE_NAME="oardb"
DB_BASE_LOGIN="oar"
DB_BASE_PASSWD="xxxx"
SERVER_HOSTNAME="localhost"
SERVER_PORT="6666"
OARSUB_DEFAULT_RESOURCES="/nodes=1"
OARSUB_NODES_RESOURCES="network_address"
OARSUB_FORCE_JOB_KEY="no"
LOG_LEVEL="3"
LOG_CATEGORIES="all"
OAREXEC_DEBUG_MODE="1"
OAR_RUNTIME_DIRECTORY="/var/lib/oar"
LOG_FILE="/var/log/oar.log"
DEPLOY_HOSTNAME="127.0.0.1"
COSYSTEM_HOSTNAME="127.0.0.1"
DETACH_JOB_FROM_SERVER="1"
OPENSSH_CMD="/usr/bin/ssh -p 6667"
FINAUD_FREQUENCY="300"
PINGCHECKER_SENTINELLE_SCRIPT_COMMAND="/usr/lib/oar/sentinelle.pl -t 5 -w 20"
PROLOGUE_EXEC_FILE="/etc/oar/prologue"
EPILOGUE_EXEC_FILE="/etc/oar/epilogue"
SCHEDULER_TIMEOUT="10"
SCHEDULER_NB_PROCESSES=4
SCHEDULER_JOB_SECURITY_TIME="60"
SCHEDULER_GANTT_HOLE_MINIMUM_TIME="300"
SCHEDULER_RESOURCE_ORDER="scheduler_priority ASC, suspended_jobs ASC, network_address DESC, resource_id ASC"
SCHEDULER_PRIORITY_HIERARCHY_ORDER="network_address/resource_id"
SCHEDULER_AVAILABLE_SUSPENDED_RESOURCE_TYPE="default"
SCHEDULER_FAIRSHARING_MAX_JOB_PER_USER=30
ENERGY_SAVING_INTERNAL="no"
JOB_RESOURCE_MANAGER_PROPERTY_DB_FIELD="cpuset"
CPUSET_PATH="/oar"
OARSH_OPENSSH_DEFAULT_OPTIONS="-oProxyCommand=none -oPermitLocalCommand=no"

5) Initialize the OAR data base.

oar-database --create --db-admin-user root --db-admin-pass 'XXXXXX'


6) Add the resources (compute nodes) to the database. Edit the file /tmp/nodes and add the name of the compute nodes. (One per line)

File: /tmp/nodes
guane01
guane02
.
.
 guane09
 guane10

Then, excecute the following command

oar_resources_init /tmp/nodes Despues, Si esta de acuerdo con los recursos ejecute {{Command|<nowiki>source /tmp/oar_resources_init.cmd


El contenido de este archivo debe ser algo parecido a:

       oarproperty -a cpu
       oarproperty -a core
       oarproperty -c -a host
       oarproperty -c -a cpuset
       oarproperty -a mem
       oarnodesetting -a -h guane09 -p host=guane09 -p cpu=1 -p core=1 -p cpuset=0 -p mem=103
       oarnodesetting -a -h guane09 -p host=guane09 -p cpu=1 -p core=2 -p cpuset=10 -p mem=103
       oarnodesetting -a -h guane09 -p host=guane09 -p cpu=1 -p core=3 -p cpuset=12 -p mem=103

NOTA: para configurar los recursos de GPU, edite un archivo de nombre oar_gpu_resources_init.cmd y agregue las siguientes líneas

       oarproperty -c -a gpu
       oarproperty -c -a gputype
       oarproperty -a gpunum

Luego, ejecute source oar_gpu_resources_init.cmd

Finalmente, asigne los GPUs a cada core de cada nodo. Edite un archivo de nombre GPUresources.cmd y agregue las siguientes líneas.

       oarnodesetting --sql "core=1" -p gpu=YES -p gpunum=1 -p gputype=M2075
       oarnodesetting --sql "core=2" -p gpu=YES -p gpunum=1 -p gputype=M2075
       oarnodesetting --sql "core=3" -p gpu=YES -p gpunum=1 -p gputype=M2075
       oarnodesetting --sql "core=4" -p gpu=YES -p gpunum=2 -p gputype=M2075
       oarnodesetting --sql "core=5" -p gpu=YES -p gpunum=2 -p gputype=M2075
       oarnodesetting --sql "core=6" -p gpu=YES -p gpunum=2 -p gputype=M2075
       oarnodesetting --sql "core=7" -p gpu=YES -p gpunum=3 -p gputype=M2075
       oarnodesetting --sql "core=8" -p gpu=YES -p gpunum=3 -p gputype=M2075
       oarnodesetting --sql "core=9" -p gpu=YES -p gpunum=3 -p gputype=M2075

NOTA: En los nodos nuevos activos del cluster Guane de la UIS se tienen 168 Cores y 56 GPUs (8 GPUs por nodo) Por lo tanto, la asignación se realizó fijando 1 GPU cada 3 cores (debe completar las líneas de acuerdo al número de GPUs y Cores que se tengan en todos los nodos)

Luego, ejecute el comando

source GPUresources.cmd


Compruebe que todo está en orden ejecutando

oarnodes | less


7) Configurar monika. Edite el archivo /etc/oar/monika.conf y fije las variables necesarias, parámetros de la base de datos entre otros.