multi-core processor and parallel programming

Upload: kumar-gaurav-gupta

Post on 29-May-2018

221 views

Category:

Documents


0 download

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