SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
Sistema de colas CONDOR
     Juan Antonio Ortega

          Ana Silva
Contenidos
Conceptos previos
Cluster CICA
¿Qué es Condor?
¿Qué muestra Condor?
Tipos de máquinas Condor
Tareas Condor (ClassAd)
Universos Condor
Comandos básicos
Conceptos previos
✗   UMA : acceso uniforme a memoria. La memoria
    física se comparte de forma uniforme por todos
    lo procesadores.
✗   NUMA : acceso no uniforme a memoria. La
    memoria está distribuida entre los procesadores.
    Se usa el paso de mensajes para la comunicación
    entre memorias.
✗   Memoria : Compartida por red (Sistemas de
    disco, sistema de ficheros compartidos).
Conceptos previos
✗   MPI : Interfaz de paso de mensajes. Librerías
    estándares entre nodos que ejecutan un
    programa en un sistema de memoria distribuida.
✗   Pool : colección de procesadores que usa Condor.
✗   Paralelización : optimización de aplicaciones para
    su ejecución en multiprocesadores.
¿Qué es un cluster?
Conjunto de ordenadores que trabajan de forma
 conjunta, que permite la distribución de una gran
 carga de trabajo entre ellos.
¿Por qué usamos clusters?
  Por su bajo coste frente a una sola máquina con
  gran potencia de cálculo, es decir, con un gran
  número de procesadores.
Tipos de clusters
     Alta disponibilidad: máquinas que siempre deben estar en
 servicio.
     Reparto de carga : máquinas en las cuales hay un acceso
 másivo.
     Alto rendimiento : máquinas de cáculo intensivo.
Cluster CICA
Cluster
 - ~200 procesadores
 - Arquitectura 64 bits
 - 4 GB RAM por nodo
 - Herramientas de administración: C3,
 Ganglia
 - 200 GB de disco por nodo
 - Sistema de disco Sata-Ethernet “Coraid”
   Capacidad ~ 6 Teras
 - Sistema de ficheros compartidos LUSTRE

 - Herramientas software:
      - Compiladores Intel (Fortran, C++)
      - Bibliotecas matemáticas: Lapack
      Blas e Intel MKL.
      - OpenMPI
¿Qué es Condor?

✗   Sistema de gestión de carga para tareas de
    computación intensivas.


✗   Proporciona un sistema de colas, políticas de
    planificación de ejecución, esquema de
    prioridades, monitorización y gestión de recursos.
¿Para qué sirve Condor?
Es un sistema que nos permite abordar tareas de
  cálculo que sobrepasan a la capacidad de cálculo
  de una máquina individual.
Aplicaciones actuales:
✗   Simulaciones de Física Cuántica.
✗   Simulación molecular y de sist. periódicos.
✗   Cálculos de redes neuronales.
✗   Estudios de cambio climático en Andalucía.
    ...
Máquinas Condor I
✗   Submit : máquinas
    desde donde los
    usuarios lanzan sus
    tareas.
✗   Execute: máquinas
    donde se ejecutan las
    tareas.
✗   Central-manager:
    máquina desde la cual
    se monitorizan los
    nodos y las tareas
    enviadas.
Máquinas Condor II
En todas las máquinas la instalación de Condor es
 “full-install”, sólo se diferenciarán en su fichero
 de configuración “condor_config”.
En nuestro caso...
Máquina Central-manager y Submit
 “condor.cica.es”
Resto de máquinas Execute “Cluster CICA”
Los usuarios de Condor tendrán acceso a
  condor.cica.es, desde la cuál lanzarán las tareas.
Definición de trabajos I
✗   El envío de tareas se realiza mediante un fichero
    de información creado para Condor : CLASSAD
✗   El ClassAd lo debe crear el usuario para cada
    tarea que se vaya a lanzar.
✗   Debe informar de la tarea en sí, su ejecutable,
    sus argumentos, los ficheros de datos a procesar,
    los requerimientos de la máquina que necesite
    usar...
✗   Condor, se encarga de preparar el entorno,
    copiando en el nodo donde se envíe la tarea el
    ejecutable, creando ficheros de salida y un log,
    previamente definido por el usuario.
