• Select a language



Developing Multithreaded Applications: A Platform Consistent Approach
Page & Feed Options
Print this | Email to a friend | Contact Support
Bookmark This
Digg this | Add to your del.icio.us account
Table of Contents
Vote on This Page
Community Tags

Search Tags:
 

Chapter 1: Overview
Motivation

The objective of this series, which is comprised of this overview and four parts, is to provide guidelines for developing efficient multithreaded applications across Intel® architecture-based symmetric multiprocessors (SMP) and/or systems with Hyper-Threading Technology. An application developer can use the advice contained in this series to improve multithreading performance and to minimize unexpected performance variations on current as well as future SMP architectures built with Intel® processors.

This first version of this documentation provides general advice on multithreaded performance. Hardware-specific optimizations have deliberately been kept to a minimum. In future versions, topics covering hardware-specific optimizations will be added for developers who are willing to sacrifice portability for higher performance.

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.

Scope

The main objective of these documents is to provide a quick reference to design and optimization guidelines for multithreaded applications on Intel® platforms. They are not intended to serve as a textbook on multithreading, nor do they represent a porting guide to Intel platforms.

Organization and Author Attribution

The "Developing Platform Consistent Threaded Applications" series covers topics ranging from general advice applicable to any multithreading method, to usage guidelines for Intel® software products, as well as API-specific issues. While designed as part of a series, each included chapter contains a discrete discussion of an important threading issue and can be read separately.

The included chapters and author attribution for each, are as follows:

ChapterScopeContributing Authors
Chapter 1,
Overview
This series overviewBill Magro
Chapter 2,
Intel® Software Development Products
This chapter describes how to use Intel software products to develop, debug, and optimize multithreaded applicationsBruce Greer, Clay Breshears, Judi Goldstein, Martyn Corden, Phil Kerly, and Vasanth Tovinkere
Chapter 3,
Application Threading
This chapter covers general topics in parallel performance and occasionally refers to API-specific issuesAaron Coday, Bill Magro, Clay Breshears, Henry Gabb, Prasad Kakulavarapu, Sanjiv Shah, and Vasanth Tovinkere
Chapter 4,
Synchronization
The sections in this chapter discuss techniques to mitigate the negative impact of synchronization on performanceGrant Haab, Henry Gabb, Prasad Kakulavarapu and Vasanth Tovinkere
Chapter 5,
Memory Management
Threads add another dimension to memory management that should not be ignored. This chapter covers memory issues that are unique to multithreaded applicationsClay Breshears, Jay Hoeflinger, Paul Petersen, and Phil Kerly
Chapter 6,
Investigating Poor Parallel Application Scaling
Using real life examples, this chapter examines the issues and the processes for identifying and resolving the causes of poor parallel scaling of multithreaded applications.Ulf Hanebutte, Clay Breshears, Rajshree Chabukswar, Erik Niemeyer, Ram Ramanujam

The user is free to download the entire series as a whole, or to download or read each chapter of interest as the need arises. Cross-references to related topics are provided throughout.

Series Conventions

'This series' refers to the above six chapters. Topics within chapters are referred to as 'sections'. Cross-references are in outline notation, combining chapter and section numbers.
PrevPrev2  3  4  5  Next

Page 1 of 7 

We invite you to post a comment (not monitored by customer support) on this page or send a question directly to our support team.