21
1 8/31/05 CART UT-CS Exploiting ILP, TLP, and DLP with the Polymorphous TRIPS Architecture Karthikeyan Sankaralingam Haiming Liu Changkyu Kim Jaehyuk Huh Computer Architecture and Technology Laboratory Department of Computer Sciences The University of Texas at Austin Doug Burger Stephen W. Keckler Charles R. Moore Ramadass Nagarajan

Polymorphous TRIPS Architecture Exploiting ILP, TLP, and DLP …trips/talks/isca03.pdf · Exploiting ILP, TLP, and DLP with the Polymorphous TRIPS Architecture Karthikeyan Sankaralingam

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Polymorphous TRIPS Architecture Exploiting ILP, TLP, and DLP …trips/talks/isca03.pdf · Exploiting ILP, TLP, and DLP with the Polymorphous TRIPS Architecture Karthikeyan Sankaralingam

18/31/05 CART UT-CS

Exploiting ILP, TLP, and DLP with the

Polymorphous TRIPS Architecture

Karthikeyan Sankaralingam

Haiming Liu

Changkyu Kim

Jaehyuk Huh

Computer Architecture and Technology Laboratory

Department of Computer Sciences

The University of Texas at Austin

Doug Burger

Stephen W. Keckler

Charles R. Moore

Ramadass Nagarajan

Page 2: Polymorphous TRIPS Architecture Exploiting ILP, TLP, and DLP …trips/talks/isca03.pdf · Exploiting ILP, TLP, and DLP with the Polymorphous TRIPS Architecture Karthikeyan Sankaralingam

28/31/05 CART UT-CS

Trends in Programmable Processors

• Workloads are becoming

diverse

– Increased specialization

among processors

• Benefits of specialization

– Performance, power, area

• Problems of specialization

– Poor performance outside

intended domain

– Little design re-use

ServerDesktopGraphics

Network

Perf

orm

an

ce

GeForce

Pentium4

Power4

Intel IXP

Courtesy : Bob Gray bill, DARPA

Page 3: Polymorphous TRIPS Architecture Exploiting ILP, TLP, and DLP …trips/talks/isca03.pdf · Exploiting ILP, TLP, and DLP with the Polymorphous TRIPS Architecture Karthikeyan Sankaralingam

38/31/05 CART UT-CS

Homogeneity versus Heterogeneity

• Heterogeneous - multiple different types of processors

(Eg: Tarantula [Espasa et al, ISCA 2002])

+ Performance advantages

– Load balancing inefficiencies

– Higher design complexity

• Homogeneous - single or multiple of same processor

+ Flexible/general purpose

+ Ample design reuse

– Processor mismatch inefficiencies

• Approach: Hardware Polymorphism

– Start with high performance homogeneous substrate

– Add coarse-grained reconfigurability to micro-architectural

elements

– Manage different elements appropriately for different

applications

VEC DSP

UNITHR

UNIUNI

UNI UNIVEC

UNITHR

DSPUNI UNI

DSP THR

UNIUNI

UNI UNI

Page 4: Polymorphous TRIPS Architecture Exploiting ILP, TLP, and DLP …trips/talks/isca03.pdf · Exploiting ILP, TLP, and DLP with the Polymorphous TRIPS Architecture Karthikeyan Sankaralingam

48/31/05 CART UT-CS

Challenges for Homogenous Systems

• High degree of partitioning

– Necessary for fine-grained concurrency

• High computational density (ALUs/mm2 )

– Necessary for data parallel applications

• Keep communication localized

– Permits technology scalability

• Minimize specialized hardware

– Reduces design complexity

Fine-grain CMP:

64 in-order cores

Page 5: Polymorphous TRIPS Architecture Exploiting ILP, TLP, and DLP …trips/talks/isca03.pdf · Exploiting ILP, TLP, and DLP with the Polymorphous TRIPS Architecture Karthikeyan Sankaralingam