Definición de trabajos II
✗   Supongamos lo siguiente:
    Mi ejecutable es programa.exe
    Necesita los argumentos arg1 arg2
    Debe ejecutarse sobre Linux 64 bits
    Lo lanzamos a la cola
✗   Crearíamos un fichero con la siguiente
    información,
    executable = programa.exe
    requirements = (Arch == “X86_64” && OpSys == “LINUX”)
    arguments = arg1 arg2
    Queue
Atributos para ClassAd
✗   Al ejecutar condor_q -l , Condor nos mostrará
    una lista con los atributos que cumple el cluster
    para las tareas. (Memoria en uso, prioridad...)

✗   Ejecutando condor_status -l Condor mostrará
    los atributos referidos a las características de los
    nodos. (Sistema operativo, arquitectura...)

✗   Ambas clases de atributos podrán usarse para la
    creación del ClassAd, ya sea como requerimiento
    o valor determinado.
Universos Condor I

✗   ¿Qué es un universo para Condor?
    Es un entorno de ejecución.
    Conjunto de recursos que Condor pone a
    disposición de las tareas que van a ejecutarse en
    el cluster.
Universos Condor II


Condor para definir sus tareas, las agrupa por
 universo. Contamos con los siguientes :
✗   Universo Standard
✗   Universo Vanilla
✗   Universo Parallel
✗   Universo Java
Universo Standard


Se usa para lanzar tareas que han sido
 especialmente preparadas para su ejecución bajo
 Condor.


Les hace adquirir características, como por
  ejemplo: migrar de nodo.
Ejemplo Universo Standard
Ejemplo:
#include <stdio.h>                    condor_compile gcc hello.o -o hello
int main(void)
{ printf(quot;hello,Condornquot;);
    return 0;                           gcc -c hello.c -o hello.o
}




    #############################################
    # Submit description file for hello program #
    #############################################
    Executable     = hello
    Universe       = standard
    Output         = hello.out
    Log            = hello.log
    Queue
Universo Vanilla
Se usa para lanzar tareas que no han sido
 “condorizadas”.


Es el universo más usado.
Si una tarea se puede lanzar bajo cualquiera de los
  demás universos, se puede lanzar bajo el
  Universo Vanilla.


Devolverá los resultados a un fichero de salida.
Ejemplo de universo Vanilla
Ejemplo:
   ###########################################
   #                                         #
   # Example condor submit file for Matlab   #
   #                                         #
   ###########################################
   Universe = vanilla
   Executable = /afs/engr.wisc.edu/apps/bin/matlab
   Arguments = -nodisplay -nojvm

   Input = condor.input
   Output = condor.output
   Error = condor.error
   Log = condor.log

   should_transfer_files = yes
   when_to_transfer_output = on_exit_or_evict


   Queue
Universo Parallel


El universo Parallel permite la ejecución de tareas
  MPI.
Necesita el atributo machine_count, que indica el
 número de máquinas que se van a usar para
 ejecutar esa tarea.
✗   Planificador dedicado:
    Este universo se basa en que debe existir un elemento
    (llamado planificador dedicado) definido por el
    administrador del sistema, que hará una reserva de
    recursos en el cluster antes de lanzar la tarea.
Ejemplo Universo Parallel
Ejemplo:
 ######################################
 ## Example submit description file   #
 ## for LAM MPI                       #
 ######################################
 universe = parallel
 executable = lamscript
 arguments = my_lam_linked_executable arg1 arg2
 machine_count = 4
 Scheduler = DedidicatedScheduler@nombre.dominio
 should_transfer_files = yes
 when_to_transfer_output = on_exit
 transfer_input_files = my_lam_linked_executable
 queue
Universo Java

Es el universo para la gestión de tareas en java.


Se basa en la máquina virtual Java. La cual Condor
 prepara para la ejecución de la tarea.


✔   Condor dispone del comando condor_status -java que
    permite ver los nodos que disponen de java y con cuál
    versión cuentan.
Ejemplo Universo Java
Ejemplo
 public class Hello {
 public static void main( String [] args ){
              System.out.println(quot;Hello, world!nquot;);}
 }
 javac Hello.java
 #####################################
 # Example 1                         #
 # Execute a single Java class,      #
 # not on a shared file system       #
 #####################################
 universe       = java
 executable     = Hello.class
 arguments      = Hello
 output         = Hello.output
 error          = Hello.error
 should_transfer_files = YES
 when_to_transfer_output = ON_EXIT
 queue
