Key Pages


|
OUTLOOK |

Biology and Biotechnology
|
Chemistry |
Complexity |
Computer Science |
Ecology and Earth Sciences |
Economics |
Energy |
Materials |
Mathematics |
Nanotechnology |
Social Sciences |
Space Sciences |
Physics |
Psychology |
Geography of Science |
Structure of Science |

|
THE PROJECT |

Project Description
|
Project Team |

|
INSTITUTIONS |

Horizon Scanning Centre
|
Institute for the Future |

|


Category:
Science and Technology
Domain:
Keywords:
Computer Science - software, parallel programming, concurrent programming, grid computing, nanoscale computing
Outlook:
Parallel programming -- programming for hundreds or thousands of concurrent independent processes or 'threads' – may become increasingly important over the next decade as the result of developments in both hardware and software. Programming for small scale mobile and embedded devices may be an exception to this trend.
Summary Analysis:
By 2015, parallel or concurrent programming may be the dominant mode of coding, rather than the niche technique it is today. A variety of new computing architectures will necessitate parallel programming:

  • Virtual computers -- ordinary computer integrated circuits with multiple computing cores within a single chip
  • Nanoscale computers -- nanoelectric, nanomechanical, nanobiological, and perhaps quantum computers
  • Grid, or cluster, computing over broadband networks

This future capability is increasingly indistinguishable from what we call supercomputing today. In the future, even mobile devices will likely have access to high-performance supercomputing over broadband networks. To benefit from parallel hardware, the software must provide enough concurrent operations to use all the hardware.

Today, the system software used on most contemporary supercomputers is a crude variant of UNIX with limited programs written in Fortran, C, and C++, augmented with a few language or library extensions for parallelism and with application libraries like the Titanium extensions to Java for higher performance computing. Even though some early software development tools exist, programming supercomputer software that supports massive parallelism requires special expertise to optimise performance at multiple levels below the operating system. Modern mainstream application programmers who are deeply knowledgeable about their application domains typically have little or no practical knowledge of using massive parallel processes to generate better results or user experiences. They usually employ high-level tools that mask the complexity of lower-level, massively parallel software and hardware processes. Indeed, application designers at large have not been educated in how to think about discretising computational tasks to take advantage of the improved computing machinery that is expected to be widely available starting around 2015.

Designers of parallel computing applications will need to be capable of determining the utility and cost of a solution based on expert judgments of factors other than time taken -- for instance, on accuracy or trustworthiness. According to a recent National Academy of Sciences study, 'Determining the trade-off among these factors is a critical task. The calculation depends on many things -- the algorithms that are used, the hardware and software platforms, the software that realizes the application and that communicates the results to users. . . . The design of the algorithms, the computing platform, and the software environment governs performance and sometimes the feasibility of getting a solution'.

Implications:

  • Need for research laboratories and software companies to develop new tools for programmers to harness the power of ever-improving computer hardware
  • Need for educational institutions to increase instruction in effective uses of parallel processing for application design
  • Potential for computers to perform bigger and more complex tasks, on larger and larger data sets, and to perform ordinary computation faster and with increasing accuracy

Early Indicators:

  • Announcement by Intel that it is investigating three fundamental types of processing capabilities necessary to deal with massive computing workloads: Recognition, Mining and Synthesis, or RMS
  • Increasing use by media companies such as George Lucas’s Industrial Light and Magic, Steven Speilberg’s Dreamworks, and Steve Jobs’s Pixar Productions of massively parallel process to render movie graphics.
  • The growth of commercial ‘render-farms’ selling services to media companies.
  • The growth of grid computing
  • Increasing number of distributed computing applications
  • Launching of pilot programs at the Centre for Parallel Computing at Massey University in New Zealand and the University of California at Berkeley to begin teaching design of massively parallel applications

What to Watch:

  • Photorealistic capabilities enabled by massively parallel computers migrate to interactive entertainment like games and other new high-resolution media.
  • Courseware in parallel processing is introduced at major educational institutions.

Parallels/Precedents:

  • Development of supercomputers and high-performance computing in the 1980s and 1990s

Enablers/drivers:

  • Inherent parallelism of almost all new computer architectures
  • Demand for massively parallel software for secret government signal sensing and cryptographic applications, as well as for petroleum, automotive, and aircraft companies and pharmaceutical and biomedical start-ups

Leaders:
Institutions:

  • Weizmann Institute of Science [link]
  • Globus Alliance (development of the Globus Toolkit for grid computing by an international community of researchers, and responsibility for the reference implementations of defacto standards for grid computing) [link]
  • National e-Science Centre (support of research into grid computing architecture) [link]
  • Google (construction of one of the largest and fastest-growing cluster-based services)
  • Sun (September 2004 introduction of a managed, on-demand grid computing service starting at $1 per processor per hour)
  • CPUShare [link]
  • High Performance Computing Center, University of Stuttgart, Germany [link]
  • Queen's University, Belfast [link]
  • University of Edinburgh [link]
  • Linkoping University, Sweden [link]
  • Naregi (National Grid Research Institute), Japan [link]
  • UK High-End Computing [link]
  • Scottish Functional Parallel Interest Group [link]

Figures:
Sources:

  • "Centre for Parallel Computing." Centre for Parallel Computing, Massey University, New Zealand. [link]
  • Culler, D. E. "Syllabus for CS 258, Parallel Processors." Computer Science Division, UC Berkeley. [link]
  • Dagum, L., and R. Menon. 1998. OpenMP: An industry-standard API for shared-memory programming. IEEE Journal of Computational Science and Engineering .
  • Dubey, P. Recognition, mining and synthesis moves computers to the era of tera. February 2005. Technology @ Intel magazine. [link]
  • Graham, S. L., M. Snir, and C. A. Patterson, eds. 2004. Getting up to speed: The future of supercomputing. Committee on the Future of Supercomputing, National Research Council. [link]
  • Liang, B., and P. Dubey. 2005. Recognition, mining and synthesis. Intel Technology Journal 9, no. 2 (May 19). [link]
  • "MPI: A message-passing interface standard." [link]
  • "Parallel programming models and paradigms." Grid Computing and Distributed Systems (GRIDS) Lab, University of Melbourne, Australia. [link]
  • Guy Kuren, Parallel Programming: Basic Theory for the Unwary, 2002 [link]
  • C A R Hoare, Towards a Theory of Parallel Programming, in The Origin of Concurrent Programming, Springer 2002, 231-244 [link]
  • Raymie Stata, Parallel Programming in modern web search engines, Proceeedings of the 11th ACM Sigplan Symposium, 2006, page 58 [link]


At A Glance:
When:
3-10 Years
Where:
Global
How Fast:
Years
Likelihood:
Medium
Impact:
Medium-Low
Controversy:
Low


Related Outlooks:

About this outlook: An outlook is an internally consistent, plausible view of the future based on the best expertise available. It is not a prediction of the future. The AT-A-GLANCE ratings suggest the scope, scale, and uncertainty associated with this outlook. Each outlook is also a working document, with contributors adding comments and edits to improve the forecast over time. Please see the revision history for earlier versions.



Forum Home  -  Site Home  -  Find Pages: