Measuring Synchronisation and Scheduling Overheads in OpenMP
J. Bull. In Proceedings of First European Workshop on OpenMP, page 99--105. (1999)
Abstract
Overheads due to synchronisation and loop scheduling are an important factor in determining the performance of shared memory parallel programs. We present set of benchmarks to measure these classes of overhead for language constructs in OpenMP. Results are presented for three different hardware platforms, each with its own implementation of OpenMP. Significant differences are observed, which suggest possible means of improving performance. Keywords--- Benchmarking, OpenMP, synchronisation, scheduling, performance. I. Introduction OpenMP is a relatively new industry standard for shared memory parallel programming. The standard defines a set of directives and library routines for both Fortran 6 and C/C++ 7. For the first time, shared memory parallel programs can be made portable across a wide range of platforms. Synchronisation and loop scheduling can both be significant sources of overhead in shared memory parallel programs. In OpenMP, the cost of these operations is dependent on...
Description
CiteSeerX — Measuring Synchronisation and Scheduling Overheads in OpenMP
%0 Conference Paper
%1 Bull99measuringsynchronisation
%A Bull, J. Mark
%B In Proceedings of First European Workshop on OpenMP
%D 1999
%K Barrier Benchmarks Evaluation MicroBenchmarks OpenMP Synchronization
%P 99--105
%T Measuring Synchronisation and Scheduling Overheads in OpenMP
%U http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.42.8780
%X Overheads due to synchronisation and loop scheduling are an important factor in determining the performance of shared memory parallel programs. We present set of benchmarks to measure these classes of overhead for language constructs in OpenMP. Results are presented for three different hardware platforms, each with its own implementation of OpenMP. Significant differences are observed, which suggest possible means of improving performance. Keywords--- Benchmarking, OpenMP, synchronisation, scheduling, performance. I. Introduction OpenMP is a relatively new industry standard for shared memory parallel programming. The standard defines a set of directives and library routines for both Fortran 6 and C/C++ 7. For the first time, shared memory parallel programs can be made portable across a wide range of platforms. Synchronisation and loop scheduling can both be significant sources of overhead in shared memory parallel programs. In OpenMP, the cost of these operations is dependent on...
@inproceedings{Bull99measuringsynchronisation,
abstract = {Overheads due to synchronisation and loop scheduling are an important factor in determining the performance of shared memory parallel programs. We present set of benchmarks to measure these classes of overhead for language constructs in OpenMP. Results are presented for three different hardware platforms, each with its own implementation of OpenMP. Significant differences are observed, which suggest possible means of improving performance. Keywords--- Benchmarking, OpenMP, synchronisation, scheduling, performance. I. Introduction OpenMP is a relatively new industry standard for shared memory parallel programming. The standard defines a set of directives and library routines for both Fortran [6] and C/C++ [7]. For the first time, shared memory parallel programs can be made portable across a wide range of platforms. Synchronisation and loop scheduling can both be significant sources of overhead in shared memory parallel programs. In OpenMP, the cost of these operations is dependent on...},
added-at = {2010-04-14T15:29:02.000+0200},
author = {Bull, J. Mark},
biburl = {https://www.bibsonomy.org/bibtex/2dceacd7dcc9043673b54c7ad1deedd9c/gron},
booktitle = {In Proceedings of First European Workshop on OpenMP},
description = {CiteSeerX — Measuring Synchronisation and Scheduling Overheads in OpenMP},
interhash = {81e3b7e8ed6968f395ce5e5885b6b6be},
intrahash = {dceacd7dcc9043673b54c7ad1deedd9c},
keywords = {Barrier Benchmarks Evaluation MicroBenchmarks OpenMP Synchronization},
pages = {99--105},
timestamp = {2010-04-14T15:29:03.000+0200},
title = {Measuring Synchronisation and Scheduling Overheads in OpenMP},
url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.42.8780},
year = 1999
}