skip to main content
research-article
Free Access

Software and the Concurrency Revolution: Leveraging the full power of multicore processors demands new tools and new thinking from the software industry.

Published:01 September 2005Publication History
Skip Abstract Section

Abstract

Concurrency has long been touted as the "next big thing" and "the way of the future," but for the past 30 years, mainstream software development has been able to ignore it. Our parallel future has finally arrived: new machines will be parallel machines, and this will require major changes in the way we develop software. The introductory article in this issue describes the hardware imperatives behind this shift in computer architecture from uniprocessors to multicore processors, also known as CMPs.

References

  1. Sutter, H. 2005. The free lunch is over: a fundamental turn toward concurrency in software. Dr. Dobb's Journal 30 (3); http://www.gotw.ca/publications/concurrency-ddj.htm.Google ScholarGoogle Scholar
  2. Ramalingam, G. 2000. Context-sensitive synchronization-sensitive analysis is undecidable. ACM Transactions on Programming Languages and Systems 22 (2): 416-430. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Dean, J., and Ghemawat, S. 2004. MapReduce: simplified data processing on large clusters. Proceedings of the Sixth Symposium on Operating Systems Design and Implementation, San Francisco, CA: 137-150. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Qadeer, S., and Wu, D. 2004. KISS: Keep it Simple and Sequential. Proceedings of the ACM SIGPLAN 2004 Conference on Programming Language Design and Implementation, Washington, DC: 1-13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. King, S. T., Dunlap, G. W., and Chen, P. M. 2005. Debugging operating systems with time-traveling virtual machines. Proceedings of the 2005 Annual Usenix Technical Conference, Anaheim, CA: 1-15. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Chandra, S., Godefroid, P., and Palm, C. 2002. Software model checking in practice: an industrial case study. Proceedings of the 24th International Conference on Software Engineering, Orlando, FL: 431-441. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Software and the Concurrency Revolution: Leveraging the full power of multicore processors demands new tools and new thinking from the software industry.

            Recommendations

            Reviews

            Matthew Mark Huntbach

            The most interesting thing about this article is that it differs little from similar articles written up to 30 years ago. The argument is that the increasing computational requirements of programs being written will force us to use massively concurrent hardware, and this will require a revolution in programming languages. This was, for example, the driving force behind the Japanese Fifth Generation project of the 1980s. But the promised boom in new programming paradigm languages was sidestepped. Efficiency developments in sequential hardware remained in line with the growth in computational requirements; the object-oriented paradigm, an organic development from structural programming, and still sequential at heart, has come to dominate the development of new programming languages. This article follows from another that argues that the physical limits to sequential hardware efficiency have now been reached. It follows a familiar line, noting that, though for certain problems with a regular structure, the explicitly programmed mapping of subproblems to parallel processors is a possibility, for computation in general there is no predictable pattern. Unpredictable parallel access to mutable memory is difficult to comprehend and reason about. Java may be the state-of-the-art programming language, but its concurrency mechanism of threads with synchronization through locks represents no change from techniques of decades ago, and feels horribly low level. The paper discusses this, says we need to change, but only hints at how. I was sorry the paper did not have more references to past experimental work that, if this paper is right, may return to fashion soon. 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 Queue
              Queue  Volume 3, Issue 7
              Multiprocessors
              September 2005
              50 pages
              ISSN:1542-7730
              EISSN:1542-7749
              DOI:10.1145/1095408
              Issue’s Table of Contents

              Copyright © 2005 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 September 2005

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article

            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