Multicore Challenges and Benefits for High Performance Scientific Computing

Until recently, performance gains in processors were achieved largely by improvements in clock speeds and instruction level parallelism. Thus, applications could obtain performance increases with relatively minor changes by upgrading to the latest generation of computing hardware. Currently, however...

Full description

Bibliographic Details
Main Authors: Ida M.B. Nielsen, Curtis L. Janssen
Format: Article
Language:English
Published: Hindawi Limited 2008-01-01
Series:Scientific Programming
Online Access:http://dx.doi.org/10.3233/SPR-2008-0260
Description
Summary:Until recently, performance gains in processors were achieved largely by improvements in clock speeds and instruction level parallelism. Thus, applications could obtain performance increases with relatively minor changes by upgrading to the latest generation of computing hardware. Currently, however, processor performance improvements are realized by using multicore technology and hardware support for multiple threads within each core, and taking full advantage of this technology to improve the performance of applications requires exposure of extreme levels of software parallelism. We will here discuss the architecture of parallel computers constructed from many multicore chips as well as techniques for managing the complexity of programming such computers, including the hybrid message-passing/multi-threading programming model. We will illustrate these ideas with a hybrid distributed memory matrix multiply and a quantum chemistry algorithm for energy computation using Møller–Plesset perturbation theory.
ISSN:1058-9244
1875-919X