Cluster de Computadores de Alto Desempeño con Acceso Remoto

Slides:



Advertisements
Presentaciones similares
Aplicación de la tecnología Grid: Portal de recursos de supercomputación José Ruedas Sánchez Instituto de Astrofísica de Andalucía Consejo Superior de.
Advertisements

Base de Datos Distribuidas FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS
Sistemas de Bases de Datos Distribuidas
Objetivos Desarrollar software funcional multi-modelo sobre distintas plataformas para el estudio de sistemas complejos de cómputo de alto rendimiento.
Universidad Nacional Autónoma de Honduras
Carlos Rojas Kramer Universidad Cristóbal Colón
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
BASES DE DATOS CLIENTE SERVIDOR Y DISTRIBUIDAS
UNIVERSIDAD TECNOLÓGICA ISRAEL CARRERA DE SISTEMAS INFORMÁTICOS
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
INTRODUCCIÓN A JAVA.
INTRODUCCIÓN ESTADO DE LA TÉCNICA PROCESAMIENTO DISTRIBUIDO CON MPI PROCESAMIETNO DISTRIBUIDO DE IMÁGENES GENÉRICO CON VTK PROCESAMIENTO DISTRIBUIDO DE.
TECNOLOGIA DE NUBES JORLETH POVEDA MURCIA.
CONTEXTO INTERNACIONAL DEL USO DE LAS TIC´S EN EDUCACIÓN
Guia Diseño Robert Echeverria
¿Qué es ZABBIX? Zabbix esta diseñado para monitorear y registrar el estado de varios servicios de red, Servidores, hardware de red, alertas y visualización.
Agenda Introducción Relevamientos de tecnologías
S.O. Multiusuario, red. Servicio: Cliente/Servidor, p2p
Janny David Vilac Salazar David Alejandro Gallo Moya
Bioinformática FJS.
Universidad Centroamericana
Introducción a la Computación Paralela Germán Larrazábal Departamento Computación, FACYT, Universidad de Carabobo, Venezuela
Introducción INSTITUTO POLITÉCNICO NACIONAL CENTRO DE INVESTIGACION EN COMPUTACION LABORATORIO DE MICROTECNOLOGÍA Y SISTEMAS EMBEBIDOS Arquitecturas de.
Curso de Computación Científica en Clusters
OMAR SANCHEZ ROBLES HECTOR PEREZ GARCIA. “Sistemas de cómputo compuesto por un gran número de CPU´s conectados mediante una red de alta velocidad”, Tanenbaum.
Arquitectura de una aplicación
Línea: Tecnologías para la Investigación Resumen Proyectos1 Entidades Participantes4 Académicos Participantes10 Proyecto de Cómputo de Alto Rendimiento.
Las etapas de un proyecto
Ingenieria de software
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (apunts de l’assignatura en format transparència) Beowulf Vs Clusters.
Clusters Presentado por : Manuel Alejandro ahumada trochez Yenny carabali.
Introducción al modelo Cliente-Servidor Carlos Rojas Kramer Universidad Cristóbal Colón.
ESCUELA POLITÉCNICA DEL EJÉRCITO
Desarrollo de aplicaciones para ambientes distribuidos
El proceso de desarrollo de sistemas Web
Computación en la Nube UASF.
SISTEMAS OPERATIVOS.
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
INTRODUCCIÓN A JAVA. Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador?
SISTEMAS DE INFORMACION GEOGRAFICA. LOS SIG DEFINICION DEFINICION Un SIG se define como un conjunto de métodos, herramientas y datos que están diseñados.
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
PORTADA PRESENTADO A: ING EN AUTOMATICA INDUSTRIAL FABIO ANDRES LASSO POR: BAYRON DARYAN OSORIO PARQUE IMFORMATICO CARLOS ALBAN POPAYAN -CAUCA.
NOTA: Para cambiar la imagen de esta dispositiva, seleccione la imagen y elimínela. A continuación haga clic en el icono Imágenes en el marcador de posición.
Agenda  Introducción  Relevamientos de tecnologías Objetivos de la fase de relevamiento de tecnologías Principales tecnologías disponibles -OpenMosix,
MATLAB Adriana Ruiz Martínez. Mario Cesar Taracena Contreras.
SISTEMAS OPERATIVOS. Cómo trabaja un SO Qué es el SO El sistema operativo (SO) es el software del sistema destinados a la realización de algunas tareas.
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
SISTEMAS OPERATIVOS II
Departamento de Informática Universidad de Rancagua
“condición que necesita el usuario para resolver un problema o conseguir un objetivo determinado”. Los requisitos de un sistema son los aspectos que el.
María José Freire Mayra Coello Juan Francisco Pérez
Cluster de Computadores de Alto Desempeño con Acceso Remoto Santiago Iturriaga Damián Pintos Paulo Maya.
Generación De Los PC y Clasificación
UNIVERSIDAD LATINA II. FUNCIONES DEL ADMINISTRADOR.
ARQUICTECTURA DE SERVIDORES
ARQUITECTURA ALTERNATIVA DE SERVIDORES SISTEMAS OPERTIVOS DE RED En un sistema operativo de red los usuarios saben que están conectados a la red y que.
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
ORGANIZACIÓN DE COMPUTADORAS DRA. LETICIA FLORES PULIDO.
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
BASE DE DATOS DISTRIBUIDAS
Presentación Comercial IDE
Computadoras de Alto Rendimiento (HPC)
Computación en la Nube.
Tendencia De Los Sistemas Operativos
Elementos Conceptuales de proyectos: ¿Qué es un proyecto
SISTEMAS OPERTIVOS DE RED Los usuarios están conectados a la red y que pueden compartir recursos. Cada equipo ejecuta con sus propios recursos su propio.
Anaco, noviembre de 2015 sistemas de transmisión de datos Aplicaciones industriales Asignatura: SISTEMA DE TRANSMISION DE DATOS Profesor: Ing. Sigilberto.
TIPOS DE COMPUTADORAS.
Conociendo el modelo Cliente-Servidor
Conociendo el modelo Cliente-Servidor. Introducción En el mundo de TCP/IP las comunicaciones entre computadoras se rigen básicamente por lo que se llama.
Transcripción de la presentación:

