Mostrando entradas con la etiqueta HPC. Mostrar todas las entradas
Mostrando entradas con la etiqueta HPC. Mostrar todas las entradas

22 de octubre de 2021

instalación de Grid Engine en servidor multi-core Debian

Hola,

esta es mi primera entrada tras volver a la EEAD-CSIC.

Si hace unos años explicaba en este blog cómo instalar el gestor de colas de cálculo gridengine en un servidor  Ubuntu, esta semana lo actualizo para un servidor multicore con Debian 11:

Instalación de los diferentes componentes gridengine en la misma máquina:

   sudo apt install gridengine-master gridengine-qmon gridengine-exec

Si tuvieras que empezar de cero puedes hacerlo con:

    sudo apt purge gridengine-common
    sudo rm -rf /var/spool/gridengine/spooldb/sge
    sudo apt install gridengine-master gridengine-qmon
gridengine-exec

Tras leer esto edité el fichero /etc/hosts así:

   127.0.0.1 localhost.localdomain localhost
   127.0.1.1 master master
   121.xxx.yyy.zzz myhost
 

Ojo que la instalación crea el usuario sgeadmin. Para que tu propio usuario tenga privilegios de administración, crear y configurar una cola llamada all.q deberás hacer los siguiente:  

    sudo -u sgeadmin qconf -am myuser

    # and to a userlist:
    qconf -au myuser users

   # Add a submission host:
   qconf -as myhost

   # Add an execution host, you will be prompted for information about the execution host
   qconf -ae
 
   # Add a new host group:
   qconf -ahgrp @allhosts

   # Add the exec host to the @allhosts list:
   qconf -aattr hostgroup hostlist myhost @allhosts

   # Add and configure queue, set the slots to CPU/cores, check parallel env (pe_list)
   qconf -aq all.q

   # Add the host group to the queue:
   qconf -aattr queue hostlist @allhosts  all.q

   # Allocate slots in this queue:
   qconf -aattr queue slots "[myhost=12]" all.q


Con esto estaría, y puedes comprobarlo con qstat -f o lanzando un trabajo con qsub

Con los siguientes comandos puedes reiniciar los respectivos servicios en Debian:

   sudo systemctl restart gridengine-master.service
   sudo systemctl restart gridengine-exec.service

Hasta pronto,

Bruno

14 de abril de 2015

HOWTO install Grid Engine on multi-core Linux box to run GET_HOMOLOGUES

Hi,
I post this in English so that all users of GET_HOMOLOGUES can benefit. It is inspired on a previous tutorial posted in scidom and the expertise of David Ramírez from our provider SIE.


The aim of this entry is to demonstrate how to set up a Grid Engine queue manager on your local multi-core Linux box or server so that you can get the most of that computing power during your GET_HOMOLOGUES jobs. We will install Grid Engine on its default path, /opt/, which requires superuser permissions. As I'll do this un Ubuntu, I will do 'sudo su' to temporarily get superuser privileges; this should be replaces simply with 'su' in other Linux flavours. Otherwise you can install it elsewhere if you don't have admin rights.

1) Visit http://gridscheduler.sourceforge.net , create a new user and download the latest 64bit binary to /opt:

$ cd /opt
$ sudo su 
$ useradd sgeadmin
$ wget -c http://dl.dropbox.com/u/47200624/respin/ge2011.11.tar.gz $ tar xvfz ge2011.11.tar.gz
$ chown -R sgeadmin ge2011.11/
$ chgrp -R sgeadmin ge2011.11/

$ ln -s ge2011.11 sge

2) Set relevant environment variables in /etc/bash.bashrc  [system-wide, can also be named /etc/basrhc] or alternatively in ~/.bashrc for a given user:

export arch=x86_64
export SGE_ROOT=/opt/sge
export PATH=$PATH:"$SGE_ROOT/bin/linux-x64"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$SGE_ROOT/lib"

And make this changes live:

$ source /etc/bash.bashrc

3) Set your host name to anything but localhost by editing /etc/hosts so that the first line is something like this (localhost or 127.0.x.x IP addresses are not valid):

172.1.1.1   yourhost

4) Install Grid Engine server with all defaults except cluster name, which usually will be 'yourhost':
$ ./install_qmaster

5) Install Grid Engine client with all defaults:
$ ./install_execd

6) Optionally configure default all.q queue:
$  qconf -mq all.q

7) Add your host to list of admitted hosts:
$ qconf -as yourhost

$ exit

You should now be done. A test will confirm this. Please open a new terminal and move to your GET_HOMOLOGUES installation folder:

$ cd get_homologues-x86-20150306
$  ./get_homologues.pl -d sample_buch_fasta -m cluster

If the jobs finishes successfully then you are indeed done. I hope this helps,
Bruno





20 de junio de 2011

