Multicore Application Programming: for Windows, Linux, and Oracle Solaris Front Cover

Multicore Application Programming: for Windows, Linux, and Oracle Solaris

Description

Write High-Performance, Highly Scalable Multicore Applications for Leading Platforms

Multicore Application Programming is a comprehensive, practical guide to high-performance multicore programming that any experienced developer can use.

Author Darryl Gove covers the leading approaches to parallelization on Windows, Linux, and Oracle Solaris. Through practical examples, he illuminates the challenges involved in writing applications that fully utilize multicore processors, helping you produce applications that are functionally correct, offer superior performance, and scale well to eight cores, sixteen cores, and beyond.

The book reveals how specific hardware implementations impact application performance and shows how to avoid common pitfalls. Step by step, you’ll write applications that can handle large numbers of parallel threads, and you’ll master advanced parallelization techniques. You’ll learn how to

  • Identify your best opportunities to use parallelism
  • Share data safely between multiple threads
  • Write applications using POSIX or Windows threads
  • Hand-code synchronization and sharing
  • Take advantage of automatic parallelization and OpenMP
  • Overcome common obstacles to scaling
  • Apply new approaches to writing correct, fast, scalable parallel code

Multicore Application Programming isn’t wedded to a single approach or platform: It is for every experienced C programmer working with any contemporary multicore processor in any leading operating system environment.

Table of Contents

Chapter 1 Hardware, Processes, and Threads
Chapter 2 Coding for Performance
Chapter 3 Identifying Opportunities for Parallelism
Chapter 4 Synchronization and Data Sharing
Chapter 5 Using POSIX Threads
Chapter 6 Windows Threading
Chapter 7 Using Automatic Parallelization and OpenMP
Chapter 8 Hand-Coded Synchronization and Sharing
Chapter 9 Scaling with Multicore Processors
Chapter 10 Other Parallelization Technologies
Chapter 11 Concluding Remarks

To access the link, solve the captcha.