Project Description

HP UPC – IMPROVING UPC USABILITY AND PERFORMANCE

Periodo:2008-05-01 – 2011-04-30 (36 meses).

Entidad financiadora: Empresa

A dificultade de explotar dunha forma eficiente o hardware ca crecente complexidade dos computadores actuais é un problema coñecido. O resultado é unha maior interese na mellora da productividade na programación de aplicacións paralelas. A investigación neste eido resultou nunha familia de linguaxes de programación baseados no paradigma Partitioned Global Address Space (PGAS), sendo a linguaxe Unified Parallel C (UPC) un dos máis exitosos. O obxetivo deste proxecto é levar máis alá á investigación neste campo, usando o supercomputador Finis Terrae como principal ferramenta.

A arquitectura do supercomputador Finis Terrae é o suficientemente flexible para cubrir moitos escenarios distintos, dende os máis acoplados, como configuracións con varios cores nun mismo nodo, ata ós moi distribuidos, como os que emplean un único core en cada nodo, pero moitos nodos. Este amplio abanico de posibles configuracións pode axudar ós científicos deste proxecto a comparar paradigmas de programación paralela máis tradicionais baseados en paso de mensaxes (MPI) ou en memoria compartida (OpenMP), e paradigmas emerxentes baseados en PGAS (UPC), tanto en términos de programabilidade como de rendemento. Como resultado desta evaluación, novas librerías de programación serán propostas e implementadas para mellorar a programabilidade e o rendemento de UPC. Desta forma os obxetivos do proxecto son:

1) evaluar a programabilidade de aplicacións usando UPC.

2) evaluar o rendemento de UPC usando un conxunto de benchmarks (microbenchmarking e kernels computacionais). Este estudo de rendemento servirá para detectar cuellos de botella no rendemento de UPC, que sinalarán mellores prácticas de programación en UPC para o progreso do terceiro obxetivo.

3) desenvolver novas librerías que melloren a programabilidade e o rendemento de aplicacións en UPC. A análise dos benchmarks dos obxetivos anteriores, e o estudio detallado das funcionalidades que proporciona a linguaxe e as librerías existentes levará ós investigadores deste proxecto a detectar características (non cubertas polo estándar) que mellorarán a usabilidade de UPC. Ditas características poden ser implementadas como librerías, como novas operacións colectivas (principalmente relocalización de datos e operacións computacionais) e librerías de máis alto nivel para soportar cálculos tanto densos como irregulares.

 

Publicacións:

C. Teijeiro, G. L. Taboada, J. Touriño, R. Doallo, J. C. Mouriño, D. A. Mallón, B. Wibecan. “Design and Implementation of an Extended Collectives Library for Unified Parallel C”. Journal of Computer Science and Technology (in press). 2012

González-Domínguez, J., Martín, M. J., Taboada, G. L., Touriño, J., Doallo, R., Mallón, D. A. and Wibecan, B. (2012), UPCBLAS: a library for parallel matrix computations in Unified Parallel C. Concurrency Computat.: Pract. Exper., 24: 1645–1667. doi: 10.1002/cpe.1914

C. Teijeiro, G. L. Taboada, J. Touriño, B. B. Fraguela, R. Doallo, D. A. Mallón, A. Gómez, J. C. Mouriño, and B. Wibecan, “Evaluation of UPC programmability using classroom studies,” in Proceedings of the Third Conference on Partitioned Global Address Space Programing Models – PGAS  ’09, 2009, p. 10:1 – 10:7.

D. A. Mallón, A. Gómez, J. C. Mouriño, G. L. Taboada, C. Teijeiro, J. Touriño, B. B. Fraguela, R. Doallo, and B. Wibecan, “UPC performance evaluation on a multicore system,” in Proceedings of the Third Conference on Partitioned Global Address Space Programing Models – PGAS  ’09, 2009, p. 9:1-9:7

D. A. Mallón, G. L.  Tabolada, C. Teijeiro, J. Touriño, B. B. Fraguela, A. Gómez, and J. C. Mouriño, “Performance Evaluation of MPI , UPC and OpenMP on Multicore Architectures,” in 16th European PVM/MPI Users’ Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface, 2009, pp. 174–184.

J. González-Domíngez, M. J. Martín, G. L. Taboada, J. Touriño, R. Doallo, and A. Gómez, “A parallel numerical library for UPC,” in Euro-Par 2009 Parallel Processing, 2009, pp. 630–641.

J. Gonzalez-Dominguez, M. J. Martin, G. L. Taboada, and J. Tourino, “Dense Triangular Solvers on Multicore Clusters using UPC,” in PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE (ICCS), 2011, vol. 4, pp. 231–240.

G. L. Taboada, C. Teijeiro, J. Tourino, B. B. Fraguela, R. Doallo, J. C. Mourino, D. a. Mallon, and A. Gomez, “Performance Evaluation of Unified Parallel C Collective Communications,” 2009 11th IEEE International Conference on High Performance Computing and Communications, pp. 69–78, Jun. 2009.

 

Recursos adicionais:

UPC Operations Microbenchmarking Suite (UOMS)

UPCBLAS:  A  numerical library for UPC