ClassAd Condor-CICA
Dada a la arquitectura y configuración del cluster
 CICA hay atributos que serán comunes en el
 ClassAd:
✗   Universe : siempre habrá que indicarlo en el
    ClassAd.
✗   requirements : indicará las caracteristicas de los
    nodos executes. En nuestro caso su valor
    siempre será:
    requirements = (Arch == “X86_64” && OpSys == “LINUX”)

✗   should_transfer_files : este atributo es necesario
    cuando no se tiene memoria compartida, como
    es el caso del cluster CICA. Por lo que su valor
    será “YES”.
ClassAd Condor-CICA
✗   when_to_transfer_output : este atributo indicará
    cuando transfiere la ejecución los ficheros de
    salida. En nuestro caso indicaremos “ON_EXIT”,
    que nos dará los resultados al término de la
    tarea.
✗   Scheduler : Tan solo cuando lancemos tareas al
    universo Parallel indicaremos en este atributo el
    siguiente valor:
    Scheduler=“DedicatedScheduler@condor.cica.es”
✗   queue : indica que la tarea será puesta en la
    cola. Es un parámetro obligatorio.La ejecución de
    la tarea no será secuencial, sino paralela.
En resumen

universe = universe
executable = executable

arguments = arg1 arg2 ...

requirements = (Arch == quot;X86_64quot; && OpSys == quot;LINUXquot;)

log = logfile
output = outfile.$(NODE)
error = errfile.$(NODE)


should_transfer_files = yes
when_to_transfer_output = on_exit
Scheduler = quot;DedicatedScheduler@condor.cica.esquot;
queue
Comandos básicos
✗   Comprobación del estado de los nodos
    condor_status
    Mostrará una lista con todos los nodos del
    sistema de colas y su ocupación en ese instante.
    Se podrá ejecutar en cualquier nodo.
✗   Comprobación de la cola de tareas
    condor_q
    Mostrará la lista de tareas pendientes, en
    ejecución o retenidas que están en cola.
    Tan solo se podrá ejecutar en el Central-Manager.
    O bien añadiendo -global desde cualquier otro
    nodo.
Comandos básicos
✗   Borrado de las tareas lanzadas
    condor_rm [número de tarea]
    Eliminará las tareas que el propio usuario ha
    lanzado.
✗   Lanzado de tareas
    condor_submit ClassAd
    Se debe ejecutar desde el directorio donde se
    encuentren todos los ficheros que usen el
    ClassAd (ejecutable, argumentos, ficheros
    transferidos...)
Estado de los nodos
Cuando ejecutamos condor_status se muestran
 los siguientes valores,
✗   State
    Unclaimed : Sin reclamo, no está reservado.
    Claimed : reclamado, pasará a Busy.
    Owner : está siendo usado por el S.O.
✗   Activity
    Idle : Ocioso, no está ejecutando ninguna tarea.
    Busy : Ocupado, está ejecutando alguna tarea.
Estado de las tareas
Cuando ejecutamos condor_q se muestran los
 siguientes valores,
✗   State (ST)
    I : Idle, pendiente de asignación de máquina.
    H : Held, retenida, ya sea por error en el ClassAd
    o bien por error en la ejecución.
    R : running, en ejecución.
    X : executed, ya ha sido ejecutada y se está
    eliminando de la cola.
En Desarrollo


✗   Acceso a los recursos de cluster mediante una
    interfaz Web.
✗   Automatización de la creación de ClassAds
    mediante una interfaz Web.
✗   Sistema de autentificación global mediante un
    servidor de LDAP.
Gracias por la atención

           Preguntas



Correo: supercomputacion@cica.es
 Web: supercomputacion.cica.es

Mais conteúdo relacionado

Semelhante a Sistema de colas Condor en CICA (20)

Ejemplo de practica redes
Ejemplo de practica redes Ejemplo de practica redes
Ejemplo de practica redes
 
Arquitectura sistemas operativos
Arquitectura sistemas operativosArquitectura sistemas operativos
Arquitectura sistemas operativos
 
