La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Condor. Introducción Proyecto de investigación nacido en la Universidad de Wisconsin. Maneja más de 1000 estaciones de trabajo. De acuerdo con las estadísticas.

Presentaciones similares


Presentación del tema: "Condor. Introducción Proyecto de investigación nacido en la Universidad de Wisconsin. Maneja más de 1000 estaciones de trabajo. De acuerdo con las estadísticas."— Transcripción de la presentación:

1 Condor

2 Introducción Proyecto de investigación nacido en la Universidad de Wisconsin. Maneja más de 1000 estaciones de trabajo. De acuerdo con las estadísticas distribuye más de 650 CPU a diario.

3 ¿Que es el proyecto Condor? Sistema de manejo de carga de trabajo tareas de cómputo intensivo. tareas de cómputo intensivo. encolado de tareas. encolado de tareas. políticas de scheduling. políticas de scheduling. esquemas de prioridades. esquemas de prioridades. manejo y monitoreo de recursos. manejo y monitoreo de recursos.

4 ¿Que es el proyecto Condor? Puede configurarse para usar sólo las máquinas inactivas. Puede configurarse para usar sólo las máquinas inactivas. Migra procesos de máquinas re-activadas a máquinas inactivas. Migra procesos de máquinas re-activadas a máquinas inactivas. No requiere de un sistema de archivos compartidos. No requiere de un sistema de archivos compartidos. ClassAd provee un framework que combina los requerimientos con respuestas. ClassAd provee un framework que combina los requerimientos con respuestas.

5 ¿ Que es HTC ? Cómputo de Alto Rendimiento High-Throughput Computing. High-Throughput Computing. Problemas que requieran semanas o meses de cómputo para ser resueltos. Problemas que requieran semanas o meses de cómputo para ser resueltos. Ambiente de cómputo que maneje grandes Ambiente de cómputo que maneje grandes cantidades de cómputo. cantidades de cómputo.

6 Computo de Alto Rendimiento Uso eficiente de los recursos disponibles. Uso eficiente de los recursos disponibles. Evolución: un mainframe muchas pc´s. Evolución: un mainframe muchas pc´s. Condor: pone a disposición recursos ociosos. estos los accede cualquier usuario en estos los accede cualquier usuario en ambiente distribuido. ambiente distribuido.

7 ¿Por que usar Condor? Aprovechar todos aquellos recursos que se encuentran sin uso. Aprovechar todos aquellos recursos que se encuentran sin uso. Procesar las tareas en máquinas ociosas. Procesar las tareas en máquinas ociosas. No es necesaria la modificación del código fuente. No es necesaria la modificación del código fuente. Redireccionamiento con las librerías de Condor. Redireccionamiento con las librerías de Condor.

8 ¿Por que usar Condor? Checkpoints y System calls remotas. Checkpoints y System calls remotas. Manejo de checkpoints reducción del tiempo de cómputo. Manejo de checkpoints reducción del tiempo de cómputo. Tolerancia a fallas. Tolerancia a fallas. Migración de procesos. Migración de procesos.

9 ¿Como ejecutar tareas en Condor? Preparación del código. Tareas en modo background y batch. Tareas en modo background y batch. El universo Condor. Distintos ambientes para la ejecución. Distintos ambientes para la ejecución. Standard y Vanilla. Standard y Vanilla.

10 Ejecución de tareas en Condor Archivo de descripción del envío. información sobre la tarea. información sobre la tarea. plataforma requerida, ejecutable a correr, etc. plataforma requerida, ejecutable a correr, etc. Enviar una tarea condor_submit. condor_submit. monitorear el progreso de la tarea. monitorear el progreso de la tarea. modificar las prioridades. modificar las prioridades. informar checkpoints y migraciones. informar checkpoints y migraciones.

11 Universos en Condor Especificado en el archivo de envío. Especificado en el archivo de envío. Indica características en la ejecución. Indica características en la ejecución.

12 Universos en Condor Universo Standard checkpoints y systems calls remotos. checkpoints y systems calls remotos. checkpoints: snapshots del estado actual checkpoints: snapshots del estado actual del proceso. del proceso. systems calls remotos: simulan ejecución systems calls remotos: simulan ejecución en la máquina origen. en la máquina origen. Proceso condor_shadow. Proceso condor_shadow.

13 Universos en Condor Universo Vanilla Ejecutar programas que no podrán ser Ejecutar programas que no podrán ser re-direccionados. re-direccionados. Scripts del sistema operativo. Scripts del sistema operativo. No posee checkpoints y systems calls No posee checkpoints y systems calls remotos. remotos. Suspende o reinicia la tarea. Suspende o reinicia la tarea. Archivos de E/S mediante NFS. Archivos de E/S mediante NFS.

14 Universos en Condor Universo PVM/MPI Para programas con PVM o MPI. Para programas con PVM o MPI. Universo Globus Tareas Globus desde Condor. Tareas Globus desde Condor. Traducida al lenguaje de especificación Traducida al lenguaje de especificación de recursos Globus (RSL). de recursos Globus (RSL). Enviada a Globus con GRAM. Enviada a Globus con GRAM.

