skip to main content
research-article
Free access

A view of the parallel computing landscape

Published: 01 October 2009 Publication History

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.
[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).
[3]
Alexander, C. et al. A Pattern Language: Towns, Buildings, Construction. Oxford University Press, 1997.
[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.
[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.
[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).
[7]
Buschmann, F. et al. Pattern-Oriented Software Architecture: A System of Patterns. John Wiley&Sons, Inc., New York, 1996.
[8]
Clarke, D.G. et al. Ownership types for flexible alias protection. In Proceedings of the OOPSLA Conference (Vancouver, BC, Canada, 1998), 48--64.
[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.
[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.
[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.
[12]
Gamma, E. et al. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, Reading, MA, 1994.
[13]
Gelernter, D. and Carriero, N. Coordination languages and their significance. Commun. ACM 35, 2 (Feb. 1992), 97--107.
[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.
[15]
Hill, M. and Marty, M. Amdahl's Law in the multicore era. IEEE Computer 41, 7 (2008), 33--38.
[16]
International Technology Roadmap for Semiconductors. Executive Summary, 2005 and 2007; http://public.itrs.net/.
[17]
Kantowitz, B. and Sorkin, R. Human Factors: Understanding People-System Relationships. John Wiley&Sons, Inc., New York, 1983.
[18]
Mattson, T., Sanders, B., and Massingill, B. Patterns for Parallel Programming. Addison-Wesley Professional, Reading, MA, 2004.
[19]
O'Hanlon, C. A conversation with John Hennessy and David Patterson. Queue 4, 10 (Dec. 2005/Jan. 2006), 14--22.
[20]
Patterson, D. and Hennessy, J. Computer Organization and Design: The Hardware/Software Interface, Fourth Edition. Morgan Kaufmann Publishers, Boston, MA, Nov. 2008.
[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).
[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.
[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.
[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.
[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.
[26]
Thomas, D. et al. Agile Web Development with Rails, Second Edition. The Pragmatic Bookshelf, Raleigh, NC, 2008.
[27]
UPC Language Specifications, Version 1.2. Technical Report LBNL-59208. Lawrence Berkeley National Laboratory, Berkeley, CA, 2005.
[28]
Wawrzynek, J. et al. RAMP: Research Accelerator for Multiple Processors. IEEE Micro 27, 2 (Mar. 2007), 46--57.
[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.
[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).
[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.

Cited By

View all
  • (2024)Computational modeling for medical data: From data collection to knowledge discoveryThe Innovation Life10.59717/j.xinn-life.2024.1000792:3(100079)Online publication date: 2024
  • (2024)Techniques for Theoretical Prediction of Immunogenic PeptidesEncyclopedia10.3390/encyclopedia40100384:1(600-621)Online publication date: 19-Mar-2024
  • (2024)Using Evolutionary Algorithms to Find Cache-Friendly Generalized Morton Layouts for ArraysProceedings of the 15th ACM/SPEC International Conference on Performance Engineering10.1145/3629526.3645034(83-94)Online publication date: 7-May-2024
  • Show More Cited By

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

Information & Contributors

Information

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
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: 01 October 2009
Published in CACM Volume 52, Issue 10

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article
  • Popular
  • Refereed

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1,105
  • Downloads (Last 6 weeks)103
Reflects downloads up to 22 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Computational modeling for medical data: From data collection to knowledge discoveryThe Innovation Life10.59717/j.xinn-life.2024.1000792:3(100079)Online publication date: 2024
  • (2024)Techniques for Theoretical Prediction of Immunogenic PeptidesEncyclopedia10.3390/encyclopedia40100384:1(600-621)Online publication date: 19-Mar-2024
  • (2024)Using Evolutionary Algorithms to Find Cache-Friendly Generalized Morton Layouts for ArraysProceedings of the 15th ACM/SPEC International Conference on Performance Engineering10.1145/3629526.3645034(83-94)Online publication date: 7-May-2024
  • (2024)ConvStencil: Transform Stencil Computation to Matrix Multiplication on Tensor CoresProceedings of the 29th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming10.1145/3627535.3638476(333-347)Online publication date: 2-Mar-2024
  • (2024)Cyclebite: Extracting Task Graphs From Unstructured Compute-ProgramsIEEE Transactions on Computers10.1109/TC.2023.332750473:1(221-234)Online publication date: 1-Jan-2024
  • (2024)RISC- Vcito: A Multicycle Tiny Processor Implemented with SKY130 PDK2024 IEEE 67th International Midwest Symposium on Circuits and Systems (MWSCAS)10.1109/MWSCAS60917.2024.10658692(1388-1392)Online publication date: 11-Aug-2024
  • (2024)Mapping the Landscape of Quantum Computing and High Performance Computing Research Over the Last DecadeIEEE Access10.1109/ACCESS.2024.341130712(106107-106120)Online publication date: 2024
  • (2024)Integrating FPGA-based hardware acceleration with relational databasesParallel Computing10.1016/j.parco.2024.103064119:COnline publication date: 1-Feb-2024
  • (2024)Extending parallel programming patterns with adaptability featuresCluster Computing10.1007/s10586-024-04622-027:9(12547-12568)Online publication date: 15-Jun-2024
  • (2024)Expansion of AI and ML Breakthroughs in HPC with Shift to Edge Computing in Remote EnvironmentsHigh Performance Computing in Biomimetics10.1007/978-981-97-1017-1_5(129-145)Online publication date: 21-Mar-2024
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Digital Edition

View this article in digital edition.

Digital Edition

Magazine Site

View this article on the magazine site (external)

Magazine Site

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media