Escuela
EscuelaEscuela
Escuela
 
Tablas de comandos
Tablas de comandosTablas de comandos
Tablas de comandos
 
Introducción a ndk
Introducción a ndkIntroducción a ndk
Introducción a ndk
 
T 25
T 25T 25
T 25
 
Microprocesadores1
Microprocesadores1Microprocesadores1
Microprocesadores1
 
T 25
T 25T 25
T 25
 
T 25
T 25T 25
T 25
 
Instancias Amazon EC2 a profundidad
Instancias Amazon EC2 a profundidadInstancias Amazon EC2 a profundidad
Instancias Amazon EC2 a profundidad
 
Lenguaje java
Lenguaje javaLenguaje java
Lenguaje java
 
Snort 2006
Snort 2006Snort 2006
Snort 2006
 
Linux
LinuxLinux
Linux
 
Cloud Computing: Algoritmos en la Nube
Cloud Computing: Algoritmos en la NubeCloud Computing: Algoritmos en la Nube
Cloud Computing: Algoritmos en la Nube
 
Realidad Aumentada 01 documentacion tapir
Realidad Aumentada 01 documentacion tapirRealidad Aumentada 01 documentacion tapir
Realidad Aumentada 01 documentacion tapir
 
Arquitecturas so
Arquitecturas soArquitecturas so
Arquitecturas so
 
Intro cassandra
Intro cassandraIntro cassandra
Intro cassandra
 
Sesion 02 c++
Sesion 02   c++Sesion 02   c++
Sesion 02 c++
 
Ec2
Ec2Ec2
Ec2
 
Clusterhomogeneorocks
ClusterhomogeneorocksClusterhomogeneorocks
Clusterhomogeneorocks
 

Mais de Juan Carlos Rubio Pineda

Ebe2013: productividad conherramientas en la nube
Ebe2013: productividad conherramientas en la nubeEbe2013: productividad conherramientas en la nube
Ebe2013: productividad conherramientas en la nubeJuan Carlos Rubio Pineda
 
Redes lan2 : instrucción 1/2006 de la Junta de Andalucía
Redes lan2 : instrucción 1/2006 de la Junta de AndalucíaRedes lan2 : instrucción 1/2006 de la Junta de Andalucía
Redes lan2 : instrucción 1/2006 de la Junta de AndalucíaJuan Carlos Rubio Pineda
 
Supercomputación y Cloud computing en CICA. Jornadas Universidad de Huelva
Supercomputación y Cloud computing en CICA. Jornadas Universidad de HuelvaSupercomputación y Cloud computing en CICA. Jornadas Universidad de Huelva
Supercomputación y Cloud computing en CICA. Jornadas Universidad de HuelvaJuan Carlos Rubio Pineda
 
Seminario de metodologías ágiles, bloque I
Seminario de metodologías ágiles, bloque ISeminario de metodologías ágiles, bloque I
Seminario de metodologías ágiles, bloque IJuan Carlos Rubio Pineda
 
8/9 Curso JEE5, Soa, Web Services, ESB y XML
8/9 Curso JEE5, Soa, Web Services, ESB y XML8/9 Curso JEE5, Soa, Web Services, ESB y XML
8/9 Curso JEE5, Soa, Web Services, ESB y XMLJuan Carlos Rubio Pineda
 
7/9 Curso JEE5, Soa, Web Services, ESB y XML
7/9 Curso JEE5, Soa, Web Services, ESB y XML7/9 Curso JEE5, Soa, Web Services, ESB y XML
7/9 Curso JEE5, Soa, Web Services, ESB y XMLJuan Carlos Rubio Pineda
 
6/9 Curso JEE5, Soa, Web Services, ESB y XML
6/9 Curso JEE5, Soa, Web Services, ESB y XML6/9 Curso JEE5, Soa, Web Services, ESB y XML
6/9 Curso JEE5, Soa, Web Services, ESB y XMLJuan Carlos Rubio Pineda
 
4/9 Curso JEE5, Soa, Web Services, ESB y XML
4/9 Curso JEE5, Soa, Web Services, ESB y XML4/9 Curso JEE5, Soa, Web Services, ESB y XML
4/9 Curso JEE5, Soa, Web Services, ESB y XMLJuan Carlos Rubio Pineda
 
