A Programming Model Performance Study Using the NAS Parallel Benchmarks
Harnessing the power of multicore platforms is challenging due to the additional levels of parallelism present. In this paper we use the NAS Parallel Benchmarks to study three programming models, MPI, OpenMP and PGAS to understand their performance and memory usage characteristics on current multico...
Main Authors: | , , , , , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
Hindawi Limited
2010-01-01
|
Series: | Scientific Programming |
Online Access: | http://dx.doi.org/10.3233/SPR-2010-0306 |
id |
doaj-b13b9c3e26da403683a9fb6d9e242bd9 |
---|---|
record_format |
Article |
spelling |
doaj-b13b9c3e26da403683a9fb6d9e242bd92021-07-02T02:03:07ZengHindawi LimitedScientific Programming1058-92441875-919X2010-01-01183-415316710.3233/SPR-2010-0306A Programming Model Performance Study Using the NAS Parallel BenchmarksHongzhang Shan0Filip Blagojević1Seung-Jai Min2Paul Hargrove3Haoqiang Jin4Karl Fuerlinger5Alice Koniges6Nicholas J. Wright7Future Technology Group, Computational Research Division, Lawrence Berkeley National Laboratory, Berkeley, CA, USAFuture Technology Group, Computational Research Division, Lawrence Berkeley National Laboratory, Berkeley, CA, USAFuture Technology Group, Computational Research Division, Lawrence Berkeley National Laboratory, Berkeley, CA, USAFuture Technology Group, Computational Research Division, Lawrence Berkeley National Laboratory, Berkeley, CA, USANAS Division, NASA Ames Research Center, Moffett Field, CA, USAUniversity of California at Berkeley, EECS Department, Computer Science Division, Berkeley, CA, USANERSC, Lawrence Berkeley National Laboratory, Berkeley, CA, USANERSC, Lawrence Berkeley National Laboratory, Berkeley, CA, USAHarnessing the power of multicore platforms is challenging due to the additional levels of parallelism present. In this paper we use the NAS Parallel Benchmarks to study three programming models, MPI, OpenMP and PGAS to understand their performance and memory usage characteristics on current multicore architectures. To understand these characteristics we use the Integrated Performance Monitoring tool and other ways to measure communication versus computation time, as well as the fraction of the run time spent in OpenMP. The benchmarks are run on two different Cray XT5 systems and an Infiniband cluster. Our results show that in general the three programming models exhibit very similar performance characteristics. In a few cases, OpenMP is significantly faster because it explicitly avoids communication. For these particular cases, we were able to re-write the UPC versions and achieve equal performance to OpenMP. Using OpenMP was also the most advantageous in terms of memory usage. Also we compare performance differences between the two Cray systems, which have quad-core and hex-core processors. We show that at scale the performance is almost always slower on the hex-core system because of increased contention for network resources.http://dx.doi.org/10.3233/SPR-2010-0306 |
collection |
DOAJ |
language |
English |
format |
Article |
sources |
DOAJ |
author |
Hongzhang Shan Filip Blagojević Seung-Jai Min Paul Hargrove Haoqiang Jin Karl Fuerlinger Alice Koniges Nicholas J. Wright |
spellingShingle |
Hongzhang Shan Filip Blagojević Seung-Jai Min Paul Hargrove Haoqiang Jin Karl Fuerlinger Alice Koniges Nicholas J. Wright A Programming Model Performance Study Using the NAS Parallel Benchmarks Scientific Programming |
author_facet |
Hongzhang Shan Filip Blagojević Seung-Jai Min Paul Hargrove Haoqiang Jin Karl Fuerlinger Alice Koniges Nicholas J. Wright |
author_sort |
Hongzhang Shan |
title |
A Programming Model Performance Study Using the NAS Parallel Benchmarks |
title_short |
A Programming Model Performance Study Using the NAS Parallel Benchmarks |
title_full |
A Programming Model Performance Study Using the NAS Parallel Benchmarks |
title_fullStr |
A Programming Model Performance Study Using the NAS Parallel Benchmarks |
title_full_unstemmed |
A Programming Model Performance Study Using the NAS Parallel Benchmarks |
title_sort |
programming model performance study using the nas parallel benchmarks |
publisher |
Hindawi Limited |
series |
Scientific Programming |
issn |
1058-9244 1875-919X |
publishDate |
2010-01-01 |
description |
Harnessing the power of multicore platforms is challenging due to the additional levels of parallelism present. In this paper we use the NAS Parallel Benchmarks to study three programming models, MPI, OpenMP and PGAS to understand their performance and memory usage characteristics on current multicore architectures. To understand these characteristics we use the Integrated Performance Monitoring tool and other ways to measure communication versus computation time, as well as the fraction of the run time spent in OpenMP. The benchmarks are run on two different Cray XT5 systems and an Infiniband cluster. Our results show that in general the three programming models exhibit very similar performance characteristics. In a few cases, OpenMP is significantly faster because it explicitly avoids communication. For these particular cases, we were able to re-write the UPC versions and achieve equal performance to OpenMP. Using OpenMP was also the most advantageous in terms of memory usage. Also we compare performance differences between the two Cray systems, which have quad-core and hex-core processors. We show that at scale the performance is almost always slower on the hex-core system because of increased contention for network resources. |
url |
http://dx.doi.org/10.3233/SPR-2010-0306 |
work_keys_str_mv |
AT hongzhangshan aprogrammingmodelperformancestudyusingthenasparallelbenchmarks AT filipblagojevic aprogrammingmodelperformancestudyusingthenasparallelbenchmarks AT seungjaimin aprogrammingmodelperformancestudyusingthenasparallelbenchmarks AT paulhargrove aprogrammingmodelperformancestudyusingthenasparallelbenchmarks AT haoqiangjin aprogrammingmodelperformancestudyusingthenasparallelbenchmarks AT karlfuerlinger aprogrammingmodelperformancestudyusingthenasparallelbenchmarks AT alicekoniges aprogrammingmodelperformancestudyusingthenasparallelbenchmarks AT nicholasjwright aprogrammingmodelperformancestudyusingthenasparallelbenchmarks AT hongzhangshan programmingmodelperformancestudyusingthenasparallelbenchmarks AT filipblagojevic programmingmodelperformancestudyusingthenasparallelbenchmarks AT seungjaimin programmingmodelperformancestudyusingthenasparallelbenchmarks AT paulhargrove programmingmodelperformancestudyusingthenasparallelbenchmarks AT haoqiangjin programmingmodelperformancestudyusingthenasparallelbenchmarks AT karlfuerlinger programmingmodelperformancestudyusingthenasparallelbenchmarks AT alicekoniges programmingmodelperformancestudyusingthenasparallelbenchmarks AT nicholasjwright programmingmodelperformancestudyusingthenasparallelbenchmarks |
_version_ |
1721343975947763712 |