Abstract
In any parallel programming language; collective communication operations involve more than one thread/process and act on multiple streams of data. The language’s API provides both algorithmic and run-time system support to optimize the performance of these operations. Some developers, however, choose to play clever and start from the language’s primitive operations and write their own versions of the collective operations. The question that always pops up: Are these developers wise? In this paper, we check the case of UPC (Universal Parallel C) and prove that in some circumstances, it is wiser for developers to optimize starting from UPC’s primitive operations. In our testing we found out that optimization using primitive UPC operations by the developers can have better performance than readily available UPC’s collective operations. In this paper, we pin point specific optimizations at both the algorithmic and the runtime support levels that developers could use to uncover missed optimization opportunities. We also propose a novel approach to implementing UPC collective operations across clusters. Under this methodology, performance-critical components are moved close to the network. We argue that this provide unique advantages for performance improvement.
Keywords
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
UPC Consortium: UPC Collective Operations Specifications V1.0, George Washington University and IDA Center for Computing Sciences (2003)
Zhang, Z., Seidel, S.: Benchmark Measurements of Current UPC Platforms. In: IPDPS’05. 19th IEEE International Parallel and Distributed Processing Symposium, IEEE Computer Society Press, Los Alamitos (2005)
Michigan University: UPC Collective Reference Implementation V 1.0, Michigan University UPC (2004), http://www.upc.mtu.edu/collectives/col1.html
UPC Consortium: UPC Language Specifications V 1.2, George Washington University and IDA Center for Computing Sciences (2005)
Pjesivac-Grbovic1, J., Angskun1, T., Bosilca1, G., Fagg1, G.E., Gabriel2, E., Dongarra1, J.J.: Performance Analysis of MPI Collective Operations (2006)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Salama, R.A., Sameh, A. (2007). UPC Collective Operations Optimization. In: Gervasi, O., Gavrilova, M.L. (eds) Computational Science and Its Applications – ICCSA 2007. ICCSA 2007. Lecture Notes in Computer Science, vol 4705. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74472-6_44
Download citation
DOI: https://doi.org/10.1007/978-3-540-74472-6_44
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-74468-9
Online ISBN: 978-3-540-74472-6
eBook Packages: Computer ScienceComputer Science (R0)