Propuesta Tesis Ronald

Propuesta de Proyecto de Grado OF8 p Compresio’n sin perdidas para comunicación sobre procesadores Por Br. Ronald Sulbarán 1. 5 Cronogramas comerciales. Muchas de esas redes, como Fast Ethernet o Gigabit, tienen una alta latencia y bajo ancho de banda, por lo tanto son un cuello de botella que afectan el rendimiento. La escalabilidad es también un problema importante en estos sistemas cuando se utilizan muchos procesadores, que pueden causar la saturación de la red y latencias todavía más altas.

Como las aplicaciones paralelas de comunicación intensiva gastan una cantidad significativa de su tiempo total de ejecución ntercambiando datos entre los procesos, los anteriores problemas pueden conducir a malos resultados en muchos casos. La compresión de mensajes sin pérdida es una técnica que se ha utilizado comúnmente para reducir la sobrecarga de comunicación en clusters (Davis et al. , 1998). 1. 1 Antecedentes Los principales ejemplos de compresión adicionales en herramientas MPI son CMPI, PACX-MPI, COMPASSION, MiMPl y Adaptive COMPI. 1. 1. 1 PACX MPI PAcx-MPI(PArallel computer extension to MPI) (Balkanski et al. 2003; Keller, 2005) es un proyecto en curso del HLRS , Stuttgart . Se permite que una aplicación MPI pueda ejecutarse en un meta- omputador que consta de

Lo sentimos, pero las muestras de ensayos completos están disponibles solo para usuarios registrados

Elija un plan de membresía
varias máquinas, posiblemente heterogéneos , cada uno de los cuales puede ser en sl mismo masivamente paralelo . La compresión se utiliza para el intercambio de mensajes TCP entre los diferentes sistemas con el fin de aumentar el anch ero el mismo algoritmo 3 de compresión siempre se compresión no se utiliza mejorar el rendimiento de la comunicación inter-cluster con una capa de compresión de datos softwarebased.

Utiliza esquemas de compresión sin pérdidas para comprimir grandes mensajes de valores flotantes para mejorar la latencia de mensajes grandes y por lo tanto el rendimiento de la aplicación. Todas las comunicaciones son comprimidas: no hay flexibilidad de cuándo y cómo utilizar la compresión. Ellos utilizan un esquema de predicción de valor, que calcula la diferencia entre los valores de datos reales y predichos y codifica la diferencia mediante el recuento de cero (LZC) (Ke et al. , 2004) Método para comprimir mensajes. 1. 1. 3 COMPASSION COMPASSION (Carretero et al. 1 998) es un sistema en tiempo de ejecución de entrada/salida paralela incluyendo fragmentación y la compresión para aplicaciones irregulares. El algoritmo de LZO se utiliza para la compresión y descompresión rápida, pero de uevo, sólo se utiliza para (y se centró en) la parte de entrada/ salida de aplicaciones irregulares. 1. 1. 4 MiMPl MiMPl (García-Carballeira et al. , 1 999; Thakur, 2006) fue un prototipo de una implementación multiproceso de MPI con la semántica seguras para subprocesos que agrega la compresión en tiempo de ejecución de los mensajes enviados entre los nodos.

Aunque el algoritmo de compresión se puede cambiar (proporcionando más flexibilidad), el uso de la compresión es global para todos los procesos de la aplicación MPI. Es decir: todos los procesos MPI tienen que utilizar la misma técnica de ompresión. La compresio ra mensajes más grandes 4DF8 de un tamaño dado, V no p ptado por mensaie el tipo de datos, el rango fuente, el rango de destino, etc. ). 1. 1. 5 Adaptative COMPI Adaptive CoMPl presenta una optimización de la comunicación MPI, basado en la compresión de tiempo de ejecución de los mensajes intercambiados por aplicaciones MPI.

La técnica desarrollada puede utilizarse para cualquier aplicación, ya que su implementación es transparente para el usuario, y se integra diferentes algoritmos de compresión para ambos MPI primitivas colectivos y de punto a punto. Además, la compresión e enciende y se apaga y los algoritmos de compresión más adecuados se seleccionan en tiempo de ejecución, en función de las características de cada mensaje, el comportamiento de la red, y el comportamiento del algoritmo de compresión, siguiendo una estrategia adaptativa de tiempo de ejecución.

