Weandnek.com

We think and build.

Business

Hyperthreading in a nutshell

The article summarizes Hyperthreading technology in the best possible way in just ten steps.

1. Hyperthreading (HT) is a term coined by Intel for Simultaneous Multi-Threading (SMT).

2. Hyperthreading is designed for dual-core or multi-core processors such as Pentium 4 with HT or Xeon MP.

3. The technology targets better utilization of execution units on an otherwise idle processor.

4. This technique is better than its predecessors Multithreading and Superthreading in the sense that in each instruction cycle, a processor can execute instructions from multiple threads.

5. Hardware implementation of Hyperthreading is not very complex as reported by Intel “Implementing HT took only 5% more space on Xeon”.

6. The HT implementation requires that hardware resources be divided into replicated (eg instruction pointers), partitioned (eg queues) and shared (eg caches).

7. To get a real performance boost, your applications have to be hyper-threaded, ie you have to parallelize your code.

8. Hyper-threaded applications use the shared memory programming model. The most famous shared memory programming standard is OpenMP (Open Specifications for Multiple Processing), an effort started by Silicon Graphics Inc. and now supported by major industry players. The OpenMP library is available for C, C++, and Fortran on Windows and Unix platforms. OpenMP programming constructs consist of few compilation directives to parallelize the code.

9. There are compilers and other automation tools that support shared memory parallel programming libraries like OpenMP. Some examples are Intel C++ Compiler, Intel VTune Performance Analyzer, and high-level tools from KAI Inc.

10. Hyperthreading does not necessarily increase performance. With the wrong combination of code, it can even decrease performance.

LEAVE A RESPONSE

Your email address will not be published. Required fields are marked *