La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Condor.

Presentaciones similares


Presentación del tema: "Condor."— 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. encolado de tareas. políticas de scheduling. esquemas de prioridades. manejo y monitoreo de recursos.

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

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

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

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

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

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

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

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

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

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

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

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

16 Características Particulares
Checkpoint y Migración Máquina no disponible, nuevo checkpoint. La tarea continúa luego de ser migrada, en el punto de checkpoint. Tolerancia a fallas. Llamadas de Sistemas Remotas Preserva el ambiente de ejecución local. 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 Checkpoints y las migraciones son transparentes y automáticas Ordenamiento de Tareas Grafico acíclico dirigido. 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. Máquina ociosa, puede ser usada por otros. Para volver a la actividad no es necesaria ninguna acción ClassAds Combinación de requerimientos y respuestas. Especificación de características de la máquina requerida. 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 Controlar el orden de ejecución Rango

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

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

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

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

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

25 Mecanismo de Checkpoints
Por defecto se almacenan en maquina de origen 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 Se almacena una imagen de checkpoint. Se lee desde el archivo. Se escribe en el archivo. Falla la ejecución, se vuelve al punto 2.

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

28 Funcionamiento de COD Recursos que ejecutan tareas
Encolamiento de una tarea COD  Se suspende la tarea de mas baja prioridad Ejecución inmediata de la tarea 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 COD’s es el administrador Un usuario autorizado puede suspende o reiniciar una tarea 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 Ejecutable o el script a usar * Directorio en donde ejecutar la aplicación Archivos para la entrada y salida estándar * Las características se especifican en una ClassAd 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

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

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 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 Un pool hará flocking solo si no es capaz de ejecutar la tarea localmente 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 Dos partes principales: Modulo de manejo de tareas 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."

Presentaciones similares


Anuncios Google