Jump to content

Hello,

 

Just wanted to know how core usage is determined on CPUs with hyper-threading. Obviously with an i3, you can't actually run 4 threads 100% of the time... so how exactly does it determine that each thread (when monitoring individual "core" usage) is running at 100%?

Intel i5-4690K @ 3.8GHz || Gigabyte Z97X-SLI || 8GB G.Skill Ripjaws X 1600MHz || Asus GTX 760 2GB @ 1150 / 6400 || 128GB A-Data SX900 + 1TB Toshiba 7200RPM || Corsair RM650 || Fractal 3500W

Link to comment
https://linustechtips.com/topic/295697-core-usage-on-cpus-with-hyper-threading/
Share on other sites

Link to post
Share on other sites

Yeah you can? I do it often enough to know.

 

No i mean the way the workload is distributed, it just improves scheduling by allowing a core to alternate between two threads to schedule things more efficiently, but that means the core has to stop processing one thread to process the other... it's not spending 100% of its clock cycles on BOTH threads.

Intel i5-4690K @ 3.8GHz || Gigabyte Z97X-SLI || 8GB G.Skill Ripjaws X 1600MHz || Asus GTX 760 2GB @ 1150 / 6400 || 128GB A-Data SX900 + 1TB Toshiba 7200RPM || Corsair RM650 || Fractal 3500W

Link to post
Share on other sites

No i mean the way the workload is distributed, it just improves scheduling by allowing a core to alternate between two threads to schedule things more efficiently, but that means the core has to stop processing one thread to process the other... it's not spending 100% of its clock cycles on BOTH threads.

 

Wrong. It uses wasted CPU time to do more operations simultaneously. CPU utilization is just a measure of how much CPU time is in use vs what is usable for a particular thread. Two threads sharing one core could both be at 100%, but one of the threads might be using more of the total time available on that core.

Link to post
Share on other sites

Wrong. It uses wasted CPU time to do more operations simultaneously. CPU utilization is just a measure of how much CPU time is in use vs what is usable for a particular thread. Two threads sharing one core could both be at 100%, but one of the threads might be using more of the total time available on that core.

 

what

that's exactly what i'm saying...

 

So for hyper-threading CPUs the usage measured is how much of the available time the core is spending on that thread?

Intel i5-4690K @ 3.8GHz || Gigabyte Z97X-SLI || 8GB G.Skill Ripjaws X 1600MHz || Asus GTX 760 2GB @ 1150 / 6400 || 128GB A-Data SX900 + 1TB Toshiba 7200RPM || Corsair RM650 || Fractal 3500W

Link to post
Share on other sites

what

that's exactly what i'm saying...

 

No, it isn't. The instruction pipeline of a single-threaded CPU can only execute instructions from the same process in one cycle. So if a process only needs to perform one operation during a given cycle, the remaining possible operations are left idle. Hyperthreading overcomes this limitation, executing the instructions from multiple processes during the same cycle, reducing the amount of time the CPU spends idle.

 

Now, getting back to my previous comment - there is a certain amount of idle time available on the core to handle another thread. The utilization of a virtual core is of THIS amount - NOT the total usage of the physical core.

Link to post
Share on other sites

Oh, I see. Thank you for explaining. So, if I understand correctly:

 

a. Usage measures the amount of time of each cycle a core is processing

b. Usage of virtual cores / extra threads from hyper-threading measures how much of the 'leftover' time is spent processing the second thread

 

So the lower the usage is on the first thread of a core, the more available usage there is for the second?

Intel i5-4690K @ 3.8GHz || Gigabyte Z97X-SLI || 8GB G.Skill Ripjaws X 1600MHz || Asus GTX 760 2GB @ 1150 / 6400 || 128GB A-Data SX900 + 1TB Toshiba 7200RPM || Corsair RM650 || Fractal 3500W

Link to post
Share on other sites

Oh, I see. Thank you for explaining. So, if I understand correctly:

 

a. Usage measures the amount of time of each cycle a core is processing

b. Usage of virtual cores / extra threads from hyper-threading measures how much of the 'leftover' time is spent processing the second thread

 

So the lower the usage is on the first thread of a core, the more available usage there is for the second?

There's a lot more than that to it mate, it can't be explained on a forum like this...

just read these links top to bottom in this order and you should have a better understanding:

 

http://en.wikipedia.org/wiki/Simultaneous_multithreading

http://en.wikipedia.org/wiki/Superscalar

http://en.wikipedia.org/wiki/Hyper-threading

