| Last Modified On : | September 6, 2006 12:34 AM PDT |
Rate |
|
by Andrew Binstock
By placing multiple processor cores on its chips, Intel ramps up performance once again. What are processor cores and why should you care? Find out.
Last May, Intel announced that future generations of its Itanium® processors, Pentium® processors, and Intel® Xeon® processors would rely on multi-core architecture. By announcing this new design, Intel revealed how it will improve platform performance and capabilities while facing the increasing challenge of power consumption. This article explains what multi-core is, how it works, and why it’s important to the software industry as well as to buyers of PCs and servers.
At its simplest, multi-core is a design in which a single physical processor contains the core logic of more than one processor. It’s as if an Intel Xeon processor were opened up and inside were packaged all the circuitry and logic for two (or more) Intel Xeon processors. The multi-core design puts several such processor “cores” and packages them as a single physical processor. The goal of this design is to enable a system to run more tasks simultaneously and thereby achieve greater overall system performance.
To many readers, the multi-core design will have a familiar ring. The Intel® Pentium® 4 and Intel Xeon processors today already use Hyper-Threading Technology (HT Technology) to execute multiple programs simultaneously. But HT Technology and multi-core designs differ significantly and deliver different performance characteristics. The key differentiator lies in how a program’s instructions are executed. To get at this difference, we need to review how multiple threads are run on today’s servers and desktops.
Multithreading, Hyper-Threading, or Multi-Core?
Programs are made up of execution threads. These threads are sequences of related instructions. In the early days of the PC, most programs consisted of a single thread. The operating systems in those days were capable of running only one such program at a time. The result was—as some of us painfully recall—that your PC would freeze while it printed a document or a spreadsheet. The system was incapable of doing two things simultaneously. Innovations in the operating system introduced multitasking in which one program could be briefly suspended and another one run. By quickly swapping programs in and out in this manner, the system gave the appearance of running the programs simultaneously. However, the underlying processor was, in fact, at all times running just a single thread.
By the beginning of this decade, processor design had gained additional execution resources (such as logic dedicated to floating-point and integer math) to support executing multiple instructions in parallel. Intel saw an opportunity in these extra facilities. The company reasoned it could make better use of these resources by employing them to execute two separate threads simultaneously on the same processor core. Intel named this simultaneous processing Hyper-Threading Technology and released it on the Intel Xeon processors in 2003. According to Intel benchmarks, appli cations that were written using multiple threads could see improvements of up to 30% by running on processors with HT Technology. More important, however, two programs could now run simultaneously on a processor without having to be swapped in and out (See Figure 1.) To induce the operating system to recognize one processor as two possible execution pipelines, the new chips were made to appear as two logical processors to the operating system.
The hardware platform must the target total system throughput, rather than the execution speed of a single task. In other words, the hardware must make all tasks run faster as well as increase the capabilities to end-users. Intel was the first company to deliver on this vision when it shipped processors with HT Technology in 2002. Now, with the imminent release of multi-core processors, the company delivers a more powerful solution that will have favorable implications not only for PCs, but for workgroup and departmental servers as well. The first multi-core processors are slated to appear in 2005, followed by a rapid top-to-bottom transition in 2006. When they do, this site will provide additional information as well as advice for customers making the transition to this new technology.
Andrew Binstock is the principal analyst at Pacific Data Works LLC. He was previously a senior technology analyst at PricewaterhouseCoopers, and earlier editor in chief of UNIX Review and C Gazette. He is the lead author of "Practical Algorithms for Programmers," from Addison-Wesley Longman, which is currently in its 12th printing and in use at more than 30 computer-science departments in the United States.