Creando un cluster Rocks virtual

Hola,
mientras actualizaba el material didáctico de Programación en clusters Rocks a la versión actual de Linux Rocks (5.4) me pareció buena idea ir probando el código en un cluster virtual, creado como máquinas virtuales corriendo bajo VirtualBox.

(fuente: http://www.rocksclusters.org/rocks-documentation/4.1/getting-started.html)

La ventaja que tiene hacerlo virtual es que cualquiera con unos cuantos Gb de disco libres y más de 2 Gb de RAM puede probar a programar en un cluster y así aprender a manejarse en ese entorno antes de tener acceso a uno real.

Éstos son los pasos necesarios, probados en mi Ubuntu 10.04 LTS y con la versión 4.0.8 de VirtualBox:
  • Instala VirtualBox para tu sistema Linux (puedes descargarlo de
    http://www.virtualbox.org/wiki/Downloads)

  • Descarga e instala el 'VirtualBox Extension Pack', que puedes obtener en el mismo lugar

  • Descarga ISO del DVD Jumbo de Rocks, que ya incluye los rolls esenciales
    (puedes descargarlo de http://www.rocksclusters.org,
    comprobando tras la descarga la suma MD5). En este tutorial usaremos la versión 5.4, que se llama area51+base+bio+ganglia+hpc+kernel+os+sge+web-server+xen-16.12.2009-15.16.53.i386.disk1.iso,
    que guardamos en la carpeta /home/pepe/soft/

  • Elige un directorio donde ubicar los discos duros virtuales, como por ejemplo /home/pepe/

  • Crea el nodo principal tecleando (copia y pega) en el terminal estos comandos:
     VBoxManage createvm --name "vRocks54-Frontend" --ostype RedHat --register  
       
     VBoxManage modifyvm "vRocks54-Frontend" --memory 1000 --vram 32 --nic1 intnet --nic2 nat --audio none --nictype1 82540EM --nictype2 82540EM --boot1 dvd --boot2 disk --boot3 none --boot4 none  
       
     VBoxManage createhd --filename "/home/pepe/vRocks54-Frontend.vdi" --size 50000 --variant Standard   
       
     VBoxManage storagectl "vRocks54-Frontend" --name "SATA Controller" --add sata --controller IntelAhci  
       
     VBoxManage storageattach "vRocks54-Frontend" --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium "/home/pepe/vRocks54-Frontend.vdi"  
       
     VBoxManage storagectl "vRocks54-Frontend" --name "IDEcontrol" --add ide  
       
     VBoxManage storageattach "vRocks54-Frontend" --storagectl "IDEcontrol" --port 0 --device 0 --type dvddrive --medium /home/pepe/soft/area51+base+bio+ganglia+hpc+kernel+os+sge+web-server+xen-16.12.2009-15.16.53.i386.disk1.iso  
       
     VBoxManage startvm "vRocks54-Frontend"  
    

    Tras estos comandos da comienzo el proceso normal de instalación del nodo maestro o frontend , documentado en la web de Rocks. El proceso es casi automático, pero debes recordar dos cosas:


    • escribe frontend cuando aparezca el terminal de arranque boot:
    • cuando llegue el momento elige como mínimo estos rolls : kernel, base, web server, os

  • Una vez instalado el frontend puedes añadir el paquete
    VirtualBox guest additions para mayor comodidad

  • En el terminal del nodo maestro teclea como superusuario $ insert-ethers

  • Para cada nodo compute que quieras crear, empezando por el 0-0, hasta el 0-N teclea en el terminal de tu Linux:

     VBoxManage createvm --name "vRocks54-Compute-0-0" --ostype RedHat --register  
       
     VBoxManage modifyvm "vRocks54-Compute-0-0" --memory 1000 --vram 32 --nic1 intnet --audio none --nictype1 82540EM --boot1 net --boot2 disk --boot3 none --boot4 none  
       
     VBoxManage createhd --filename "/home/pepe/vRocks54-Compute-0-0.vdi" --size 50000 --variant Standard   
       
     VBoxManage storagectl "vRocks54-Compute-0-0" --name "SATA Controller" --add sata --controller IntelAhci  
       
     VBoxManage storageattach "vRocks54-Compute-0-0" --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium "/home/pepe/vRocks54-Compute-0-0.vdi"  
       
     VBoxManage storagectl "vRocks54-Compute-0-0" --name "IDE Controller" --add ide   
       
     VBoxManage startvm "vRocks54-Compute-0-0"  
    

  • En el terminal del nodo maestro teclea como superusuario la tecla F8 para terminar de añadir nodos
Y ésto es todo, con esto tienes ya un cluster en miniatura para probar tus programas, que puedes borrar con dos golpes de ratón desde el VirtualBox,
un saludo,
Bruno