15 Universos en Condor Universo Java Para programas java. Para programas java. Deben correr en cualquier JVM. Deben correr en cualquier JVM. Universo Scheduler Distintas condiciones de ejecución de tareas. Distintas condiciones de ejecución de tareas. Ejecución en máquina de envío. Ejecución en máquina de envío. Sin apropiación. Sin apropiación.

16 Características Particulares Checkpoint y Migración Máquina no disponible, nuevo checkpoint. Máquina no disponible, nuevo checkpoint. La tarea continúa luego de ser migrada, en el punto de checkpoint. La tarea continúa luego de ser migrada, en el punto de checkpoint. Tolerancia a fallas. Tolerancia a fallas. Llamadas de Sistemas Remotas Preserva el ambiente de ejecución local. Preserva el ambiente de ejecución local. Los archivos a ejecutar no necesitan permisos especiales. Los archivos a ejecutar no necesitan permisos especiales.

17 Características Particulares Sin necesidad de cambios en el código fuente del usuario Capaz de ejecutar programas no interactivos Capaz de ejecutar programas no interactivos Checkpoints y las migraciones son transparentes y automáticas Checkpoints y las migraciones son transparentes y automáticas Ordenamiento de Tareas Grafico acíclico dirigido. Grafico acíclico dirigido. El orden de ejecución sigue las tareas dadas por el grafo. El orden de ejecución sigue las tareas dadas por el grafo.

18 Características Particulares Sensible al deseo del propietario de la máquina remota Propietario tiene prioridad absoluta. Propietario tiene prioridad absoluta. Máquina ociosa, puede ser usada por otros. Máquina ociosa, puede ser usada por otros. Para volver a la actividad no es necesaria ninguna acción Para volver a la actividad no es necesaria ninguna acciónClassAds Combinación de requerimientos y respuestas. Combinación de requerimientos y respuestas. Especificación de características de la máquina requerida. Especificación de características de la máquina requerida. Especificación de usuarios que pueden acceder a una máquina. Especificación de usuarios que pueden acceder a una máquina.

19 Prioridades y Apropiación Prioridad de Tareas Asignación de prioridades por tarea Asignación de prioridades por tarea Controlar el orden de ejecución Controlar el orden de ejecución Rango Rango

20 Prioridades y Apropiación Prioridad de Usuarios Asignación de maquinas según la prioridad de usuario. Asignación de maquinas según la prioridad de usuario. Valor bajo Prioridad alta Valor bajo Prioridad alta Tamaño del conjunto de maquinas inversamente proporcional al nivel de usuario. Tamaño del conjunto de maquinas inversamente proporcional al nivel de usuario. Procura un reparto equitativo de las maquinas disponibles Procura un reparto equitativo de las maquinas disponibles

21 Mecanismo de Checkpoints Snapshot del estado actual del programa Snapshot del estado actual del programa Reconsideraciones de las decisiones de scheduling Reconsideraciones de las decisiones de scheduling Checkpoints periódicos Tolerante a fallas Checkpoints periódicos Tolerante a fallas Implementado mediante manejador de señales Implementado mediante manejador de señales

22 Mecanismo de Checkpoints Que se guarda? Contenido de la pila del proceso Contenido de la pila del proceso Segmento de datos Segmento de datos Código de todas las librerías compartidas Código de todas las librerías compartidas Datos mapeados en el espacio de memoria del proceso Datos mapeados en el espacio de memoria del proceso Estado de todos los archivos abiertos Estado de todos los archivos abiertos Señales pendientes Señales pendientes

23 Mecanismo de Checkpoints Apropiación de proceso Recuperación a partir del ultimo checkpoint. Apropiación de proceso Recuperación a partir del ultimo checkpoint. Checkpoints Periódicos Cada pool configura su PERIODIC_CHECKPOINT Cada pool configura su PERIODIC_CHECKPOINT Se suspende la tarea se realiza el checkpoint se reaunuda la tarea Se suspende la tarea se realiza el checkpoint se reaunuda la tarea

24 Mecanismo de Checkpoints Checkpoints por demanda Checkpoints por demanda Se realiza de forma manual, no posee periodicidad Se realiza de forma manual, no posee periodicidad Mediante el comando condor_ckpt Mediante el comando condor_ckpt En ambos casos: Las tareas continúan desde el ultimo checkpoint registrado Las tareas continúan desde el ultimo checkpoint registrado Falla durante el checkpoint Reanuda desde el checkpoint anterior Falla durante el checkpoint Reanuda desde el checkpoint anterior Algoritmo al estilo commit, Algoritmo al estilo commit,

25 Mecanismo de Checkpoints Por defecto se almacenan en maquina de origen Por defecto se almacenan en maquina de origen Se puede configurar un servidor para almacenar todos los checkpoints (repositorio) Se puede configurar un servidor para almacenar todos los checkpoints (repositorio)

26 Seguridad en Checkpoints Limitación de programas Tornan inseguro el uso de checkpoints Limitación de programas Tornan inseguro el uso de checkpoints 1.Se almacena una imagen de checkpoint. 2.Se lee desde el archivo. 3.Se escribe en el archivo. 4.Falla la ejecución, se vuelve al punto 2.

