0

This article about YARC mentions that the super computer has 128 threads per processor.

Is the same thing concept as hyperthreading, where essentially the cpu has additional registers that allows to act as multiple processors?

dwjohnston
  • 11,163
  • 32
  • 99
  • 194
  • As I understand it, a thread is a component of a process that can be scheduled along with other threads within the processor. A single core processor will switch quickly between threads such that the overall process appears to multitask, when in actuality it does not. Multiple core processors do perform actual multitasking (truly concurrent tasks). – Kyle Coventry Jan 21 '15 at 00:56

1 Answers1

1

Yes, the physical processor will have lots of registers sets representing virtual CPUs ("threads").

What 128 threads lets the the physical processor do, is put a virtual processor to sleep on an external delay (e.g., memory access), and switch to another virtual processor that is not waiting for anything. This means the physical CPU almost always has work to do, so it is highly efficient. The latency of memory access is hidden so it can be highly non-uniform.

To harness such a system, you need an application program which is highly parallel. If your application has only a few parallel elements, such a processor will not have enough threads that are not waiting on memory accesses, and so it will not be efficient. Then all those virtual CPUs are simply wasted resources (worse, they produce extra heat).

Ira Baxter
  • 93,541
  • 22
  • 172
  • 341