







Comments     Threshold


RE: Really HT?
By Proteusza on 5/15/2009 12:09:30 PM , Rating: 5
Not necessarily. Remember, hyper threading creates a logical processor for each physical processor. So, each core essentially has another virtual core associated with it that has some registers etc of its own.

If you run two threads on two separate physical processors, they will perform better than if you run them on the same physical processor (ie using a logical processor).

RE: Really HT?
By PhoenixKnight on 5/15/09, Rating: -1
RE: Really HT?
By TomZ on 5/15/2009 12:54:21 PM , Rating: 5
For example, the OS might want to schedule busy threads on different physical cores rather than putting them on two virtual cores within a single HT physical core. By scheduling them on different cores they will run faster than if they are sharing the same core.

RE: Really HT?
By michael2k on 5/15/09, Rating: -1
RE: Really HT?

RE: Really HT?
ome = some

RE: Really HT?


So MS can use it to schedule load more efficiently.

RE: Really HT?


RE: Really HT?

RE: Really HT?

RE: Really HT?
By jonmcc33 on 5/16/09, Rating: 0
RE: Really HT?


RE: Really HT?
FWIW, you are correct.

Some interesting tidbits can be picked up on various MSFT blogs.


RE: Really HT?


RE: Really HT?

RE: Really HT?


RE: Really HT?
You are contradicting yourself sir.

RE: Really HT?
By MrPoletski on 5/16/2009 7:08:59 AM , Rating: 2
not to mention that there may be two separate threads acting on the same data space, hence your caching will line up nicely if you run them on the same physical but opposing logical cores.

RE: Really HT?
By mindless1 on 5/16/2009 1:53:39 PM , Rating: 2
You cannot have two separate threads using the same data space, each depends on the freshness of data that isn't concurrently being altered.

RE: Really HT?
By pcfxer on 5/16/2009 2:49:12 PM , Rating: 2
Actually you can have two threads running WITHIN the same data space, in fact, that is the DEFINITION of multi-THREADING. A process forks off a thread or, threads, and each thread exists within the same process space.

Multi-PROCESSING is different, because each PROCESS gets its own memory space, but each process that is forked takes a copy of the memory space of the parent process and runs with it. Secondly, your argument is nullified by the fact that the article has nothing to do with IPC and simply refers to the logic that the kernel's schedule may use when hyper-threading is enabled.

This entire argument should have been ended when the Intel API for hyper threading was posted, but I suppose everyone else doesn't understand the barrier between software and hardware.

And no, SOFTWARE doesn't give a DAM about what the hardware is. Tell me this if it does, why can't I assign data to my hard drive when I request for space in memory (malloc())?

RE: Really HT?
By MrPoletski on 5/17/2009 7:14:46 AM , Rating: 1
Hmm... because your OS knows damn well there is far too much virtual mammory on your hard disk already?;)

RE: Really HT?


RE: Really HT?

RE: Really HT?


RE: Really HT?

RE: Really HT?

RE: Really HT?
and we are talking single-socket here.

RE: Really HT?
Not only that...



RE: Really HT?
By Samus on 5/15/2009 11:04:29 PM , Rating: 2
I think this is an important improvement, and am happy to see Microsoft focusing on it. The shortcomings of Jackson Technology were that it wasn't utilized properly. If the scheduler can utilize logical cores for what they are and not treat them like physical units (ie light background instructions in sequence with physically processed instructions) then it could show real improvements in system performance, unlike degrading performance like it did in its original Netburst implementation.

HT has always been a great concept without the proper (software) support.


Related Articles
