Abstract
OpenMP provides a portable programming interface for shared memory parallel computers (SMPs). Although this interface has proven successful for small SMPs, it requies greater flexibility in light of the steadily growing size of individual SMPs and the recent advent of multithreaded chips. In this paper, we describe two application development experiences that exposed these expressivity problems in the current OpenMP specification. We then propose mechanisms to overcome these limitations, including thread subteams and thread topologies. Thus, we identify language features that improve OpenMP application performance on emerging and large-scale platforms while preserving ease of programming.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Allen, E., Chase, D., Luchangco, V., Maessen, J.-W., Ryu, S., Steele Jr., G.L., Tobin-Hochstadt, S.: The Fortress Language Specification, Version 0.785, http://research.sun.com/projects/plrg/fortress0785.pdf
Bailey, D., Harris, T., Saphir, W., Van der Wijngaart, R., Woo, A., Yarrow, M.: The NAS Parallel Benchmarks 2.0, RNR-95-020, NASA Ames Research Center (1995)
Cray Inc., Chapel Specification 0.4, http://chapel.cs.washington.edu/specification.pdf
Charles, P., Grothoff, C., Saraswat, V., Donawa, C., Kielstra, A., Ebcioglu, K., von Praun, C., Sarkar, V.: X10: an object-oriented approach to non-uniform cluster computing. In: The proceedings of OOPSLA 2005, pp. 519–538 (2005), Ebcioglu, K., Saraswat V., Sarkar, V.: X10: Programming for hierarchical parallelism and nonuniform data access (extended abstract), OOPSLA 2004 (October 2004)
Gonzalez, M., Ayguade, E., Martorell, X., Labarta, J.: Defining and Supporting Pipelined Executions in OpenMP. In: Eigenmann, R., Voss, M.J. (eds.) WOMPAT 2001. LNCS, vol. 2104, Springer, Heidelberg (2001)
Gonzalez, M., Oliver, J., Martorell, X., Ayguade, E., Labarta, J., Navarro, N.: OpenMP Extensions for Thread Groups and Their Run-time Support. In: Midkiff, S.P., Moreira, J.E., Gupta, M., Chatterjee, S., Ferrante, J., Prins, J.F., Pugh, B., Tseng, C.-W. (eds.) LCPC 2000. LNCS, vol. 2017, pp. 317–331. Springer, Heidelberg (2001)
Jin, H., Jost, G., Yan, J., Ayguade, E., Gonzalez, M., Martorell, X.: Automatic Multilevel Parallelization Using OpenMP. Scientific Programming 11(2), 177–190 (2003)
Jin, H., Jost, G.: Support of Multidimensional Parallelism in the OpenMP Programming Model. In: WOMPEI 2003. The Proceedings of the International Symposium on High Performance Computing (ISHPC-V), Tokyo, Japan (October 2003)
Kalla, R., Sinharoy, B., Tendler, J.: IBM POWER5 chip: a dualcore multithreaded processor. IEEE Micro 24(2), 40–47 (2004)
Kongetira, P.: A 32-way Multithreaded SPARC Processor. In: Hot Chips 16, http://www.hotchips.org/archives/hc16/
MIPSPro 7 Fortran 90 Commands and Directives Reference Manual 007-3696-03. http://techpubs.sgi.com/
Liu, Z., Chapman, B., Wen, Y., Huang, L., Hernandez, O.: Analyses and Optimizations for the Translation of OpenMP Codes into SPMD Style. In: Voss, M.J. (ed.) WOMPAT 2003. LNCS, vol. 2716, pp. 26–41. Springer, Heidelberg (2003)
Olukotun, K., Nayfeh, B.A., Hammond, L., Wilson, K., Chang, K.: The Case for a Single-Chip Multiprocessor. In: Intl. Conf. on Architectural Support for Programming Languages and Operating Systems, pp. 2–11 (1996)
OpenMP Application Program Interface, Version 2.5 (May 2005), http://www.openmp.org/drupal/mp-documents/spec25.pdf
The OpenUH compiler project, http://www.cs.uh.edu/~openuh
Sesimc Micro-Technology, Inc., TracePak Module, http://www.seismicmicro.com/Prod_Geo.htm
Tullsen, D., Eggers, S., Levy, H.: Simultaneous Multithreading: Maximizing On-Chip Parallelism. In: Intl. Symp. on Computer Architecture, pp. 392–403 (1995)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Chapman, B.M., Huang, L., Jin, H., Jost, G., de Supinski, B.R. (2006). Toward Enhancing OpenMP’s Work-Sharing Directives. In: Nagel, W.E., Walter, W.V., Lehner, W. (eds) Euro-Par 2006 Parallel Processing. Euro-Par 2006. Lecture Notes in Computer Science, vol 4128. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11823285_67
Download citation
DOI: https://doi.org/10.1007/11823285_67
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-37783-2
Online ISBN: 978-3-540-37784-9
eBook Packages: Computer ScienceComputer Science (R0)