7 research outputs found

    Dynamic Loop Scheduling Using the MPI Passive-Target Remote Memory Access Model

    Get PDF
    Large parallel loops are present in many scientific applications. Static and dynamic loop scheduling (DLS) techniques aim to achieve load balanced executions of applications. The use of DLS techniques in scientific applications, such as the self-scheduling-based techniques, showed significant performance advantages compared to static techniques. On distributed-memory systems, DLS techniques have been implemented using the message-passing interface (MPI). Existing implementations of MPI-based DLS libraries do not consider the novel features of the latest MPI standards, such as one-sided communication, shared-memory window creation, and atomic read-modify-write operations. This poster considers these features and proposes an MPI-based DLS library written in the C language. Unlike existing libraries, the proposed DLS library does not employ a master-worker execution model. Moreover, it contains implementations of five well-known DLS techniques, namely self-scheduling, fixed-size chunking, guided self-scheduling, trapezoid self-scheduling, and factoring. An application from the computer vision is used to assess and compare the performance of the proposed library against the performance of existing solutions. The evaluation results show improved performance and highlight the need to revise and upgrade existing solutions in light of the significant advancements in the MPI standards

    Verificaci贸n formal del algoritmos de distribuci贸n de carga para procesamiento de datos independientes

    Get PDF
    Para verificar DLML se valida el cumplimiento de las propiedades propuestas y de dos nuevas propie-dades relacionadas a la implementaci贸n. Despu茅s de verificar el modelo de la versi贸n original de DLML se proponen nuevas implementaciones de este distribuidor, donde se contemplan aspectos como la capacidad de los canales, la no dependencia en la granularidad de los datos y la disminuci贸n de la cantidad de mensajes (y con ello mejorar su rendimiento). La versi贸n que muestra mejor rendimiento, nombrada DLML-h铆brido, es verificada utilizando las mis-mas propiedades que se verificaron sobre la versi贸n original de DLML. Adem谩s se realiza su implementaci贸n en lenguaje C-MPI en la que se incorpora el uso de memoria compartida e hilos de ejecuci贸n, aprovechan-do el surgimiento de las nuevas arquitectura multicore/multiprocesador ( donde se tiene m谩s de un n煤cleo (procesador) por nodo). El trabajo de la presente tesis concluye mostrando una comparaci贸n de rendimiento de la versi贸n DLML-h铆brido con la versi贸n original de DLML, para la cual se utilizaron aplicaciones que manejan datos de gra-nularidad diferente (fina y gruesa). En la comparaci贸n se efect煤a al utilizar un cluster de 32 nodos de tipo multiprocesador (4 procesadores por nodo, teniendo un total de 128 procesadores). Para la aplicaci贸n de gra-nularidad fina DLML-h铆brido presenta mejores tiempos de ejecuci贸n mientras m谩s procesadores se utilizan. La versi贸n DLML original para este caso obtiene mejores tiempos de ejecuci贸n con un n煤mero menor de procesadores y pierde eficiencia cuando el n煤mero de nodos aumenta. Para la aplicaci贸n de granularidad gruesa la versi贸n DLML-h铆brido siempre obtiene mejores tiempos de ejecuci贸n que la versi贸n original.Los algoritmos de distribuci贸n de datos (carga) de procesamiento independiente proveen un conjunto de beneficios a las aplicaciones paralelas tales como: la minimizaci贸n de su tiempo de ejecuci贸n, la maximi-zaci贸n de uso de los recursos, etc. Pero por su naturaleza paralela, la implementaci贸n de un algoritmo de distribuci贸n de datos es compleja lo que puede originar que no cumpla con las especificaciones para las que fue dise帽ado presentando problemas como: violaci贸n a la exclusi贸n mutua, no terminaci贸n de la ejecuci贸n paralela, abrazos mortales, etc. En esta tesis de maestr铆a, como primer etapa, se propone, modela y verifica formalmente una estructura b谩sica que integra un algoritmo de distribuci贸n c铆clico en una aplicaci贸n SPMD (Simple Program Multiple Data) de procesamiento de datos independientes. Para este proceso de verificaci贸n, auxili谩ndonos de la l贸gica temporal, se propone un conjunto de propiedades que reflejan un buen funcionamiento del sistema independientemente del algoritmo de distribuci贸n usado. La herramienta de verificaci贸n utilizada fue Spin, la cual aplica la t茅cnica de verificaci贸n de model checking (un m茅todo que permite verificar algoritmos paralelos con un espacio de estados finito) y nos permite obtener un diagn贸stico del cumplimiento de las propiedades. El sistema se model贸 mediante el lenguaje promela utilizado por Spin, realizando la verificaci贸n de todas las propiedades especificadas. En la segunda etapa de este proyecto se propone un modelo promela para la verificaci贸n de la herramienta DLML (Data List Management Library) bas谩ndonos en la estructura propuesta en la primera etapa. DLML es una librer铆a creada en el Laboratorio de Sistemas Distribuidos y Paralelos de la UAM-1 para distribuir la carga (datos) generada por las aplicaciones, de manera transparente para el programador

    Robust applications in time-shared distributed systems

    Get PDF
    corecore