Title: Multi-Core Computing
1Multi-Core Computing
- Ahmad Aljebaly
- Department of Computer Science
- Western Michigan University
2Agenda
- Introduction
- Motivation for Multi-Core
- What is multi-core processor?
- Properties of Multi-core systems
- Applications benefit from multi-core
- Multiprocessor memory types
- Multi-core design
- Symmetric multi-core processor
- Asymmetric multi-core processor
- Advantages disadvantages of multi-core
3Introduction
- First Microprocessor(1970s)
- Intel 4004
- PC spreads in the world(1980s)
- Up to 32bits microprocessor
- AMD followed Intels technology
4Introduction
- Flood of Computer Tasks(1990s)
- Increasing of Computer user
- Server management ? Construct the database
- We need better performance of PC or Server.
- ? These demands accelerate the development of
microprocessor. - Emergence of Multi-core Processor(2000s)
- Limits of improvement of single core
- Turn over of the idea that improve the MP
technology - Put execution cores in one die
5Motivation for Multi-Core
- Exploits increased feature-size and density
- Increases functional units per chip (spatial
efficiency) - Limits energy consumption per operation
- Constrains growth in processor complexity
6Multi-Core Computer
- A multi-core processor is a processing system
composed of two or more independent cores (or
CPUs). The cores are typically integrated onto a
single integrated circuit die (known as a chip
multiprocessor or CMP), or they may be integrated
onto multiple dies in a single chip package. - A many-core processor is one in which the number
of cores is large enough that traditional
multi-processor techniques are no longer
efficient - this threshold is somewhere in the
range of several tens of cores - and likely
requires a network on chip.
7Multi-Core Computer
- dual-core processor contains two independent
microprocessors. - A dual core set-up is somewhat comparable to
having multiple, separate processors installed in
the same computer, but because the two processors
are actually plugged into the same socket, the
connection between them is faster. Ideally, a
dual core processor is nearly twice as powerful
as a single core processor. In practice,
performance gains are said to be about fifty
percent a dual core processor is likely to be
about one-and-a-half times as powerful as a
single core processor.
8Multi-Core Computer
- A multi-core processor implements multiprocessing
in a single physical package. Cores in a
multi-core device may be coupled together tightly
or loosely. For example, cores may or may not
share caches, and they may implement message
passing or shared memory inter-core communication
methods. Common network topologies to
interconnect cores include bus, ring,
2-dimentional mesh, and crossbar. - All cores are identical in symmetric multi-core
systems and they are not identical in asymmetric
multi-core systems. Just as with single-processor
systems, cores in multi-core systems may
implement architectures such as superscalar,
vector processing, or multithreading.
9Multi-Core Computer
- Multi-core processors are widely used across many
application domains including general-purpose,
embedded, network, digital signal processing, and
graphics. - The amount of performance gained by the use of a
multi-core processor is strongly dependent on the
software algorithms and implementation. - Multi-core processing is a growing industry trend
as single core processors rapidly reach the
physical limits of possible complexity and speed.
- Companies that have produced or are working on
multi-core products include AMD, ARM, Broadcom,
Intel, and VIA.
10CMP benefits
- with a shared on-chip cache memory, communication
events can be reduced to just a handful of
processor cycles. - therefore with low latencies, communication
delays have a much smaller impact on overall
performance. - threads can also be much smaller and still be
effective. - automatic parallelization more feasible.
11Properties of Multi-core systems
- Cores will be shared with a wide range of other
applications dynamically. - Load can no longer be considered symmetric across
the cores. - Cores will likely not be asymmetric as
accelerators become common for scientific
hardware. - Source code will often be unavailable, preventing
compilation against the specific hardware
configuration.
12What applications benefit from multi-core?
- Database servers
- Web servers
- Telecommunication markets
- Multimedia applications
- Scientific applications
- In general, applications with Thread-level
parallelism (as opposed to instruction-level
parallelism)
13Multi-core architectures
- Replicate multiple processor cores on a single
die.
- The cores fit on a single processor socket.
14The cores run in parallel(like on a uniprocessor)
several threads
several threads
several threads
several threads
core 1
core 2
core 3
core 4
15Programming for multi-core
- Programmers must use threads or processes.
- Spread the workload across multiple cores.
- Write parallel algorithms.
- OS will map threads/processes to cores
16Interaction with OS
- Most major OS support multi-core today.
- OS perceives each core as a separate processor.
- OS scheduler maps threads/processes to different
cores.
17Examples
- Editing a photo while recording a TV show through
a digital video recorder. - Downloading software while running an anti-virus
program. - Anything that can be threaded today will map
efficiently to multi-core. - BUT some applications difficult to parallelize.
18Why Multi-core?
- Better Performance
- For the Multi tasking
- e.g. Burning CD with graphic works at the same
time - Power consumption and Heat generation
- Caused from the advance of CPU clock speed
19Why Multi-core?
- Save the room of motherboard
- Two single cores ? In one die
- We can use this room more efficiently
- Simplicity
- We need additional systems to control the several
single cores. - Economical efficiency
- A dual-core is much cheaper than two single cores
20Multiprocessor memory types
- Shared memoryIn this model, there is one
(large) common shared memory for all processors. - Distributed memoryIn this model, each processor
has its own (small) local memory, and its content
is not replicated anywhere else.
21Microprocessor Design
- Taking the idea of superscalar operations to the
next level, it is possible to put multiple
microprocessor cores onto a single chip, and have
the cores operate in parallel with one another.
22Symmetric Multi-core Processor(SMP)
- A symmetric multi-core processor is one that has
multiple cores on a single chip, and all of those
cores are identical. - Example Intel Core 2
- The Intel Core 2 is an example of a symmetric
multi-core processor. The Core 2 can have either
2 cores on chip ("Core 2 Duo") or 4 cores on chip
("Core 2 Quad"). Each core in the Core 2 chip is
symmetrical, and can function independently of
one another. It requires a mixture of scheduling
software and hardware to farm tasks out to each
core.
23Symmetric Multi-core Processor
All cores which exist in a die are exactly
identical
24Symmetric Multi-core Processor
- A symmetric multi-core processor is a processor
which has multiple cores that are all exactly the
same. Every single core has the same architecture
and the same capabilities. - Each core has the same capabilities, so it
requires that there is an arbitration unit to
give each core a specific task. Software that
uses techniques like multithreading makes the
best use of a multi-core processor like the Intel
Core2.
25Symmetric Multi-core Processor
- Applications
- Personal Computers
26Asymmetric Multi-core Processor
- An asymmetric multi-core processor is one that
has multiple cores on a single chip, but those
cores might be different designs. For instance,
there could be 2 general purpose cores and 2
vector cores on a single chip. - Example Cell Processor
- IBM's Cell processor, used in the Sony
PlayStation 3 video game console is an
asymmetrical multi-core processor. The Cell has 9
processor cores on board, one general purpose
processor, and 8 data-processing cores. The one
multipurpose core, known as the Power Processor
Element (PPE) controls the communication between
the other cores, and distributes computing tasks
to the other cores for processing. The other 8
cores are known as Synergistic Processor Elements
(SPE), and are specially designed to have high
floating-point throughput, especially with vector
operations.
27Asymmetric Multi-core Processor
- In an asymmetric multi-core processor, the chip
has multiple cores onboard, but the cores might
be different designs. - Each core will have different capabilities.
28Example IBM Cell Processor
- An example of an asymmetric multi-core processor
is the IBM Cell processor.
- The IBM Cell processor has 1 Power Processor
Element (PPE) that controls the chip, and 8
Synergistic Processor Elements (SPEs) that are
designed for high mathematical throughput. The
IBM Cell processor is designed as follows
Notice how the SPE cores only connect to the PPE,
and not to each other. Notice also that the PPE
core is much larger then the individual SPE cores.
29Asymmetric Multi-core Processor(ASMP) Cell
Processor
- Applications
- Super Computing
- IBM's latest supercomputer, IBM Roadrunner, is a
hybrid of General Purpose CISC Opteron as well as
Cell processors.
30Asymmetric Multi-core Processor(ASMP) Cell
Processor
- Applications
- Home cinema
- Toshiba is considering producing HDTVs using
Cell. They have already presented a system to
decode 48 standard definition MPEG-2 streams.
This can enable a viewer to choose a channel
based on dozens of thumbnail videos displayed on
the screen in the same time.
31Asymmetric Multi-core Processor(ASMP) Cell
Processor
- Applications
- Video Processing Card
- Some companies, such as Leadtek, have plans to
release a PCI-E card based upon the Cell to allow
for "faster than real time" transcoding of H.264,
MPEG-2 and MPEG-4 video.
32Asymmetric Multi-core Processor(ASMP) Cell
Processor
- Applications
- Console Video Games
- The first major commercial application of Cell
was in Sony's PlayStation 3 game console. - This video game console contains the first
production application of the Cell processor,
clocked at 3.2 GHz and containing seven out of
eight operational SPEs, to allow Sony to increase
the yield on the processor manufacture. Only six
of the seven SPEs are accessible to developers as
one is reserved by the OS.
33Asymmetric Multi-core Processor(ASMP) Cell
Processor
- Future
- Based on the unique features, Cell can bridge the
gap between conventional desktop processors (such
as the Athlon 64, and Core 2 families) and more
specialized high-performance processors, such as
the NVIDIA and ATI graphics-processors (GPUs). - Cell will expand its intended use in current and
future digital distribution systems, as well as
in high-definition displays and recording
equipment and computer entertainment systems.
34Multi-Core Computer
- Future of the SMP (Related to ASMP)
- Easy to implement that lots of cores put in one
integrated circuit - Easier programming than ASMP
- Because all the cores are identical
- Easy to keep the development speed
- Apply to any type of system (General usage)
35Multi-Core Computer
- Future of the SMP (Related to ASMP)
- Not proper to certain specific system
- Audio/video processing, data compression, and so
on - Waste the silicon and power
- Because it is made for the general purpose
- Less efficiency than ASMP
- These are reasons why ASMP has emerged .
36Challenges resulting from multi-core
- Relies on effective exploitation of
multiple-thread parallelism - Need for parallel computing model and parallel
programming model - Aggravates memory wall
- Memory bandwidth
- Way to get data out of memory banks
- Way to get data into multi-core processor array
- Memory latency
- Fragments L3 cache
- Pins become strangle point
- Rate of pin growth projected to slow and flatten
- Rate of bandwidth per pin (pair) projected to
grow slowly - Requires mechanisms for efficient inter-processor
coordination - Synchronization
- Mutual exclusion
- Context switching
37Advantages of Multi-core
- Cache coherency circuitry can operate at a much
higher clock rate than is possible if the signals
have to travel off-chip. - Signals between different CPUs travel shorter
distances, those signals degrade less. - These higher quality signals allow more data to
be sent in a given time period since individual
signals can be shorter and do not need to be
repeated as often. - A dual-core processor uses slightly less power
than two coupled single-core processors.
38Disadvantages of Multi-core
- Ability of multi-core processors to increase
application performance depends on the use of
multiple threads within applications. - Most Current video games will run faster on a 3
GHz single-core processor than on a 2GHz
dual-core processor (of the same core
architecture. -
- Two processing cores sharing the same system bus
and memory bandwidth limits the real-world
performance advantage. - If a single core is close to being memory
bandwidth limited, going to dual-core might only
give 30 to 70 improvement. - If memory bandwidth is not a problem, a 90
improvement can be expected.
39Conclusion
- All computers are now parallel computers!
- Multi-core processors represent an important new
trend in computer architecture. - Decreased power consumption and heat generation.
- Minimized wire lengths and interconnect
latencies. - They enable true thread-level parallelism with
great energy efficiency and scalability. - To utilize their full potential, applications
will need to move from a single to a
multi-threaded model. - Parallel programming techniques likely to gain
importance. - the difficult problem is not building multi-core
hardware, but programming it in a way that lets
mainstream applications benefit from the
continued exponential growth in CPU performance. - the software industry needs to get back into the
state where existing applications run faster on
new hardware.
40References
- http//en.wikipedia.org/wiki/Multi-core_(computing
) - Olukotun, Kunle and Hammond, Lance. The future of
microprocessors.Queue, Volume 3, Issue 7,
September 2005. - www.princeton.edu/jdonald/research/hyperthreading
/garg_report.pdf - Zheltov, Sergey N. and Bratanov, Stanislav V.
Multi-threading for Experts Synchronization.
Technical Report. Intel. 2005. (WWWdocument,
referenced 17.11.2005). Available
http//www.intel.com/cd/ids/developer/asmo-na/eng/
183321.htm
41Question
- Question
- Give a definition and an example for each of
- A symmetric multi-core processor
- An asymmetric multi-core processor
- Answer
- A symmetric multi-core processor is one that has
multiple cores on a single chip, and all of those
cores are identical. - Example Intel Core 2
- An asymmetric multi-core processor is one that
has multiple cores on a single chip, but those
cores might be different designs. - Example Cell Processor.
42(No Transcript)