Jump to content
Sign in to follow this  
TurboTomato

Intel Hyper Threading - on or off?

Recommended Posts

When i open up Task Manager i can see 12 towers,  as my machine is 6 core i now know Hyper Threading is on.  I did try the calculation before but i might as well of been counting sheep. 

I do read all the threads relating to it though and will try again, it does make sense. I will check out the link.

I updated that link with this:

 

Here we have a 6 core with HT enabled, showing AM=3392, vs AM=0 (no JOBSCHEDULER section).

 

With 3392=(11,01,01,00,00,00) we can see the first P3D thread on LP6 has an unused partner LP7. With no AM or AM=0, the first P3D thread shares a core with another losing around 10% in overall performance. Tests made with small sim windows (not on fullscreen windows).

 

AM3392AM0.jpg

 

Here from LM..

LM put in a bunch of code since version 2.3 so you don't need to play with affinity masks anymore.

I refer you to the result in the image above.


Steve Waite: Engineer at codelegend.com

Share this post


Link to post

As I use addon software like : IflyServer , Opus ( for the Buttkicker ) , IflyToFsuipc, IOCP Ifly 737 ( like Fsuipc ) and Sioc ( Open Cockpits )

it probably would be best to use :

 

AM=1360 --> 01,01,01,01,00,00

or

AM=360 ---> 00,01,01,01,01,00

 

and assign the addon software to LP2-3  or LP 10-11

 

 

Or even try with AM=3392, like in your example and use LP6 + 7 for addon software.

 

Correct ?


13900 8 cores @ 5.5-5.8 GHz / 8 cores @ 4.3 GHz (hyperthreading on) - Asus ROG Strix Gaming D4 - GSkill Ripjaws 2x 16 Gb 4266 mhz @ 3200 mhz / cas 13 -  Inno3D RTX4090 X3 iCHILL 24 Gb - 1x SSD M2 2800/1800 2TB - 1x SSD M2 2800/1800 1Tb - Sata 600 SSD 500 Mb - Thermaltake Level 10 GT case - EKWB Extreme 240 liquid cooling set push/pull - 2x 55’ Sony 4K tv's as front view and right view.

13600  6 cores @ 5.1 GHz / 8 cores @ 4.0 GHz (hypterthreading on) - Asus ROG Strix Gaming D - GSkill Trident 4x Gb 3200 MHz cas 15 - Asus TUF RTX 4080 16 Gb  - 1x SSD M2 2800/1800 2TB - 2x  Sata 600 SSD 500 Mb - Corsair D4000 Airflow case - NXT Krajen Z63 AIO liquide cooling - 1x 65” Sony 4K tv as left view.

FOV : 190 degrees

My flightsim vids :  https://www.youtube.com/user/fswidesim/videos?shelf_id=0&sort=dd&view=0

 

Share this post


Link to post

Pretty good Gerard. If you look at the graphs in the top half of the image, it can be seen that another process springs into action (a small peak appears around 30% in from the right). Just a hint appears on LP7 (the same core as the P3D main thread on LP6), but instead it is realised in the other less used cores very quickly by the jobsheduler.

 

As long as we lay out our P3D setup well in the first place, the others will generally take care of themselves. However, as you say you can apply affinity to other apps and improve things if need be.

 

I've not shown the result of too many threads messing up the flow of the main thread which is reason to use an AM number two, and goes as well for HT disabled. But the prime reason we use an AM with HT enabled is because we want to see that nice blank graph next to the main P3D graph.  :dirol:


Steve Waite: Engineer at codelegend.com

Share this post


Link to post

Let me ask this then -  again not trying to be inflammatory.

 

In your chart above AM=0 , how do you know that it is the Prepar3D process that is causing the small activity in the hyperthreaded LP without actually looking at it with processmonitor or some other tool?

 

After P3D started then whats to say Windows then didn't push other programs to the hyperthreaded LP because P3D took the "real" LP?

