Jump to content
The Dark Mod Forums

Question On Hyperthreading


Ishtvan

Recommended Posts

So at work I'm using a commercial simulation program that apparently doesn't incorporate hyperthreading. I'll run a dedicated simulation and only see 50% CPU usage. So I'm wondering: Would turnign hyperthreading off in the BIOS help this program utilize more of the CPU and hopefully run faster?

 

Please lemme know if you have any advice. It's kind've nice to be able to do stuff while it's running, but when Im running something for 8 hours straight and not at the computer I want it to use as much of the CPU as possible.

Link to comment
Share on other sites

@Dom: Oh, that good reason would be that I'm lazy. I was just hoping some random person on here would have an intimate knowledge of how hyperthreading works. :) Also, this is being run on my home computer and I don't want to screw anything up by accident.

 

@Spar: I thought maybe the reason turning it off would make it faster would be that the processor would start operating in "normal" mode, rather than reserving half of it for fake dual-processor stuff, or however it works.

Link to comment
Share on other sites

As I understand it, hyperthreading is like having two CPUs on one CPU. The operating system also sees such a CPU as if there were two present. So turning it off means that you essentially half the computing power because the second core will not be used. AFAIK there is no such thing as reserving computing power for the second half inside the CPU, but I'm not a hardware expert. Normally the OS should distribute the load on both CPUs. I don't really know the internals of Windows that good, but I think it might be that it distributes the load only over processes and not over threads. In that case, if your application is not aware of multiple CPUs it will only run on one. If Windows distributes the load on threads as well then your application might still not take advantage of it, if it does it's computing only as a single thread (like most applications work). So the only way that I can see to make your app aware of it is to make it at least threadable.

To verify this, you could write a simple testprogramm with an endless loop and then look how much CPU power it consumes. I would assume that it also would go only for 50% because it will only use one CPU. If you run this test twice it should take 100% now.

 

You can then extend this test and make it multithreaded and run the infinte loop in two thread. if the application used before 50% and now 100%, then Windows distributes over threads. In this case you can only look for another application that can split up it's calculations into multiple patches. Some renderer do this, but the application has to be written to support this of course.

Gerhard

Link to comment
Share on other sites

Do HT CPU's really have two cores though? I asked a coworker about that, and he said that it was most likely "faking" 2 cores, so some combination of the chipset BIOS and the OS software makes it act like it has 2 cores, but it does not actually. Maybe turning HT off in the bios will stop this faking operation and let a non-HT program use more of the whole processor instead of fake-dividing the processor in 2?

 

Unfortunately I can't change this app at all; it's commercial simulation software that's not open sourced. It does support "cluster" processing. I wonder if it could be hacked to view the fake "2nd core" on an HT CPU as another machine in a cluster... I dunno.

 

Btw yeah I did put it under full load in one copy and it was 50% of the CPU. I haven't tried running two copies of the app yet, but I imagine it will take up 100% as you said.

 

So I guess I could at least run 2 different simulations at the same time to save a little time.

 

You'd think these bastards would support modern CPU technology at the prices they charge for their software <_<

 

Hmm... maybe I could use the supported "clustered computing" to trick it into running 2 threads and going back and forth between for calculations. IE, cluster #1 is running on localhost, cluster #2 is a 2nd copy of the program also running on localhost (or some network mask that redirects it back to me) ... maybe.

Edited by Ishtvan
Link to comment
Share on other sites

Do HT CPU's really have two cores though?  I asked a coworker about that, and he said that it was most likely "faking" 2 cores, so some combination of the chipset BIOS and the OS software makes it act like it has 2 cores, but it does not actually.

 

That's right. I was talking from the operating system point of view where it is treated as two actual CPUs.

 

Maybe turning HT off in the bios will stop this faking operation and let a non-HT program use more of the whole processor instead of fake-dividing the processor in 2?

 

Don't know if that works, you can only test it. :)

 

Unfortunately I can't change this app at all; it's commercial simulation software that's not open sourced.  It does support "cluster" processing.  I wonder if it could be hacked to view the fake "2nd core" on an HT CPU as another machine in a cluster... I dunno.

 

Maybe you can run it in VMware then? Both machines would be treated as seperate processes and this might help speed up the overall performance in this case.

 

Btw yeah I did put it under full load in one copy and it was 50% of the CPU.  I haven't tried running two copies of the app yet, but I imagine it will take up 100% as you said.

 

Yeah. So it is as I thought that it acts like two CPUs from the application point of view. Don't know though how far this actually goes.

 

So I guess I could at least run 2 different simulations at the same time to save a little time.

 

If that is possible. Can't say as I don't know what your expectations are. If you can split the jobs up in seperate chunks, this would be a solution.

 

You'd think these bastards would support modern CPU technology at the prices they charge  for their software <_<

 

LOL.

Gerhard

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent Status Updates

    • Ansome

      Finally got my PC back from the shop after my SSD got corrupted a week ago and damaged my motherboard. Scary stuff, but thank goodness it happened right after two months of FM development instead of wiping all my work before I could release it. New SSD, repaired Motherboard and BIOS, and we're ready to start working on my second FM with some added version control in the cloud just to be safe!
      · 0 replies
    • Petike the Taffer  »  DeTeEff

      I've updated the articles for your FMs and your author category at the wiki. Your newer nickname (DeTeEff) now comes first, and the one in parentheses is your older nickname (Fieldmedic). Just to avoid confusing people who played your FMs years ago and remember your older nickname. I've added a wiki article for your latest FM, Who Watches the Watcher?, as part of my current updating efforts. Unless I overlooked something, you have five different FMs so far.
      · 0 replies
    • Petike the Taffer

      I've finally managed to log in to The Dark Mod Wiki. I'm back in the saddle and before the holidays start in full, I'll be adding a few new FM articles and doing other updates. Written in Stone is already done.
      · 4 replies
    • nbohr1more

      TDM 15th Anniversary Contest is now active! Please declare your participation: https://forums.thedarkmod.com/index.php?/topic/22413-the-dark-mod-15th-anniversary-contest-entry-thread/
       
      · 0 replies
    • JackFarmer

      @TheUnbeholden
      You cannot receive PMs. Could you please be so kind and check your mailbox if it is full (or maybe you switched off the function)?
      · 1 reply
×
×
  • Create New...