Technology Review - Published By MIT
Advertisement

The Promise of Personal Supercomputers

Continued from page 1

By Kate Greene

Friday, February 23, 2007

smaller text tool iconmedium text tool iconlarger text tool icon

What's so scary about parallel programming? To start, it's been relegated to specialists in the high-performance computing (HPC) world who write software that solves specific problems that run on machines with thousands and millions of cores. The software can create climate-change models or predict the folding of proteins, but it is written for a single laborious task, not for the whims of consumers who want to talk to a computer, watch high-definition video, and keep tabs on their ageing parents halfway across the country.

Specifically, parallel programs must be written so that tasks can be appropriately shared among processors. This is difficult because not all applications naturally have components that can be separated; sometimes when they are separated, tasks are completed at different times and create bottlenecks. In addition, there are complications with shared resources: if an application needs to access data in memory that's shared by tens or hundreds of other cores, the program could slow down or freeze. Moreover, debugging parallel programs can be a nightmare because often, a mistake is hard to duplicate, making the source of the problem difficult to find.

But even with all the challenges, there is hope, says Shalf. HPC researchers have developed portfolios of parallel algorithms that could be useful for consumer parallel programs. In addition, there are already massively multicore products on the market, and they are providing clues as to the best approaches from an architecture standpoint as well as from a programming standpoint. For instance, graphics company NVIDIA just released a commercial chip with 128 cores, designed to render graphics for applications such as video games. Many of the cores are general-purpose, meaning they can be programmed to do many different graphics-oriented tasks. The alternative is for the cores to have instructions hard-wired into the chip.

In addition, Intel, AMD, and others are collaborating with academic researchers to try to create a parallel-programming framework that can be agreed upon. One approach that looks promising is called transactional memory, says Krste Asanović, professor of computer science at MIT. (See "The Trouble with Multicore Computers.") Using transactional memory, a combination of chip architecture and code, programmers will be allowed to think more sequentially, as they do when they program single-core systems, and let the system provide the parallelism. Asanović says that programmers write instructions that start and end in a linear fashion, "but behind the scenes they run in parallel." This approach requires cooperation from hardware vendors as well as software engineers because the hardware and software must work together. "The two communities are talking," Asanović says, "but there's no consensus on what it's going to look like." He adds that transactional memory will most likely be one of a combination of approaches that could help make programming in parallel easier.

Without a consensus on how to proceed with multicore technology, however, the consumer computing industry might find itself at a standstill in about five years, says Shalf. But he's optimistic because the field of parallel computing has been injected with a new sense of urgency with the emergence of dual- and quad-core products. "In academia, we can disagree for years," he says, "but industry has a way, with its economic imperative, to settle on a solution pretty quick."

Comments

  • How can we use so much power without a considerable AI improvements?
    .

    How can we use so much power without a considerable artificial intelligence improvements, smart ("I robot" like) humanoids and "popular" parallel-processing software?

    If phones' manufacturers will put a teraflop processor in their cellular phones, the latter must be (at least) able to write and send SMS messages and do voice calls WITHOUT any human... :)


    www.gaetanomarano.it/articles/articles.html

    .
    Rate this comment: 12345

    Gaetano Mara...
    02/25/2007
    Posts:114
    Avg Rating:
    2/5
    • Re: How can we use so much power without a considerable AI improvements?
      The problem is the cascade of information from one level to the next. In the visual cortex each level computes one level of instruction. In the dolphin each level computes each instruction in the same cascade to produce the visual image from sound. We need these algorithms in our multicores to produce the image or audio meaning not in a linear single data stream, but as a cascade, for higher function.
      Rate this comment: 12345

      brianboswort...
      07/22/2007
      Posts:1
  • The Promise of Personal Supercomputers
    The high computing power made available in this chip can only be utilized for the application areas where it is really required. We cannot think of utilizing it for simple applications with parallel programming. All the software applications cannot be broken down into parallel modules. As the applications are written to carry out some of the real world processes, unless these processes have parallel tasks involved, it is not advantageous to apply the parallelism here. So the question of using such high powerful chip ends here. So we need to look for those areas which are not successfully computerized due to chip computing incapability so for.

    The areas such as  neural networks, DNA simulations, Brain models, speech recognition so on can be better verified  and tested with the this chip. Any software development frame work for parallelism should be targeted to applications in such areas.

    www.browsetoknow.blogspot.com
    Rate this comment: 12345

    sman
    03/02/2007
    Posts:11
  • The Programmer v.s the Compiler
    Teaching programmers to write parallel programs
    is illogical. A programmer should not need to
    do more than code a solution to a problem.

    Teaching a compiler to utilize the hardware
    available for running the coded solution is more
    efficient.

    "Write once, Run anywhere" should not just apply
    to Java.
    Rate this comment: 12345

    rdvandell
    05/10/2007
    Posts:12
    Avg Rating:
    3/5
  • Killer App - more accurate modelling
    The thousand core chips will allow for faster and more comprehensive simulations in fields from weather forecasts, climate modelling, and my personal favourite, genetic algorithms to improve designs.

    If they were to be widespread by their inclusion in mobile phones, the 'average joe' could have holographic movie projectors to watch their favourite films.
    Rate this comment: 12345

    Cpt_Nemo
    07/22/2007
    Posts:16
    Avg Rating:
    3/5

Log In

Forgot your password?     Register »
Advertisement

Videos

Laser-Triggered Chemical Reactions
Featured Content
Sponsored by:
White Papers

Twelve ways to reduce costs with SQL Server 2008
Find out how to reduce costs and get more efficient

Download

Total Economic Impact of SQL Server 2008 Upgrade
Forrester reports on increasing productivity and management capabilities

Download 

Achieving Cost and Resource Savings with UC
How Office Communications Server R2 and Exchange Server can make your business smarter and more efficient

Download 

The Compelling Case for Conferencing
Read how you can improve workload support and find IT efficiencies

Download

How Windows Server 2008 R2 Helps Optimize IT and Save you Money
Read how you can improve workload support and find IT efficiencies

Download

Windows Server 2008 R2 Hyper-V Live Migration
See how Windows Server 2008 R2 and Hyper-V enable virtualization and Live Migration

Download
Advertisement
Subscribe to Technology Review's daily e-mail update. Enter your e-mail address

TECHNOLOGY RESOURCES
Advertisement
MIT Massachusetts Institute of Technology © 2009 Technology Review. All Rights Reserved.