Jump to content

The Workshop Hyperthreading - Confusion

Hey, anyone willing to help, would be greatly appreciated. 

 

I seem to be either overthinking or misunderstanding the results in a recent test done by Luke in 'The Workshop' series. 

 

I spent a good 2 hours looking in-depth into Hyperthreading, which was very interesting. But in the process, I seemed to have fried my brain.

 

By that I mean I don't understand the results on the 7-Zip Benchmark... Why are the two VM's running simultaneously, getting way over half the score of one? (30% at least) 

 

I don't understand the scaling.

 

Are the two VM's running at the same time forcing  the CPU to utilize more resources and therefore yielding a better result? (in-ratio)

 

For instance @ 4:29, that could represent the default 7-Zip benchmark running on one VM. 

And @ 4:32 could represent both VM's running simultaneously.

 

 

This is probably blindingly obvious to someone, if so don't be afraid to point out!

 

Cheers

Link to comment
Share on other sites

Link to post
Share on other sites

 The graph seems to indicate he did 3 tests, one using 4 physical cores, one using 4 logical cores, and one doing the two previous tests at the same time in two different vms.

 

These are the results I'd expect as he is pegging each core at 100%, resulting in slower throughput for each VM.

 

Watch the video again and listen to Luke explain how logical and physical cores exist together. The logic buddy of core 0 gets to use the extra resources of core 0, but what if that core is pegged at 100%, or even if it starts to hit numbers above 70%? Well, there aren't many resources for core 0 to share with its logic buddy. Windows tries to load balance, as luke said, hence why one VM doesn't just completely lock up when its physical buddy is using most of the resources. 

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, ln2_cooled_heart said:

 The graph seems to indicate he did 3 tests, one using 4 physical cores, one using 4 logical cores, and one doing the two previous tests at the same time in two different vms.

 

These are the results I'd expect as he is pegging each core at 100%, resulting in slower throughput for each VM.

 

Watch the video again and listen to Luke explain how logical and physical cores exist together. The logic buddy of core 0 gets to use the extra resources of core 0, but what if that core is pegged at 100%, or even if it starts to hit numbers above 70%? Well, there aren't many resources for core 0 to share with its logic buddy. Windows tries to load balance, as luke said, hence why one VM doesn't just completely lock up when its physical buddy is using most of the resources. 

First off, thanks for replying.

 

I think I see what you're saying.

 

But I must still be confused since I continue to ask myself why the two VM's running simultaneously with HT are turning up a 11700 result (=23400) and one VM running all 4 physical cores with 8 logical (HT enabled) is getting a 17500 result? Shouldn't it be the same in ratio?  Wait... Sh*t the single VM test isn't running all 8 logical cores is it?   

 

But that still leaves me asking why there's such a significant performance hit, even though the VM separates the logical cores.  

 

Luke states that  if you have one thing running it will perform better than if you have two running. Why is that? if he previously assigned 4 logical cores to each VM?

Should they not perform equally? (as in equaling one VM's score x2)

 

^ Since I assume that they are working independently if he assigned 4 logical cores to each VM and the resources aren't shared??

 

Sorry if I'm missing anything here, my mind is operating on a very basic level rn and I just want to be crystal clear :P

Link to comment
Share on other sites

Link to post
Share on other sites

14 minutes ago, Chumlee101 said:

First off, thanks for replying.

 

I think I see what you're saying.

 

But I must still be confused since I continue to ask myself why the two VM's running simultaneously with HT are turning up a 11700 result (=23400) and one VM running all 4 physical cores with 8 logical (HT enabled) is getting a 17500 result? Shouldn't it be the same in ratio?  Wait... Sh*t the single VM test isn't running all 8 logical cores is it?   

 

But that still leaves me asking why there's such a significant performance hit, even though the VM separates the logical cores.  

 

Luke states that  if you have one thing running it will perform better than if you have two running. Why is that? if he previously assigned 4 logical cores to each VM?

Should they not perform equally? (as in equaling one VM's score x2)

 

^ Since I assume that they are working independently if he assigned 4 logical cores to each VM and the resources aren't shared??

 

Sorry if I'm missing anything here, my mind is operating on a very basic level rn and I just want to be crystal clear :P

Look at the chart again though. No test is ran with 4 core / 8 threads. 

 

2 vms, one assigned strictly to 'HT cores', one assigned to 'real cores'. So vm a is assigned 4 threads, vm b is assigned 4 cores.

 

7zip with vm A, then 7zip with vm B. Then both are benchmarked at the same time. He never runs the benchmark while NOT in a vm.

 

Load balancing is why they run better when not ran at the same times. When the benchmark is ran, there are less resources to share between physical/logical cores. When ran at different times, the difference between logical and physical vms is not noticeable. When ran at the same time, the physical cores have less resources to give the logical cores, and you see lower throughput. 

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, ln2_cooled_heart said:

Look at the chart again though. No test is ran with 4 core / 8 threads. 

 

2 vms, one assigned strictly to 'HT cores', one assigned to 'real cores'. So vm a is assigned 4 threads, vm b is assigned 4 cores.

 

7zip with vm A, then 7zip with vm B. Then both are benchmarked at the same time. He never runs the benchmark while NOT in a vm.

 

Load balancing is why they run better when not ran at the same times. When the benchmark is ran, there are less resources to share between physical/logical cores. When ran at different times, the difference between logical and physical vms is not noticeable. When ran at the same time, the physical cores have less resources to give the logical cores, and you see lower throughput. 

Oh my god, that makes a lotta sense.  Thank you very much :)

Link to comment
Share on other sites

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

×