2/9 Curso JEE5, Soa, Web Services, ESB y XML
2/9 Curso JEE5, Soa, Web Services, ESB y XML2/9 Curso JEE5, Soa, Web Services, ESB y XML
2/9 Curso JEE5, Soa, Web Services, ESB y XMLJuan Carlos Rubio Pineda
 
9/9 Curso JEE5, Soa, Web Services, ESB y XML
9/9 Curso JEE5, Soa, Web Services, ESB y XML9/9 Curso JEE5, Soa, Web Services, ESB y XML
9/9 Curso JEE5, Soa, Web Services, ESB y XMLJuan Carlos Rubio Pineda
 
5/9 Curso JEE5, Soa, Web Services, ESB y XML
5/9 Curso JEE5, Soa, Web Services, ESB y XML5/9 Curso JEE5, Soa, Web Services, ESB y XML
5/9 Curso JEE5, Soa, Web Services, ESB y XMLJuan Carlos Rubio Pineda
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XMLJuan Carlos Rubio Pineda
 

Mais de Juan Carlos Rubio Pineda (20)

Ebe2013: productividad conherramientas en la nube
Ebe2013: productividad conherramientas en la nubeEbe2013: productividad conherramientas en la nube
Ebe2013: productividad conherramientas en la nube
 
Gdg 2013
Gdg 2013Gdg 2013
Gdg 2013
 
Anexo seguridad tic-centrorespaldo
Anexo seguridad tic-centrorespaldoAnexo seguridad tic-centrorespaldo
Anexo seguridad tic-centrorespaldo
 
Continuidad de sistemas
Continuidad de sistemasContinuidad de sistemas
Continuidad de sistemas
 
Redes lan2 : instrucción 1/2006 de la Junta de Andalucía
Redes lan2 : instrucción 1/2006 de la Junta de AndalucíaRedes lan2 : instrucción 1/2006 de la Junta de Andalucía
Redes lan2 : instrucción 1/2006 de la Junta de Andalucía
 
Redes lan1: cableado (orden 25/9/2007)
Redes lan1: cableado (orden 25/9/2007)Redes lan1: cableado (orden 25/9/2007)
Redes lan1: cableado (orden 25/9/2007)
 
Zentyal curso-ja
Zentyal curso-jaZentyal curso-ja
Zentyal curso-ja
 
Supercomputación y Cloud computing en CICA. Jornadas Universidad de Huelva
Supercomputación y Cloud computing en CICA. Jornadas Universidad de HuelvaSupercomputación y Cloud computing en CICA. Jornadas Universidad de Huelva
Supercomputación y Cloud computing en CICA. Jornadas Universidad de Huelva
 
Seminario metodologías agiles bloque II
Seminario metodologías agiles bloque IISeminario metodologías agiles bloque II
Seminario metodologías agiles bloque II
 
Seminario de metodologías ágiles, bloque I
Seminario de metodologías ágiles, bloque ISeminario de metodologías ágiles, bloque I
Seminario de metodologías ágiles, bloque I
 
8/9 Curso JEE5, Soa, Web Services, ESB y XML
8/9 Curso JEE5, Soa, Web Services, ESB y XML8/9 Curso JEE5, Soa, Web Services, ESB y XML
8/9 Curso JEE5, Soa, Web Services, ESB y XML
 
7/9 Curso JEE5, Soa, Web Services, ESB y XML
7/9 Curso JEE5, Soa, Web Services, ESB y XML7/9 Curso JEE5, Soa, Web Services, ESB y XML
7/9 Curso JEE5, Soa, Web Services, ESB y XML
 
6/9 Curso JEE5, Soa, Web Services, ESB y XML
6/9 Curso JEE5, Soa, Web Services, ESB y XML6/9 Curso JEE5, Soa, Web Services, ESB y XML
6/9 Curso JEE5, Soa, Web Services, ESB y XML
 
4/9 Curso JEE5, Soa, Web Services, ESB y XML
4/9 Curso JEE5, Soa, Web Services, ESB y XML4/9 Curso JEE5, Soa, Web Services, ESB y XML
4/9 Curso JEE5, Soa, Web Services, ESB y XML
 
