Jump to content
Sign in to follow this  
Rocky_53

Hyperthreading off works great!

Recommended Posts

3 minutes ago, Mace said:

I see no one in this thread denying any truth or fact.

What is also fact is that 4.4 is acting differently than 4.3 as to the matter at hand.

The implication was that Steve's wisdom may not be related directly to the current version, and it was a good point well raised, in the context of his lack of public comment....just wanted to clarify :)

You are right that 4.4 acts slightly differently to 4.3 in some aspects.  [I think I pointed that out somewhat earlier in the thread? (or it may have been another one entirely!)   Doesnt matter... ]


Kevin Firth - i9 10850K @5.2; Asus Maximus XII Hero; 32Gb Cas16 3600 DDR4; RTX3090; AutoFPS; FG mod

Beta tester for: UK2000; JustFlight; VoxATC; FSReborn; //42

xaP1VAU.png

Share this post


Link to post
1 hour ago, kevinfirth said:

A professional dev very experienced in the intricacies of flight sim software architecture, with proven test data backing up his advice...v why wouldnt it? 

You'll need to do better than that Luke sorry, I have never done blind faith, especially in MS!

I am happy to do better, since it's trivial to do so. Here's an article written by Mark Russinovich:

https://www.microsoftpressstore.com/articles/article.aspx?p=2233328&seqNum=7

Since it's rather long, I'll quote the relevant part:

On hyperthreaded systems, the next ideal processor is the first logical processor on the next physical processor. For example, on a dual-processor hyperthreaded system with four logical processors, if the ideal processor for the first thread is assigned to logical processor 0, the second thread would be assigned to logical processor 2, the third thread to logical processor 1, the fourth thread to logical process 3, and so forth. In this way, the threads are spread evenly across the physical processors.

There's a lot more in there. It's how the the thread scheduler actually works, by people who have actually written it.

If you don't know who Mark Russinovich is or his background in the internals of the Windows kernel, you should read up. Suffice it to say that he has forgotten more about the innards of Windows than this forum combined. He's also written more of it.

1 hour ago, Bert Pieke said:

The OS has no clue what is running and is not going to "improve" anything..

With respect, Bert, the OS kernel is the *only* component that has a complete, true picture of the hardware and what processes are running. Everything else knows nothing, or whatever little the kernel chooses to reveal.

Guys, this is all Operating Systems 101.


Luke Kolin

I make simFDR, the most advanced flight data recorder for FSX, Prepar3D and X-Plane.

Share this post


Link to post
44 minutes ago, Luke said:

With respect, Bert, the OS kernel is the *only* component that has a complete, true picture of the hardware and what processes are running. Everything else knows nothing, or whatever little the kernel chooses to reveal.

Guys, this is all Operating Systems 101.

What you are missing, is that P3D is not a multi-threaded application, but a hybrid of a single threaded set of core processes, and a bunch of multi-threaded pieces, like scenery loading.

The latter behave the way you expect, and the OS schedules them on the last (n-2) cores the way you describe.

The former do not.. and are somehow linked to the first 2 cores by LM (remember the breakthrough when FSX was able to run some of its threads on more than a single core..)

Edited by Bert Pieke

Bert

Share this post


Link to post
30 minutes ago, Bert Pieke said:

What you are missing, is that P3D is not a multi-threaded application, but a hybrid of a single threaded set of core processes, and a bunch of multi-threaded pieces, like scenery loading.

Just so we're using the same terminology, P3D is a multi-threaded application. Right now on my machine I'm flying back from KLAX to KJFK (simFDR 64-bit flight test) and P3D v3.4 has no fewer than 122 threads active... within a single Windows process. If you don't believe me, just fire up Task Manager or Process Explorer or your tool of choice.

I think your confusion in terminology may be based on the fact that not all of these threads are doing the same amount of work. One of my 8 cores is pegged at 100% and three more are floating between 20 and 80%. The last four are doing around 10%. Almost all of that activity is from P3D. But the fact that P3D cannot perfectly allocate its work across multiple cores doesn't make it "not multi-threaded" - it just makes it like every other program outside the "embarassingly parallelizable" problems of web serving and graphics processing.

It's just another Windows process that uses up a lot of CPU (unevenly) across multiple threads.

36 minutes ago, Bert Pieke said:

The former do not.. and are somehow linked to the first 2 cores by LM (remember the breakthrough when FSX was able to run some of its threads on more than a single core..)

The "breakthrough" was just that ACES spawned up extra threads and separated out the work. It's not a free lunch, since certain things need to happen in order and you need to synchronize data access, but spawning up a few threads that spend most of their time blocked waiting for I/O is an easy win. However, there wasn't any magic beyond spawning up new threads - FSX let the kernel schedule them, and being the smart scheduler that it is, it tended to schedule them on threads that weren't doing anything.

