Home › Forums › Operating Systems › Windows XP › Hyperthreading – actually works or just advertising
- This topic has 5 replies, 4 voices, and was last updated 15 years, 10 months ago by deepblue69uk.
-
AuthorPosts
-
January 1, 2009 at 3:36 pm #160380dinoMember
Hi all,
I’m trying to understand how to maximize hyperthreading on the Atom. Reading microsoft’s blurb in plain english on it: http://support.microsoft.com/kb/810231
seems to indicate that the OS handles the allocation of processes to the hyperthread, which is like a virtual second CPU.As hyperthreading is basically an out-dated technology (from P4 and MMX) intended to help the Atom be as powerful as possible given it’s teeeny size, I am wondering if different OSes handle the processor more efficinelty than XP Home? XP Pro, Vista, Windows7? (or non MS products of course!)
Related to the OS question, does a software programme specifically need to call for the HT extensions to make use of it? And if so, what software actually uses these – have programmers built this in to software since the P4? I seem to remember that HT fell off the radar because not many software companies were using it and proper dual-core processors were right around the corner.
any thoughts welcome!
January 1, 2009 at 4:21 pm #178219AlfiharParticipantAs far as the OS is concerned the Atom processor consists of two processing cores and distributes threads to them accordingly. I think there will be some differences between the way an OS optimises performance for hyperthreading versus multi-cpu and multi-core though.
I’m not sure which OS’s perform the best though I would expect the more modern OS’s have better scheduling algorithms and optimisations.
A software program must be programmed to make use of multiple threads to make use of both (virtual) processors at the same time. Most applications are multi-threaded if only to run the interface and underlying program on separate threads (don’t want the interface to be locked while processing is occurring). And of-course it helps when running multiple applications. For a program to be truly capable of using multiple processors it has to be programmed to do this (usually not easy), not all applications are suited to this. If a task is very linear then it will not be able to take advantage of multiple processors by using multiple threads.
I think this is correct, it’s been a while since I looked into this.
January 1, 2009 at 5:09 pm #178218dinoMemberthanks Alfihar, (yes, a carry over from the SuperPi conversation),
though i thought the whole point of the atom was that it was a single core with hyperthreading? XP home does not support dual core. Task manager shows two graphs b/c the second thread is a virtual core. The dual core atoms are not power efficient enough to put in netbooks.
If HT is only application specific, i can’t seem to find any concrete evidence on the net of apps that do use it. I suspect that the OS has a lot to do with it, so that if you are for example encoding mp3s in one app and watching a movie in another, HT manages these much more efficiently than without. If it was app specific, it would really make a difference which software package onei was using to encode and which package was being used to watch the film with. And what if one app was HT enabled and one wasn’t? Does that mean the background app might actually run more efficiently than the foreground one?
the whole area seems a bit grey to me….I suppose my point is that HT was developed to boost applications like CAD and video rendering, where a massive load on the processor could be optimized. Nothing you would do on an NC10 – so what is it really good for then?
January 1, 2009 at 5:10 pm #178221DerekMemberVery interesting. I hadn’t realized that the Atom had two cores until this morning. I am debugging a build-your-own system I put together for my son for Xmas, and just to try a couple of things I modified Sammy’s boot.ini file to include the /sos switch (which displays the boot progress). I was surprised to see that it reported two processors.
Is it truly a dual core processor (I know it’s not Core-2 Duo)? That would be most excellent if true because Skype Hi-Res video conferencing requires a dual core processor.
p.s. (off topic) the problem I am looking at on my son’s system is that on booting, after the splash screen it sits for about 45 sec. (no disk activity, and a blank screen) before starting to load XP. I think it’s a SATA/IDE conflict. If anybody has any ideas….??? It’s more of an annoyance than a real bug.
January 1, 2009 at 5:56 pm #178220AlfiharParticipant@dino: XP home does not support dual processors, it however does support dual cores. It is indeed a single core CPU which can virtually run two thread at once (though not really at the same time). I don’t think applications are specifically HT enabled, though it may be somewhat dependant on the compiler used as far as optimisations go.
As far as I’m aware HT makes use of delays in a thread thus giving the other thread time to run, and so is a bit more efficient compared with just the OS scheduling on a non-HT single core processor (HT processors do have some parts of their hardware duplicated). The OS’s scheduler would need to be aware of HT as they need to be treated differently from true multiple cores.
If the MP3 encoder is designed to support multiple threads when encoding then I would expect to see it run two simultaneous threads, which would be more efficient on the HT processor over running a single thread. I would expect to see the multi-threaded version finish encoding faster than a single-threaded version.
When you are talking about background and foreground applications, the priority is taken care of by the OS’s scheduler.
If the software is designed to make use of multiple threads then HT will be useful (as will multi CPU/cores) due to the way the OS handles the threads.
@Derek: The Atom does not have two cores, it is basically one core which is pretending to be two.January 31, 2009 at 3:36 pm #178222deepblue69ukMemberJust reiterate what was said by Alfihar. The Atom processor is a SINGLE CORE processor. HyperThreading isn’t outdated. I believe it is being used on the new Core i7 range of Intel CPUs and therefore the previous statement is untrue. Please refer to Intel themselves because they do offer the specs on their website for all of their processors. Therefore if you do not know what you are talking about……look it up. 😉
Hyperthreading hasn’t been taken particularly seriously because it only offers a small speed increase, especially if the tasks that are running on the processor haven’t been optimised for it. I have noticed that the Atom Processor does benefit with Hyperthreading turned on. Various benchmarks have suggested this, including Super Pi. Also, the machine feels over all a little more spritely. However, allow me to make a comparison from real life and away from benchmarks. A 1.6Ghz Pentium Mobile processor without Hyperthreading has significantly more grunt than an Atom processor at the same clock speed. Even if Hyperthreading is enabled on the Atom. Newer isn’t always better!
Windows Operating systems up to Windows 98SE and Window ME didn’t offer the option of multicore or multicpu computing. However, multicore computing isn’t really THAT new. Remember the old days with motherboards with dual processor sockets. They would only work with Windows NT if I remember correctly.
That was the whole point of Windows XP and Windows 2000. Both operating systems intergrate the best of Windows NT and Windows 9x. There is no difference between Windows XP Home or Windows XP Professional when considering the core aspects of the operating system. The only difference is that you got more tools and options with XP Pro.Essentially both Home and Pro are the same operating system. So previous statements earlier in the thread are nonsense.
Just felt I needed to clear this one up.
Regards to all,
Richard.
-
AuthorPosts
- You must be logged in to reply to this topic.