Mallón, Damián A.Taboada, Guillermo L.Teijeiro Barjas, CarlosTouriño, JuanFraguela, Basilio B.Gómez Tato, AndrésDoallo, RamónMouriño, José C.2019-03-272019-03-272009Mallón D.A. et al. (2009) Performance Evaluation of MPI, UPC and OpenMP on Multicore Architectures. In: Ropo M., Westerholm J., Dongarra J. (eds) Recent Advances in Parallel Virtual Machine and Message Passing Interface. EuroPVM/MPI 2009. Lecture Notes in Computer Science, vol 5759. Springer, Berlin, Heidelberg978-3-642-03770-2978-3-642-03769-60302-97431611-3349http://hdl.handle.net/2183/22391This is a post-peer-review, pre-copyedit version of an article published in Lecture Notes in Computer Science. The final authenticated version is available online at: https://doi.org/10.1007/978-3-642-03770-2_24[Abstract] The current trend to multicore architectures underscores the need of parallelism. While new languages and alternatives for supporting more efficiently these systems are proposed, MPI faces this new challenge. Therefore, up-to-date performance evaluations of current options for programming multicore systems are needed. This paper evaluates MPI performance against Unified Parallel C (UPC) and OpenMP on multicore architectures. From the analysis of the results, it can be concluded that MPI is generally the best choice on multicore systems with both shared and hybrid shared/distributed memory, as it takes the highest advantage of data locality, the key factor for performance in these systems. Regarding UPC, although it exploits efficiently the data layout in memory, it suffers from remote shared memory accesses, whereas OpenMP usually lacks efficient data locality support and is restricted to shared memory systems, which limits its scalability.engMPIUPCOpenMPMulticore architecturesPerformance evaluationNAS parallel benchmarksNPBPerformance Evaluation of MPI, UPC and OpenMP on Multicore Architecturesconference outputopen access10.1007/978-3-642-03770-2_24