Developing Multithreaded Applications: A Platform Consistent Approach

Multithreading Consistency Guide

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.

Intel® Software Development Products

Intel software development products enable developers to rapidly thread their applications, assist in debugging, and tune multithreaded performance on Intel processors. The product suite supports multiple threading methods, listed here in increasing order of complexity – automatic parallelization, compiler-directed threading with OpenMP, and manual threading using standard libraries such as Pthreads and the Win32 threading API.

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.

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

Multithreaded game programming and Hyper-Threading Technology
by Will Damon. Intel Corp. Multiprocessor machines are becoming mor...
Primer: Developing Multithreaded Applications
This 106-page paper is a must-have reference for developing efficient ...
Performance Obstacles for Threading: How do they affect OpenMP code?
Why thread, and what does that have to do with performance? You might...

Recent Jobs:

Oracle Developer #GBS-0164531 - DC - Washington - IBM
Gather requirements, design, develop, and implement system interfaces ...
WebSphere MQ Series Software Support #SWG-0152348 - NC - Research Triangle Park - IBM
Seeking candidate to provide level 2 software support for WebSphere MQ...
SAP Workflow Senior Consultant #GBS-0163018 - DC - Washington - IBM
Successful candidates will be responsible for SAP workflow configurati...
System Services Representative #GTS-0164065 - TX - Lubbock - IBM
This role is an individual contributor responsible for on-site install...
Senior BI Consultant #SWG-0163270 - GA - Atlanta - IBM
Provide subject matter expertise for K-12 school system in development...
Customer Service Representative #ITD-0164093 - CO - Boulder - IBM
This role advises and guides the customer regarding the use of a broad...
SAP HR Lead - Managing Consultant #GBS-0163012 - DC - Washington - IBM
The SAP HR Payroll Managing Consultant is responsible for successful d...
Senior Security Consultant #GBS-0164887 - DC - Washington - IBM
Responsible for various security components on multiple contracts. Fac...
SAP Accounts Payable (FI) #GBS-0163035 - AL - Huntsville - IBM
This individual will serve as a SAP Application Functional Specialist,...
Technical Enablement Specialist #SWG-0163886 - CA - San Jose - IBM
Employees in this role use IBM Systems and product expertise to delive...