58/31/05 CART UT-CS

What is the Right Granularity of Processing?

FPGA: 106 gates PIM: 256 elements Fine-grain CMP:

64 in-order cores

Coarse-grain CMP:

16 O-O-O cores

Fine-grained concurrency Coarse-grained/general-purpose

4 ultra-large cores

• Configuring granularity through polymorphism

– Synthesis: Emulate coarse-grained cores using fine-grained PEs

– Partitioning: Partition coarse-grained cores into fine-grained PEs

• Synthesizing fine-grained PEs difficult at best

• Partitioning ultra-large cores

• Maximize resources for single-threaded performance

• Sub-divide for finer granularity

• Configure micro-architectural elements for different levels of parallelism

Page 6: Polymorphous TRIPS Architecture Exploiting ILP, TLP, and DLP …trips/talks/isca03.pdf · Exploiting ILP, TLP, and DLP with the Polymorphous TRIPS Architecture Karthikeyan Sankaralingam

68/31/05 CART UT-CS

Outline

• Introduction to polymorphous systems

• TRIPS architectural overview

• Polymorphous components

• Supporting different granularities of parallelism

– Instruction-level parallelism (ILP)

– Thread-level parallelism (TLP)

– Data-level parallelism (DLP)

• Conclusions

Page 7: Polymorphous TRIPS Architecture Exploiting ILP, TLP, and DLP …trips/talks/isca03.pdf · Exploiting ILP, TLP, and DLP with the Polymorphous TRIPS Architecture Karthikeyan Sankaralingam

78/31/05 CART UT-CS

TRIPS Overview

CMP with large Grid Processor cores and L2 cache banks

Grid Processor Core

L2 cache bank

Page 8: Polymorphous TRIPS Architecture Exploiting ILP, TLP, and DLP …trips/talks/isca03.pdf · Exploiting ILP, TLP, and DLP with the Polymorphous TRIPS Architecture Karthikeyan Sankaralingam

88/31/05 CART UT-CS

TRIPS Overview

Bank 0

Moves

Bank M

Bank 1

Bank 2

Bank 3

Lo

ad

sto

re q

ue

ue

s

Bank 0

Bank 1

Bank 2

Bank 3

0 1 2 3

IF CT

L2 Cache Banks

• SPDI: Static Placement, Dynamic Issue

• ALU Chaining

• Short wires / Wire-delay constraints

exposed at the architectural level

• Block Atomic Execution

Block termination Logic

Page 9: Polymorphous TRIPS Architecture Exploiting ILP, TLP, and DLP …trips/talks/isca03.pdf · Exploiting ILP, TLP, and DLP with the Polymorphous TRIPS Architecture Karthikeyan Sankaralingam

98/31/05 CART UT-CS

Challenges for Different Levels of Parallelism

• Instruction-level parallelism[Nagarajan et al, Micro01]

– Populate large instruction window with useful instructions

– Schedule instructions to optimize communication and

concurrency

• Thread-level parallelism

– Partition instruction window among different threads

– Reduce contentions for instruction and data supply

• Data-level parallelism

– Provide high density of computational elements

– Provide high bandwidth to/from data memory

Page 10: Polymorphous TRIPS Architecture Exploiting ILP, TLP, and DLP …trips/talks/isca03.pdf · Exploiting ILP, TLP, and DLP with the Polymorphous TRIPS Architecture Karthikeyan Sankaralingam

108/31/05 CART UT-CS

TRIPS Configurable Resources

Bank 0

Moves

Bank M

Bank 1

Bank 2

Bank 3

Lo

ad

sto

re q

ue

ue

s

Bank 0

Bank 1

Bank 2

Bank 3

0 1 2 3

Block termination LogicIF CT

L2 Cache Banks

• Reservation stations

– Instruction window management

• Instruction fetch control

– Speculation/non-speculation, multiple

threads, mapping re-use.

• Register files