| CPU: Core i7-8700K @ 4.89ghz - 1.21v  Motherboard: Asus ROG STRIX Z370-E GAMING  CPU Cooler: Corsair H100i V2 |
| GPU: MSI RTX 3080Ti Ventus 3X OC  RAM: 32GB T-Force Delta RGB 3066mhz |
| Displays: Acer Predator XB270HU 1440p Gsync 144hz IPS Gaming monitor | Oculus Quest 3 VR

Link to post
Share on other sites

Just wanted to know how core usage is determined on CPUs with hyper-threading. Obviously with an i3, you can't actually run 4 threads 100% of the time... so how exactly does it determine that each thread (when monitoring individual "core" usage) is running at 100%?

 

I get 99% usage on all my threads in games(i3)

Link to post
Share on other sites

It uses the "wasted" (unused) resources to load another instruction into the pipeline for simultaneous multithreading without having a physical core.

Link to post
Share on other sites

It uses the "wasted" (unused) resources to load another instruction into the pipeline for simultaneous multithreading without having a physical core.

 

How much performance can hyperthreading get compared to a real quad core?

 

For example does an i3 have 60% of real quad core performance?

Link to post
Share on other sites

How much performance can hyperthreading get compared to a real quad core?

 

For example does an i3 have 60% of real quad core performance?

 

this isn't a definitive graph by any means, but it gives a rough idea. the graph is from testing core scaling in Dragon Age Inquisition from http://www.dsogaming.com/pc-performance-analyses/dragon-age-inquisition-pc-performance-analysis/

 
DAI-CPU-Test.jpg
 
edit** I should add that the 6/12 test in the graph didn't improve because of the amount of threads frostbyte 3 engine is limited to apparently.

R9 3900XT | Tomahawk B550 | Ventus OC RTX 3090 | Photon 1050W | 32GB DDR4 | TUF GT501 Case | Vizio 4K 50'' HDR

 

Link to post
Share on other sites

How much performance can hyperthreading get compared to a real quad core?

 

For example does an i3 have 60% of real quad core performance?

HT adds 30% performance in most scenarios, take a look at G3258 stock vs i5 4460 stock in cinebench or whatever (both 3.2ghz) then find the lowest clocked i3 and compare :)

 

also when quoting me use the actual quote button, that way I know you've quoted me :P

Link to post
Share on other sites

HT adds 30% performance in most scenarios, take a look at G3258 stock vs i5 4460 stock in cinebench or whatever (both 3.2ghz) then find the lowest clocked i3 and compare :)

 

also when quoting me use the actual quote button, that way I know you've quoted me :P

 

The graph that that guy added showed a bigger diffrence than 30% , that particular game it was equivalent to an addicional cpu core.

 

 

 

this isn't a definitive graph by any means, but it gives a rough idea. the graph is from testing core scaling in Dragon Age Inquisition from http://www.dsogaming.com/pc-performance-analyses/dragon-age-inquisition-pc-performance-analysis/

 
DAI-CPU-Test.jpg
 
edit** I should add that the 6/12 test in the graph didn't improve because of the amount of threads frostbyte 3 engine is limited to apparently.

 

Link to post
Share on other sites

The graph that that guy added showed a bigger diffrence than 30% , that particular game it was equivalent to an addicional cpu core.

well the graph isn't massively useful as it shows clearly that the game is optimized for 6 threads, rather than HT being a true benefit.

Link to post
Share on other sites

well the graph isn't massively useful as it shows clearly that the game is optimized for 6 threads, rather than HT being a true benefit.

 

Do you have any graph confirming its 30%.

Link to post
Share on other sites

Do you have any graph confirming its 30%.

I can use some benchmark scores of my own i5 and compare them on hwbot

 

i5 @ 4.8: http://hwbot.org/submission/2580398_harrynowl_cinebench_r11.5_core_i5_4690k_8.21_points

i7 @ 4.8: http://hwbot.org/submission/2626810_ivaneza_cinebench_r11.5_core_i7_4790k_10.64_points

 

(10.64/8.21)*100 = 124.73, so that's a 24.7% performance increase from HT

Link to post
Share on other sites

I can use some benchmark scores of my own i5 and compare them on hwbot

 

i5 @ 4.8: http://hwbot.org/submission/2580398_harrynowl_cinebench_r11.5_core_i5_4690k_8.21_points

i7 @ 4.8: http://hwbot.org/submission/2626810_ivaneza_cinebench_r11.5_core_i7_4790k_10.64_points

 

(10.64/8.21)*100 = 124.73, so that's a 24.7% performance increase from HT

 

What about i3 vs  i5 ? Its a different situation.

 

 

From this video is (5/8)*100  = 62.5 % on the cinebench, and the i5 is clocked higher 

For a more simirlary clocked bench

 