3/9 soa y web services
3/9 soa y web services3/9 soa y web services
3/9 soa y web services
 
2/9 Curso JEE5, Soa, Web Services, ESB y XML
2/9 Curso JEE5, Soa, Web Services, ESB y XML2/9 Curso JEE5, Soa, Web Services, ESB y XML
2/9 Curso JEE5, Soa, Web Services, ESB y XML
 
9/9 Curso JEE5, Soa, Web Services, ESB y XML
9/9 Curso JEE5, Soa, Web Services, ESB y XML9/9 Curso JEE5, Soa, Web Services, ESB y XML
9/9 Curso JEE5, Soa, Web Services, ESB y XML
 
5/9 Curso JEE5, Soa, Web Services, ESB y XML
5/9 Curso JEE5, Soa, Web Services, ESB y XML5/9 Curso JEE5, Soa, Web Services, ESB y XML
5/9 Curso JEE5, Soa, Web Services, ESB y XML
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML
 
Virtualizacion
VirtualizacionVirtualizacion
Virtualizacion
 

Último

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 

Último (16)

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 

Sistema de colas Condor en CICA

  • 1. Sistema de colas CONDOR Juan Antonio Ortega Ana Silva
  • 2. Contenidos Conceptos previos Cluster CICA ¿Qué es Condor? ¿Qué muestra Condor? Tipos de máquinas Condor Tareas Condor (ClassAd) Universos Condor Comandos básicos
  • 3. Conceptos previos ✗ UMA : acceso uniforme a memoria. La memoria física se comparte de forma uniforme por todos lo procesadores. ✗ NUMA : acceso no uniforme a memoria. La memoria está distribuida entre los procesadores. Se usa el paso de mensajes para la comunicación entre memorias. ✗ Memoria : Compartida por red (Sistemas de disco, sistema de ficheros compartidos).
  • 4. Conceptos previos ✗ MPI : Interfaz de paso de mensajes. Librerías estándares entre nodos que ejecutan un programa en un sistema de memoria distribuida. ✗ Pool : colección de procesadores que usa Condor. ✗ Paralelización : optimización de aplicaciones para su ejecución en multiprocesadores.
  • 5. ¿Qué es un cluster? Conjunto de ordenadores que trabajan de forma conjunta, que permite la distribución de una gran carga de trabajo entre ellos. ¿Por qué usamos clusters? Por su bajo coste frente a una sola máquina con gran potencia de cálculo, es decir, con un gran número de procesadores. Tipos de clusters Alta disponibilidad: máquinas que siempre deben estar en servicio. Reparto de carga : máquinas en las cuales hay un acceso másivo. Alto rendimiento : máquinas de cáculo intensivo.
  • 6. Cluster CICA Cluster - ~200 procesadores - Arquitectura 64 bits - 4 GB RAM por nodo - Herramientas de administración: C3, Ganglia - 200 GB de disco por nodo - Sistema de disco Sata-Ethernet “Coraid” Capacidad ~ 6 Teras - Sistema de ficheros compartidos LUSTRE - Herramientas software: - Compiladores Intel (Fortran, C++) - Bibliotecas matemáticas: Lapack Blas e Intel MKL. - OpenMPI
  • 7. ¿Qué es Condor? ✗ Sistema de gestión de carga para tareas de computación intensivas. ✗ Proporciona un sistema de colas, políticas de planificación de ejecución, esquema de prioridades, monitorización y gestión de recursos.
  • 8. ¿Para qué sirve Condor? Es un sistema que nos permite abordar tareas de cálculo que sobrepasan a la capacidad de cálculo de una máquina individual. Aplicaciones actuales: ✗ Simulaciones de Física Cuántica. ✗ Simulación molecular y de sist. periódicos. ✗ Cálculos de redes neuronales. ✗ Estudios de cambio climático en Andalucía. ...
  • 9. Máquinas Condor I ✗ Submit : máquinas desde donde los usuarios lanzan sus tareas. ✗ Execute: máquinas donde se ejecutan las tareas. ✗ Central-manager: máquina desde la cual se monitorizan los nodos y las tareas enviadas.
  • 10. Máquinas Condor II En todas las máquinas la instalación de Condor es “full-install”, sólo se diferenciarán en su fichero de configuración “condor_config”. En nuestro caso... Máquina Central-manager y Submit “condor.cica.es” Resto de máquinas Execute “Cluster CICA” Los usuarios de Condor tendrán acceso a condor.cica.es, desde la cuál lanzarán las tareas.
  • 11. Definición de trabajos I ✗ El envío de tareas se realiza mediante un fichero de información creado para Condor : CLASSAD ✗ El ClassAd lo debe crear el usuario para cada tarea que se vaya a lanzar. ✗ Debe informar de la tarea en sí, su ejecutable, sus argumentos, los ficheros de datos a procesar, los requerimientos de la máquina que necesite usar... ✗ Condor, se encarga de preparar el entorno, copiando en el nodo donde se envíe la tarea el ejecutable, creando ficheros de salida y un log, previamente definido por el usuario.
  • 12. Definición de trabajos II ✗ Supongamos lo siguiente: Mi ejecutable es programa.exe Necesita los argumentos arg1 arg2 Debe ejecutarse sobre Linux 64 bits Lo lanzamos a la cola ✗ Crearíamos un fichero con la siguiente información, executable = programa.exe requirements = (Arch == “X86_64” && OpSys == “LINUX”) arguments = arg1 arg2 Queue
  • 13. Atributos para ClassAd ✗ Al ejecutar condor_q -l , Condor nos mostrará una lista con los atributos que cumple el cluster para las tareas. (Memoria en uso, prioridad...) ✗ Ejecutando condor_status -l Condor mostrará los atributos referidos a las características de los nodos. (Sistema operativo, arquitectura...) ✗ Ambas clases de atributos podrán usarse para la creación del ClassAd, ya sea como requerimiento o valor determinado.
  • 14. Universos Condor I ✗ ¿Qué es un universo para Condor? Es un entorno de ejecución. Conjunto de recursos que Condor pone a disposición de las tareas que van a ejecutarse en el cluster.
  • 15. Universos Condor II Condor para definir sus tareas, las agrupa por universo. Contamos con los siguientes : ✗ Universo Standard ✗ Universo Vanilla ✗ Universo Parallel ✗ Universo Java
  • 16. Universo Standard Se usa para lanzar tareas que han sido especialmente preparadas para su ejecución bajo Condor. Les hace adquirir características, como por ejemplo: migrar de nodo.
  • 17. Ejemplo Universo Standard Ejemplo: #include <stdio.h> condor_compile gcc hello.o -o hello int main(void) { printf(quot;hello,Condornquot;); return 0; gcc -c hello.c -o hello.o } ############################################# # Submit description file for hello program # ############################################# Executable = hello Universe = standard Output = hello.out Log = hello.log Queue
  • 18. Universo Vanilla Se usa para lanzar tareas que no han sido “condorizadas”. Es el universo más usado. Si una tarea se puede lanzar bajo cualquiera de los demás universos, se puede lanzar bajo el Universo Vanilla. Devolverá los resultados a un fichero de salida.
  • 19. Ejemplo de universo Vanilla Ejemplo: ########################################### # # # Example condor submit file for Matlab # # # ########################################### Universe = vanilla Executable = /afs/engr.wisc.edu/apps/bin/matlab Arguments = -nodisplay -nojvm Input = condor.input Output = condor.output Error = condor.error Log = condor.log should_transfer_files = yes when_to_transfer_output = on_exit_or_evict Queue
  • 20. Universo Parallel El universo Parallel permite la ejecución de tareas MPI. Necesita el atributo machine_count, que indica el número de máquinas que se van a usar para ejecutar esa tarea. ✗ Planificador dedicado: Este universo se basa en que debe existir un elemento (llamado planificador dedicado) definido por el administrador del sistema, que hará una reserva de recursos en el cluster antes de lanzar la tarea.
  • 21. Ejemplo Universo Parallel Ejemplo: ###################################### ## Example submit description file # ## for LAM MPI # ###################################### universe = parallel executable = lamscript arguments = my_lam_linked_executable arg1 arg2 machine_count = 4 Scheduler = DedidicatedScheduler@nombre.dominio should_transfer_files = yes when_to_transfer_output = on_exit transfer_input_files = my_lam_linked_executable queue
  • 22. Universo Java Es el universo para la gestión de tareas en java. Se basa en la máquina virtual Java. La cual Condor prepara para la ejecución de la tarea. ✔ Condor dispone del comando condor_status -java que permite ver los nodos que disponen de java y con cuál versión cuentan.
  • 23. Ejemplo Universo Java Ejemplo public class Hello { public static void main( String [] args ){              System.out.println(quot;Hello, world!nquot;);} } javac Hello.java ##################################### # Example 1                         # # Execute a single Java class,      # # not on a shared file system       # ##################################### universe       = java executable     = Hello.class arguments      = Hello output         = Hello.output error          = Hello.error should_transfer_files = YES when_to_transfer_output = ON_EXIT queue
  • 24. ClassAd Condor-CICA Dada a la arquitectura y configuración del cluster CICA hay atributos que serán comunes en el ClassAd: ✗ Universe : siempre habrá que indicarlo en el ClassAd. ✗ requirements : indicará las caracteristicas de los nodos executes. En nuestro caso su valor siempre será: requirements = (Arch == “X86_64” && OpSys == “LINUX”) ✗ should_transfer_files : este atributo es necesario cuando no se tiene memoria compartida, como es el caso del cluster CICA. Por lo que su valor será “YES”.
  • 25. ClassAd Condor-CICA ✗ when_to_transfer_output : este atributo indicará cuando transfiere la ejecución los ficheros de salida. En nuestro caso indicaremos “ON_EXIT”, que nos dará los resultados al término de la tarea. ✗ Scheduler : Tan solo cuando lancemos tareas al universo Parallel indicaremos en este atributo el siguiente valor: Scheduler=“DedicatedScheduler@condor.cica.es” ✗ queue : indica que la tarea será puesta en la cola. Es un parámetro obligatorio.La ejecución de la tarea no será secuencial, sino paralela.
  • 26. En resumen universe = universe executable = executable arguments = arg1 arg2 ... requirements = (Arch == quot;X86_64quot; && OpSys == quot;LINUXquot;) log = logfile output = outfile.$(NODE) error = errfile.$(NODE) should_transfer_files = yes when_to_transfer_output = on_exit Scheduler = quot;DedicatedScheduler@condor.cica.esquot; queue
  • 27. Comandos básicos ✗ Comprobación del estado de los nodos condor_status Mostrará una lista con todos los nodos del sistema de colas y su ocupación en ese instante. Se podrá ejecutar en cualquier nodo. ✗ Comprobación de la cola de tareas condor_q Mostrará la lista de tareas pendientes, en ejecución o retenidas que están en cola. Tan solo se podrá ejecutar en el Central-Manager. O bien añadiendo -global desde cualquier otro nodo.
  • 28. Comandos básicos ✗ Borrado de las tareas lanzadas condor_rm [número de tarea] Eliminará las tareas que el propio usuario ha lanzado. ✗ Lanzado de tareas condor_submit ClassAd Se debe ejecutar desde el directorio donde se encuentren todos los ficheros que usen el ClassAd (ejecutable, argumentos, ficheros transferidos...)
  • 29. Estado de los nodos Cuando ejecutamos condor_status se muestran los siguientes valores, ✗ State Unclaimed : Sin reclamo, no está reservado. Claimed : reclamado, pasará a Busy. Owner : está siendo usado por el S.O. ✗ Activity Idle : Ocioso, no está ejecutando ninguna tarea. Busy : Ocupado, está ejecutando alguna tarea.
  • 30. Estado de las tareas Cuando ejecutamos condor_q se muestran los siguientes valores, ✗ State (ST) I : Idle, pendiente de asignación de máquina. H : Held, retenida, ya sea por error en el ClassAd o bien por error en la ejecución. R : running, en ejecución. X : executed, ya ha sido ejecutada y se está eliminando de la cola.
  • 31. En Desarrollo ✗ Acceso a los recursos de cluster mediante una interfaz Web. ✗ Automatización de la creación de ClassAds mediante una interfaz Web. ✗ Sistema de autentificación global mediante un servidor de LDAP.
  • 32. Gracias por la atención Preguntas Correo: supercomputacion@cica.es Web: supercomputacion.cica.es