Title: VEAL: Virtualized Execution Accelerator for Loops
1VEAL Virtualized Execution Accelerator for Loops
- Nate Clark1, Amir Hormati2, Scott Mahlke2
- 1 Georgia Tech., 2U. Michigan
2How to get Efficiency?
- Microarchitecture changes
- Multi- / many-core
- Heterogeneity
STI Cell
Core2 Duo
3How is Heterogeneity Used?
Program
Hetero.
GPP
Control Statically Placed in Binary
4Problem With Static Control
CPU
Program
- Not forward/backward compatible
5Solution Virtualization
- Abstract accelerator features
- Reexamine compiler algorithms
- Key do the hard stuff offline
Offline
Online
6This Paper
- Examines loops as heterogeneity target
- ASICs often implement loops
- Design a generalized loop accelerator
- Not covered in this talk
- Explore how to virtualize loop accelerators
- I.e. abstract the accelerator interface
7Loop Accelerator Template
8Why More Efficient Than GPP?
- Simple control flow
- Decoupled memory accesses
- I-Cache unnecessary
- Customize execution resources for loops
9Proposed Loop Accelerator
- 1 CCA
- 2 Int units
- 16 regs
- Memory (4x)
- 16 Input streams
- 8 Output streams
- 0.8 mm2, 90nm
10Modulo Scheduling
- High quality software pipelining technique
- Simple control structure (low HW cost)
- - Can be slow, i.e., hard to do dynamically
- - Loops no side exits, no while, if convertible
11Benchmark Execution Time
12Modulo Scheduling Basics
FU C
Kernel
13 Modulo Scheduling Example
1. CCA Mapping 2. II Calculation 3. Priority 4.
Scheduling 5. Reg. assignment/
communication
CCA Int Int
CCA Int Int
2
3
4
5
7
Time
6
Priority 2, 4, 6 3, 5 7
14Measured Scheduling Overhead
70 Priority, 19 CCA
15Supporting Hybrid Compilation
Loop 1 ld 2 add 3 sub 4 brl CCA 5 or 6 or 7
add 8 str CCA and sub xor ret
Data 0 1 4 6 3 Loop 1 ld 2 add 3 sub 4 brl
CCA 5 or
Loop 1 ld 2 add 3 sub and sub xor 5 or 6
or 7 add 8 str
16Speedups
17Summary
- Virtualization key to heterogeneity
- VEAL speedup 2.54
- 2.63 w/o translation (i.e., not binary
compatible) - 2.17 fully dynamic
- CCA and priority 89 overhead
- mpeg2dec 2.1 vs. 1.15
18Thank you!
- Questions?
- http//www.cc.gatech.edu/ntclark
- http//cccp.eecs.umich.edu/