Cluster de Computadores de Alto Desempeño con Acceso Remoto Santiago Iturriaga Damián Pintos Paulo Maya

Agenda Introducción Relevamientos de tecnologías Interfaz de acceso y administración Conclusiones y trabajos a futuros Preguntas

Agenda Introducción Relevamientos de tecnologías Proyecto CCADAR Motivación – Objetivos Alcance Trabajos previos - Construcción del cluster Actividades del proyecto Introducción a la computación de alto rendimiento Relevamientos de tecnologías Interfaz de acceso y administración Gestion del Proyecto Conclusiones y trabajos a futuros Preguntas

Proyecto CCADAR - Motivación Nace en el CeCal (Centro de Calculo del INCO) Existe cluster con software con nivel de abstracción bajo. Limita el nivel de usuarios. Se desea: mantener un control estricto de las actividades de los usuarios garantizar la disponibilidad de recursos mantener un historial de utilización de recursos monitoreo del cluster en tiempo real Propuesto por el grupo académico CeCal (Centro de Cálculo) del Instituto de Computación de la Facultad de Ingeniería, Universidad de la República, más específicamente en el área de computación de alto desempeño. El proyecto consistió en la implementación de un cluster de computadoras de alto desempeño con la capacidad de brindar acceso remoto para que sus usuarios interactúen con el y para que sus administradores lo regulen y monitoreen. investigación en proyectos internos, alquilar el cluster como servicio a entidades externas Usuarios no necesariamente relacionados con la informática

