Repositorio de documentación del clúster HPC ctcomp2

Esta é unha revisión antiga do documento!


(Volver a la Guía de usuario del clúster HPC ctcomp2)

Under continuous construction…

Hardware

  • 8 servidores blade HP Proliant BL685c G7
    • 4x AMD Opteron 6262HE (16 cores, 1.6GHz, 16MB L3)
  • 2 switches 10Gb dúales: Blade HP 6120xg
  • (Exclusivos iSCSI) 2 switches 1Gb: HP GbE2c Layer 2/3 Ethernet Blade

Software

Software (administración)

Tamaño del heap de JAVA

En ctcomp2 el tamaño del heap de JAVA está limitado al 25% del límite de memoria de la correspondiente cola y, en cualquier caso, con un tamaño máximo de 8 GB. Esta limitación garantiza que las aplicaciones JAVA no consuman más recursos de los asignados.

Los usuarios pueden utilizar otros tamaños de heap en sus trabajos si modifican, antes de ejecutar JAVA, el valor de la opción -Xmx de JAVA a través de la variable _JAVA_OPTIONS. Por ejemplo, si queremos que el heap tenga 16 GB, el comando sería:

export _JAVA_OPTIONS=-Xmx16777216K

Al modificar el tamaño del heap el usuario debe asegurarse, bajo su responsabilidad, que el conjunto de procesos que se estén ejecutando concurrentemente en su trabajo no sobrepase el límite de memoria establecido en la correspondiente cola, ya que en ese caso el trabajo será cancelado automáticamente.

Los usuarios que ejecuten en sus trabajos una sola instancia de java (independientemente de los threads que ejecute) podrán aumentar el tamaño del heap, pero se recomienda que no sea un valor cercano al límite de memoria de la correspondiente cola. Si se ejecutan varias instancias de java, se recomienda ajustar adecuadamente el tamaño del heap para evitar cancelaciones.

Instalar paquetes R

Ejemplo de instalación del paquete nnet en el $HOME de usuario del clúster ctcomp2. Para evitar potenciales problemas, se recomienda realizar la instalación de paquetes en unha sesión interactiva en el frontend.

  1. Crear un directorio ~/libR:
    mkdir ~/libR
  2. Iniciamos una sesión interactiva:
    qsub -I -q interactive
  3. Arrancar el entorno R:
    module load R
    R
  4. Ejecutar el siguiente comando dentro de R:
    install.packages("nnet",lib="~/libR/", repos="http://cran.es.r-project.org/")
  5. Para usar un paquete instalado en ~/libR/, ejecutar dentro de R:
    library("nnet", lib.loc="~/libR/")

Instalar/actualizar/desinstalar paquetes Python

En principio, es posible instalar cualquier paquete presente en el índice de paquetes de python. A continuación mostramos un ejemplo de instalación/actualización/desinstalación del paquete pywavelets en el $HOME de usuario del clúster ctcomp2. Para evitar potenciales problemas, se recomienda realizar la instalación de paquetes en una sesión interactiva en el frontend.

Instalación

Ejecutar el siguiente comando en bash:

pip install --install-option="--user" pywavelets
Actualización

Ejecutar el siguiente comando en bash:

pip install --upgrade pywavelets
Desinstalación

Ejecutar el siguiente comando en bash:

pip uninstall pywavelets

Instalar paquetes Octave

En principio, es posible instalar cualquier paquete presente en el índice de paquetes de octave. A continuación mostramos un ejemplo de instalación del paquete image en el $HOME de usuario del clúster ctcomp2, utilizando una sesión interactiva (qsub -I -q interactive).

  • Iniciamos una sesión octave:
    octave
  • Definimos el lugar de instalación de los paquetes en el $HOME de usuario (en este ejemplo, instalaremos los paquetes en el directorio /home/local/my.user.name/.octave-pkgs):
    pkg prefix /home/local/my.user.name/.octave-pkgs /home/local/my.user.name/octave
  • Invocamos al gestor de paquetes de Octave (dpk) e instalamos el paquete image (también instalamos las depencias):
    pkg install -local -forge control
    pkg install -local -forge general
    pkg install -local -forge specfun
    pkg install -local -forge signal
    pkg install -local -forge image
  • Para usar los paquetes instalados en una sesión de Octave, simplemente hai que invocarlos a través del gestor de paquetes de Octave:
    pkg load image

Ejecución de ocean (CADENCE)

Ocean/Cadence no se puede ejecutar directamente en ctcomp2, aunque sea con la opción -nograph, ya que no es capaz de arrancar las X's. Teoricamente, la opción nograph precisamente haría que ocean se pudiese ejecutar sin X, pero el problema es que, con esta opción, ocean trata de arrancan un sistema X falso que tampoco funciona.

La solución para solventar este inconveniente en ctcomp2 es crear nuestro propio entrono X falso antes de executar ocean (sin la opción nograph). Utilizamos el comando xvfb-run para crear ese entorno X.

Por lo tanto, para ejecutar script.cdn, guardando la salida de ocean en fichero.log, la secuencia de comandos a ejecutar es:

module load cadence
source /optct/cadence/2012-2013/lnx86/cadence.bash
xvfb-run -a -n 80 -s "-screen 0 640x480x16" ocean < script.ocn > fichero.log