The concurrency challenge

Wen-Mei W Hwu, Kurt Keutzer, Timothy G. Mattson

Research output: Contribution to journalArticle

Abstract

Commercial microprocessors are converging on multiprocessor architectures with multiple cores on a single die. Unless software adapts and utilizes these parallel systems, the fundamental value proposition behind the semiconductor and computer industries will falter. According to the authors of this article, successful programming environments for these processors must be application centric and protect application programmers from as many hardware idiosyncrasies as possible. In particular, they envision a methodology in which application developers write code by inserting specific modules, constraints, and error handlers into application frameworks to derive working code. Ideally, most of these programmers should not need to know that they are generating concurrent programs. Solutions should be derived according to engineering and architectural principles that can be replicated and applied across a wide range of applications. Robust strategies to help developers debug the functionality and performance of their code without seeing the complexity of concurrent execution will be critical to the success of this methodology.

Original languageEnglish (US)
Pages (from-to)312-320
Number of pages9
JournalIEEE Design and Test of Computers
Volume25
Issue number4
DOIs
StatePublished - Aug 21 2008

Fingerprint

Microprocessor chips
Semiconductor materials
Hardware
Industry

Keywords

  • Application frameworks
  • Autotuning
  • Complexity theory
  • Computational modeling
  • Concurrency
  • Concurrent computing
  • Hardware
  • Magnetic cores
  • Many-core
  • Multicore
  • Parallel programming
  • Programming
  • Programming models
  • Programming tools
  • Software
  • Software engineering

ASJC Scopus subject areas

  • Software
  • Hardware and Architecture
  • Electrical and Electronic Engineering

Cite this

The concurrency challenge. / Hwu, Wen-Mei W; Keutzer, Kurt; Mattson, Timothy G.

In: IEEE Design and Test of Computers, Vol. 25, No. 4, 21.08.2008, p. 312-320.

Research output: Contribution to journalArticle

Hwu, Wen-Mei W ; Keutzer, Kurt ; Mattson, Timothy G. / The concurrency challenge. In: IEEE Design and Test of Computers. 2008 ; Vol. 25, No. 4. pp. 312-320.
@article{17a3b1c148bc46fd94e803ca8ed1aaa6,
title = "The concurrency challenge",
abstract = "Commercial microprocessors are converging on multiprocessor architectures with multiple cores on a single die. Unless software adapts and utilizes these parallel systems, the fundamental value proposition behind the semiconductor and computer industries will falter. According to the authors of this article, successful programming environments for these processors must be application centric and protect application programmers from as many hardware idiosyncrasies as possible. In particular, they envision a methodology in which application developers write code by inserting specific modules, constraints, and error handlers into application frameworks to derive working code. Ideally, most of these programmers should not need to know that they are generating concurrent programs. Solutions should be derived according to engineering and architectural principles that can be replicated and applied across a wide range of applications. Robust strategies to help developers debug the functionality and performance of their code without seeing the complexity of concurrent execution will be critical to the success of this methodology.",
keywords = "Application frameworks, Autotuning, Complexity theory, Computational modeling, Concurrency, Concurrent computing, Hardware, Magnetic cores, Many-core, Multicore, Parallel programming, Programming, Programming models, Programming tools, Software, Software engineering",
author = "Hwu, {Wen-Mei W} and Kurt Keutzer and Mattson, {Timothy G.}",
year = "2008",
month = "8",
day = "21",
doi = "10.1109/MDT.2008.110",
language = "English (US)",
volume = "25",
pages = "312--320",
journal = "IEEE Design and Test",
issn = "2168-2356",
publisher = "IEEE Computer Society",
number = "4",

}

TY - JOUR

T1 - The concurrency challenge

AU - Hwu, Wen-Mei W

AU - Keutzer, Kurt

AU - Mattson, Timothy G.

PY - 2008/8/21

Y1 - 2008/8/21

N2 - Commercial microprocessors are converging on multiprocessor architectures with multiple cores on a single die. Unless software adapts and utilizes these parallel systems, the fundamental value proposition behind the semiconductor and computer industries will falter. According to the authors of this article, successful programming environments for these processors must be application centric and protect application programmers from as many hardware idiosyncrasies as possible. In particular, they envision a methodology in which application developers write code by inserting specific modules, constraints, and error handlers into application frameworks to derive working code. Ideally, most of these programmers should not need to know that they are generating concurrent programs. Solutions should be derived according to engineering and architectural principles that can be replicated and applied across a wide range of applications. Robust strategies to help developers debug the functionality and performance of their code without seeing the complexity of concurrent execution will be critical to the success of this methodology.

AB - Commercial microprocessors are converging on multiprocessor architectures with multiple cores on a single die. Unless software adapts and utilizes these parallel systems, the fundamental value proposition behind the semiconductor and computer industries will falter. According to the authors of this article, successful programming environments for these processors must be application centric and protect application programmers from as many hardware idiosyncrasies as possible. In particular, they envision a methodology in which application developers write code by inserting specific modules, constraints, and error handlers into application frameworks to derive working code. Ideally, most of these programmers should not need to know that they are generating concurrent programs. Solutions should be derived according to engineering and architectural principles that can be replicated and applied across a wide range of applications. Robust strategies to help developers debug the functionality and performance of their code without seeing the complexity of concurrent execution will be critical to the success of this methodology.

KW - Application frameworks

KW - Autotuning

KW - Complexity theory

KW - Computational modeling

KW - Concurrency

KW - Concurrent computing

KW - Hardware

KW - Magnetic cores

KW - Many-core

KW - Multicore

KW - Parallel programming

KW - Programming

KW - Programming models

KW - Programming tools

KW - Software

KW - Software engineering

UR - http://www.scopus.com/inward/record.url?scp=49549087268&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=49549087268&partnerID=8YFLogxK

U2 - 10.1109/MDT.2008.110

DO - 10.1109/MDT.2008.110

M3 - Article

AN - SCOPUS:49549087268

VL - 25

SP - 312

EP - 320

JO - IEEE Design and Test

JF - IEEE Design and Test

SN - 2168-2356

IS - 4

ER -