La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Servicios de Asignación y Planificación de Recursos Grid Grupo de Computación Grid Instituto de Física Corpuscular (CSIC/UV) Valencia Álvaro Fernández.

Presentaciones similares


Presentación del tema: "Servicios de Asignación y Planificación de Recursos Grid Grupo de Computación Grid Instituto de Física Corpuscular (CSIC/UV) Valencia Álvaro Fernández."— Transcripción de la presentación:

1 Servicios de Asignación y Planificación de Recursos Grid Grupo de Computación Grid Instituto de Física Corpuscular (CSIC/UV) Valencia Álvaro Fernández Casaní IFIC - INSTITUTO DE FÍSICA CORPUSCULAR Jornadas Técnicas RedIris 2003

2 2 Contenido Problemática de la gestión de recursos Servicios grid Arquitectura de servicios utilizada en el proyecto Eu-Crossgrid Componentes: Scheduling Agent Resource Selector Aplication Launcher Conclusiones y Trabajo Futuro

3 Jornadas Técnicas RedIris PROBLEMÁTICA DE LA GESTIÓN DE RECURSOS GRID aúna recursos distribuidos heterogéneos, pertenecientes a diferentes organizaciones Diferentes tipos de recursos: Hardware Software Red Tiempo Datos Objetivo: Proveer acceso eficiente a estos recursos Acceso transparente y simple Requerimientos de varios usuarios Organización temporal Problemas: Sistema heterogéneo y dinámico

4 Jornadas Técnicas RedIris RESOURCE MANAGERS Diferencia entre planificadores locales, y de alto nivel Planificadores locales: Acceso a recursos locales Control de: Políticas Seguridad Accounting Planificación basada en reducir tiempo de respuesta de ejecución los trabajos: algoritmos FCFS, BackFilling, List Schedulling Planificadores alto nivel: Sobre múltiples planificadores locales Acciones: Descubrir recursos Recoger información y decidir cuáles usar Ejecución Planificación basada en políticas de coste de acceso, prioridades, accounting

5 Jornadas Técnicas RedIris SERVICIOS PARA LA GESTIÓN DE RECURSOS Para soportar la gestión de recursos los planificadores de alto nivel, se valen de servicios en forma de middleware: Acceso a los recursos/planificadores locales (GRAM) Sistemas de información (GIS, MDS, GMA) Por encima de estos: Resource Brokers (Datagrid WMS) Selección de recursos: Matchmaking Envío de Trabajos: Job Submission Service Base de datos de trabajos: Logging and bookeeping Scheduling Agents Decisiones de planificación dependiendo de requerimientos estáticos y dinámicos Ampliación de selección de recursos

6 Jornadas Técnicas RedIris Proyecto Crossgrid: objetivos en planificación de recursos Soportar servicios de planificación de recursos para aplicaciones interactivas, intentado garantizar un compromiso entre la utilización de recursos y el speed-up de la aplicación Principalmente: Soporte para aplicaciones paralelas (MPI) sobre uno o varios recursos (sites) distribuidos Soporte a aplicaciones interactivas con requerimientos de alta prioridad Soporte a aplicaciones compuestas de múltiples subprocesos: DAGs Primeros prototipos basados en Middleware Datagrid (version 1.4.8)

7 Jornadas Técnicas RedIris ARQUITECTURA GENERAL GSI Job Manager Llamadas al API Gram para pedir reserva del recurso Y creacion de procesos Llamadas al API del MDS Para localizar recursos Preguntar el estado Actual del recurso Crear RSL Library Parse Petición Creación de procesos Process Control y Monitorización Resource Broker / SA MDS: Grid Index Info Server Gatekeeper (CE) MDS: Grid Resource Info Server Local Resource Manager Llamadas al API del MDS Para localizar recursos Creacion de callbacks Para notificar cambios De estado SCHEDULING WN Storage Element (SE) UIUI PORTAL/ RAS

8 Jornadas Técnicas RedIris Principales componentes del RB/SA Ejecución típica de pasos de scheduling para 1 trabajo por el Scheduling Agent: 1 - Recepción del trabajo Resource Searcher: 2 - Búsqueda de recursos 3 – Planificación y Prioridades 4 – Reserva Temporal Aplication Launcher: 5 - Envío del trabajo 6 - Monitorización 7 - Finalización RS AL Resource Broker / SA Gatekeeper (CE) MDS/ RGM A Condor-G Resource Management

9 Jornadas Técnicas RedIris – Recepción del trabajo El usuario manda su trabajo junto con una descripción del mismo al RB/SA Descripción en JDL Especifica tipo de trabajo, requerimientos, función de preferencia El RB/SA mantiene lista de trabajos recibidos Guarda el estado de cada uno Permite reenvío de los trabajos que pudieran fallar Contacta el RS para la siguiente fase: búsqueda de recursos Resource Broker / SA JobType= mpich-g2 NumCpus = 7 Executable = my_app Requirements = RH 6.2 Rank = AverageSI

