Computer Architecture Seminar

Post on 27-Jun-2015

209 views 1 download

Tags:

Transcript of Computer Architecture Seminar

Data-Triggered ThreadsEliminating Redundant Computation

Hung-Wei Tseng and Dean M. TullsenDepartment of Computer Science and Engineering

University of California, San Diego

(HPCA 2011)

Seminar by: Naman Kumar for http://carg.uwaterloo.ca

Eliminating Redundant Computation

Silent Store:A memory store operation that does not change the contents at that location

20-68% of all stores are silent [Lepak and Lipasti]

How about eliminating the entire stream of computation surrounding a silent store!

Eliminating Redundant Computation

Redundant loads: silent stores result in redundant loads

(last time this load loaded this address, it fetched the same value)

SPEC2000 C:– 78% of all loads are

redundant– 50% of all instructions

depend on redundant loads

Data-Triggered Threads

DTT: Implementation

Place redundant computation in a separate thread:• Thread is restartable• Thread may be aborted/restarted multiple times• Thread management is through architectural changes.• Easy to verify data races as thread life is between time

between triggering store and main thread join point.

The Programming Model

DTT: ImplementationThe Programming Model

Trigger is placed in data section, not code section

DTT: ImplementationThe Programming Model

Main Thread

DTT: ImplementationThe Programming Model

Support thread

• Thread registry (table)

• Thread Queue (table)

• Thread Status Table (table) PC

DTT: ImplementationArchitectural Support

PC of DTT Start PC Destination PC Post skip PC

PC of DTT Start PC Triggering Addr

Stack Pointer Global Pointer

Start PC Destination PC Triggering Addr Output Value

Following tables are all implemented in hardware

• tstore – generate thread when mem modified is not silent

• tspawn – spawn the thread using thread registry

• treturn – finish execution of the current thread

• tcancel – terminate a running thread

DTT: ImplementationArchitectural Support

ISA modifications