Proyecto CCADAR – Objetivos y alcance Construcción e implantación de un sistema de acceso remoto a un cluster de alto desempeño. Objetivos: Estudio del estado del arte sobre la utilización de equipamiento destinado al procesamiento paralelo-distribuido. Evaluación de paquetes de software de base. Desarrollo de software que permita la administración semiautomática del clúster. Desarrollo de una interfaz amigable que permita la utilización del cluster de forma simple. sistemas operativos, bibliotecas, monitores de desempeño, despachadores

Trabajos previos Gran variedad de trabajos dentro de la computación de alto desempeño: investigación, desarrollo, construcción de aplicaciones de clusters. Una versión paralela del algoritmo evolutivo para optimización multiobjetivo NSGA-II y su aplicación al diseño de redes de comunicaciones confiables (2003). Proyecto MPI.net (2003). Diseño, configuración, administración y evaluación de performance de un HPC cluster(2006).

Computación de alto desempeño - Intro La computación avanza y los problemas a resolver se tornan cada vez más complicados (modelos más complejos, mayores volúmenes de datos y tiempos de respuesta más limitados). HPC nació para satisfacer todos estos requisitos de poder de cómputo. Paradigmas de programación paralela y/o distribuida. Se apoya en tecnologías como clusters, grids.

HPC: computación paralela - distribuida Consiste en compartir recursos heterogéneos. Diseñada para resolver problemas que superan la capacidad de cualquier supercomputadora o mainframe. Manteniendo la flexibilidad de trabajar en múltiples problemas más pequeños. Varios grados de distribución: de hardware y procesamiento, de datos y de control. Ventajas: mejora en el desempeño, la robustez, la seguridad no centralizada y el acceso transparente a los datos remotos consiste en compartir recursos heterogéneos (basados en distintas plataformas, arquitecturas de computadores y programas, lenguajes de programación), situados en distintos lugares y pertenecientes a diferentes dominios de administración sobre una red que utiliza estándares abiertos

HPC: computación paralela – distribuida (2) La programación paralela es una técnica de programación basada en la ejecución simultánea en un mismo ordenador (con uno o varios procesadores) o en un cluster de ordenadores. Favorecida por el avance en diferentes tecnologías: microprocesadores con mayor poder de procesamiento, comunicación de datos de alta velocidad y el desarrollo de bibliotecas para la comunicación entre procesos. Ventajas: mayor capacidad de proceso, menor tiempo de procesamiento y aprovechamiento de la escalabilidad potencial de los recursos.

HPC - Clusters El término cluster se aplica a los conjuntos de computadoras unidos mediante una red de alta velocidad que se comportan como si fuesen un único recurso computacional. Papel importante en aplicaciones científicas, de ingeniería, comerciales, simulaciones. El uso surge gracias a la convergencia de varias tendencias actuales: microprocesadores económicos de alto rendimiento, redes de alta velocidad, herramientas para cómputo distribuido de alto rendimiento, así como la creciente necesidad de potencia computacional para aplicaciones que la requieran. Características: alto rendimiento, alta disponibilidad, equilibrio de carga y escalabilidad. La organización de los procesadores se refiere a como se conectan o enlazan los procesadores o nodos en un computador paralelo. Una forma de clasificar las diferentes arquitecturas de computación secuencial y paralela es mediante la taxonomía de Flynn, que está basada en la multiplicidad del flujo de instrucciones y del flujo de datos en un computador.

HPC – Clusters (2) Cluster de alto rendimiento: está diseñado para dar altas prestaciones de capacidad de cálculo. Cluster de alta disponibilidad: se caracteriza por compartir los discos de almacenamiento de datos. Cluster de balanceo de carga: compuesto por uno o más ordenadores que actúan como front-end del cluster, y que se ocupan de repartir las peticiones de servicio Escalabilidad: La escalabilidad es la propiedad deseable de un sistema, una red o un proceso, que indica su habilidad para, o bien manejar el crecimiento continuo de trabajo de manera fluida, o bien para estar preparado para crecer en tamaño sin perder calidad en los servicios ofrecidos.