FSX didn't do anything to allow threads to run on different cores, it just spawned more of them. The affinity mask would restrict what threads they ran on, but the default is again to run on any available core. The kernel (and its authors) know more than all of us.

Cheers!


Luke Kolin

I make simFDR, the most advanced flight data recorder for FSX, Prepar3D and X-Plane.

Share this post


Link to post
28 minutes ago, Bert Pieke said:

I give up..

Never give up... Never....

If there's one thing i've learned in 25+ years of PC flight simming it's this..

What works for you, may or may not not work for the next guy. 

Each system and setup is a world of it's own...

 

  • Like 1

Share this post


Link to post

Having followed this thread with great, if bemused, interest, what's the upshot? On or Off? More importantly, how the bloody hell am I supposed to find out if I'm on or off AND how do I achieve either. (In words an old fellah in his dotage would understand)

P.S. The Euro (€) is 20 years old today and we've avoided it so far! :tongue:


Eva Vlaardingerbroek, an inspiratiom.

Share this post


Link to post
41 minutes ago, Ron Attwood said:

Having followed this thread with great, if bemused, interest, what's the upshot? On or Off? More importantly, how the bloody hell am I supposed to find out if I'm on or off AND how do I achieve either....

If your CPU supports it, it should be "on" by default in your MOBO bios.

Turning HT on or off is a function of your MOBO bios, for many motherboards it's the delete key when your system is in the early stages of the boot up mode, wait too long and you could miss it.

I would suggest reading the user manual for your MOBO, but in general, it's not rocket science to get in to the BIOS, that's where you'll be able to turn HT on or off... Hope that helps.. From one old geezer to another....🙂

Edited by SunDevil56

Share this post


Link to post

Or have a look under the Performance tab in Windows Task Manager.

It shows you a usage graph for each CPU core.. HT on results in twice as many cores.. (Example: quad core CPU,  8 cores with HT on..)

Suggestion.. unless you have a six-core CPU, keep HT set to ON.

Edited by Bert Pieke

Bert

Share this post


Link to post
2 hours ago, Bert Pieke said:

I give up..

😂😂😂

Share this post


Link to post
1 hour ago, SunDevil56 said:

Never give up... Never....

Winston said 'Nevah'....😁

 

Share this post


Link to post
18 minutes ago, glider1 said:

Ron happy new year, here you go: https://acronyms.thefreedictionary.com/MOBO. Motherboard bios.

Thanks glider... 😎

Yes, MOBO = motherboard.

BIOS = Basic Input/Output System, just acronyms to simplify things as glider noted.

When your system starts to boot up you hit a key (usually "delete" but it might be "mobo" specific) to enter the BIOS screen... That's where you'll be able to make changes like turning HT on or off..

Ron, what's the make and model of your MOtherBOard..??

Share this post


Link to post
10 minutes ago, Bert Pieke said:

Suggestion.. unless you have a six-core CPU, keep HT set to ON.

Even in 4.4 I'm running HT 11,11,10,10 unlimited with external lock via Rivatuner @ 30fps

While eventually coming to this solution above, I noticed something very interesting. Someone way back in this thread (or a different one) said that by unchecking/checking affinity mask frame rates went up. I'm currently flying the excellent Falcon 50. I started at KLAX with an external framerate of ~20fps and an internal VC FR of ~18-19fps. Checked and unchecked the first core and external went to 28 and internal went to 26.

Hmmmm..this might be worth looking at.. 😯

Fired up Process Explorer and took a look at what was happening at the CPU level. Checking/unchecking core 1 essentially shifted its work to the other cores at varying levels. However, with the mask I was using at that time, 01110101 after the checking/unchecking process, frame rates were higher but the smoothness suffered with stutters. While I was in PE, I noticed that the red portion of the graph ("Red in the CPU usage graph indicates CPU usage in kernel-mode whereas green is the sum of kernel-mode and user-mode execution.") was represented at ~40% with the other at half or less whether checked or unchecked. So I decided to try something.

I went to 11111010 to move P3D off that very first 40% core. Interestingly, even though masked, P3D still uses that primary core at the kernel level at about the same level but with no green. Results for me mimic the check/uncheck frame rate increase but with exceptional smoothness. Haven't touched this setting for about a week now with no problems at all. I'm running a 4770 @ 4.4 w/1080i. AS on the last two cores.

There's something for ya to chaw on in the New Year!

Cheers,

Mark

 

  • Like 1

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...