The Case for Message Passing on Many-Core Chips

  • Rakesh Kumar
  • Timothy G. Mattson
  • Gilles Pokam
  • Rob Van Der Wijngaart


The debate over shared memory vs. message passing programming models has raged for decades, with cogent arguments on both sides. In this paper, we revisit this debate for multicore chips and argue that message passing programming models are often more suitable than shared memory models for addressing the problems presented by the many-core era.


Programming Model Shared Memory Message Passing Address Space Parallelism Strategy 
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.


  1. 1.
    D. Anderson, T. Shanley, Pentium Processor System Architecture, Addison Wesley, MA, 1995Google Scholar
  2. 2.
    N. Carriero, D. Gelernter, How to Write Parallel Programs: A Guide to the Perplexed. ACM Computing Surveys, 21(3), pp. 323–357, 1989CrossRefGoogle Scholar
  3. 3.
    T.R.G. Green, M. Petre, Usability Analysis of visual Programming Environments: a “Cognitive Dimensions” framework, Journal of Visual Languages and Computing, 7, pp. 131–174, 1996CrossRefGoogle Scholar
  4. 4.
    J.P. Hoeflinger, B.R. de Supinski, The OpenMP memory model. In: Proceedings of the First International Workshop on OpenMP – IWOMP 2005, 2005Google Scholar
  5. 5.
    J. Howard, S. Dighe, Y. Hoskote, S. Vangal, D. Finan, G. Ruhl, D. Jenkins, H. Wilson, N. Borkar, G. Schrom, F. Pailet, S. Jain, T. Jacob, S. Yada, S. Marella, P. Salihundam, V. Erraguntla, M. Konow, M. Riepen, G. Droege, J. Lindemann, M. Gries, T. Apel, K. Henriss, T. Lund-Larsen, S. Steibl, S. Borkar, V. De1, R. Van Der Wijngaart, T. Mattson, A 48-Core IA-32 Message-Passing Processor with DVFS in 45nm CMOS, Proceedings of the International Solid-State Circuits Conference, Feb 2010Google Scholar
  6. 6.
    K. Keutzer, T.G. Mattson, A design pattern language for engineering (Parallel) software, Intel Technology Journal, pp. 6–19, 2009Google Scholar
  7. 7.
    P.N. Klein, H-I Lu, R.H.B. Netzer, Detecting Race Conditions in Parallel Programs that Use Semaphores, Algorithmica, vol. 35, pp. 321–345, Springer, Berlin, 2003Google Scholar
  8. 8.
    E.A. Lee, The problem with threads, IEEE Computer, 29(5), pp. 33–42, 2006Google Scholar
  9. 9.
    T.G. Mattson, B.A. Sanders, B.L. Massingill, Patterns for Parallel Programming, Addison Wesley software patterns series, 2004Google Scholar
  10. 10.
    M.J. Sottile, T.G. Mattson, C.E Rasmussen, Introduction to Concurrency in Programming Languages, CRC, FL, 2009Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  • Rakesh Kumar
    • 1
  • Timothy G. Mattson
  • Gilles Pokam
  • Rob Van Der Wijngaart
  1. 1.University of Illinois at Urbana-Champaign (UIUC)ChampaignUSA

Personalised recommendations