Share this post


Link to post

I got 52 threads across all LPs showing owned by P3D, and an AM=0, and 41 threads across 4LPs and an AM=3392.


Steve Waite: Engineer at codelegend.com

Share this post


Link to post

Hello guys...Its a pity we can't have a measure of our systems in order to know what we can achieve at the first place. I am also kind of confused. Yesterday, I did a flight from Edinburgh to Southampton using FTX scenery and the Majestic Q400 using unlimited. I used high scenery settings (Rob's 4K actually). Results:

 

Panning with TIR was better than fixed FPS. This smoothness of head motion adds to the realism that is for sure... Landing was not smooth at all. Actually it was very bad performance I didn't enjoyed it at all because I couldn't guide with precision the plane to the runway, giving me about 20-25 fps. Then I tried the same situation using a target of 30fps. Same awful result full of stutters. So we should admit..our systems are limiting us whether we like it or not. I think I run a powerful setup but it can't handle a smooth approach on EGHI using all FTX eye candy on a Q400. I am not satisfied with that because there is only one solution, and this is not to use limited or unlimited. I have to reduce my settings. And this test was with vanilla Nvidia CP and NI. I will only be satisfied with fluidity on a non-autogen sim...


Simulators: Prepar3D v5 Academic | X-Plane 1111.50+ | DCS  World  Open Beta MSFS 2020 Premium Deluxe | 
PC Hardware: Dell U3417W Intel i9 10900K | msi RTX 2080 Ti  Gaming X Trio msi MPG Z490 Gaming Edge Wifi | G.Skill 32GB 3600Mhz CL16 | Samsung 970 EVO Plus+860 EVO+850 EVO x 1TB, Western Digital Black Caviar Black x 6 TB Corsair RM1000i Corsair H115i Platinum Fractal Design Define S2 Gunmetal |
Flight Controls: Fulcrum One Yoke Virpil VPC WarBRD Base Virpil VPC MongoosT-50CM Grip, Thrustmaster Warthog+F/A-18C Grip Thrustmaster TPR Rudder Pedals | Virtual Fly TQ6+Throttle Quadrant | Sismo B737 Max Gear Lever | TrackIR 5Monsterteck Desk Mounts |
My fleet catalog: Link                                                                                                                                                       

Share this post


Link to post

Hello guys...Its a pity we can't have a measure of our systems in order to know what we can achieve at the first place. I am also kind of confused. Yesterday, I did a flight from Edinburgh to Southampton using FTX scenery and the Majestic Q400 using unlimited. I used high scenery settings (Rob's 4K actually). Results:

 

Panning with TIR was better than fixed FPS. This smoothness of head motion adds to the realism that is for sure... Landing was not smooth at all. Actually it was very bad performance I didn't enjoyed it at all because I couldn't guide with precision the plane to the runway, giving me about 20-25 fps. Then I tried the same situation using a target of 30fps. Same awful result full of stutters. So we should admit..our systems are limiting us whether we like it or not. I think I run a powerful setup but it can't handle a smooth approach on EGHI using all FTX eye candy on a Q400. I am not satisfied with that because there is only one solution, and this is not to use limited or unlimited. I have to reduce my settings. And this test was with vanilla Nvidia CP and NI. I will only be satisfied with fluidity on a non-autogen sim...

So the question being, was your AM at fault? This seems to be a tale of trying to use the look ahead buffer with far too much image quality to allow it, 30 fixed requires a powerful system. Was this related to your AM, or just too high settings? Use of the fixed setting requires careful tuning or it does not work, as reported around the forums constantly.


Steve Waite: Engineer at codelegend.com

Share this post


Link to post

 

The question is whether to use HT enabled or disabled. The discussion has matured to a point whereby we understand that an app may spawn dozens of threads through the use of the operating system features. Like networking for example, since P3D is network bound and requires good network throughput.

 