El sistema se puede optimizar para una aplicación específica, a través de una estrategia guiada, para reducir la sobrecarga estrategia de tiempo de ejecución. Adaptable-compi ha sido validado con varios puntos de referencia MPI y aplicaciones HPC real. Los resultados muestran que, en la mayoría de los casos, utilizando la ompresión adaptativa, el tiempo de comunicación se reduce, la mejora de rendimiento de la aplicación y la escalabilidad.

Pero esta optimización está implementada en una biblioteca de código propietario sobre la biblioteca MPICH, que además de no ser una de las más usada por la comunidad de HPC no soporta el uso de fibra óptica para la red de computadoras. 1. 2 Definicion del Problem 5 han logrado importantes aceleraciones haciendo uso de ésta, sin embargo a pesar de los resultados, las implementaciones que se han hecho no soportan conexiones de fibra óptica lo cual es una imitante, pues asi es como estan interconectados la mayoria de los supercomputadores para disminuir la latencia.

La mejor de las implementaciones(Adaptive-CoMPl) hasta ahora esta hecha sobre MPICH que tampoco es la mas usada de las bibliotecas MPI en la comunidad de HPC ademas de ser código privativo. Por esto la necesidad de implementar una nueva biblioteca MPI con compresión de mensajes adaptativa sin pérdida que soporte conexión por fibra óptica y sea de código abierto como OPENMPI(que soporta conexión por fibra óptica). 1. 3 Objetivos 1. 3. 1 Objetivos Espec ‘ Ificos

Tener una biblioteca con la Interfaz de la biblioteca OPENMPI que haga uso de tecnicas de compresión de mensajes adaptativa sin pérdida y soorte conexión por fibra óptica. Proveer compatibilidad para que cualquier aplicación implementada sobre OPENMPI pueda hacer uso de la nueva biblioteca con solo compilar el código de nuevo. siguiente orden: 1. Definición de objetivos: Se definen los objetivos a alcanzar en el ciclo, se definen las restricciones del proceso y el producto, se Identifican los riesgos y se elabora un plan detallado de las estrategias a utilizar. 2.

Evaluación y reducción de riesgos: Se evalúan las distintas lternativas a seguir en la estrategia, se analiza cada uno de los riesgos identificados para el proyecto, y se definen los pasos para reducirlos. 3. Desarrollo y validación: Se elige un modelo para el desarrollo del sistema correspondiente a la fase (ciclo) actual, se verifica y se valida. 4. Planificación: Se evalúa el trabajo hecho hasta ahora en el ciclo, y en caso de requerirse otro ciclo, se planifica el mismo. En resumen, según Sommerville (2005): Un ciclo de la espiral empieza con la elaboración de objetivos, como el rendimiento y la funcionalidad.

Entonces se enumeran ormas alternativas de alcanzar estos objetivos y las restricciones impuestas en cada una de ellas. Cada alternativa se evalúa contra cada objetivo y se denti can las fuentes de nesgo del proyecto. El siguiente paso es resolver estos riesgos mediante actividades de recopilación de información como la de detallar más el análisis, la construcción de prototipos y la simulación. Una vez que se han evaluado los riesgos, se lleva a cabo cierto desarrollo, seguido de una actividad de plani_cación para el siguiente ciclo. Un modelo de desarrollo a estra en la Aura 1. proyecto: Reuni’on con el tutor y cotutor • Actividad 1: ?? Actividad 2: Revisi ‘on bibliografica • Actividad 3: Recolecci- on de informaci on para la descripci on 4: Planificaci on del primer ciclo 5: Desarrollo del primer ciclo 6: Presentacion de avance del Proyecto de Grado Planificaci ‘ on del segundo ciclo Desarrollo del primer Segundo ciclo 9: Presentacion de avance del Proyecto de Grado • Actividad Grado 7: 8: 10: Redacci on y correcci ‘on del Proyecto de Grado 11: Preparaci’ on de la presentaci’ on del Proyecto de 12: Presentacion del Proyecto de Grado En la Tabla 1. se muestra el tiempo estimado de cada una de las actividades descritas anteriormente. Semana Actividad 2 3 4 5 6 7 8 8