|
10.01.2007
Why Eight Cores?
When it comes to scaling performance, the name says it all: multicore. It can mean two, four or more cores. The path to more performance used to be deeper pipelines with cranked up clock rates, but the model now is to go wider with more cores. Each of these cores has better per-clock efficiency (instructions per clock, or IPC), so lower clock rates actually can yield better performance.
Multicore gives a multiprocessor (MP)-aware OS like Windows XP or Linux more cores to work with, where the OS’ scheduler can divide up work to be done by different applications across the cores. This makes your system feel more responsive, even when many tasks are in flight. This experience scales with additional cores, where you can have even more tasks being executed, and still maintain the system’s responsive feel.
Many applications are already multi-threaded, meaning the work the application does gets divided up into smaller pieces, and can be executed on different cores, and then reassembled. Some applications are written to have a specific number of threads, while others use an “n-number of threads” approach, where the application spawns as many threads as there are cores. So, a dual-core system would have two threads in flight, whereas a quad-core system would have four threads being worked on. An n-threaded app could put eight threads in flight simultaneously on this eight-core beast we're showing you here.
|