Performance and usage models, Multithreading, Performance and usage models -2 – Intel ARCHITECTURE IA-32 User Manual

Page 348: Multithreading -2

Advertising
background image

IA-32 Intel® Architecture Optimization

7-2

cores but shared by two logical processors in the same core if
Hyper-Threading Technology is enabled. This chapter covers guidelines
that apply to either situations.

This chapter covers

Performance characteristics and usage models,

Programming models for multithreaded applications,

Software optimization techniques in five specific areas.

Performance and Usage Models

The performance gains of using multiple processors, multi-core
processors or Hyper-Threading Technology are greatly affected by the
usage model and the amount of parallelism in the control flow of the
workload. Two common usage models are:

multithreaded applications

multitasking using single-threaded applications

Multithreading

When an application employs multi-threading to exploit task-level
parallelism in a workload, the control flow of the multi-threaded
software can be divided into two parts: parallel tasks and sequential
tasks.

Amdahl’s law describes an application’s performance gain as it relates
to the degree of parallelism in the control flow. It is a useful guide for
selecting the code modules, functions, or instruction sequences that are
most likely to realize the most gains from transforming sequential tasks
and control flows into parallel code to take advantage multi-threading
hardware support.

Advertising