ZoneOS home Inside ZONEOS-1 workstation



HyperSMP


On This Page

Overview
How It Works
Measurements
Downloads


Overview

Small tool for measuring efficiency of hyperthreaded CPUs. It was not designed for comparing different machines, the purpose of this tool is to show that efficiency of using hyperthreading depends significantly on program executed. In general, accessing shared resources in parallel may significantly slow down system performance. For example, reading 2 files from single non-SSD physical volume (shared resource) gives time even larger then time required to read these files in series.


How It Works

As hyperthreaded CPU is not the same as CPU with several cores, threads have more things they must share when running on different virtual CPUs. By executing tasks with different load patterns HyperSMP shows that on hyperthreaded systems speed of one virtual CPU depends not only on load, but also on load pattern of another virtual CPU. Effect, which is less applicable for CPUs with several separated cores.


Measurements

Two dll modules available for measuring - float.dll and int.dll. These modules represent different load patterns: floating point operations and integer operations correspodningly. Launching HyperSMP console (from command prompt):

> hypersmp.exe float.dll int.dll

Intel Atom N280 (hyperthreading enabled) @ 1.66 GHz, Windows 7 Professional
System speed-up (different sections): x1.72
Efficiency for different sections) -: 85.90%
System speed-up (same sections) --- : x1.55
Efficiency for same sections ------ : 77.30%

Intel Pentium D 805 (2 cores) @ 2.66 GHz, Windows 2008 Web Server x64
System speed-up (different sections): x1.98
Efficiency for different sections) -: 98.85%
System speed-up (same sections) --- : x1.99
Efficiency for same sections ------ : 99.49%


As we can see, CPU with 2 separate cores behaves almost like 2 different CPUs for memory-free task patterns (our tasks are only do calculations without referencing memory). And for hyperthreading, speedup is not only much less than number of virtual CPUs but also depends significantly on task pattern.


Downloads

Archives below are free for personal non-commercial use.
Source code (DDK) src.zip 10 Kb.
Windows XP (i386, 32-bit): fre_wxp_x86_en.zip 25 Kb.







Copyright © 2006-2010 Vasily Tarasov.