HPC - Herramientas para la programación paralela Diferentes lenguajes y herramientas de programación con características específicas para diferentes clases de problema. C++ Composicional, High Performance Fortran, Parallel Virtual Machine (PVM), Message Passing Interface (MPI) Middleware: Es un software de conectividad que ofrece un conjunto de servicios que hacen posible el funcionamiento de aplicaciones distribuidas sobre plataformas heterogéneas. Ofrece herramientas para la optimización y mantenimiento del sistema. Recibe los trabajos entrantes al cluster y los redistribuye de manera que el proceso se ejecute más rápido y el sistema no sufra sobrecargas en un servidor.

Actividades

Gestión de proyecto Control de riesgos. Investigación: expertos por aéreas Modelo en cascada relajado: se definieron fases para la ejecución del proyecto: estudio del arte y relevamiento de tecnologías, desarrollo, testing. Versionado: fuentes y documentación SVN. Registro de tareas y bugs durante el desarrollo y testing: grupos Google. Control de riesgos: no encontrar una tecnología adecuada y tener que desarrollarla. Curva de aprendizaje gruesa. Investigación. Teoría y relevamiento de tecnologías Versionado: goolge groups y CVS tortoise.

Trabajo futuro Integración de Gold. Aumentar la características y opciones de monitoreo para chequeo preventivo. Integración de biblioteca PVM. Profundizar en el fine-tunning de TORQUE y Maui. Integración del sistema con Ganglia, mas funcionalidades, información de de TORQUE. Mejorar los reportes de los usuarios administradores. Comunicación entre el sistema Fenton y TORQUE para utilizar la API DRMAA. • Integración de Gold con el sistema para permitir contabilizar los recursos disponibles en el cluster y limitar los recursos utilizados cada usuario. • Aumentar la características y opciones de monitoreo para chequeo preventivo (hoy en día solo se chequea espacio en disco). • Trabajar en la integración de biblioteca PVM al sistema. • Profundizar en el fine-tunning de TORQUE y Maui para obtener un desempeño óptimo del cluster. • Mejorar la integración del sistema con Ganglia para utilizar más de las funciones que provee. • Mejorar los reportes de los usuarios administradores para el análisis del uso del sistema y de los datos históricos que son provistos por TORQUE y Maui. • Continuar con la instalación del sistema Fenton en el cluster Medusa (ver página [sub:Cluster-de-computadores-Medusa]). • Incorporar el uso de un addon de Ganglia llamado Job Monach. Este addon permite a Ganglia comunicarse con TORQUE y recopilar información sobre nodos, trabajos y colas de ejecución disponibles. Ganglia genera gráficas y mantiene un historial con la información recopilada de TORQUE al igual que con el resto de las métricas que maneja. • Modificar la comunicación entre el sistema Fenton y TORQUE para utilizar la API DRMAA. TORQUE brinda una implementación en lenguaje C del estándar DRMAA disponible para el usuario programador. Si bien esta es una posibilidad, otra opción más accesible podría ser la utilización de la biblioteca pbs_python. Esta biblioteca encapsula la biblioteca implementada en C de TORQUE y permite una comunicación más simple con TORQUE utilizando Python.

Conclusiones La computación de alto rendimiento es fundamental para la resolución de problemas con un alto grado de complejidad computacional. Este proyecto de grado permitió explorar a fondo la problemática de la computación de alto rendimiento mediante etapas de aprendizaje e investigación de tecnologías. Existe una gran variedad de herramientas para la implementación y monitoreo de clusters: TORQUE, MAUI, GANGLIA, etc. Es utilizada en la resolución de problemáticas en varias aéreas.

Conclusiones TORQUE y Maui permitieron construir una sólida plataforma de ejecución de trabajos, y fue a partir de esta plataforma que se desarrolló una interfaz web para el acceso remoto al sistema. interfaz web de acceso al sistema permite una utilización amigable del cluster por parte de usuarios no especializados, además permite a usuarios técnicos la administración de los recursos del cluster, la administración de la seguridad del cluster y ofrece un conjunto de reportes históricos y en tiempo real sobre el uso de los recursos en el cluster.