Measuring Performance on HT-Enabled Multi-Core: Advantages of a Thread-Oriented Approach

Improve Server Performance Monitoring Software Multi-core Programming: 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.

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 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...
J2EE performance optimization, part 2: the SPECjAppServer family of benchmarks
by Kingsum Chow, Ph.D., senior performance architect, Managed Runtime ...
Threading Games for High Performance on Intel® Processors
The evolution of the multi-threaded processor design is the trend for ...

Related Jobs:

Principal Performance/Benchmarking Engineer #5789-DGS - MA - Natick - The MathWorks
Principal Performance/Benchmarking Engineer Job #: 5789-DG...
Senior Software Engineer #U04609 - CA - Sunnyvale - Juniper Networks, Inc.
Senior Software Engineer (Member Technical Staff) Sunnyvale, CA HQ ...
Quality Assurance Engineer #21324 - IA - Iowa City - Pearson Education
Title: Quality Assurance Engineer Req Number: 21324 Date Opened: T...
Data Processing Senior Manager #CHI000X5 - IL - Chicago - Marsh Inc.
Data Processing Senior Manager – CHI000X5 (To return to th...
Network Architect #187377 - MN - Plymouth - UnitedHealth Group
Network Architect – 187377 Job Description Submit ...
Application Analyst #NEW001XM - NY - New York - Marsh Inc.
Application Analyst – NEW001XM (To return to the Job List,...
Programmer Analyst - FL - Boca Raton - NCCI Holdings, Inc.
At NCCI Holdings, Inc., we realize our greatest asset is our team of m...
SOC Engineer #434995 - WA - Seattle - Qpass
MAJOR RESPONSIBILITIES · Providing support for incident/pr...
Senior Info Systems Engineer #866252 - OR - Beaverton - McAfee, Inc.
Senior Info Systems Engineer Job Code: 866252 Division: En...
Program Manager #144660 - WA - Redmond - Microsoft Corporation
Are you a big-picture thinker who’s passionate about parallel or distr...