Performance pattern of unified parallel C on multi-core clusters - Abdul Hamid, Nor Asilah Wati; Serres, Olivier; Anbar, Ahmad; Hassan, Sazlinah (IEEE (IEEE Xplore), 2013)
The Partitioned Global Address Space (PGAS) model has been widely used in multi-core clusters as an alternative to MPI. Among the widespread use is Unified Parallel C (UPC). Previous research has shown that UPC performance is comparable with MPI, however in certain cases UPC require hand-tuning techniques such as prefetching and privatized pointers-to-shared to improve the performance. In this paper we reviews, evaluate and analyze the performance pattern between UPC Naïve, UPC optimize and MPI on two different multi-core clusters architecture. We focus our study using matrix multiplication as the benchmark and perform our experimental on two distributed memory machine, Cray XE6 with Gemini interconnects and Sun Cluster with Infiniband interconnects. We provide analysis on each core execution time to understand the pattern of communication for both machines. We also demonstrate the gaps between naïve and optimized are depends on the compiler with its associate distributed memory machine. We also observed unnecessary optimization for certain programs related to HPC architecture and compiler.