Introduction
By: Sergey N. Zheltov and Stanislav V. Bratanov, Senior Software Engineers, Intel Corporation
From a hardware point of view, multi-core processors are simply single-die physical packages that provide capabilities similar to traditional symmetric multiprocessing (SMP) machines, and inevitably inherit most of the performance monitoring problems a programmer typically faces while working with SMP.
We will address such performance estimation problems and advocate a thread-oriented approach to performance monitoring as an efficient way of dealing with multi-threaded code. At the same time, we will also address this as a basis for solving the particular task of monitoring Hyper-Threading Technology (HT Technology)-enabled multi-core systems.
This article discusses several methods and provides solutions to the problems which cannot be solved without the notion of the actual thread layout over time, thread activity, and interaction.
The problem of monitoring the utilization of resources shared between multiple cores or CPUs is discussed in an example of measuring bus utilization. A solution based on per-thread monitoring is suggested, and compared with sampling-based approaches.
![]()
If you're interested in this topic, these articles may be helpful:
![]() | J2EE performance optimization, part 2: the SPECjAppServer family of benchmarks by Kingsum Chow, Ph.D., senior performance architect, Managed Runtime ... |
![]() | J2EE performance optimization, part 1: laying the foundation by Kingsum Chow, PhD, senior performance architect with the Managed ... |
![]() | Developing your site for performance: principles and techniques of cost-effective Web site acceleration, part 1 by Thomas A. Powell, president, PINT Inc., and Joe Lima, director of... |
![]() | Rational Performance Tester demo IBM Rational Performance Tester is a performance and load testing so... |
![]() | Threading Games for High Performance on Intel® Processors The evolution of the multi-threaded processor design is the trend for ... |
![]()
Related Jobs:

