| February 2, 2010 11:00 PM PST | |
1.1 Motivation
The objective of the Multithreading Consistency Guide is to provide guidelines for developing efficient multithreaded applications across Intel-based symmetric multiprocessors (SMP) and/or systems with Hyper-Threading Technology. An application developer can use the advice in this document to improve multithreading performance and minimize unexpected performance variations on current as well as future SMP architectures built with Intel® processors.
The first version of the Guide provides general advice on multithreaded performance. Hardware-specific optimizations have deliberately been kept to a minimum. In future versions of the Guide, topics covering hardware-specific optimizations will be added for developers willing to sacrifice portability for higher performance.
1.2 Prerequisites
Readers should have programming experience in a high-level language, preferably C, C++, and/or Fortran, though many of the recommendations in this document also apply to languages such as Java, C#, and Perl. Readers must also understand basic concurrent programming and be familiar with one or more threading methods, preferably OpenMP*, POSIX threads (also referred to as Pthreads), or the Win32* threading API.
1.3 Scope
The main objective of the Guide is to provide a quick reference to design and optimization guidelines for multithreaded applications on Intel® platforms. This Guide is
not intended to serve as a textbook on multithreading nor is it a porting guide to Intel platforms.
1.4 Organization
The Multithreading Consistency Guide covers topics ranging from general advice applicable to any multithreading method to usage guidelines for Intel® software products
to API-specific issues. Each topic in the Multithreading Consistency Guide is designed to stand on its own. However, the topics fall naturally into four categories:
- Programming Tools – This chapter describes how to use Intel software products to develop, debug, and optimize multithreaded applications.
- Application Threading – This chapter covers general topics in parallel performance but occasionally refers to API-specific issues.
- Synchronization – The topics in this chapter discuss techniques to mitigate the negative impact of synchronization on performance.
- Memory Management – Threads add another dimension to memory management that should not be ignored. This chapter covers memory issues that are unique to multithreaded applications.
Though each topic is a standalone discussion of some issue important to threading, many topics complement each other. Cross-references to related topics are provided throughout.
Contributors
Editors
Henry Gabb and Prasad Kakulavarapu
Authors
Clay Breshears, Aaron Coday, Martyn Corden, Henry Gabb, Judi Goldstein, Bruce Greer, Grant Haab, Jay Hoeflinger, Prasad Kakulavarapu, Phil Kerly, Bill Magro, Paul Petersen,
Sanjiv Shah, Vasanth Tovinkere
Download the full PDF (920KB)
For more complete information about compiler optimizations, see our Optimization Notice.
Comments (2) 
| February 3, 2010 2:59 PM PST
Lexi S (Intel)
| job, this has been fixed. Thanks for letting us know. |
Trackbacks (0)
Leave a comment 
To obtain technical support, please go to Software Support.


job