Intel's Nehalem processor has several features aimed at better management of the processor cores. The Nehalem has four cores, each of which is capable of running two threads simultaneously, using a technology known as symmetrical multithreading (SMT). Depending on whether SMT is enabled, a processor can therefore run either four or eight threads.
SMT is generally configured in the BIOS and can be changed at boot time. Because SMT on the Nehalem processor shares some of the core's resources between threads, turning on SMT does not double processor performance or throughput. Whether your applications run better with SMT turned on or not needs to be determined with specific testing of your applications.
[ See the results of InfoWorld's multithreading tests of Windows 7, Vista, and Windows XP in "New multithreading in Windows 7: How much faster?" ]
For this discussion of how threads work, I'll limit myself to four cores running one thread each -- that is, with SMT disabled. Note that this is the configuration with which Nehalem PCs are generally shipped by vendors.
Intel's Nehalem architecture pays close attention to which cores are actively running code. When a core remains inactive for a determined period of time, the processor turns off the transistors that drive that core. This feature is designed primarily as an energy savings step. The processor can also increase the frequency of the active cores to enable increased performance. This option is known as Turbo Mode; on some systems, Turbo Mode needs to be specifically enabled.
For all this magic to happen, though, operating systems need to cooperate. The key is that a core must remain inactive long enough for the processor to shut off its transistors. This was difficult to achieve prior to Windows 7. Although applications create the threads, it's the operating system's task to schedule them for execution and to assign them to an execution pipeline, such as a core. Applications have no control over the scheduling, and they have limited control over which pipeline is used. Prior to Windows 7, the Windows kernel would schedule a thread to run on any available core without regard to where the thread had executed previously. (If no cores were available, the thread scheduler in Windows would choose one running thread to shut down and swap in the waiting thread. The decision about which thread to preempt is controlled by numerous factors.)
Get the independent advice and expertise you need to support a virtual workforce.
The increase in Linux popularity has increased the frequency and sophistication of malware attacks. Read this 2 page white paper now to learn how you can protect your Linux environment with real-time protection that is certified by all major Linux vendors.
Download now »Ensuring acceptable application delivery will become even more difficult over the next few years. As a result, IT organizations need to ensure that the approach that they take to resolving the current application delivery challenges can scale to support the emerging challenges. This handbook elaborates on the key tasks associated with planning, optimization, management and control and provides decision criteria to help IT organizations choose appropriate solutions.
Download now »A common misconception is that mid-range storage requirements are dramatically different than that of a larger enterprise. Mid-range storage users may require less capacity, but they have similar functionality and management requirements. This ESG paper examines mid-range storage needs and reviews a new solution that adjusts size while retaining value, performance and functionality.
Download now »
Sign up to receive InfoWorld Resource Alerts
