Date: Wed, 2 Apr 2003 02:15:27 +0000 From: Anthony Naggs <tony@ubik.demon.co.uk> To: freebsd-questions@freebsd.org, "Paredes Snchez Martn A." <MPAREDES@telmex.com> Subject: Re: Which Processor and motherboard is better (new to FreeBSD) Message-ID: <rl0bXXA$eki%2BIwOq@ubik.demon.co.uk> In-Reply-To: <35BC9957B8699C42AB3A665E3C5656556CACF0@is~tmxmailhmo1.intranet.telmex.com> References: <35BC9957B8699C42AB3A665E3C5656556CACF0@is~tmxmailhmo1.intranet.telmex.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In article <35BC9957B8699C42AB3A665E3C5656556CACF0@is~tmxmailhmo1.intran et.telmex.com>, Paredes Snchez Martn A. <MPAREDES@telmex.com> writes >I found in the intel web site that the Hyper-Threading has this >requirements: > >Hyper-Threading Technology requires a computer system with an >Intel Pentium 4 processor at 3.06 GHz or higher, a chipset and BIOS >that utilize this technology, and an operating system that includes >optimizations for this technology. Not exactly a "requirement", simply that Hyper-Threading is only included in Intel's top spec processors Pentium 4 >= 3.06 GHz, and on the Pentium 4 based Xeon. These processors also need a different, more expensive Intel support chip set. A fairly short description of Hyper-Threading: So that Pentium, II, 3 & 4 processors can be faster for the same clock frequency Intel added more 'units'. Where each unit can process a logic, arithmetic, floating point, instruction, so the processor can execute some slow operations at the same time as several faster ones. The limits to this are: 1. dependencies, the result of one instruction are needed for the following one (Pentium optimised compilers can sometimes rearrange instruction sequences to minimise this); 2. fetching enough instructions and data; 3. because of (2) this kind of speed up works best for loop where instructions are fetched once and repeated many times - but the fastest loops are still the shortest, and short loops tend to have lots of instructions that require the result of any instruction only 1 or 2 steps earlier. A processor with Hyper-Threading presents itself to the operating system (BSD, Linux, or even Windows 2000/XP) as two processors. The processor has more of most types of processing 'unit', and shares these, (when enabled), between two processes. The sounds very nice but a Hyper-Threaded processor less than double the number of each processor unit. For example it may have only one floating point unit to share between the two processes. In which case running one process doing floating point and another doing integer operations will run maybe 50% faster than without Hyper-Threading. However running two processes that both do floating point math will be about as fast as a non-Hyper Threaded system. A system with two Hyper Threaded processors could pick up the speed again if the two floating point tasks are split between the processors. So you can see that getting good performance from Hyper-Threading is quite hard. A 3 GHz Pentium 4 may get an average of 25% extra work done with Hyper Threading enabled. While a system with two 2 GHz Pentium 4s will probably be more powerful, and (due to Intel's exponential pricing for faster processors) probably cheaper too. Hyper-Threading will become more mainstream for Intel systems over next year or two. CPU clocks already much faster than memory (RAM) speeds. To carry on adding performance Intel are likely to increase the number of processing units and the amount of Hyper Threading further on their fastest processors, to support 3 or 4 concurrent processes. I hope that helps! Regards, Tony
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?rl0bXXA$eki%2BIwOq>