Performance Evaluation of Unified Parallel C Collective Communications
![Thumbnail](/dspace/bitstream/handle/2183/23044/G.L.Taboada_2009_Performance_Evaluation_of_Unified_Parallel_C_Collective_Communications.pdf.jpg?sequence=4&isAllowed=y)
Use este enlace para citar
http://hdl.handle.net/2183/23044Colecciones
Metadatos
Mostrar el registro completo del ítemTítulo
Performance Evaluation of Unified Parallel C Collective CommunicationsAutor(es)
Fecha
2009-07-17Cita bibliográfica
G. L. Taboada et al., "Performance Evaluation of Unified Parallel C Collective Communications," 2009 11th IEEE International Conference on High Performance Computing and Communications, Seoul, 2009, pp. 69-78.
Resumen
[Abstract] Unified Parallel C (UPC) is an extension of ANSI C designed for parallel programming. UPC collective primitives, which are part of the UPC standard, increase programming productivity while reducing the communication overhead. This paper presents an up-to-date performance evaluation of two publicly available UPC collective implementations on three scenarios: shared, distributed, and hybrid shared/distributed memory architectures. The characterization of the throughput of collective primitives is useful for increasing performance through the runtime selection of the appropriate primitive implementation, which depends on the message size and the memory architecture, as well as to detect inefficient implementations. In fact, based on the analysis of the UPC collectives performance, we proposed some optimizations for the current UPC collective libraries. We have also compared the performance of the UPC collective primitives and their MPI counterparts, showing that there is room for improvement. Finally, this paper concludes with an analysis of the influence of the performance of the UPC collectives on a representative communication-intensive application, showing that their optimization is highly important for UPC scalability.
Palabras clave
Libraries
Electronics packaging
Parallel programming
Memory architecture
Yarn
Performance analysis
Runtime environment
High performance computing
Computer architecture
Communication standards
Electronics packaging
Parallel programming
Memory architecture
Yarn
Performance analysis
Runtime environment
High performance computing
Computer architecture
Communication standards
Descripción
This is a post-peer-review, pre-copyedit version. The final authenticated version is available online at: http://dx.doi.org/10.1109/HPCC.2009.88