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
5
votes
1 answer

hyperthreading code example

Is there some sample code that exemplifies Intel's Hyperthreading performance? Is it at all accessible from user space, or does that CPU do all the work transparently for the programmer? This is for C, Linux.
Dervin Thunk
  • 19,515
  • 28
  • 127
  • 217
4
votes
4 answers

Running simulation with hyperthreading doubles runtime

I use a simulation written in python/numpy/cython. Since i need to average over many simulation runs i use the multiprocessing module to run all the individual simulation runs in batches. At the office i have an i7-920 workstation with HT. At home i…
Mickey Diamant
  • 657
  • 1
  • 9
  • 17
4
votes
3 answers

Visual Studio 2010, Maximum Concurrent C++ Compilations for Hyper-Threaded Processors

I am trying to optimise the compilation time of a large VC++ project. My processor is a Core i7 950 (4 Cores, 8 Threads since it supports Intel Hyper-Threading Technology). In Microsoft Visual Studio 2010, if you go to Tools>Options>Projects and…
4
votes
1 answer

Why is execution time of a process shorter when another process shares the same HT core

I have an Intel CPU with 4 HT cores (8 logical CPUs) and I built two simple processes. The first one: int main() { for(int i=0;i<1000000;++i) for(int j=0;j<100000;++j); } The second one: int main() { while(1); } Both are compiled with gcc…
4
votes
2 answers

How to get correct number of logical processors

In Delphi, we need to know the number of CPUs for parallelization. Until now, we have used the GetNativeSystemInfo() function, which has worked fine, also with servers with hyperthreading. But now, we have a server (Intel Xeon Gold 6230) with 40…
Toke
  • 53
  • 4
4
votes
2 answers

What are all the different types of parallelism?

I am trying to understand more about parallelism, but I've noticed there are a lot of different terms out there and some seem to mean the same thing while others have a notable difference. So, what are all the different types of parallelism, how do…
4
votes
1 answer

Creating a friendly timed busy loop for a hyperthread

Imagine I want to have one main thread and a helper thread run as the two hyperthreads on the same physical core (probably by forcing their affinity to approximately ensure this). The main thread will be doing important high IPC, CPU-bound work. The…
BeeOnRope
  • 60,350
  • 16
  • 207
  • 386
4
votes
0 answers

How did Intel fix the security flaw with hyper-threading and a shared cache?

In 2005, Colin Percival discovered and presented a security flaw with then newly-introduced hyper-threading on Intel Pentium 4 processors, which, in summary, says (from abstract): ...shared access to memory caches provides not only an easily used …
Leo Heinsaar
  • 3,887
  • 3
  • 15
  • 35
4
votes
1 answer

Does Hyperthreading have trouble with AVX?

While playing around with overclocking and running burn tests, I noticed that the AVX-optimized version of LINPACK measured lower multithreaded floating-point throughput when Hyperthreading was enabled than with it disabled. This was on an Ivy…
lcmylin
  • 2,552
  • 2
  • 19
  • 31
4
votes
1 answer

How to Disable Hyper-V and install HAXM in Windows 8

I am trying to install HAXM for android studio but it is showing error: Now my system has VT-x enabled: after this I tried to disable HYPER-V but when i try through cmd it shows a error: In windows feature I dont have a HYPER-V option: I have…
shivam
  • 383
  • 8
  • 22
4
votes
3 answers

What is a "Logical CPU Core"

I am reading some Operating Systems materials. I read this phrase that confused me a little: "Multicore refers to a computer or processor that has more than one logical CPU core, and that can execute multiple instructions at the same time." What is…
Rami
  • 8,044
  • 18
  • 66
  • 108
4
votes
1 answer

Is there a way to force two threads to execute on the same core?

I have an application that processes a lot of data. When the working set exceeds the L2(L3) cache performance falls dramatically. I want to fix part of that using prefetching of data. I want to take advantage of the fact that multithreaded code…
Johan
  • 74,508
  • 24
  • 191
  • 319
4
votes
1 answer

How does VirtualBox CALCULATE how many virtual CPUs are available?

I've tried to get an answer to this question in VB IRC channel, I've looked around stackexchange, stackoverflow, superuser, and elsewhere. Answers come close, but not what I am wanting to know. This is a curiosity question only, not one of…
Phelonius
  • 71
  • 1
  • 4
4
votes
1 answer

Matlab limits TBB but not OpenMP

I'm only asking this to try to understand what I've spent 24 hours trying to fix. My system: Ubuntu 12.04.2, Matlab R2011a, both of them 64-bit, Intel Xeon processor based on Nehalem. The problem is simply, Matlab allows OpenMP based programs to…
omarzouk
  • 933
  • 10
  • 23
4
votes
1 answer

Why does the performance become bad after enabling hyperthread?

I port Linux kernel 2.6.32 to Intel(R) Xeon(R) CPU E31275 @ 3.40GHz. If I enable hyperthread in BIOS, I can see 8 CPU cores (CPU0 ~ CPU7). Most of interrupts occur in CPU 4, and the CPU usage of this core is much higher than others (almost twice…
flypen
  • 2,515
  • 4
  • 34
  • 51