a manycore coprocessor architecture for heterogeneous ... · a manycore coprocessor architecture...

13
A Manycore Coprocessor Architecture for Heterogeneous Computing Andreas Olofsson [email protected]

Upload: tranquynh

Post on 09-Sep-2018

239 views

Category:

Documents


1 download

TRANSCRIPT

A Manycore Coprocessor Architecture for Heterogeneous 

Computing

Andreas [email protected]

LACSS 2009

Houston, we have a problem..

James Anderson, HPEC 2008

10TFLOP

1TFLOP

100GFLOP

100TFLOP

1PFLOP

SupercomputerGrowth=6.x in 3 years

LACSS 2009

Current Path To Exaflop Supercomputing

2023 Projection:

− 10 EXAFLOP

− 100 GFLOP/Watt

− 10 GWatt System

2023 Alternative:

− Change programming model

− 10 EXAFLOP

− 1­10 TFLOP/Watt

− 0.1 – 1 GWatt

LACSS 2009

   Ease of use   Area   Power→ →

IBM CELL230 GFLOP/s 

220 mm^2

AMD­OPTERON36 GFLOPS283 mm^2

VIRTEX5­LX5024 GMACS146mm^2

NVIDIA­GTX280933 GFLOPS

576mm^2

The quest for the holy grail : An architecture that is flexible,

 easy to use, and power efficient.

5 LACSS 2009

Stratix IV FPGA Example(40nm)

820K Logic Elements 48 high speed transceivers at 8.5 GB/s 23 MB SRAM 1288 hard macro multipliers(18bit) Up to 264 LVDS pairs

Source: Rose, et al FPGA 2003

But, even FPGAs have warts(blue and purple squares do useful work!)

6 LACSS 2009

Intel Teraflops Effort (65nm) Core Details:

VLIW Machine

Dual FMADD

2 Kbytes DMEM

4 Kbytes IMEM

Interconnect Details:

2D Mesh NOC

20 Gbyte/link BW

Performance:

5­25 GFLOPS/WATT

LACSS 20097

Usage Programming Model

7

Peaceful coexistence between architectures...

FPGA

FPGA: Interfacing Data Flow Bit Level processing

Coprocessor: Great at math! Limited flexibility Simple programming High Efficiency

Microprocessor: Program Control Human interfaces,  Knowledge extraction

SoftCoprocessor

SENSOR

LACSS 20098

Proposed Coprocessor Solution

Mesh connected array of ANSI C­programmable processor cores

16 to1024 independent dual issue microprocessors

Distributed Shared Memory Architecture

Distributed DMAs IEEE 754 floating point support

uP MEMORY

DMAROUTER

50 GFLOP/Watt Performance @ 65nm

LACSS 20099

The Processor Included:

− ANSI­C programmability

− Features that increased FLOPS/Watt

− Floating point support

Excluded:

− Cache!!!

− Compiler driven optimization

− Instruction set optimization across a broad range of applications

− SIMD

LACSS 200910

The Network

Highlights:

− On­chip wires are free!

− Address used as 2D routing address 

− Bidirectional mesh network operating at same frequency as core

− Optimized for deterministic data traffic and low latency communication

−  64GB/sec BW at each node

DSP

IF

CROSSBAR

DSP

IF

CROSSBAR

DSP

IF

CROSSBAR

DSP

IF

CROSSBAR

DSP

IF

CROSSBAR

DSP

IF

CROSSBAR

DSP

IF

CROSSBAR

DSP

IF

CROSSBAR

DSP

IF

CROSSBAR(1,1)

(2,1)

(3,1)

LACSS 200911

Interfaces

SOCs tend to have too many interfaces but never the right ones

FPGAs can have the right interface and have hundreds of GPIO signals

Use custom low power coprocessor­FPGA interface

FPGACustomLVDSInterface

LACSS 200912

Multicore FFT Example

P0

P4

P8

P12

P3

P7

P11

P15

P2

P6

P10

P14

P1

P5

P9

P13

s4 s3s2

s1

s3 s4 s3 s4 s3 s4 s3 s4

s4 s3 s4 s3 s4 s3

s2

s1

s1

s2

s1

s2

s1

s2

s1

s2

s2

s1

s2

s1

Approach: 1024 point FFT is spread over 16 

processors s1,s2,s3,s4 refer to the four FFT stages 

for combining data with 64 point complex data movements

Lower # procs transfer W0 to higher # procs.

Lower # proc calculates Wj0+Wj1 x Cj, higher # proc calculates Wj0­Wj1 x Cj

Results: NOC enables efficient multicore programming < 3us execution time! High efficiency Work in progress, still room for improvement

LACSS 200913

Summary

Heterogeneous computing is the only way to continue scaling performance

... but it will require some changes to the programming model

50 GFLOPS/Watt possible today in 65nm