Shared Memory Application Programming

Shared Memory Application Programming : Concepts and Strategies in Multicore Application Programming

By (author) 

Free delivery worldwide

Available. Dispatched from the UK in 1 business day
When will my order arrive?


Shared Memory Application Programming presents the key concepts and applications of parallel programming, in an accessible and engaging style applicable to developers across many domains. Multithreaded programming is today a core technology, at the basis of all software development projects in any branch of applied computer science. This book guides readers to develop insights about threaded programming and introduces two popular platforms for multicore development: OpenMP and Intel Threading Building Blocks (TBB). Author Victor Alessandrini leverages his rich experience to explain each platform's design strategies, analyzing the focus and strengths underlying their often complementary capabilities, as well as their interoperability.

The book is divided into two parts: the first develops the essential concepts of thread management and synchronization, discussing the way they are implemented in native multithreading libraries (Windows threads, Pthreads) as well as in the modern C++11 threads standard. The second provides an in-depth discussion of TBB and OpenMP including the latest features in OpenMP 4.0 extensions to ensure readers' skills are fully up to date. Focus progressively shifts from traditional thread parallelism to modern task parallelism deployed by modern programming environments. Several chapter include examples drawn from a variety of disciplines, including molecular dynamics and image processing, with full source code and a software library incorporating a number of utilities that readers can adapt into their own projects.
show more

Product details

  • Paperback | 556 pages
  • 191 x 235 x 27.94mm | 1,110g
  • Morgan Kaufmann Publishers In
  • San Francisco, United States
  • English
  • 012803761X
  • 9780128037614
  • 1,761,352

About Victor Alessandrini

After obtaining a PhD in theoretical physics in Argentina - where he was born - he spent several years as visiting scientist, working in theoretical particle physics in different research laboratories in the USA and Europe, in particular at the CERN theory division. In 1978, he was appointed full professor at the University of Paris XI in Orsay, France. His basic interests shifted to computational sciences in the early 90's, and he was at this time the founding director of IDRIS supercomputing center in Orsay, which he directed until 2009. In 2004-2009, he coordinated the DEISA European supercomputing infrastructure, a consortium of national supercomputing centers that pioneered the deployment of high performance computing services au the continental scale. He is currently emeritus research director at "Maison de la Simulation", a CEA-CNRS-INRIA-University research laboratory providing high level support to HPC. He was decorated in 2011 "Chevalier de l'Ordre National du Merite" by the French Republic.
show more

Table of contents

Creating and running threads
Thread safe programming
Concurrent access to shared data
Event synchronization
Cache coherency and memory consistency
High level synchronization tools
Intel Threading Building Blocks
Further thread pools
A molecular dynamics example
Further data parallel examples
Pipelining Threads
Using the TBB task scheduler
show more