If we partition a CPU for that app with the affinity mask we are restricting the use of cores for those threads. We can reduce the performance of the app doing that if we don't know what we are doing.

 

Remember with HT=On we find we have ganged pairs of logical processors (LPs) that share a real core, in some circumstances we may want to avoid sharing that core. With some apps, especially games, we often have a monolithic process that runs as fast as possible, let's call it the game loop for argument's sake (games are more complex than that). We can see that in both the graphs above, LP6 in the upper set, and LP0 of the lower set.

 

In the upper set we have managed to get the jobsheduler to allow it maximum throughput, as can be seen when the other app starts 30% from the right (I scheduled and started a test app), the extra work is transferred to cores with less overheads by the jobsheduler. In the lower graph, there are threads from all parts of the system competing with the main P3D process on LP0 and the performance is reduced somewhat.

 

We use an Affinity Mask to help the OS choose LPs for the app when it starts up. P3D (and FSX) creates it's own threads as well as invoke other threads from OS resources. The app starts its main thread, the jobsheduler allocates an LP, the next thread it makes would be targeted to the adjacent LP if it is not masked, so we use the mask and the next threads can start on the next physical core. Subsequent threads spawned by the app will move along to other unmasked LPs if available. Once the app is in full swing other processes will be targeted to lesser used cores by the jobsheduler, as can be seen in the graphs upper set. We can't mask off too many LPs because there will probably be other threads invoked by the system that need breathing space. Never leave a complex app with less than 2 LPs in the mask or serious performance issues can arise especially due to networking resources.

 

 

This problem of sharing an HT core running the main sim process leads to poor performance with locked frames, just as using too much high settings does.


Steve Waite: Engineer at codelegend.com

Share this post


Link to post

Ok....ok.....now I'm Thoroughly confused....  :P

 

I'm using a 3770K....AM is set to 84 right now.  HT=OFF

 

Is that correct?

 

FaxCap

Share this post


Link to post

I'm using a 3770K....AM is set to 84 right now.  HT=OFF

 

Is that correct?

NO. Always use HT=On unless pushing for very high OC (and that's another debate). Also using an AM=84=(0101,0100) with HT=Off, means you've masked off 3 cores. Turn on HT for AM=84, or if you want HT=Off, choose a mask of zero (or remove the jobsheduler section) or try an AM=14=(1110).


Steve Waite: Engineer at codelegend.com

Share this post


Link to post

Ok, thanks Steve.

 

HT=ON now.  I will test AM=0 and see if P3D auto settings works better than AM=84.

 

FaxCap

Share this post


Link to post

HT=ON now.  I will test AM=0 and see if P3D auto settings works better than AM=84

P3D auto settings is equivalent to setting AM=0, or 255=(11,11,11,11) on your HT enabled 4 core

 

Can also try: 212=(11,01,01,00) or 245=(11,11,01,01), or 253=(11,11,11,01).

 

...things pan out differently depending on monitor number and size, autogen, photo-real, weather intensity, etc. That's why a range of setups should be tried.


Steve Waite: Engineer at codelegend.com

Share this post


Link to post

Ok great....printed those for reference.

 

Thanks, Steve

 

FaxCap

Share this post


Link to post

Cool. Part of the thought process says; if we restrict the use of the cpu to less cores or LPs, it will intensify work done on those processors. That way the jobsheduler looks for lesser used cores, or LPs, to place new tasks. However, if the cores we restrict to get maxed out, we could be losing performance that we could gain back on other cores. Except for the main task (see the graphs), we can't spread the main task to other cores, so we ensure our other sim threads don't start up on the HT partner LP of the same core when the sim starts.


Steve Waite: Engineer at codelegend.com

Share this post


Link to post

I just started using an affinity mask of 150401 in my I7-5960X (8 core/16 thread) I'm now getting 60 FPS locked with high settings, smooth as butter.

Share this post


Link to post

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
Sign in to follow this  
  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...