Modelización y asignación de tareas para aplicaciones paralelas con flujo continuo de datos de entrada
Las aplicaciones paralelas que procesan flujos continuos de datos de entrada, denominadas como aplicaciones pipeline, son de gran interés para la comunidad científica. Los principales criterios de rendimiento en el proceso de su optimización son dos: (a) minimizar la latencia, de forma que se obteng...
| Author: | |
|---|---|
| Format: | doctoral thesis |
| Publication Date: | 2007 |
| Country: | España |
| Institution: | Universitat Autònoma de Barcelona |
| Repository: | Dipòsit Digital de Documents de la UAB |
| Language: | Spanish |
| OAI Identifier: | oai:ddd.uab.cat:37188 |
| Online Access: | https://ddd.uab.cat/record/37188 |
| Access Level: | Open access |
| Keyword: | Processament paral·lel (Ordinadors) Aplicacions (Matemàtica) |
| Summary: | Las aplicaciones paralelas que procesan flujos continuos de datos de entrada, denominadas como aplicaciones pipeline, son de gran interés para la comunidad científica. Los principales criterios de rendimiento en el proceso de su optimización son dos: (a) minimizar la latencia, de forma que se obtenga el resultado para un dato de entrada en el menor tiempo posible y (b) conseguir un ratio de datos procesados por unidad de tiempo predeterminado, valor denominado como productividad. La necesidad de procesar una flujo continuo de datos, añade un factor de iteratividad en la ejecución de las tareas, lo cual supone un incremento en la complejidad de su optimización respecto a las aplicaciones que solo procesan un dato de entrada. El objetivo de este trabajo de tesis contribuye en aportar una solución en la optimización de las aplicaciones pipeline. El proceso de optimización está basado en la obtención de una productividad específica en la ejecución de la aplicación. Para realizarllo, se aborda el problema mediante dos estrategias: (a) cuando la aplicacione no tienen la capacidad de alcanzar la productividad requerida, se crea una nueva estructura para el grafo de tareas que lo permita y, (b) en la situación de que le requerimiento de productividad sí sea alcanzable, se definen estrategias de mapping que asignan las tareas a los procesadores asegurando la capacidad de obtener el rendimiento marcado como objetivo. La arquitectura de ejecución escogida en esta tesis está basada en la arquitectura de memoria distribuida, por ser ésta la más utilizada en la actualidad en el cómputo de altas prestaciones. Con respecto a la definición del grafo de tareas, esta tesis desarrolla dos técnicas basadas en la paralelización/replicación de taeras y que minimizan la sobrecarga de las comunicaciones. Ambas técnicas localizan las tareas que actúan como cuello de botella en la obtención del requisito de productividad. Con el conocimiento de su funcionalidad y del tipo de flujo de datos a tratar aplican: (a) paralelismo de datos para disminuir el tiempo de cómputo individual de cada uno de los datos de entrada o (b) replicación de tareas para aumentar la capacidad de procesar, de forma concurrente, más datos del flujo de entrada. En el proceso de mapping, en el que las tareas de la aplicación serán asignadas a los nodos de procesamiento de la arquitectura de ejecución, esta tesis propone dos heurísticas de mapping basadas en el concepto de etapa síncrona y con diferente complejidad. Estas heurísticas reciben el nombre de MPASS (Mapping of Pipeline Applications based on Synchronous Stages) y MPART (Mapping of Pipeline Applications based on Reduced Tree). Ambas heurísticas, poseen los mismos objetivos para la asignación: (a) obtener una productividad prefijada, minimizando el número de nodos de procesamiento o (b) minimizar la latencia, bajo un requisito de productividad a alcanzar y, de nuevo, minimizando el número de nodos de procesamiento. La experimentación se ha realizado utilizando un conjunto de aplicaciones sintéticas que modelan el comportamiento de las aplicaciones pipeline y tres aplicaciones reales de diferentes ámbitos científicos: el compresor de vídeo MPEG2, IVUS (IntraVascular UltraSound), encargada de procesar imágenes medicas para definir la estructura arterial y BASIZ (Bright And Satured Images Zones), que detecta en una secuencia de imágenes, aquellas regiones que captan la atención del ojo humano. Los resultados obtenidos demuestran como las técnicas propuestas son capaces de alcanzar el redimiento marcado como objetivo, proponiendo la estructura más adecuada para el grafo de tareas y mediante el mapping apropiado para las aplicaicones pipeline. |
|---|