Multicore Processor Technology-Advantages and Challenges: Anil Sethi, Himanshu Kushwah
Multicore Processor Technology-Advantages and Challenges: Anil Sethi, Himanshu Kushwah
Multicore Processor Technology-Advantages and Challenges: Anil Sethi, Himanshu Kushwah
Abstract
Until recent times, we have worked with processors having a single computing/processing unit (CPU), also called a core. The
clock frequency of the processor, which determines the speed of it, cannot be exceeded beyond a certain limit as with the
increasing frequency, the power dissipation increases and therefore the amount of heating. So manufacturers came up with a new
design of processors, called Multicore processors. A multicore processor has two or more independent computing/processing
units (cores) on the same chip. Multiple cores have advantage that they run on lower frequency as compared to the single
processing unit, which reduces the power dissipation or temperature. These multiple cores work together to increase the
multitasking capability or performance of the system by operating on multiple instructions simultaneously in an efficient manner.
This also means that with multithreaded applications, the amount of parallel computing or parallelism is increased. The
applications or algorithms must be designed in such a way that their subroutines take full advantage of the multicore technology.
Each core or computing unit has its own independent interface with the system bus.. But along with all these advantages, there
are certain issues or challenges that must be addressed carefully when we add more cores. In this paper, we discuss about
multicore processor technology. In addition to this, we also discuss various challenges faced such as power and temperature
(thermal issue), interconnect issue etc. when more cores are added.
Key Words: CMP (Chip Multiprocessor), Clock, Core, ILP (Instructions Level parallelism), TLP (Thread level
Parallelism).
--------------------------------------------------------------------***----------------------------------------------------------------------
1. INTRODUCTION
So, if we increase the clock frequency, the power dissipation
The multicore processor comprises of two or more cores or increases which in turn causes overheating. So, the idea of
computational/processing units that operate in parallel to multicore technology is to use multiple cores instead of one
read and execute instructions. These multiple processing (like single processor) at a comparatively lower frequency,
units or cores are fabricated on a single die. So, its also but an overall improvement in the performance is delivered
called a Chip Multiprocessor (CMP). The key factor about through multiple cores operating simultaneously on multiple
multicore processor is that it gives the same performance of instructions.[1] Multicore processors work on multiple
a single faster processor at lower power dissipation and at a instructions and multiple data. Multiple cores execute
lower clock frequency by handling more tasks or multiple threads (multiple processes/instructions) while
instructions in parallel. [1] This enhances the ILP using different parts of memory (multiple data). This
(Instructions Level Parallelism). The performance of a enhances TLP. The main memory is shared by all cores.
processor is a function of three major factors, which Each core is associated with its own cache and they all share
includes IPC (instructions per cycle), CPI (clock cycles per the system bus.[3]
instruction) and clock cycle (or clock frequency). The IPC
can be increased by increasing ILP and TLP (thread level
parallelism). The CPI can be improved by the techniques of
pipelining. But there is a limiting factor towards increasing
the clock frequency. [2]
Q- Number of Transistors
C- Load Capacitance
V- Supply Voltage
f- Clock Frequency Fig.1. Quad cores sharing memory and bus interface
_______________________________________________________________________________________
Volume: 04 Issue: 09 | September-2015, Available @ http://www.ijret.org 87
IJRET: International Journal of Research in Engineering and Technology eISSN: 2319-1163 | pISSN: 2321-7308
Intel came up with its first dual core processor in 2005. A The performance of a multicore processor strongly depends
dual core processor contains two cores- (Intel Core Duo, on the design of algorithm or application which is governed
AMD Phenom II X2), a quad core processor has four cores by Amdahl’s Law. This law was given by Geve Amdahl, a
(Intel core i5 and i7 processors, AMD Phenom II X4), a computer architect. This law is used to compute the
hexa core processor has six cores(AMD Phenom II X6, Intel theoretical maximum speed with multiple processors in
Core i7 Extreme Edition 980X), a Octa core processor has parallel computing. This law states that the speed of a
eight cores (AMD FX-8350, Intel Xeon E7-2820), a deca process in parallel computing is limited by the time needed
core has ten cores ( Intel Xeon E7 2850) or more. There are for the sequential part of the process. For example , if a
various topologies to interconnect cores such as Ring process requires X hours to complete on a single core, and a
topology, Bus topology, Two-dimensional mesh and portion of the process that takes Y hours to execute which
crossbar. The choice of a particular topology is a crucial can not be parallelized, while remaining (X-Y) hours can be
factor as it affects performance parameters like speed, parallelized, then regardless of the number of processors,
latency etc. The type of topology also affects area consumed the minimum time required for the execution can not be less
on a chip and power dissipation. then (X-Y) hours.[4]
In addition to this, multicore technology uses homogeneous
and heterogeneous cores. In homogeneous configuration, all 2. MULTICORE ADVANTAGES
the cores are identical and each core has same hardware.
These cores use divide and rule approach for improving the The good processing speed of the multicore processors is
performance by dividing a more complex application into due to the multiple cores which operate simultaneously on
less complex applications and execute them simultaneously. instructions, at lower frequency than the single core. At the
There are many other benefits of this approach such as same clock frequency, the multicore processor will process
reusability, simpler design etc.[1] more data than the single core processor. In addition to this,
In heterogeneous cores, there are dedicated application multicore processors deliver high performance and handle
specific cores that work on specialized applications. For complex tasks at a comparatively lower energy or lower
example a system comprising of a DSP core that handles a power as compared with a single core, which is crucial
multimedia application requiring intensive mathematical factor in appliances such as mobile phones, laptop etc.
computations, while other cores handle some other which operate on batteries. Also, since the cores are
applications simultaneously. Heterogeneous core is more fabricated close to each other on the same chip, the signals
complex, but has its own benefits also. Multicore Processors travel shorter distance between them due to which there is
sometimes take advantage of both homogeneous and less attenuation of signals. Since the signals don’t attenuate
heterogeneous configurations to improve performance. The much, more data is transferred in a given time and there is
IBM multicore processor, CELL uses this approach. [1] no need of repeating the signals
Various applications that benefit from multicore technology
are multimedia applications, DSP , servers, graphics, 3. CHALLENGES OF MULTICORE
compilers etc. and also applications which exhibit thread PROCESSOR
level parallelism. The efficient use of multicore technology
requires high level of parallelism.[3] Some multicore So far, we have seen the benefits of multicore technology
processors allow one or more cores which are not required at but there are some problems that arise when more cores are
times to turn off to save power. added. The various challenges that are faced with the
addition of new cores are power and temperature issues, the
level of parallelism in the application or algorithms,
interconnect issues etc. Now we discuss the challenges in
detail:-