10 Jornadas Técnicas RedIris – Resource Selector: Búsqueda de recursos Se utiliza los Classads (Condor) para localizar recursos que cumplan requerimientos del trabajo. Tiene en cuenta autorización y requerimientos de datos Sólo se utilizan CEs dónde se está autorizado (pre-match) Se utilizan campos del JDL para los requerimientos de datos: OutputSE, InputData, DataAccess Protocol Se buscán CEs con el OutputSE cerca Se prefieren CEs con mayor número de archivos esté también en el OutputSE Se utiliza el matchmaking simple (1 a 1) para trabajos batch, y set-matching (1 a muchos) para trabajos paralelos Llamadas al API del MDS Para localizar recursos Resource Broker / SA MDS: Grid Index Info Server MDS: Grid Resource Info Server Llamadas al API del MDS Para localizar recursos JOB CE1CE2CE3 RS

11 Jornadas Técnicas RedIris Matching 1 a 1 matching 1 a 1 (trabajos batch secuenciales): selecciona un CE que cumpla todos los requerimientos, ordenado por la función de preferencia: 1º) Búsqueda de sites (CE) que cumplan requerimientos del trabajo Sistema operativo, software instalado, disponibilidad de datos, etc. Matching 1 a 1 2º) Ordenación de sites (CE) por función de preferencia: Se consultan principalmente los requerimientos dinámicos: Cpus libres, memoria disponible, Matching 1 a 1 Para trabajos mpi con requerimientos de múltiples recursos se utiliza set matching (matching 1 a muchos)

12 Jornadas Técnicas RedIris Set-matching para trabajos mpi Necesitamos hacer un set-matching de un trabajo con varios recursos Ahora debemos: 1º) Igual al anterior, búsqueda de sites (CE) que cumplan requerimientos estáticos (cada recurso debe cumplirlo) Sistema operativo, software instalado, etc. Matching 1 a 1 2º) Con los recursos anteriores, formar grupos de CE que conjuntamente cumplan requerimientos Cpus libres, espacio en disco disponible total Matching 1 a muchos se ordenan con el siguiente criterio: 1. Grupos con menor número de CEs son seleccionados primero (Preferible ejecutar sobre un único CE) 2. Para grupos con el mismo número de CEs, se ordenan con la funcion de preferencia (ponderada con el número de cpus libres que aportan) Para correr trabajos en un único CE se puede utilizar mpich-p4 Para correr trabajos en distintos CEs se utiliza mpich-g2

13 Jornadas Técnicas RedIris Ej. Búsqueda recursos para trabajo mpich-g2 sobre varios sites JobType= mpich-g2 NumCpus = 7 Executable = my_app Requirements = RH 6.2 Rank = AverageSI RS CE5 FreeCPUs=8 AverageSI=2000 CE5 CE3 FreeCPUs=3 AverageSI=1000 CE3 CE1 FreeCPUs=9 AverageSI=1000 CE1 CE2 FreeCPUs=2 AverageSI=3500 CE2 CE4 FreeCPUs=5 AverageSI=2000 CE4 CE Soporta mpich-g2 No soporta mpich-g2

14 Jornadas Técnicas RedIris Ej. Búsqueda recursos para trabajo mpich-g2 sobre varios sites Estrategia de búsqueda: 1 – CEs con todas los requerimientos y cpus libres: JobType= mpich-g2 NumCpus = 7 Executable = my_app Requirements = RH 6.2 Rank = AverageSI RS CE5 FreeCPUs=8 AverageSI=2000 CE5 CE3 FreeCPUs=3 AverageSI=1000 CE3 CE1 FreeCPUs=9 AverageSI=1000 CE1 CE2 FreeCPUs=2 AverageSI=3500 CE2 CE4 FreeCPUs=5 AverageSI=2000 CE4 CE1 FreeCPUs=9 AverageSI=1000 CE1 2 - Grupos de CEs que conjuntamente cumplan requerimientos y cpus libres: CE2CE4 CE2 + CE4 FreeCPUs=7 AverageSI=2428 CE3CE4 CE3 + CE4 FreeCPUs=8 AverageSI=1625 CE3CE4CE2 CE Soporta mpich-g2 No soporta mpich-g2

15 Jornadas Técnicas RedIris Prioridades Cuando tenemos varios trabajos podemos establecer prioridades entre ellos: En el JDL se indica una prioridad relativa a otros trabajos Establecen el orden de búsqueda de recursos y envío de trabajos Pueden servir para parar trabajos menos prioritarios (batch) y ejecutar trabajos interactivos Pare esto se necesita un método de apropiación de recursos preemtion mechanism) y suspensión temporal de trabajos.

16 Jornadas Técnicas RedIris Reserva temporal Puede que se produzca el caso de que al mandar un trabajo mpi a varios sites se produzca interbloqueo con otro: Los procesos esperan a que todos estén inicializados para empezar Puede haber diferencias entre los datos del SI y la información real Un trabajo puede estar esperando que se inicie un proceso en un nodo ocupado por otro trabajo que espera al primero. Para solucionarlo se establece un sistema de reservas temporales en el RB que afecta al RS Se reservan el número de cpus en cada recurso No se tienen en cuenta para siguientes selecciones del RS Cuando acaba el trabajo o falla se quita misma.

