Hyper-threading reduces the single-core power of my CPU

0
June 25, 2016

I just got a new dedicated server with an Intel Xeon E3-1230 v2 CPU which has hyper-threading by default, and Windows server 2012 R2 64-bit. I run 4-6 game servers, so my workload is essentially multiple single-threaded processes. This particular game needs to have access to an entire core out of the four, in order for the game to run smoothly. It needs access to 25% of the total CPU power.

However, no single-threaded process on the dedicated server can use more than 12.5% of the whole CPU. This means the 4 cores are being split into eight threads. I have tried running other applications like Prime 95 and benchmarking tools, and none of them can use more than a 12.5%, either.

To me, it appears as if the 4 cores were forcibly split into eight, and the threads are set in stone; no single-threaded process can use 2 of the 8 threads.

I use Task manager to look at the CPU usage. Is Windows task manager reporting the usages inaccurately (because it doesn't know about hyper-threading), or is hyper-threading supposed to make single-threaded programs run half as fast? If it's supposed to make single-threaded programs half as fast, I guess I'll have to disable HT from the BIOS. But why does everybody say HT makes games (which are mostly single-threaded) run the same, if not faster?

Comments See all(0)

Add comment
0
June 25, 2016

As you may, or may not know, 4 core hyperthreading CPUs show up to the system as 8 cores. The advantage of HT is supposed to be that the system can use the additional "cores" created by hyperthreading, or other physical cores, for background tasks, other applications, etc., which then frees the core being utilized for the application to complete it's task rather than having to share it's resources with another task.

As to why your cores won't utilize more than 12.5% of the CPU, that's basic math. 8 cores times 12.5% obviously equals 100%. The more important question is whether or not each core is using it's full share of resources, which, by default, it should be. Disabling HT probably isn't going to gain you much if anything, but it really depends on how the application or game, in question, is written. There are buggy ass games like Farcry 4 for example that most people find won't run at all on dual core cpus (So forget about using the G3258 with it) and requires a 4 core CPU, but then refuses to utilize more than a single core for gameplay.

If the game you're trying to serve is not written to utilize hyperthreading or multiple cores, then you might be better off disabling hyperthreading, at least to see if the additional 12.5% of resource allocation is enough to resolve your issue. In reality, this is a problem with the game or application, not the CPU, but that may work as a work around.

I'd also make sure that the Turbo boost feature is enabled in the BIOS to allow for the natural boosting of the cores under demand.

0
June 25, 2016

I don't believe HT is hurting you. The 1230v2's max turbo for 1 core is 3.7ghz whether it's HT'd or not. If that was the case, i5 would actually outperform i7s a lot of the time, and we all know they pretty much never do within their own generation. HT doesn't make a huge difference in gaming most of the time, but it does help, and it helps by managing the background tasks and processes. An i5 will bog down much faster when there are a lot of things running in the background because it pulls resources from your main task. Of course, all software and programs aren't created equally so there are always exceptions. Some software can't even "see" HTing and some make great use of it.

I say run some examples with HT on, and then run some examples with HT disable and see what the results are. We could be wrong.

I agree with what darkbreeze said and I tried not to repeat his info.

0
June 25, 2016

Are you trying to actually game on this server, or serve games to workstations or terminals using it? I'm assuming from what you posted above that you're running a game server that serves the application up to dedicated stations. Is this configured to run the core game process server or client side? I think maybe a bit further explanation of you intentions and needs is required as I believe that myself and CTurbo are not seeing your intentions in the same light.

0
June 25, 2016

If HT is on, it is running 2 threads on 1 core. although it might be real core or the virtual one. And no, it will not run it 2 threads because you said it is a single thread application.

0
June 25, 2016

There is the POSSIBILITY HTT could reduce performance; the hyperthreaded core shares resources with a physical core, so there is the potential for some minor performance loss. This is typically both unlikely to occur and minimal if it does occur. HTT should almost certainly be left enabled these days.

0
June 25, 2016

When I say "dedicated server", I refer to the server computer, and when I say "game servers", I refer to the game servers running on the server computer. The dedicated server is headless and it's in a data center, so the dedicated server is not being used like a workstation at all. I'm serving the game to remote players around the world.

I'm trying to run 4 game servers (specifically Unturned 3.3.6.0) on 4 physical cores, with the intent that each game server will use up one of those cores. The game servers are console applications with no GUI, and I don't think the developer deliberately added optimization for HT. The problem is that the CPU appears to the OS as 8 threads, so only 4 of the 8 threads are being utilized. None of these game servers ever went above a CPU usage of 12.5%, and when they hit 12.5%, they start to lag. I'm essentially losing half of my CPU because of HT.

darkbreeze said:

In reality, this is a problem with the game or application, not the CPU

So you're saying that if a game is not designed to use multiple threads, it's expected to run half as fast on HT?

darkbreeze said:

I'd also make sure that the Turbo boost feature is enabled in the BIOS to allow for the natural boosting of the cores under demand.

That is certainly enabled and I have seen it boost before.

gamerk316 said:

There is the POSSIBILITY HTT could reduce performance; the hyperthreaded core shares resources with a physical core, so there is the potential for some minor performance loss. This is typically both unlikely to occur and minimal if it does occur. HTT should almost certainly be left enabled these days.

For example, let's say that each physical core is numbered 0-3, and each thread is numbered A or B. Each physical core has a capacity of 25% of the whole CPU.

I am running a web browser, which uses 3% of the whole CPU, on thread 2A. I'm running a game server on thread 2B. You're saying that thread 2B has 22% of the whole CPU available to it, right? Now let's say I close the web browser and thread 2A is unoccupied. The game server now has 25% of the whole CPU available to it, right? From what you're saying, I'm imagining a pair of threads belonging to each core, and each thread in the pair shares the 25% of the whole CPU. This flexibility does seem more efficient than just having 4 threads.

However, on my dedicated server, it appears as if the physical cores are not shared among pairs of threads. Each thread seems to have a fixed 12.5% of the whole CPU available to it. I've run many heavy, single-threaded applications other than the 4 game servers, and it's the same story: no more than 12.5% of the whole CPU is ever used. It's as if my Xeon has been replaced with an 8-core Opteron 3365 (which has half the per-core power).

0
June 25, 2016

This is strange, because it absolutely isn't how the whole thing works. One process/thread will not be dedicated to one core, be it virtual or physical.

The scheduler does tell cpu core's what to do and it certainly doesn't give a shit what thread has to be processed, it simply assigns a currently free one.

0
June 25, 2016

I've also set the affinity of one of the game servers to one thread, and the performance is the same as when I don't touch the affinity.

0
June 25, 2016

try it running just one game server.

0
June 25, 2016

Seems like you've got a good understanding of the issue hammereditor. Go ahead and disable HT so that the cores are not "split into two parts". Since you say that you wish to run 4 single threaded processes, HT is not needed.

0
June 25, 2016

Same goes for gaming. People are complaining it reduces perfromance in certain games. Looks like core clock is still the king.

0
June 25, 2016

It's a bit more complicated then that.

For Intel Quad-Core CPUs with HTT (i7's): Cores 0, 2, 4, and 6 are physical cores, and cores 1, 3, 5, and 7 are the HTT cores. Cores 0 and 1 are shared, as are 2/3, 4/5, and 6/7.

Say you have a light workload task running on core 1. Now a heavy task such as a game starts and runs on core 0. Because core's 0 and 1 share HW resources, such as CPU cache and the ALU, it's possible the light thread running on core 1 could block the heavy thread on core 0 from running. This is obviously a BAD thing, and the main reason why the Pentium 4 version of HTT often REDUCED performance.

These days, the OS is a lot smarter then it was back in XP. The OS scheduler tries to avoid using HTT cores whenever possible. In this case, that light thread would likely get moved to another core so core 0 is running the heavy thread, and core 1 is doing nothing, so there's no conflict for resources. That being said, the more threads that are running, the more likely there ends up being a collision somewhere that blocks a heavy thread, and reduces application performance.

0
June 25, 2016

hammer,

HT is not negatively effecting your performance...

The only problem here, is that you and your resource monitoring software are speaking different languages.

Related Questions

This is the very first question

Hello guys! This is the first post in this site Read More

Views

2k

Votes

4

Answers

2

January 08, 2016

report values not showing up.

I have a crystal report which I pass a DataSet to using VB.NET. The report was working fine, but then I make some changes to the import query and now nothing shows up in the crystal report. Crystal do Read More

Views

1k

Votes

0

Answers

12

September 06, 2005

Event log doesn't overwrite as needed in SP4

Hello All, After upgrading from SP3 to SP4 on several Windows 2000 PRO machines everything looked fine, but from time to time applications can't write to the event log. When I try to view the appl Read More

Views

1k

Votes

0

Answers

9

May 11, 2003

"Failed to self-register XYZ.dll"

Hi there, I wrote a OLE-automation-server DLL in VB4.0. I use Installshield Express to install it as part of my program on the target computers. Now on some computers I get the message "Failed to Read More

Views

2k

Votes

0

Answers

2

November 08, 1998

Please help understand these notes on image processing

Can someone please help me understand these lecture notes... On the right of the page; What does "normalised by one notion of the area of a pixel" mean? On the first formula for A, Is that a Read More

Views

1k

Votes

0

Answers

3

February 05, 2009

Can someone please explain this paragram on the chain rule in image processing

Please see the screenshot, How is 3133030 got from 10103322? Read More

Views

1k

Votes

0

Answers

1

January 05, 2009

AD on 2003

We have created an AD Domain on Windows 2000 Server with no problems. We just created an AD Domain on Windows 2003 and we're getting some weird problems. Both of these domains are behind firewalls Read More

Views

1k

Votes

0

Answers

15

May 11, 2003

ADDT ASP Upload Error " Type mismatch: 'tNG_isFileInsideBaseFolder' "

I am trying to create a simple insert record and upload image function on an ASP page built using Adobe Dreamweaver Developer Toolkit. I have done this many times before with no problem, however, i ha Read More

Views

1k

Votes

0

Answers

0

November 02, 2008

MYSQL Select query with custom ORDER BY

Hi, is it possible to customize the order of the returned rows in mysql? Example: I have a Table with a column "name", now I want to have all entries ordered by name, but I want the entries Read More

Views

1k

Votes

0

Answers

5

July 02, 2010

Folder Redirection in Server 2003

We have a Windows Server 2003 Standard Ed. Is there a way to redirect the users my documents to a folder that has already been created on the server? Read More

Views

1k

Votes

0

Answers

2

July 05, 2007

Partiton magic  version 8.0 having error 1523 while executing batch

I followed the partition magic 8.0 wizard to partition my hard disk while rebooting  I came across this problem  "error 1523 while executing batch" What can I do to solve this prob Read More

Views

1k

Votes

0

Answers

2

May 11, 2003

Please explain this paragraph in image processing (screenshot attached)

Two questions; How is the equation (10.1-15) formed? "are isotropic for rotation increments of 90 degrees and 45 degrees respectively" What does this mean Read More

Views

770

Votes

0

Answers

7

January 05, 2009

xp_cmdshell with net use

Hi, when I use 'net use \192.168.0.1\c$ password /user:username' at the command prompt, it works fine.  But if i try to use it in sql with " exec master..xp_cmdshell 'net use \19 Read More

Views

714

Votes

0

Answers

5

April 11, 2003

hp ux11

i have a hp ux11 server. and i edited the /etc/resolv.conf to use my win2003 server dns server. That went fine, however, I would like to go the other way and add an entry on my win2003 dns to resolve Read More

Views

406

Votes

0

Answers

3

October 12, 2009

Using an application over a LAN

I have written an application that needs to be used on a LAN.  The application setup wizard takes care of registering everything on a single PC, but how do you go about writing a setup program th Read More

Views

355

Votes

0

Answers

9

August 07, 1998

Need subnet of 12 IPs.

Please, Can someone help me to create a subnet consisting of 12 IP's. Thanks.. Read More

Views

366

Votes

0

Answers

5

April 11, 2003

Drill down in a cross-tabl report

Hello, Would some experts to show me if it is possible to do drill-up or drill-down (or both) in a cross-tab report? I would also like to know if it is possible to control what fields to be displayed/ Read More

Views

294

Votes

0

Answers

0

September 06, 2005

Using RDO, Enterprise V Professional

We would like to use RDO on our project made up of 4 developers. Do we need to have a copy of Enterprise for each developer or is it possible to use Professional for those developers not writing the R Read More

Views

347

Votes

0

Answers

6

January 07, 1998

Can't Edit IIS Metabase.xml

We do this on every windows 2003 server and never had an issue. We cannot edit the IIS Metabase.xml We have stopped IIS and made change click save, no problem but it does not take the new information. Read More

Views

348

Votes

0

Answers

0

July 05, 2007

copy directorires - HP UNIX

Let's say my source file is /A/B/C/D/file1, and mytarget directory is /E/F/G, I want the result should look like this. /E/F/G/A/B/C/D/file1 I am using rsync to copy the files older than x no of da Read More

Views

355

Votes

0

Answers

14

September 12, 2009