Welcome to the Intel® Software Dispatch Subscription Program

Developing Multithreaded Applications: A Platform Consistent Approach
C Memory Management, Thread Programming : 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.

Multithreading Consistency Guide

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.

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 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.

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:
  1. Programming Tools – This chapter describes how to use Intel software products to develop, debug, and optimize multithreaded applications.
  2. Application Threading – This chapter covers general topics in parallel performance but occasionally refers to API-specific issues.
  3. Synchronization – The topics in this chapter discuss techniques to mitigate the negative impact of synchronization on performance.
  4. 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.



To read more, click link below to subscribe to Intel® Software Dispatch and begin receiving Intel® Software Insight, a quarterly e-zine focused on the topics software-industry leaders care about. Once you fill out the brief subscription form, you will be able to download the pdf and continue reading Developing Multithreaded Applications: A Platform Consistent Approach. To read complete article, click download below.

If you're interested in this topic, these articles may be helpful:

Developing Multithreaded Applications: A Platform Consistent Approach
1. Multithreading Consistency Guide 1.1 Motivation The objective...
Optimal Performance on Multithreaded Software with Intel® Tools
Introduction by Gail Lyons Recent advances in silicon technology hav...
Multithreaded game programming and Hyper-Threading Technology
by Will Damon. Intel Corp. Multiprocessor machines are becoming mor...
Nuts and Bolts of Multithreaded Programming
By Tim Mattson Get the basics about parallel algorithms, parallel p...
Discussion Forum: Visual Fortran Compiler for Windows
This forum is the place to ask questions of and share information with...

Related Jobs:

Software Development Engineer #151559 - WA - Redmond - Microsoft Corporation
We are currently building the next great embedded platform at Microsof...
Visual C# (.NET) developer - NY - New York - Antepo
ROLE Antepo is looking for a dynamic, committed Windows GUI/Clie...
Sr. Software Engineer / Developer #CA2986 - CA - Camarillo - Vitesse Semiconductor Corporation
BSCS; 7 to 10 years experience with embedded software development. Mus...
Lead Software Development Engineer #145693 - WA - Redmond - Microsoft Corporation
How would you like to own the OLAP engine that went from nowhere to th...
Software Development Engineer #141536 - WA - Redmond - Microsoft Corporation
We are currently building the next great embedded platform at Microsof...
Visual C# (.NET) Developer With Excellent GUI Skills (PRO) - NY - New York - Antepo
ROLE Antepo is looking for a dynamic, committed Windows GUI/Client e...
Software Development Engineer #145630 - WA - Redmond - Microsoft Corporation
Does blazingly fast hardware coupled with reliability and stability so...
Software Development Engineer #145042 - WA - Redmond - Microsoft Corporation
Do you want to work on a small team that is working to change the way ...
Software Development Engineer #132004 - WA - Redmond - Microsoft Corporation
The Windows Team is looking for an experienced developer like you to w...
Quality Assurance Engineer #772 - NC - Raleigh - Red Hat, Inc.
Position Summary Execute and develop testing for the Red Hat Enterpr...