multi-core processor and parallel programming
TRANSCRIPT
-
8/9/2019 Multi-Core Processor and Parallel Programming
1/16
Presented By:
Kumar GauravDeepak Kumar
MultiMulti--CoreCoreProcessor and ParallelProcessor and Parallel
ProgrammingProgramming
-
8/9/2019 Multi-Core Processor and Parallel Programming
2/16
AgendaAgenda
Introduction
History
Hardware Model
Software Model
Programming Principle
Programming Platform Simulation
-
8/9/2019 Multi-Core Processor and Parallel Programming
3/16
INTRODUCTION
-
8/9/2019 Multi-Core Processor and Parallel Programming
4/16
What is MultiWhat is Multi--Core ProcessorCore Processor
Essentials for a Multi-Core Processor A device with more than one CPU core on a single die
Which coherently shares a common virtual memory space
An MIMD (Multiple Input Multiple Data) device
Some devices with multiple core but are not
Multi-core. GPGPU MPPA
-
8/9/2019 Multi-Core Processor and Parallel Programming
5/16
Why MultiWhy Multi--CoreCore
Single CPU were not getting faster the way they used
to.
All the possible alternate designs have been used and
Caches grew to cover most of the die and we were still
far behind Moores Law.
If the CPU and DSPs maintained the Moores laws rate
then today we would have CPUs or DSPs of 15Ghz
Fortunately Moores laws Continued capacity growth
had made single-chip parallel computing possible.
Multi-Core has become the most common form of
Parallel Computing.
Performance increases have dropped sharply by 20%
per yr.
-
8/9/2019 Multi-Core Processor and Parallel Programming
6/16
ContinueContinue
Parallel Computing could follow the Moores
law.
Parallel Computers are programmed in software
and not in hardware
-
8/9/2019 Multi-Core Processor and Parallel Programming
7/16
HISTORY
-
8/9/2019 Multi-Core Processor and Parallel Programming
8/16
Production.Production.
Burrough D825
1 to 4 CPUs /1 to 16 memories
http://ed.thelen.org/comp-hist/BRL64-b.html
IBM 3084 Mainframe
4 systems / 370CPUs
http://www.03.IBM.com/history/exhibits/mainframe/mainframe_PP3084.html
Sun 360MP
Up to 4 SPARC CPUs
http://en.wikipedia.org/wiki/sun_microsystems
-
8/9/2019 Multi-Core Processor and Parallel Programming
9/16
Todays MultiTodays Multi--CoresCores
Multi-core processors are today available forgeneral purpose or use in Embedded application
x86 multi-cores, such as Intels core 2 duo are
aimed for both general as well as embedded
purposes.
Arm Cortex A-9 MPCore, are specialized forembedded use.
-
8/9/2019 Multi-Core Processor and Parallel Programming
10/16
Hardware & Software Model
-
8/9/2019 Multi-Core Processor and Parallel Programming
11/16
How To build Parallel ComputersHow To build Parallel Computers
Parallel or Serial Instruction Streams
Parallel or Serials Data Streams
Shared or Distributed memory
Homogenous or Heterogeneous CPU.
-
8/9/2019 Multi-Core Processor and Parallel Programming
12/16
Continue..Continue..
Multi-cores
Parallel
Instruction
Streams
Shared
Memory
Homoge
-neousCPU
Parallel
Data
Streams
-
8/9/2019 Multi-Core Processor and Parallel Programming
13/16
ContinueContinue
-
8/9/2019 Multi-Core Processor and Parallel Programming
14/16
Building Memory for ParallelBuilding Memory for Parallel
ComputersComputers
Distributed MemoryEach CPUs have its Own local Memory
CPUs Communicate by sending message
Shared Memory
All CPUs Share a Common Memory
CPUs communicate through Several variables in
Memory
-
8/9/2019 Multi-Core Processor and Parallel Programming
15/16
Building CPU for ParallelBuilding CPU for Parallel
ComputersComputers
Homogeneous CPUs
All CPUs are sameAny code can run on any CPU
Heterogeneous CPU
Mixed Different Types of processors each optimized
for different applications
GP CPU-Codes
DSP- signal processing
FPU-Arithmetic Throughput
GPU- Graphics
-
8/9/2019 Multi-Core Processor and Parallel Programming
16/16