http://www.cpu-world.com/Compare/413/Intel_Core_i3_i3-4130_vs_Intel_Core_i5_i5-4440.html

 

In cpu world the i3 gets 67.4% of the i5 performance 

 

sA3xt11.png

Link to post
Share on other sites

What about i3 vs  i5 ? Its a different situation.

 

 

From this video is (5/8)*100  = 62.5 % on the cinebench, and the i5 is clocked higher 

HT is still a  ~30% difference give or take, on 2 cores or 48, haswell cpus all use the same arch so therefore the same pipeline.

 

and how he got 5 I don't know, definitely an error somewhere. The i3 4130 "world record" is 4.05 points.

Link to post
Share on other sites

I can use some benchmark scores of my own i5 and compare them on hwbot

 

i5 @ 4.8: http://hwbot.org/submission/2580398_harrynowl_cinebench_r11.5_core_i5_4690k_8.21_points

i7 @ 4.8: http://hwbot.org/submission/2626810_ivaneza_cinebench_r11.5_core_i7_4790k_10.64_points

 

(10.64/8.21)*100 = 124.73, so that's a 24.7% performance increase from HT

 

 

What about i3 vs  i5 ? Its a different situation.

 

From this video is (5/8)*100  = 62.5 % on the cinebench, and the i5 is clocked higher 

For a more simirlary clocked bench

 

http://www.cpu-world.com/Compare/413/Intel_Core_i3_i3-4130_vs_Intel_Core_i5_i5-4440.html

 

In cpu world the i3 gets 67.4% of the i5 performance 

 

i will run cinebench with and without hyper-threading tonight leaving all the other parameters the same and provide a performance delta with all threads in use...from the top of my head i think the last time i checked it was more like 35% or so.

| CPU: Core i7-8700K @ 4.89ghz - 1.21v  Motherboard: Asus ROG STRIX Z370-E GAMING  CPU Cooler: Corsair H100i V2 |
| GPU: MSI RTX 3080Ti Ventus 3X OC  RAM: 32GB T-Force Delta RGB 3066mhz |
| Displays: Acer Predator XB270HU 1440p Gsync 144hz IPS Gaming monitor | Oculus Quest 3 VR

Link to post
Share on other sites

i will run cinebench with and without hyper-threading tonight leaving all the other parameters the same and provide a performance delta with all threads in use...from the top of my head i think the last time i checked it was more like 35% or so.

Weird every source i see its like 60% at least.

Link to post
Share on other sites

HT is still a  ~30% difference give or take, on 2 cores or 48, haswell cpus all use the same arch so therefore the same pipeline.

 

and how he got 5 I don't know, definitely an error somewhere. The i3 4130 "world record" is 4.05 points.

 

Yeah that video is wrong.

 

http://www.benchmark.pl/ranking/porownanie/intel-core-i3-4130-vs-intel-core-i5-4440

 

Anyways in this site the numbers check out i3 4130 3.7 i5 4440 5.3

 

(3.7/5.3)*100= 69.8% in cinebench , i cant find any source in which the i3 doesnt get at least  60% performance with HT.

Link to post
Share on other sites

Weird every source i see its like 60% at least.

i3 vs i5

 

http://hwbot.org/submission/2728400_leeghoofd_cinebench_r11.5_core_i5_4460_6.42_points

 

http://hwbot.org/submission/2552198_true_monkey_cinebench_r11.5_core_i3_4130_4.07_points

 

they're roughly the same clock (there's a few mhz in it, I mean a few)

 

(6.42/4.07)*100 = 1.57

 

This means an i5 has 1.57x the performance of an i3 at the same clock, keep in mind this is 1 test

 

So an i3 is basically 60% of an i5.

 

So the difference of HT is basically 10% in total performance, as a g3258 @ 3.7 would score 3.2 or so.

 

 

To measure performance GAIN from HT, core counts have to be equal.

Link to post
Share on other sites

i3 vs i5

 

http://hwbot.org/submission/2728400_leeghoofd_cinebench_r11.5_core_i5_4460_6.42_points

 

http://hwbot.org/submission/2552198_true_monkey_cinebench_r11.5_core_i3_4130_4.07_points

 

they're roughly the same clock (there's a few mhz in it, I mean a few)

 

(6.42/4.07)*100 = 1.57

 

This means an i5 has 1.57x the performance of an i3 at the same clock, keep in mind this is 1 test

 

So an i3 is basically 60% of an i5.

 

So the difference of HT is basically 10% in total performance, as a g3258 @ 3.7 would score 3.2 or so.

 

 

To measure performance GAIN from HT, core counts have to be equal.

 

Yeah but it checks out with what i have seen.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×