Sun Grid Engine en entornos Grid Isabel Campos BIFI
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
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$
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)
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
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.
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
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
Instalación de SGE Open Source Nodo interactivo sge_commd Nodo de envío Nodo servidor sge_commd sge_qmaster Nodo master sge_schedd Nodo de computación? sge_commd sge_execd sge_sheperd Nodos de ejecución
Instalación de SGE Open Source
SGE Job monitoring
Instalación de SGE Open Source Trabajo en serie #/bin/sh #$ o $HOME/mydir/myjob.out #$ N myjob #$ M user@unizar.es #$ l emt64=yes. /etc/profile.sge. intel81.setup cd mydir./myprog Trabajo en Paralelo #/bin/sh #$ o $HOME/mydir/myjob.out #$ N myjob #$ pe mpi 4 10 #$ M user@domain.net. /etc/profile.sge. /etc/mpi.setup e mpi cd mydir mpirun np $NSLOTS./myprog
Integración de SGE en entornos GRID (I) Conectividad en entornos de trabajo locales bifi.unizar.es
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
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
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
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
Esquema de funcionamiento de SGE con Globus Cluster globus job submit Gatekeeper Usuarios Globus
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. 2. 3. 4. 5. SGE instalado en ambos sitios (A y B) Globus instalado en ambos sitios (A y B) Globus Java CoG en el sitio que tiene la cola de TOG (ej. A) En B, SGE configurado como el job manager de Globus Firewall: puertos determinados abiertos
Sistema de transferencia de trabajos en un GRID A Grid Engine B Grid Engine TOG Globus Globus Usuarios de A pueden usar los recursos de B gracias al TOG
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
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
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
Sistema de transferencia de trabajos TOG Instalación de TOG en el sitio A cp tog.tar $SGE_ROOT cd $SGE_ROOT tar xzvf tog.tar.gz Directorio $SGE_ROOT/tog/ Configuración de Grid Engine en A para usar TOG Crear los Complex: tog_host y tog_queue Crear una cola destinada a TOG
tog_host complex
El tog_queue complex
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 init qsub q proxy.queue script.sh Fichero de Input y Output deben ser especificados en el script #% input_file = input1 #% output_file = out/output
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