– Speculative vs. non-speculative data storage

• L2 cache banks

– tag lookup, replacement, b/w to near banks

Page 11: Polymorphous TRIPS Architecture Exploiting ILP, TLP, and DLP …trips/talks/isca03.pdf · Exploiting ILP, TLP, and DLP with the Polymorphous TRIPS Architecture Karthikeyan Sankaralingam

118/31/05 CART UT-CS

Aggregating Reservation Stations: Frames

Execution Node

opcode src1 src2

opcode src1 src2

opcode src1 src2

Instruction Buffers form

a logical “z-dimension”

in each node

opcode src1 src2

4 logical frames

each with 16 instruction slots

Control

Router

ALU

sub

add

add

add

sub

• Instruction buffers add depth to the execution array

– 2D array of ALUs; 3D volume of instructions

Page 12: Polymorphous TRIPS Architecture Exploiting ILP, TLP, and DLP …trips/talks/isca03.pdf · Exploiting ILP, TLP, and DLP with the Polymorphous TRIPS Architecture Karthikeyan Sankaralingam

128/31/05 CART UT-CS

16 total frames (4 sets of 4)

start

end

A

B

C

D

E

E (spec)

D (spec)

C (spec)

A

Extracting ILP: Frames for Speculation

Execute A

Predict C

Execute C

Predict D

Execute D

Predict E

Execute E

•Ultra-wide issue from a large distributed instruction window

16-wide OOO issue

Page 13: Polymorphous TRIPS Architecture Exploiting ILP, TLP, and DLP …trips/talks/isca03.pdf · Exploiting ILP, TLP, and DLP with the Polymorphous TRIPS Architecture Karthikeyan Sankaralingam

138/31/05 CART UT-CS

ILP Results with Speculation

SPEC Int

Programs

SPEC FP

programs

0

2

4

6

8

10

12

ammp equake mgrid swim tomcatv MEAN

IPC

1

4

16

Perfect

0

2

4

6

8

10

12

bzip2 compr m88k mcf vortex MEAN

IPC

1

4

16

Perfect

#blocks

Page 14: Polymorphous TRIPS Architecture Exploiting ILP, TLP, and DLP …trips/talks/isca03.pdf · Exploiting ILP, TLP, and DLP with the Polymorphous TRIPS Architecture Karthikeyan Sankaralingam

148/31/05 CART UT-CS

Configuring Frames for TLP

B2(spec)

A2

Thread 2 Divide frame space

among threadsThread 1

B1(spec)

A1 - Each can be further sub-

divided to enable some

degree of speculation

- Shown: 2 threads, each

with 1 speculative block

- Alternate configuration

might provide 4 threads

•Multiple partitioned instruction window for different threads

Page 15: Polymorphous TRIPS Architecture Exploiting ILP, TLP, and DLP …trips/talks/isca03.pdf · Exploiting ILP, TLP, and DLP with the Polymorphous TRIPS Architecture Karthikeyan Sankaralingam

158/31/05 CART UT-CS

TLP Results

• Speedup: 1.8x to 2.9x

• Reasons for performance losses

– Contention for resources (principally in instruction and data supply)

– Reduced instruction window size

0

5

10

15

20

25

30

2 4 8

# of threads

Ra

te o

f W

ork

(IP

C)

Sequential Execution

TLP-mode execution

Multiple processors

Page 16: Polymorphous TRIPS Architecture Exploiting ILP, TLP, and DLP …trips/talks/isca03.pdf · Exploiting ILP, TLP, and DLP with the Polymorphous TRIPS Architecture Karthikeyan Sankaralingam

168/31/05 CART UT-CS

Using Frames for DLP

end

start

loo

p N

tim

es

unroll 8X

start

endlo

op

N/8

tim

es

(1)

(2)

(3)

(8)

Streaming Kernel:

- read input stream element

- process element

- write output stream element

• Map very large unrolled kernels to window