27 Calculo por Demanda (COD) Extensión de Condor Extensión de Condor Se utiliza para la ejecución de tarea que conllevan periodos cortos de cálculo Se utiliza para la ejecución de tarea que conllevan periodos cortos de cálculo Acceso inmediato a los recursos Acceso inmediato a los recursos Requieren tiempo de respuesta interactivo Requieren tiempo de respuesta interactivo Ejemplo Ejemplo 1.Rendering de gráficos 2.Hojas de calculo

28 Funcionamiento de COD Recursos que ejecutan tareas Recursos que ejecutan tareas Encolamiento de una tarea COD Se Encolamiento de una tarea COD Se suspende la tarea de mas baja prioridad suspende la tarea de mas baja prioridad Ejecución inmediata de la tarea Ejecución inmediata de la tarea Finalización de una COD Reanudacion de la tarea suspendida Finalización de una COD Reanudacion de la tarea suspendida

29 Creación y manejo de COD El encargado de definir qué usuarios podrán manejar CODs es el administrador El encargado de definir qué usuarios podrán manejar CODs es el administrador Un usuario autorizado puede suspende o reiniciar una tarea COD Un usuario autorizado puede suspende o reiniciar una tarea COD Un usuario autorizado puede crear y usar tareas COD Un usuario autorizado puede crear y usar tareas COD

30 Como definir aplicaciones COD Para ejecutar un COD, se deben definir las características de la tarea Para ejecutar un COD, se deben definir las características de la tarea 1.Ejecutable o el script a usar * 2.Directorio en donde ejecutar la aplicación 3.Archivos para la entrada y salida estándar * Las características se especifican en una ClassAd Las características se especifican en una ClassAd Por ahora nos hay mecanismo que permita la transferencia de información a una tarea COD Por ahora nos hay mecanismo que permita la transferencia de información a una tarea COD La E/S debe ser ejecutada localmente o en NFS La E/S debe ser ejecutada localmente o en NFS

31 Introducción al computo Grid IDEA: Poder ejecutar tareas que pertenece a un pool en otro distinto. IDEA: Poder ejecutar tareas que pertenece a un pool en otro distinto. Se denomina flocking (migración) Se denomina flocking (migración) Maquinas no disponibles Migracion hacia otro pool Maquinas no disponibles Migracion hacia otro pool Soporte de Globus (http://www.globus.org/) Soporte de Globus (http://www.globus.org/)

32 Computo Grid ¿Qué es Globus? Su investigación se centra en la construcción de la infraestructura necesaria para soportar computo de alta performance sobre redes WAN Su investigación se centra en la construcción de la infraestructura necesaria para soportar computo de alta performance sobre redes WAN En nuestro caso se limita a proveer de la autenticación, autorización y captura de tareas remotas (inclusive de la transferencia de datos). En nuestro caso se limita a proveer de la autenticación, autorización y captura de tareas remotas (inclusive de la transferencia de datos).

33 Computo Grid Flocking Ejecución de tareas sobre maquinas no pertenecientes al pool en donde fueron enviadas Ejecución de tareas sobre maquinas no pertenecientes al pool en donde fueron enviadas Un pool hará flocking solo si no es capaz de ejecutar la tarea localmente Un pool hará flocking solo si no es capaz de ejecutar la tarea localmente Problemas con el Universo de la tarea Problemas con el Universo de la tarea

34 Computo Grid ¿Que es Condor-G? Se vera cuando desglosemos como esta compuesto el software de Condor Se vera cuando desglosemos como esta compuesto el software de Condor Dos partes principales: Dos partes principales: 1. Modulo de manejo de tareas 2. Modulo de manejo de recursos

35 Limitaciones 1. No se permiten el uso de procesos multi-tarea (fork(),exec(), y system()). 2.No hay comunicación entre procesos (pipes, semáforos y memoria compartida). 3.Comunicación de red debe ser breve, puede causar retraso en los checkpoints y las migraciones. 4.No se permite enviar o recibir las señales SIGUSR2 o SIGTSTP. Se reserva para uso interno. 5.No están permitidas las llamadas a sistemas como alarm(), getitimer(), y sleep().

36 Limitaciones 6.No se permiten múltiple threads a nivel de kernel. Si esta permitido el uso de múltiples threads a nivel de usuario. 7.No se permite el mapeo de archivos a memoria. Esto incluye llamadas a sistema como mmap() y munmap(). 8.Se permite el bloqueo de archivos, pero no en medio de checkpoints 9.Todos los archivos deben ser abiertos como solo- lectura o solo-escritura. 10.Se debe reservar gran espacio en disco en la maquina de envió para el almacenado de las imágenes de los checkpoints de las tareas.


Descargar ppt "Condor. Introducción Proyecto de investigación nacido en la Universidad de Wisconsin. Maneja más de 1000 estaciones de trabajo. De acuerdo con las estadísticas."

Presentaciones similares


Anuncios Google