28
Sun Grid Engine en entornos Grid Isabel Campos BIFI

Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

Embed Size (px)

Citation preview

Page 1: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

Sun Grid Engine en entornos Grid

Isabel CamposBIFI

Page 2: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

Sun Grid Engine en entornos Grid

DESARROLLO DE LA CHARLA

✔ El Proyecto Sun Grid Engine (SGE)✔ Instalación de SGE en clusters✔ Uso de SGE en entornos GRID

– Conectividad en entornos de trabajo locales– Uso de SGE como jobmanager en Globus– Sistema de transferencia de trabajos en un Grid.

Isabel Campos

Page 3: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

El proyecto Sun Grid Engine ✔ Desarrollado por Sun Microsystems junto con iniciativas Open 

Source✔ Año 2000: Sun compra Gridware  (en particular su sistema 

propietario de batch, CODINE )✔ Sun inicia dos proyectos

– Una versión comercial (http://www.sun.com/gridware)• Plataformas: PCs, Silicon, Sun, IBM, HP, MAC.• OS: Linux, Solaris, IRIX, AIX, MACos, Windows…• Linux Kernel 2.2, 2.4, 2.6• Software de visualización: Accounting Reporting Console (ARco)• Precio: (N1 Grid Engine version 6)

– Cluster hasta 50 nodos 10,000$– Hasta 250 nodos 30,000$– Hasta 2,000 nodos 80,000$

Page 4: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

El proyecto Sun Grid Engine– Versión libre bajo la disciplina Open Source 

• http://gridengine.sunsource.net• Oficialmente soportado para:

– Linux x86, kernel 2.4, glibc >= 2.2 – Linux AMD64 (Opteron), kernel 2.4, glibc >= 2.2– Silicon Graphics IRIX 6.5– Sun MicrosystemsSolaris (Sparc and x86) 7, 8 en 32­bit y 64­bit – AppleMac OS/X, CompaqTru64 Unix 5.0, 5.1, Hewlett PackardHP­

UX 11.x, IBM AIX 4.3, 5.1

• Funciona además (con modif. mínimas) para– x86_64 (Xeon EMT64)  – kernels 2.6– IA64 (Itanium) 

Page 5: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

Instalación de SGE Open Source

✔ Descarga de software:–  http://gridengine.sunsource.net– Descarga del binario de la plataforma correspondiente, o bien– Descarga de las fuentes & compilar 

✔ Nodo Master instalación desde los binarios– mkdir /usr/local/sys/sge & tar xf sge­version­plataforma.tar– Añadir entrada en /etc/services (privilegios de root)

• sge_commd        puerto_libre/tcp

– Editar un fichero con los nombres de los nodos a controlar– Script de inicialización va por defecto a /etc/init.d/rcsge– Efecto visible: sge_commd,  sge_qmaster y sge_sched están 

corriendo

Page 6: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

Instalación de SGE

✔ Nodos de Ejecución y de control– mkdir /usr/local/sys/sge– mount master:/usr/local/sys/sge /usr/local/sys/sge– .  /usr/local/sys/sge/settings.sh – ./install_execd en cada nodo desde ese directorio– Efecto visible sge_execd,  sge_commd y sge_sheperd están 

corriendo– Las colas se configuran graficamente, (y se clonan)– En el nodo interactivo del cluster no hay sge_execd ni 

sge_sheperd .

Page 7: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

Instalación de SGE

✔ Monitorización y control– .  /usr/local/sys/sge/settings.sh – Con entorno X11

• Lanzar ”qmon &” 

– Sin entorno X11• Comandos en linea de configuración de colas (qconf y qmod)• Sobre los trabajos (qsub, qstat, qdel,…)• Administración: qacct 

Page 8: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

Instalación de SGE

✔ Configuración de Complejos (complex attributes) de una cola

✔ Configuración del entorno paralelo– Definición de colas paralelas

✔ Configuración de usuarios✔ Cómo controlar la login de usuarios a los nodos de 

ejecución usando SGE: – protocolo de inicialización/stop

Page 9: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

Instalación de SGE Open Source

 sge_commd  

 sge_commd  Nodo de envío

sge_commd    sge_qmaster

sge_schedd

??

sge_execdsge_sheperd

Nodo master

Nodos de ejecución

Nodo interactivo

Nodo servidor

Nodo de computación

Page 10: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

Instalación de SGE Open Source

Page 11: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

SGE Job monitoring

Page 12: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

Instalación de SGE Open Source

✔Trabajo en serie

#/bin/sh#$ ­o $HOME/mydir/myjob.out#$ ­N myjob#$ ­M [email protected]#$ ­l emt64=yes. /etc/profile.sge. intel81.setupcd mydir./myprog

✔Trabajo en Paralelo

#/bin/sh#$ ­o $HOME/mydir/myjob.out#$ ­N myjob#$ ­pe mpi 4­10#$ ­M [email protected]. /etc/profile.sge. /etc/mpi.setup –e mpicd mydirmpirun –np $NSLOTS ./myprog

Page 13: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

Integración de SGE en entornos GRID (I)

✔ Conectividad en entornos de trabajo locales

bifi.unizar.es

Page 14: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

Integración de SGE en entornos GRID (I)✔ Etapas

– Instalar SGE en todos los PCs declarando a uno master– Instalar un Globus gatekeeper para autenticar y transferir– Alternativamente: usar sshd y RSA autenticación– Instalar todos los demas PCs como execution hosts y clientes de 

globus

✔ Tarea organizativa importante– Desarrollo de scripts de control del sistema: pclab_bifi.sh

• ./pclab_bifi.sh exepath scriptpath outpath (parametros del PC local)• Busca un nodo libre usando “qstat”• Transfiere el directorio exepath y scriptpath usando gsissh (sin password)• Controla cuando acaba la ejecución (max 8 horas) y usa de nuevo gsissh 

para transportar resultados a outpath

Page 15: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

Integración de SGE en entornos Grid (II)

✔ Collaboración entre el London e­science UK y la empresa Sun Microsystems– Pagina del proyecto:

• http://www.lesc.imperial.ac.uk/projects/epic­gt­sge.html

– Configuración del Globus jobmanager para enviar trabajos usando el sistema de colas de SGE

– Chequeado para SGE v5.3 – Provee de un script que lee la descripción RSL del trabajo y la traduce 

al lenguaje de batch scripts que entiende SGE– Tipos de trabajo aceptados: single, multiple y MPI

Page 16: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

Integración de SGE en entornos Grid (II)

✔ Integración con Globus 2.x– Ficheros:

• globus_gram_job_manager_setup_sge­0.11.tar.gz• globus_gram_reporter_setup_sge­0.8.tar.gz

– Instalación: • $GPT_LOCATION/sbin/gpt­build  file.tar.gz• $GPT_LOCATION/sbin/gpt­post­install

Page 17: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

Integración de SGE en entornos Grid (II)

✔ Integración con Globus 3.x– Ficheros:

• globus_gram_job_manager_setup_sge­0.11.tar.gz • mmjfs_sge_setup­0.0.tar.gz • mjs_sge_setup­0.0.tar.gz 

– Instalación: • $GPT_LOCATION/sbin/gpt­build  file.tar.gz• $GPT_LOCATION/sbin/gpt­post­install

– Chequeo: managed­job­globusrun ­factory HOSTNAME:PORT ­type SGE –file \\ 

${GLOBUS_LOCATION}/etc/test.xml ­output 

Page 18: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

Esquema de funcionamiento de SGE con Globus

Gatekeeper

Usuarios Globus 

Cluster

globus­job­submit

Page 19: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

Sistema de transferencia de trabajos en un GRID

✔ Desarrollado por el EPCC en colaboración con Sun Microsystems– http://gridengine.sunsource.net/project/gridengine/tog.html

• Objetivo: 

permitir en intercambio de recursos entre dos organizaciones de forma controlada.

 • Requerimientos

1. SGE instalado en ambos sitios (A y B)2. Globus instalado en ambos sitios (A y B)3. Globus Java CoG en el sitio que tiene la cola de TOG (ej. A)4. En B, SGE configurado como el job manager de Globus5. Firewall: puertos determinados abiertos

Page 20: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

Sistema de transferencia de trabajos en un GRID

Grid Engine

TOG

Globus

Grid Engine

Globus

A B

Usuarios de¨”A” pueden usar los recursos de “B” gracias al TOG

Page 21: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

Requisitos de ambos sistemas: sitio local A

✔ Configurando A: –  Submit host de Grid Engine en A: submit.A.com; –  Execution host en A, con un cliente Globus instalado–  $GLOBUS_LOCATION= /usr/local/gtII; 

–  Globus Java CoG instalado, $COG_INSTALL_PATH en /usr/local/cog; –  $SGE_ROOT = /opt/SGE; –  Cada usuario en A, tiene un certificado autorizandole a usar los recursos 

de  B; – El firewall esta abierto 

• en el 2119  para el  Globus Gatekeeper,• el 62000 to 64000  para job manager y la transferencia de datos

Page 22: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

Requisitos de ambos sistemas: Sitio remoto B✔ Configurando B:

–  Grid Engine instalado con $SGE_ROOT = /opt/sge 

–  Queue name: resource_B.q • Un slot al menos para los usuarios de A

–  Globus instalado en  $GLOBUS_LOCATION = /usr/local/gtII; –  Los usuarios de A están certificados en  resource.B.com usando  

Globus; –  Directorio ENTERPRISE_HOME para usuarios de A localizado en el 

directorio  /remote/A; – Configurado como Grid Engine submit host. – Configurado con jobmanager­tge job manager. – Firewall abierto en los puertos

» 2119   Globus Gatekeeper; » 2811   GridFTP daemon; » o 60000 to 62000   for job manager y data transfer

Page 23: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

Chequeando la configuración de Globus

% echo "test" > test.txt % globus­url­copy  file:///home/alice/test.txt \> gsiftp://globus.B.com/remote/A/alice/test_copy.txt % globus­url­copy \ gsiftp://globus.B.com/remote/A/alice/test_copy.txt \ file:///home/alice/test2.txt % cat test2.txt test

Page 24: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

Sistema de transferencia de trabajos TOG✔ Instalación de TOG en el sitio A

cp tog.tar $SGE_ROOTcd $SGE_ROOTtar xzvf tog.tar.gz

Directorio $SGE_ROOT/tog/

✔ Configuración de Grid Engine en A para usar TOGCrear los Complex: tog_host y tog_queueCrear una cola destinada a TOG

Page 25: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

tog_host complex

Page 26: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

El tog_queue complex

Page 27: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

Configuración de una cola TOG✔ La cola configurada TOG en el sitio local A es un “proxy” hacia el 

sitio remoto B✔ La configuración se hace como una cola normal de SGE 

( usando el interface qmon )✔ Se añaden los Complex que hemos definido para tog

Envío de trabajos:grid­proxy­initqsub ­q proxy.queue script.sh

Fichero de Input y Output deben ser especificados en el script#% input_file = input1#% output_file = out/output

Page 28: Sun Grid Engine en entornos Grid - ific.uv.esific.uv.es/grid/cursogrid/talks/IsabelCampos02.pdf · Sun Grid Engine en entornos Grid DESARROLLO DE LA CHARLA El Proyecto Sun Grid Engine

Documentación accesible en http://bifi.unizar.es/~isabel/downloads

✔ Esta presentación: sge_valencia.pdf✔ Instalación de SGE desde fuentes: notas_sge.pdf✔ Documento de instalación de TOG: tog.pdf

Muchas Gracias