Multi-Core and Hyper-Threading Technology
7
7-35
reads. An approximate working guideline for software to operate below
bus saturation is to check if bus read queue depth is significantly
below 5.
Some MP platform may have a chipset that provides two buses, with
each bus servicing one or more physical processors. The guidelines for
conserving bus bandwidth described above also applies to each bus
domain.
Understand the Bus and Cache Interactions
Be careful when parallelizing code sections with data sets that results in
the total working set exceeding the second-level cache and /or
consumed bandwidth exceeding the capacity of the bus. On an Intel
Core Duo processor, if only one thread is using the second-level cache
and / or bus, then it is expected to get the maximum benefit of the cache
and bus systems because the other core does not interfere with the
progress of the first thread. However, if two threads use the second-level
cache concurrently, there may be performance degradation if one of the
following conditions is true:
•
Their combined working set is greater than the second-level cache
size
•
Their combined bus usage is greater than the capacity of the bus
•
They both have extensive access to the same set in the second-level
cache, and at least one of the threads writes to this cache line
To avoid these pitfalls, multi-threading software should try to
investigate parallelism schemes in which only one of the threads access
the second-level cache at a time, or where the second-level cache and
the bus usage does not exceed their limits.
Summary of Contents for ARCHITECTURE IA-32
Page 1: ...IA 32 Intel Architecture Optimization Reference Manual Order Number 248966 013US April 2006...
Page 220: ...IA 32 Intel Architecture Optimization 3 40...
Page 434: ...IA 32 Intel Architecture Optimization 9 20...
Page 514: ...IA 32 Intel Architecture Optimization B 60...
Page 536: ...IA 32 Intel Architecture Optimization C 22...