Metodología para la ejecución eficiente de aplicaciones SPMD en clústeres con procesadores multicore

Author

Muresano Cáceres, Ronal Roberto

Director

Luque, Emilio

Date of defense

2011-07-07

ISBN

9788449039058

Legal Deposit

B-23715-2013

Pages

187 p.



Department/Institute

Universitat Autònoma de Barcelona. Departament d'Arquitectura de Computadors i Sistemes Operatius

Abstract

La necessitat d'executar aplicacions en ambients heterogenis és un obstacle que la programació paral·lela vol superar. Per aquesta raó, hem dissenyat una metodologia d'execució eficient que permeti gestionar les heterogeneïtats de comunicació i còmput en sistemes jeràrquics de comunicacions com el presentat en un Cluster Multicore. Per tant, es busca millorar l'eficiència del sistema i determinar el màxim speedup (escalabilidad de l'aplicació en el sistema) amb una eficiència definida. La metodologia està composta per quatre fases: la de caracterització, un model de distribució de tasques, una estratègia de mapping i la política de scheduling. La nostra metodologia s'enfoca en les aplicacions Single Program Multiple Data (SPMD) que estan dissenyades amb llibreria de pas de missatges per realitzar el procés de comunicació. Així mateix, van ser seleccionades a causa que són aplicacions amb alt volum de comunicació i sincronisme, punts que genera desafiaments als programadors quan aquests desitgen executar-les en entorns de comunicacions heterogènies de manera ràpida i eficient. La principal contribució d'aquesta metodologia és determinar el nombre aproximat de cores necessaris i el nombre de tiles que han de ser assignades per complir el nostre objectiu, d'obtenir el màxim speedup mentre l'eficiència és manté per sobre d'un llindar definit per l'usuari. La metodologia ha estat avaluada amb un conjunt d'aplicacions científiques i el resultats mostren en el millor dels casos millores que aconsegueixen fins a 39% en la mètrica de l'eficiència.


La necesidad de ejecutar aplicaciones en ambientes heterogéneos es un obstáculo que la programación paralela quiere superar. Por esta razón, hemos diseñado una metodología de ejecución eficiente que permita gestionar las heterogeneidades de comunicación y cómputo en sistemas jerárquico de comunicaciones como el presentado en un clústeres con procesadores multicore. Por lo tanto, se busca mejorar la eficiencia del sistema y determinar el máximo speedup (escalabilidad de la aplicación en el sistema) con una eficiencia definida. La metodología está compuesta por cuatro fases: la de caracterización, un modelo de distribución de tareas, una estrategia de mapping y la política de Scheduling. Nuestra metodología se enfoca en las aplicaciones Single Program Multiple Data (SPMD) que están diseñadas con librería de paso de mensajes para realizar el proceso de comunicación. Asimismo, fueron seleccionadas debido a que son aplicaciones con alto volumen de comunicación y sincronismo, puntos que genera desafíos a los programadores cuando éstos desean ejecutarlas en entornos de comunicaciones heterogéneas de manera rápida y eficiente. La principal contribución de ésta metodología es determinar el número aproximado de cores necesarios y el número de tiles que deben ser asignadas para cumplir nuestro objetivo, de obtener el máximo speedup mientras la eficiencia es mantenida por encima de un umbral definido por el usuario. La metodología ha sido evaluada con un conjunto de aplicaciones científicas y lo resultados muestran en el mejor de los casos mejoras que alcanzan hasta 39% en la métrica de la eficiencia.


The need to efficiently execute applications in heterogeneous environments is an obstacle parallel computing wants to overcome. The communication heterogeneities present on Multicore clusters ought to be handled carefully for improving efficiency and speedup. For this reason, executions on Multicore environments become a challenge that parallel application programmers must be prepared to deal with. This work proposes an execution methodology centered on controlling communication heterogeneities and improving system efficiency on Multicore clústers. Such methodology is composed by four phases: characterization, a tile distribution model, mapping strategy, and scheduling policy. This method has been developed for Single Program Multiple Data (SPMD) applications with high communication synchronism. We will focus on SPMD applications which are designed through a message-passing library for communication, and selected according to their synchronicity and communications volume. The main contribution of this methodology is to determine the approximate number of cores necessary to achieve a suitable solution in obtaining a good execution time, while the efficiency level is maintained over a threshold defined by users and. Our results show an improvement around 39% in the best case of efficiency on SPMD applications tested when our methodology is applied.

Keywords

SPMD; Performance; Speedup E

Subjects

004 - Computer science and technology. Computing. Data processing

Knowledge Area

Tecnologies

Documents

rrmc1de1.pdf

8.320Mb

 

Rights

ADVERTIMENT. L'accés als continguts d'aquesta tesi doctoral i la seva utilització ha de respectar els drets de la persona autora. Pot ser utilitzada per a consulta o estudi personal, així com en activitats o materials d'investigació i docència en els termes establerts a l'art. 32 del Text Refós de la Llei de Propietat Intel·lectual (RDL 1/1996). Per altres utilitzacions es requereix l'autorització prèvia i expressa de la persona autora. En qualsevol cas, en la utilització dels seus continguts caldrà indicar de forma clara el nom i cognoms de la persona autora i el títol de la tesi doctoral. No s'autoritza la seva reproducció o altres formes d'explotació efectuades amb finalitats de lucre ni la seva comunicació pública des d'un lloc aliè al servei TDX. Tampoc s'autoritza la presentació del seu contingut en una finestra o marc aliè a TDX (framing). Aquesta reserva de drets afecta tant als continguts de la tesi com als seus resums i índexs.

This item appears in the following Collection(s)