skip to main content
research-article
Free Access

A view of the parallel computing landscape

Published:01 October 2009Publication History
Skip Abstract Section

Abstract

Writing programs that scale with increasing numbers of cores should be as easy as writing programs for sequential computers.

References

  1. Adve, S. et al. Parallel Computing Research at Illinois: The UPCRC Agenda. White Paper. University of Illinois, Urbana-Champaign, IL, Nov. 2008.Google ScholarGoogle Scholar
  2. Agarwal, V., Liu, L.-K., and Bader, D. Financial modeling on the Cell broadband engine. In Proceedings of 22nd IEEE International Parallel and Distributed Processing Symposium (Miami, FL, Apr. 14--18, 2008).Google ScholarGoogle ScholarCross RefCross Ref
  3. Alexander, C. et al. A Pattern Language: Towns, Buildings, Construction. Oxford University Press, 1997.Google ScholarGoogle Scholar
  4. Asanovic, K. et al. The Parallel Computing Laboratory at U.C. Berkeley: A Research Agenda Based on the Berkeley View. UCB/EECS-2008-23, University of California, Berkeley, Mar. 21, 2008.Google ScholarGoogle Scholar
  5. Asanovic, K. et al. The Landscape of Parallel Computing Research: A View from Berkeley. UCB/EECS-2006-183, University of California, Berkeley, Dec. 18, 2006.Google ScholarGoogle Scholar
  6. Bader, D.A. and Patel, S. High-performance MPEG-2 software decoder on the Cell broadband engine. In Proceedings of the 22nd IEEE International Parallel and Distributed Processing Symposium (Miami, FL, Apr. 14--18, 2008).Google ScholarGoogle ScholarCross RefCross Ref
  7. Buschmann, F. et al. Pattern-Oriented Software Architecture: A System of Patterns. John Wiley&Sons, Inc., New York, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Clarke, D.G. et al. Ownership types for flexible alias protection. In Proceedings of the OOPSLA Conference (Vancouver, BC, Canada, 1998), 48--64. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Datta, K. et al. Stencil computation optimization and autotuning on state-of-the-art multicore architectures. In Proceedings of the ACM/IEEE Supercomputing (SC) 2008 Conference (Austin, TX, Nov. 15--21). IEEE Press, Piscataway, NJ, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Demmel, J., Dongarra, J., Eijkhout, V., Fuentes, E., Petitet, A., Vuduc, R., Whaley, R., and Yelick, K. Self-adapting linear algebra algorithms and software. Proceedings of the IEEE, Special Issue on Program Generation, Optimization, and Adaptation 93, 2 (Feb. 2005), 293--312.Google ScholarGoogle ScholarCross RefCross Ref
  11. Engler, D.R. Exokernel: An operating system architecture for application-level resource management. In Proceedings of the 15th Symposium on Operating Systems Principles (Cooper Mountain, CO, Dec. 3--6, 1995), 251--266. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Gamma, E. et al. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, Reading, MA, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Gelernter, D. and Carriero, N. Coordination languages and their significance. Commun. ACM 35, 2 (Feb. 1992), 97--107. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Henzinger, T.A. et al. Permissive interfaces. In Proceedings of the 10th European Software Engineering Conference (Lisbon, Portugal, Sept. 5--9). ACM Press, New York, 2005, 31--40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Hill, M. and Marty, M. Amdahl's Law in the multicore era. IEEE Computer 41, 7 (2008), 33--38. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. International Technology Roadmap for Semiconductors. Executive Summary, 2005 and 2007; http://public.itrs.net/.Google ScholarGoogle Scholar
  17. Kantowitz, B. and Sorkin, R. Human Factors: Understanding People-System Relationships. John Wiley&Sons, Inc., New York, 1983.Google ScholarGoogle Scholar
  18. Mattson, T., Sanders, B., and Massingill, B. Patterns for Parallel Programming. Addison-Wesley Professional, Reading, MA, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. O'Hanlon, C. A conversation with John Hennessy and David Patterson. Queue 4, 10 (Dec. 2005/Jan. 2006), 14--22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Patterson, D. and Hennessy, J. Computer Organization and Design: The Hardware/Software Interface, Fourth Edition. Morgan Kaufmann Publishers, Boston, MA, Nov. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Sen, K. and Viswanathan, M. Model checking multithreaded programs with asynchronous atomic methods. In Proceedings of the 18th International Conference on Computer-Aided Verification (Seattle, WA, Aug. 17--20, 2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Sen, K. et al. CUTE: A concolic unit testing engine for C. In Proceedings of the Fifth Joint Meeting European Software Engineering Conference (Lisbon, Portugal, Sept. 5--9). ACM Press, New York, 2005, 263--272. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Shaw, M. and Garlan, D. An Introduction to Software Architecture. Technical Report CMU/SEI-94-TR-21, ESC-TR-94-21. CMU Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, 1994.Google ScholarGoogle Scholar
  24. Shirako, J., Peixotto, D., Sarkar, V., and Scherer, W. Phasers: A unified deadlock-free construct for collective and point-to-point synchronization. In Proceedings of the 22nd ACM International Conference on Supercomputing (Island of Kos, Greece, June 7--12). ACM Press, New York, 2008, 277--288. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Shirako, J., Kasahara, H., and Sarkar, V. Language extensions in support of compiler parallelization. In Proceedings of the 20th Workshop on Languages and Compilers for Parallel Computing (Urbana, IL, Oct. 11--13). Springer-Verlag, Berlin, 2007, 78--94. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Thomas, D. et al. Agile Web Development with Rails, Second Edition. The Pragmatic Bookshelf, Raleigh, NC, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. UPC Language Specifications, Version 1.2. Technical Report LBNL-59208. Lawrence Berkeley National Laboratory, Berkeley, CA, 2005.Google ScholarGoogle Scholar
  28. Wawrzynek, J. et al. RAMP: Research Accelerator for Multiple Processors. IEEE Micro 27, 2 (Mar. 2007), 46--57. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Williams, S., Waterman, A., and Patterson, D. Roofline: An insightful visual performance model for floating-point programs and multicore architectures. Commun. ACM 52, 4 (Apr. 2009), 65--76. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Williams, S. et al. Lattice Boltzmann simulation optimization on leading multicore platforms. In Proceedings of the 22nd IEEE International Parallel and Distributed Processing Symposium (Miami, FL, Apr. 14--18, 2008).Google ScholarGoogle Scholar
  31. Williams, S. et al. Optimization of sparse matrix-vector multiplication on emerging multicore platforms. In Proceedings of the Supercomputing (SC07) Conference (Reno, NV, Nov. 10--16). ACM Press, New York, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A view of the parallel computing landscape

              Recommendations

              Reviews

              John P. Dougherty

              This article covers substantial ground in providing a vision of what parallel computing needs to become in order to "save the world." OK, perhaps it is not that grandiose, but close. It is clear from the text that the authors believe that parallel computing must be a keystone for the next generation of computing, and this piece is their invitation for all to join them. After reviewing hardware limits and the resulting transition from single- to multi-core processors, the article notes the difficulties encountered when exploiting the potential of parallel computing, citing many past failed industrial attempts. Using a suspension bridge as their metaphor, future (that is, parallel) computing is a software span between the towers of hardware and applications. Too many ideas are presented to survey them all in this review, but they are all covered in enough detail to whet the appetite, with references for further information provided. I was intrigued by the idea of starting from applications to determine research directions; the authors present an initial set of five that they expect to expand in time. I am also interested in their exploration of design patterns in the context of parallel computing. The article is a view of parallel computing from the Par Lab at UC Berkeley, with a small section on other related projects tucked in at the end. I really enjoyed reading this article. It does not have as much technical detail as I had expected, but it is well written and full of energy about the topic. Online Computing Reviews Service

              Access critical reviews of Computing literature here

              Become a reviewer for Computing Reviews.

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              • Published in

                cover image Communications of the ACM
                Communications of the ACM  Volume 52, Issue 10
                A View of Parallel Computing
                October 2009
                134 pages
                ISSN:0001-0782
                EISSN:1557-7317
                DOI:10.1145/1562764
                Issue’s Table of Contents

                Copyright © 2009 ACM

                Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 1 October 2009

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • research-article
                • Popular
                • Refereed

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader

              HTML Format

              View this article in HTML Format .

              View HTML Format