17 Jornadas Técnicas RedIris Aplication Launcher: Ejecución del trabajo El siguiente paso es enviar el trabajo de forma fiable a los recursos. El AL es responsable de mandar el ejecutable y los distintos ficheros (GridFtp) al CE o grupo de estos donde se ejecuta el trabajo. Recibe del Resource Selector la lista de recursos ordenados donde enviar el trabajo Se utilizan las prioridades para determinar el orden de envío de trabajos Para un trabajo, se prepara script que se manda a Condor G: Es un gestor sobre Globus (GRAM) para reenvío fiable de trabajos fallidos. No toma ninguna decisión de planificación

18 Jornadas Técnicas RedIris Tipos de trabajos Dependiendo del tipo de trabajo se utilizará una u otra aproximación: Trabajos batch: se manda al CE/JobManager y su planificador local decide cuándo se ejecuta y en qué WN Trabajos mpich-p4: se manda al CE/Jobmanager indicando trabajo mpi: Se manda un solo trabajo que será el que ejecute los siguientes pasos. Condor-G permite el envío del mismo Se reservan a través del planificador local los nodos (WN) necesarios Se ejecuta mpirun sobre los nodos (WN) reservados

19 Jornadas Técnicas RedIris Tipos de trabajos (II) Trabajos mpich-g2: MPICH-G2: implementación mpi para correr sobre globus. Utiliza los servicios globus de autenticación, asignación de recursos, movimiento de ficheros, salida de datos Se mandan n diferentes trabajos, que son coordinados por el AL. Ejecución simultánea en recursos: utilización de librería DUROC Condor-G no da soporte a múltiples rsl, por lo que se utiliza el universo scheduler y se llama a programa lanzador auxiliar del AL. Requieren que los WN tengan direcciones públicas (RS lo tiene en cuenta)

20 Jornadas Técnicas RedIris Envío de Trabajos Mpich-G2 El Aplication Launcher manda un script por cada tarea(proceso) mpich-g2 a Condor-G Condor-G envía cada tarea a su correspondiente CE, que lo envíara a su planificador local Cuando el script finalmente se ejecuta en un WN, realiza las funciones para obtener ficheros, etc.. Y lanza el ejecutable real Este ejecutable espera en una barrera (DUROC), enviando mensaje de sincronización al AL Una vez que el AL ha recibido el mensaje de sincronización de todas las tareas, manda la orden de ejecución Puede haber problemas: Si falla la red, nodos, una tarea, AL AL puede quedarse esperando indefinidamente, esperando la sincronización Soluciones: Matar todos los procesos Quitar trabajo de la cola y volverlo a mandar a otros recursos (RS)

21 Jornadas Técnicas RedIris y 7 - Monitorización y Finalización Durante la ejecución del trabajo se utiliza Condor-G para monitorizar el funcionamiento y ejecución. Todos los cambios de estado se guardan en base de datos permanente. Cuando el trabajo falla se puede reenviar a este u otro recurso Al finalizar se recoge la salida del programa y se guarda en el RB/SA. Los datos puedes ser obtenidos desde por el usuario desde ese momento. Se liberan todos los recursos ( almacenamiento en memoria secundaria, etc).

22 Jornadas Técnicas RedIris Trabajo Futuro Incluir métodos de preemción de trabajos secuenciales, para aplicaciones interactivas más prioritarias. Mejora de la escalabilidad del sistema. Distribuir los componentes para mejorar la estabilidad. Métodos de selección de recursos basados en predicciones e información dinámica sobre el estado de la red. Pasar los servicios actuales a la nueva versión de Datagrid 2.X. Soporte nativo a trabajos interactivos y DAGs en esta versión.

23 Jornadas Técnicas RedIris Conclusiones Servicios de gestión de recursos para aplicaciones secuenciales y paralelas mpi sobre uno o varios clusters: Scheduling Agent Resource Searcher Aplication Launcher Basado en middleware Datagrid (v1.4.8), y éste en Condor-G y Globus. Componentes implementados sobre el RB de edg, todavía entidad centralizada. Pasando ahora a arquitectura distribuída. Desarrollos de métodos de selección múltiple de recursos, reserva temporal, aplicación de prioridades y ejecución de las aplicaciones secuenciales y paralelas.

24 Jornadas Técnicas RedIris Más información… Álvaro Fernández ( Miquel A. Senar Elisa Heyman Proyecto Crossgrid (http://www.eu-crossgrid.org)http://www.eu-crossgrid.org ¿Preguntas ahora?


Descargar ppt "Servicios de Asignación y Planificación de Recursos Grid Grupo de Computación Grid Instituto de Física Corpuscular (CSIC/UV) Valencia Álvaro Fernández."

Presentaciones similares


Anuncios Google