Lecture Notes in Computer Science 5004 Commenced Publication in 1973 Founding and Former Series Editors: Gerhard Goos, Juris Hartmanis, and Jan van Leeuwen Editorial Board David Hutchison Lancaster University, UK Takeo Kanade Carnegie Mellon University, Pittsburgh, PA, USA Josef Kittler University of Surrey, Guildford, UK Jon M. Kleinberg Cornell University, Ithaca, NY, USA Alfred Kobsa University of California, Irvine, CA, USA Friedemann Mattern ETH Zurich, Switzerland John C. Mitchell Stanford University, CA, USA Moni Naor Weizmann Institute of Science, Rehovot, Israel Oscar Nierstrasz University of Bern, Switzerland C. Pandu Rangan Indian Institute of Technology, Madras, India Bernhard Steffen University of Dortmund, Germany Madhu Sudan Massachusetts Institute of Technology, MA, USA Demetri Terzopoulos University of California, Los Angeles, CA, USA Doug Tygar University of California, Berkeley, CA, USA Gerhard Weikum Max-Planck Institute of Computer Science, Saarbruecken, Germany
Rudolf Eigenmann Bronis R. de Supinski (Eds.) OpenMP in a New Era of Parallelism 4th International Workshop, IWOMP 2008 West Lafayette, IN, USA, May 12-14, 2008 Proceedings 13
Volume Editors Rudolf Eigenmann Purdue University School of Electrical and Computer Engineering Electrical Engineering Building 465 Northwestern Ave. West Lafayette, IN 47907-2035, USA E-mail: eigenman@purdue.edu Bronis R. de Supinski Computation Directorate Lawrence Livermore National Laboratory Livermore, CA 94551, USA E-mail: bronis@llnl.gov Library of Congress Control Number: 2008925752 CR Subject Classification (1998): D.1.3, D.1, D.2, F.2, G.1-4, J.2, I.6 LNCS Sublibrary: SL 1 Theoretical Computer Science and General Issues ISSN 0302-9743 ISBN-10 3-540-79560-X Springer Berlin Heidelberg New York ISBN-13 978-3-540-79560-5 Springer Berlin Heidelberg New York This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, re-use of illustrations, recitation, broadcasting, reproduction on microfilms or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer. Violations are liable to prosecution under the German Copyright Law. Springer is a part of Springer Science+Business Media springer.com Springer-Verlag Berlin Heidelberg 2008 Printed in Germany Typesetting: Camera-ready by author, data conversion by Scientific Publishing Services, Chennai, India Printed on acid-free paper SPIN: 12264346 06/3180 543210
Preface OpenMP is a widely accepted, standard application programming interface (API) for high-level shared-memory parallel programming in Fortran, C, and C++. Since its introduction in 1997, OpenMP has gained support from most high-performance compiler and hardware vendors. Under the direction of the OpenMP Architecture Review Board (ARB), the OpenMP specification has evolved, including the recent release of Specification 3.0. Active research in OpenMP compilers, runtime systems, tools, and environments drives its evolution, including new features such as tasking. The community of OpenMP researchers and developers in academia and industry is united under compunity (www.compunity.org). This organaization has held workshops on OpenMP around the world since 1999: the European Workshop on OpenMP (EWOMP), the North American Workshop on OpenMP Applications and Tools (WOMPAT), and the Asian Workshop on OpenMP Experiences and Implementation (WOMPEI) attracted annual audiences from academia and industry. The International Workshop on OpenMP (IWOMP) consolidated these three workshop series into a single annual international event that rotates across the previous workshop sites. The first IWOMP meeting was held in 2005, in Eugene, Oregon, USA. IWOMP 2006 took place in Reims, France, and IWOMP 2007 in Beijing, China. Each workshop drew over 60 participants from research and industry throughout the world. IWOMP 2008 continued the series with technical papers, panels, tutorials, and OpenMP status reports. The first IWOMP workshop was organized under the auspices of compunity. Since that workshop, the IWOMP Steering Committee has organizedthese events and guided development of the series. The first three IWOMP meetings were successful in every regard, due largely to the generous support received from numerous sponsors, demonstrating the importance of OpenMP as a practical programming paradigm. The compunity website (www.compunity.org) provides access to the talks given at the meetings and to photos of the activities. The IWOMP website (www.iwomp.org) provides information on the latest event. This book contains the proceedings of IWOMP 2008. The workshop program included 16 technical papers, a keynote talk on Programming with Transactions by Kunle Olukotun, Stanford University, and an invited talk entitled Taking OpenMP Beyond HPC by Tim Mattson, Intel Corp. The workshop program also featured a panel entitled Is OpenMP Irrelevant Next to MPI and Pthreads? of course, the title created lively discussions, providing evidence to the contrary! The workshop concluded with a status and update report by OpenMP s driving force its ARB and several OpenMP vendors. Rudi Eigenmann Bronis R. de Supinski
Organization Committee General Chair Publicity Chair Publications Chair Publications Chair Sponsors Contact Chair Tutorials Chair Website Chair Local Arrangements Chair Program Committee Chair Program Committee Rudi Eigenmann (Purdue University, USA) Matthijs van Waveren (Fujitsu, France) Bronis R. de Supinski (LLNL, USA) Eduard Ayguadé (Barcelona Supercomputing Centre, Spain) Barbara Chapman (University of Houston, USA) Ruud van der Pas (Sun Microsystems, Netherlands) Chirag Dave (Purdue University, USA) Melanie A. Lindsay (Purdue University, USA) Rudi Eigenmann (Purdue University, USA) Dieter an Mey (RWTH Aachen University, Germany) Eduard Ayguadé (Barcelona Supercomputing Center, Spain) Barbara Chapman (University of Houston, USA) Bronis R. de Supinski (LLNL, USA) Guang R. Gao (University of Delaware, USA) Rick Kufrin (NCSA/University of Illinois, USA) Federico Massaioli (CASPUR, Italy) Lawrence Meadows (Intel, USA) Matthias S. Müller (ZIH, TU Dresden, Germany) Mitsuhisa Sato (University of Tsukuba, Japan) Ruud van der Pas (Sun Microsystems, Netherlands)
VIII Organization IWOMP Steering Committee Chair Committee Members Bronis R. de Supinski (LLNL, USA) Dieter an Mey (RWTH Aachen University, Germany) Eduard Ayguadé (Barcelona Supercomputing Center, Spain) Mark Bull (EPCC, UK) Barbara Chapman (CEO of compunity, University of Houston, USA) Rudi Eigenmann (Purdue University, USA) Guang R. Gao (University of Delaware, USA) Ricky Kendall (Oak Ridge National Laboratory, USA) Michaël Krajecki (University of Reims, France) Rick Kufrin (NCSA/University of Illinois, USA) Federico Massaioli (CASPUR, Italy) Lawrence Meadows (Intel, USA) Matthias S. Müller (ZIH, TU Dresden, Germany) Arnaud Renard (University of Reims, France) Mitsuhisa Sato (University of Tsukuba, Japan) Sanjiv Shah (Intel, USA) Ruud van der Pas (Sun Microsystems, Netherlands) Matthijs van Waveren (Fujitsu, France) Michael Wong (IBM, Canada) Weimin Zheng (Tsinghua University, China)
Table of Contents Fourth International Workshop on OpenMP IWOMP 2008 OpenMP Overheads, Hybrid Models A Microbenchmark Study of OpenMP Overheads under Nested Parallelism... 1 Vassilios V. Dimakopoulos, Panagiotis E. Hadjidoukas, and Giorgos Ch. Philos CLOMP: Accurately Characterizing OpenMP Application Overheads... 13 Greg Bronevetsky, John Gyllenhaal, and Bronis R. de Supinski Detection of Violations to the MPI Standard in Hybrid OpenMP/MPI Applications... 26 Tobias Hilbrich, Matthias S. Müller, and Bettina Krammer Early Experiments with the OpenMP/MPI Hybrid Programming Model... 36 Ewing Lusk and Anthony Chan OpenMP for Clusters First Experiences with Intel Cluster OpenMP... 48 Christian Terboven, Dieter an Mey, Dirk Schmidl, and Marcus Wagner Micro-benchmarks for Cluster OpenMP Implementations: Memory Consistency Costs... 60 H.J.Wong,J.Cai,A.P.Rendell,andP.Strazdins Incorporation of OpenMP Memory Consistency into Conventional Dataflow Analysis... 71 Ayon Basumallik and Rudolf Eigenmann STEP: A Distributed OpenMP for Coarse-Grain Parallelism Tool... 83 Daniel Millot, Alain Muller, Christian Parrot, and Frédérique Silber-Chaussumier
X Table of Contents OpenMP Tasking Models and Extensions Evaluation of OpenMP Task Scheduling Strategies... 100 Alejandro Duran, Julita Corbalán, and Eduard Ayguadé Extending the OpenMP Tasking Model to Allow Dependent Tasks... 111 Alejandro Duran, Josep M. Perez, Eduard Ayguadé, Rosa M. Badia, and Jesus Labarta OpenMP Extensions for Generic Libraries... 123 Prabhanjan Kambadur, Douglas Gregor, and Andrew Lumsdaine Streams: Emerging from a Shared Memory Model... 134 Benedict R. Gaster Applications, Scheduling, Tools On Multi-threaded Satisfiability Solving with OpenMP... 146 Pascal Vander-Swalmen, Gilles Dequen, and Michaël Krajecki Parallelism and Scalability in an Image Processing Application... 158 Morten S. Rasmussen, Matthias B. Stuart, and Sven Karlsson Scheduling Dynamic OpenMP Applications over Multicore Architectures... 170 François Broquedis, François Diakhaté, Samuel Thibault, Olivier Aumage, Raymond Namyst, and Pierre-André Wacrenier Visualizing the Program Execution Control Flow of OpenMP Applications... 181 Karl Fürlinger and Shirley Moore Author Index... 191