Questions tagged [hyperthreading]

In a hyperthreaded CPU, for each processor core that is physically present, the operating system addresses two virtual or logical cores, and shares the workload between them when possible.

In an hyper threaded environment, For each processor core that is physically present, the operating system addresses two virtual or logical cores, and shares the workload between them when possible.

This allows to decrease the number of dependent instructions on the pipeline. It takes advantage of superscalar architecture (multiple instructions operating on separate data in parallel).

223 questions
14
votes
6 answers

Get Total Number of Cores from a computer WITHOUT HyperThreading

This is a tough one. I need to use a command to output the exact number of cores from my servers. My tests: X: On a Windows server with 4 processors (sockets) and 2 cores each without HT. Y: On a Windows Server with 2 processors (sockets) and 6…
David Lago
  • 307
  • 1
  • 3
  • 11
14
votes
3 answers

CPU ordering in Linux (with hyper threading)

I'm curious what the CPU ordering is in Linux. Say I bind a thread to cpu0 and another to cpu1 on a hyperthreaded system, are they both going to be on the same physical core. Given a Core i7 920 with 4 cores and hyperthreading, the output of…
Jason
  • 2,233
  • 3
  • 24
  • 27
14
votes
3 answers

c# Environment.ProcessorCount does not always return the full number of Logical Processor, why?

On my machine, windows 7 - Enterprise with 1 x Intel Xeon E5-1660 0 @ 3.30Ghz (6 cores/cpu with Hyper Threading activated), Environment.ProcessorCount return 12 which is exact. On a Windows Server 2012 with 2 x Intel Xeon E5-2697 v3 @ 2.60GHz (14…
Eric Ouellet
  • 10,996
  • 11
  • 84
  • 119
13
votes
2 answers

Does a hyperthreading CPU implement parallelism or just concurrency?

Does a hyperthreading CPU implement parallelism or just concurrency (context switching)? My guess is no parallelism, only concurrency by context switching.
Tim
  • 1
  • 141
  • 372
  • 590
13
votes
4 answers

python how to find out whether hyperthreading is enabled

I have Intel i7-2600K quadcore, with hyperthreading enabled on Ubuntu 12.04. I know that I can find out how many cores I have in Python with import multiprocessing; multiprocessing.cpu_count(), but that gives me 8 because I have hyperthreading…
Ray
  • 7,833
  • 13
  • 57
  • 91
13
votes
4 answers

Single-CPU programs running on Hyper-Threading-enabled quadcore CPU

I'm a researcher in statistical pattern recognition, and I often run simulations that run for many days. I'm running Ubuntu 12.04 with Linux 3.2.0-24-generic, which, as I understand, supports multicore and hyper-threading. With my Intel Core i7…
Ray
  • 7,833
  • 13
  • 57
  • 91
12
votes
5 answers

Is HyperThreading / SMT a flawed concept?

The primary idea behind HT/SMT was that when one thread stalls, another thread on the same core can co-opt the rest of that core's idle time and run with it, transparently. In 2013 Intel dropped SMT in favor of out-of-order execution for its …
Engineer
  • 8,529
  • 7
  • 65
  • 105
12
votes
2 answers

Difference b/w hyper threading and multithreading?

I was wondering if someone could explain me the difference b/w these two ? Has it something to do with intel hardware architecture (HT) ?
sp497
  • 2,363
  • 7
  • 25
  • 43
11
votes
1 answer

How to find physical and logical core number in a kernel module?

Are there kernel functions in Linux that would return the number of the physical core and logical core (in case of Hyperthreading) on which a kernel module is running ?
vjain27
  • 3,514
  • 9
  • 41
  • 60
10
votes
2 answers

CPU/Intel OpenCL performance issues, implementation questions

I have some questions hanging in the air without an answer for a few days now. The questions arose because I have an OpenMP and an OpenCL implementations of the same problem. The OpenCL runs perfectly on GPU but has 50% less performance when ran on…
laszlo.endre
  • 290
  • 2
  • 14
9
votes
1 answer

How to regard Hyper-Threading when deciding thread pool size?

I've read several Questions and articles regarding how to decide on a size for a thread pool. Questions include: How to choose thread pool size? What is the relationship between number of CPU cores and number of threads in an app in java? Java…
Basil Bourque
  • 303,325
  • 100
  • 852
  • 1,154
9
votes
2 answers

CPU Numbering on a hypertheading enabled system

I am trying to find out how an OS (Windows, linux) assigns numbers to logical cpus in a Hyper threading enabled environment. ? Does both the OSs first serially assign numbers to the Physical CPUs and then start numbering the logical cpus or is there…
Jay D
  • 3,263
  • 4
  • 32
  • 48
9
votes
2 answers

Why does Hyper-threading get reported as supported on processors without it?

I'm trying to gather system information and noticed the following on an Intel Xeon E5420: After executing CPUID(EAX=1), EDX[28] is set, indicating Hyper-threading support, despite the fact that the processor is listed on the Intel website as not…
andrewmu
  • 14,276
  • 4
  • 39
  • 37
8
votes
1 answer

Hyperthreading vs. Superscalar execution

Imagine a CPU (or core) that is superscalar (multiple execution units) and also has hyperthreading (SMT) support. Why is the number of software threads the CPU can truly execute in parallel typically given by the number of logical cores (i.e.…
AdmiralAdama
  • 177
  • 1
  • 9
8
votes
1 answer

Does a hyper-threaded core share MMU and TLB?

To my knowledge, both MMU and TLB are not shared in a hyper-threaded core in Intel x86_64. However, then, if two threads that don't share the address space are scheduled to the same physical core, how do they run? I think, in that case, the threads…
Jonggyu Park
  • 133
  • 8
1
2
3
14 15