• Turn-off speculation

• Keep communication localized

• Mapping re-use: Fetch/map loop body once, re-use many times

• Re-vitalization initiates successive iterations

Page 17: Polymorphous TRIPS Architecture Exploiting ILP, TLP, and DLP …trips/talks/isca03.pdf · Exploiting ILP, TLP, and DLP with the Polymorphous TRIPS Architecture Karthikeyan Sankaralingam

178/31/05 CART UT-CS

Configuring Data Memory for DLP

Bank 0

Moves

Bank M

Bank 1

Bank 2

Bank 3

Lo

ad

sto

re q

ue

ue

s

Bank 0

Bank 1

Bank 2

Bank 3

0 1 2 3

Block termination LogicIF CT

L2 Cache Banks

Stream register file (SRF) (accessed w/ LMW)

Streaming channels

• Regular data accesses

• Subset of L2 cache banks configured as SRF

• High bandwidth data channels to SRF

• Reduced address communication

• Constants saved in reservation stations

L1 Banks

Page 18: Polymorphous TRIPS Architecture Exploiting ILP, TLP, and DLP …trips/talks/isca03.pdf · Exploiting ILP, TLP, and DLP with the Polymorphous TRIPS Architecture Karthikeyan Sankaralingam

188/31/05 CART UT-CS

DLP Results (4x4 GPA)

• Performance metric omits overhead, LD/ST instructions

0

2

4

6

8

10

12

14

16

convert dct fft8 fir16 idea transform MEAN

Co

mp

ute

In

st/

cycle

ILP mode

DLP-mode

1/4 LD B/W

NoRevitalize

Page 19: Polymorphous TRIPS Architecture Exploiting ILP, TLP, and DLP …trips/talks/isca03.pdf · Exploiting ILP, TLP, and DLP with the Polymorphous TRIPS Architecture Karthikeyan Sankaralingam

198/31/05 CART UT-CS

Results: Summary

• ILP: instruction window occupancy

– Peak: 4x4x128 array 2048 instructions

– Sustained: 493 for Spec Int, 1412 for Spec FP

– Bottleneck: branch prediction

• TLP: instruction and data supply

– Peak: 100% efficiency

– Sustained: 87% for two threads, 61% for four threads

• DLP: data supply bandwidth

– Peak: 16 ops/cycle

– Sustained: 6.9 ops/cycle

Page 20: Polymorphous TRIPS Architecture Exploiting ILP, TLP, and DLP …trips/talks/isca03.pdf · Exploiting ILP, TLP, and DLP with the Polymorphous TRIPS Architecture Karthikeyan Sankaralingam

208/31/05 CART UT-CS

Related Work

• Polymorphous homogeneous

– SmartMemories: Modular reconfigurable architecture[Mai, ISCA

’01]

• Fine-grained homogeneous

– RAW: Baring it all to software [Waingold, IEEE Computer ’00]

• Ultra-fine grained homogeneous

– Piperench reconfigurable architecture and compiler [Goldstein,

IEEE Computer ’00]

• Heterogeneous

– Tarantula Vector Extensions to the EV8 [Espasa, ISCA ’02]

Page 21: Polymorphous TRIPS Architecture Exploiting ILP, TLP, and DLP …trips/talks/isca03.pdf · Exploiting ILP, TLP, and DLP with the Polymorphous TRIPS Architecture Karthikeyan Sankaralingam

218/31/05 CART UT-CS

Conclusions

• TRIPS: Coarse-grained homogeneous approach with polymorphism.

– Sub-divide a powerful uniprocessor

– ILP: Well-partitioned powerful uniprocessor (GPA)

– TLP: Divide instruction window among different threads

– DLP: Mapping reuse of instructions and constants in grid

• Future work

– Demonstrate viability with HW/SW prototype

– Design software interfaces to exploit configurable hardware

• How well homogeneous approaches compare with specialized cores?

• How large should these cores scale?