• No results found

Hardware Acceleration for Load Flow Computation

N/A
N/A
Protected

Academic year: 2021

Share "Hardware Acceleration for Load Flow Computation"

Copied!
67
0
0

Loading.... (view fulltext now)

Full text

(1)

Hardware Acceleration for Load Flow Computation

Jeremy Johnson, Chika Nwankpa and Prawat Nagvajara Kevin Cunningham, Tim Chagnon, Petya Vachranukunkiet

Computer Science and Electrical and Computer Engineering Drexel University

Eigth Annual CMU Conference on the Electricity Industry March 13, 2012

(2)

Overview

I Problem and Goals

I Background

I LU Hardware

I Merge Accelerator Design

I Accelerator Architectures

I Performance Results

I Conclusions

(3)

Problem

I Problem: Sparse Lower-Upper (LU) Triangular Decomposition

performs inefficiently on general-purpose processors (irregular data access, indexing overhead, less than 10% FP efficiency on power systems) [3, 12]

I Solution: Custom designed hardware can provide better performance

(3X speedup over Pentium 4 3.2GHz) [3, 12]

I Problem: Complex custom hardware is difficult, expensive, and

time-consuming to design

I Solution: Use a balance of software and hardware accelerators (ex:

FPU, GPU, Encryption, Video/Image Encoding, etc.)

I Problem: Need an architecture that efficiently combines

general-purpose processors and accelerators

[3] T. Chagnon. Architectural Support for Direct Sparse LU Algorithms.

[12] P. Vachranukunkiet. Power Flow Computation using Field Programmable Gate Arrays.

(4)

Problem

I Problem: Sparse Lower-Upper (LU) Triangular Decomposition

performs inefficiently on general-purpose processors (irregular data access, indexing overhead, less than 10% FP efficiency on power systems) [3, 12]

I Solution: Custom designed hardware can provide better performance

(3X speedup over Pentium 4 3.2GHz) [3, 12]

I Problem: Complex custom hardware is difficult, expensive, and

time-consuming to design

I Solution: Use a balance of software and hardware accelerators (ex:

FPU, GPU, Encryption, Video/Image Encoding, etc.)

I Problem: Need an architecture that efficiently combines

general-purpose processors and accelerators

[3] T. Chagnon. Architectural Support for Direct Sparse LU Algorithms.

[12] P. Vachranukunkiet. Power Flow Computation using Field Programmable Gate Arrays.

(5)

Problem

I Problem: Sparse Lower-Upper (LU) Triangular Decomposition

performs inefficiently on general-purpose processors (irregular data access, indexing overhead, less than 10% FP efficiency on power systems) [3, 12]

I Solution: Custom designed hardware can provide better performance

(3X speedup over Pentium 4 3.2GHz) [3, 12]

I Problem: Complex custom hardware is difficult, expensive, and

time-consuming to design

I Solution: Use a balance of software and hardware accelerators (ex:

FPU, GPU, Encryption, Video/Image Encoding, etc.)

I Problem: Need an architecture that efficiently combines

general-purpose processors and accelerators

[3] T. Chagnon. Architectural Support for Direct Sparse LU Algorithms.

[12] P. Vachranukunkiet. Power Flow Computation using Field Programmable Gate Arrays.

(6)

Problem

I Problem: Sparse Lower-Upper (LU) Triangular Decomposition

performs inefficiently on general-purpose processors (irregular data access, indexing overhead, less than 10% FP efficiency on power systems) [3, 12]

I Solution: Custom designed hardware can provide better performance

(3X speedup over Pentium 4 3.2GHz) [3, 12]

I Problem: Complex custom hardware is difficult, expensive, and

time-consuming to design

I Solution: Use a balance of software and hardware accelerators (ex:

FPU, GPU, Encryption, Video/Image Encoding, etc.)

I Problem: Need an architecture that efficiently combines

general-purpose processors and accelerators

[3] T. Chagnon. Architectural Support for Direct Sparse LU Algorithms.

[12] P. Vachranukunkiet. Power Flow Computation using Field Programmable Gate Arrays.

(7)

Problem

I Problem: Sparse Lower-Upper (LU) Triangular Decomposition

performs inefficiently on general-purpose processors (irregular data access, indexing overhead, less than 10% FP efficiency on power systems) [3, 12]

I Solution: Custom designed hardware can provide better performance

(3X speedup over Pentium 4 3.2GHz) [3, 12]

I Problem: Complex custom hardware is difficult, expensive, and

time-consuming to design

I Solution: Use a balance of software and hardware accelerators (ex:

FPU, GPU, Encryption, Video/Image Encoding, etc.)

I Problem: Need an architecture that efficiently combines

general-purpose processors and accelerators

[3] T. Chagnon. Architectural Support for Direct Sparse LU Algorithms.

[12] P. Vachranukunkiet. Power Flow Computation using Field Programmable Gate Arrays.

(8)

Goals

I Increase performance of sparse LU over existing software

I Design a flexible, easy to use hardware accelerator that can integrate

with multiple platforms

I Find an architecture that efficiently uses the accelerator to improve

sparse LU

(9)

Goals

I Increase performance of sparse LU over existing software

I Design a flexible, easy to use hardware accelerator that can integrate

with multiple platforms

I Find an architecture that efficiently uses the accelerator to improve

sparse LU

(10)

Goals

I Increase performance of sparse LU over existing software

I Design a flexible, easy to use hardware accelerator that can integrate

with multiple platforms

I Find an architecture that efficiently uses the accelerator to improve

sparse LU

(11)

Summary of Results and Contributions

I Designed and implemented a merge hardware accelerator [5]

I Data rate approaches one element per cycle

I Designed and implemented supporting hardware [6]

I Implemented a prototype Triple Buffer Architecture [5]

I Efficiently utilize external transfer bus

I Not suitable for sparse LU application

I Advantageous for other applications

I Implemented a prototype heterogeneous multicore architecture [6]

I Combines general-purpose processor and reconfigurable hardware cores

I Speedup of 1.3X over sparse LU software with merge accelerator

I Modified Data Pump Architecture (DPA) Simulator

I Added merge instruction and support

I Implemented sparse LU on the DPA

I Speedup of 2.3X over sparse LU software with merge accelerator

[5] Cunningham, Nagvajara. Reconfigurable Stream-Processing Architecture for Sparse Linear Solvers.

[6] Cunningham, Nagvajara, Johnson. Reconfigurable Multicore Architecture for Power Flow Calculation.

(12)

Summary of Results and Contributions

I Designed and implemented a merge hardware accelerator [5]

I Data rate approaches one element per cycle

I Designed and implemented supporting hardware [6]

I Implemented a prototype Triple Buffer Architecture [5]

I Efficiently utilize external transfer bus

I Not suitable for sparse LU application

I Advantageous for other applications

I Implemented a prototype heterogeneous multicore architecture [6]

I Combines general-purpose processor and reconfigurable hardware cores

I Speedup of 1.3X over sparse LU software with merge accelerator

I Modified Data Pump Architecture (DPA) Simulator

I Added merge instruction and support

I Implemented sparse LU on the DPA

I Speedup of 2.3X over sparse LU software with merge accelerator

[5] Cunningham, Nagvajara. Reconfigurable Stream-Processing Architecture for Sparse Linear Solvers.

[6] Cunningham, Nagvajara, Johnson. Reconfigurable Multicore Architecture for Power Flow Calculation.

(13)

Summary of Results and Contributions

I Designed and implemented a merge hardware accelerator [5]

I Data rate approaches one element per cycle

I Designed and implemented supporting hardware [6]

I Implemented a prototype Triple Buffer Architecture [5]

I Efficiently utilize external transfer bus

I Not suitable for sparse LU application

I Advantageous for other applications

I Implemented a prototype heterogeneous multicore architecture [6]

I Combines general-purpose processor and reconfigurable hardware cores

I Speedup of 1.3X over sparse LU software with merge accelerator

I Modified Data Pump Architecture (DPA) Simulator

I Added merge instruction and support

I Implemented sparse LU on the DPA

I Speedup of 2.3X over sparse LU software with merge accelerator

[5] Cunningham, Nagvajara. Reconfigurable Stream-Processing Architecture for Sparse Linear Solvers.

[6] Cunningham, Nagvajara, Johnson. Reconfigurable Multicore Architecture for Power Flow Calculation.

(14)

Summary of Results and Contributions

I Designed and implemented a merge hardware accelerator [5]

I Data rate approaches one element per cycle

I Designed and implemented supporting hardware [6]

I Implemented a prototype Triple Buffer Architecture [5]

I Efficiently utilize external transfer bus

I Not suitable for sparse LU application

I Advantageous for other applications

I Implemented a prototype heterogeneous multicore architecture [6]

I Combines general-purpose processor and reconfigurable hardware cores

I Speedup of 1.3X over sparse LU software with merge accelerator

I Modified Data Pump Architecture (DPA) Simulator

I Added merge instruction and support

I Implemented sparse LU on the DPA

I Speedup of 2.3X over sparse LU software with merge accelerator

[5] Cunningham, Nagvajara. Reconfigurable Stream-Processing Architecture for Sparse Linear Solvers.

[6] Cunningham, Nagvajara, Johnson. Reconfigurable Multicore Architecture for Power Flow Calculation.

(15)

Summary of Results and Contributions

I Designed and implemented a merge hardware accelerator [5]

I Data rate approaches one element per cycle

I Designed and implemented supporting hardware [6]

I Implemented a prototype Triple Buffer Architecture [5]

I Efficiently utilize external transfer bus

I Not suitable for sparse LU application

I Advantageous for other applications

I Implemented a prototype heterogeneous multicore architecture [6]

I Combines general-purpose processor and reconfigurable hardware cores

I Speedup of 1.3X over sparse LU software with merge accelerator

I Modified Data Pump Architecture (DPA) Simulator

I Added merge instruction and support

I Implemented sparse LU on the DPA

I Speedup of 2.3X over sparse LU software with merge accelerator

[5] Cunningham, Nagvajara. Reconfigurable Stream-Processing Architecture for Sparse Linear Solvers.

[6] Cunningham, Nagvajara, Johnson. Reconfigurable Multicore Architecture for Power Flow Calculation.

(16)

Overview

I Problem and Goals

I Background

I LU Hardware

I Merge Accelerator Design

I Accelerator Architectures

I Performance Results

I Conclusions

(17)

Power Systems

I The power grid delivers electrical power from

generation stations to distribution stations

I Power grid stability is analyzed with Power

Flow (aka Load Flow) calculation [1]

I System nodes and voltages create a system of

equations, represented by a sparse matrix [1]

I Solving the system allows grid stability to be

analyzed

I LU decomposition accounts for a large part of

the Power Flow calculation [12]

I Power Flow calculation is repeated thousands

of times to perform a full grid analysis [1]

Power Flow Execution Profile [12]

[1] A. Albur. Power System State Estimation: Theory and Implementation. [12] P. Vachranukunkiet. Power Flow Computation using Field Programmable Gate Arrays.

(18)

Power Systems

I The power grid delivers electrical power from

generation stations to distribution stations

I Power grid stability is analyzed with Power

Flow (aka Load Flow) calculation [1]

I System nodes and voltages create a system of

equations, represented by a sparse matrix [1]

I Solving the system allows grid stability to be

analyzed

I LU decomposition accounts for a large part of

the Power Flow calculation [12]

I Power Flow calculation is repeated thousands

of times to perform a full grid analysis [1]

Power Flow Execution Profile [12]

[1] A. Albur. Power System State Estimation: Theory and Implementation. [12] P. Vachranukunkiet. Power Flow Computation using Field Programmable Gate Arrays.

(19)

Power System Matrices

Power System Matrix Properties

System # Rows/Cols NNZ Sparsity 1648 Bus 2,982 21,196 0.238% 7917 Bus 14,508 105,522 0.050% 10278 Bus 19,285 134,621 0.036% 26829 Bus 50,092 351,200 0.014%

Power System LU Statistics System Avg. NNZ Avg. Num % Merge

per Row Submatrix Rows

1648 Bus 7.1 8.0 65.6%

7917 Bus 7.3 8.5 54.3%

10279 Bus 7.0 8.3 55.8%

26829 Bus 7.0 8.7 62.7%

(20)

Power System LU

I Gaussian LU

outperforms UMFPACK for power matrices [3]

I As matrix size grows,

multi-frontal becomes more effective

I The merge is a

bottleneck in Gaussian LU performance [3]

I Goal: Design a hardware

accelerator for the Merge in Gaussian LU

Gaussian LU vs UMFPACK on Intel Core i7 at 3.2GHz [3]

1648 Bus 7917 Bus 10279 Bus 26829 Bus 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Power System S pe ed up

[3] T. Chagnon. Architectural Support for Direct Sparse LU Algorithms.

(21)

Sparse Matrices

I A matrix is sparse when it has a large number of zero elements

I Below is a small section of the 26K-Bus power system matrix

A=       122.03 −61.01 −5.95 0 0 −61.01 277.93 19.38 0 0 5.95 −19.56 275.58 0 0 0 0 0 437.82 67.50 0 0 0 −67.50 437.81      

(22)

Sparse Compressed Formats

I Sparse matrices use a compressed format to ignore zero elements

I Saves storage space

I Decreases amount of computation

Row Column:Value 0 1 2 3 4 122.03 0 1 -61.01 2 -5.95 -61.01 0 1 277.93 2 19.38 5.95 0 1 -19.56 2 275.58 437.82 3 4 67.50 -67.50 3 4 437.81

(23)

Sparse LU Decomposition

A=       122.03 −61.01 −5.95 0 0 −61.01 277.93 19.38 0 0 5.95 −19.56 275.58 0 0 0 0 0 437.82 67.50 0 0 0 −67.50 437.81       L=       1.00 0 0 0 0 −0.50 1.00 0 0 0 0.05 −0.07 1.00 0 0 0 0 0 1.00 0 0 0 0 −0.15 1.00       U=       122.03 −61.01 −5.95 0 0 0 247.42 16.41 0 0 0 0 276.97 0 0 0 0 0 437.82 67.50 0 0 0 0 448.22      
(24)

Sparse LU Methods

I Approximate Minimum Degree (AMD) algorithm pre-orders matrices

to reduce fill-in [2]

I Multiple methods for performing sparse LU:

I Multi-frontal

I Used by UMFPACK [7]

I Divides matrix into multiple, independent, dense blocks

I Gaussian Elimination

I Eliminates elements below the diagonal by scaling and adding rows together

[2] Amestoy et al. Algorithm 837: AMD, an approximate minimum degree ordering algorithm.

[7] T. Davis. Algorithm 832: UMFPACK V4.3 - An Unsymmetric-Pattern Multi-Frontal Method.

(25)

Sparse LU Decomposition

Algorithm 1 Gaussian LU

for i = 1→N do

pivot search()

update U()

for j = 1→NUM SUBMATRIX ROWS do

merge(pivot row,j) update L()

update colmap() end for

end for

(26)

Column Map

I Column map keeps track of the rows with non-zero elements in each

column

I Do not have to search matrix on each iteration

I Fast access to all rows in a column

I Select pivot row from the set of rows

I Column map is updated after each merge

I Fill-in elements add new elements to a row during the merge

(27)

Sparse LU Decomposition

7 3 2 8 4 1 5 2

+

7 7 1 2 5 2 8 Row u+v 0 1 2 3 4 5 6 7 Column Row u Row v

I Challenges with software merging:

I Indexing overhead

I Column numbers are different from row array indices

I Must fetch column numbers from memory to operate on elements

I Cache misses

I Data-dependent branching

(28)

Sparse LU Decomposition

7 3 2 8 4 1 5 2

+

7 7 1 2 5 2 8 Row u+v 0 1 2 3 4 5 6 7 Column Row u Row v

I Challenges with software merging:

I Indexing overhead

I Column numbers are different from row array indices

I Must fetch column numbers from memory to operate on elements

I Cache misses

I Data-dependent branching

(29)

Sparse LU Decomposition

7 3 2 8 4 1 5 2

+

7 7 1 2 5 2 8 Row u+v 0 1 2 3 4 5 6 7 Column Row u Row v

I Challenges with software merging:

I Indexing overhead

I Column numbers are different from row array indices

I Must fetch column numbers from memory to operate on elements

I Cache misses

I Data-dependent branching

(30)

Sparse LU Decomposition

7 3 2 8 4 1 5 2

+

7 7 1 2 5 2 8 Row u+v 0 1 2 3 4 5 6 7 Column Row u Row v

I Challenges with software merging:

I Indexing overhead

I Column numbers are different from row array indices

I Must fetch column numbers from memory to operate on elements

I Cache misses

I Data-dependent branching

(31)

Sparse LU Decomposition

7 3 2 8 4 1 5 2

+

7 7 1 2 5 2 8 Row u+v 0 1 2 3 4 5 6 7 Column Row u Row v

I Challenges with software merging:

I Indexing overhead

I Column numbers are different from row array indices

I Must fetch column numbers from memory to operate on elements

I Cache misses

I Data-dependent branching

(32)

Sparse LU Decomposition

7 3 2 8 4 1 5 2

+

7 7 1 2 5 2 8 Row u+v 0 1 2 3 4 5 6 7 Column Row u Row v

I Challenges with software merging:

I Indexing overhead

I Column numbers are different from row array indices

I Must fetch column numbers from memory to operate on elements

I Cache misses

I Data-dependent branching

(33)

Sparse LU Decomposition

Merge Algorithm i n t p , s ; i n t r n z =0 , f n z =0; f o r( p =1 , s =1; p < p i v o t L e n && s < n o n p i v o t L e n ; ) { i f( n o n p i v o t [ s ] . c o l == p i v o t [ p ] . c o l ) { merged [ r n z ] . c o l = p i v o t [ p ] . c o l ; merged [ r n z ] . v a l = ( n o n p i v o t [ s ] . v a l − l x∗p i v o t [ p ] . v a l ) ; r n z ++; p++; s ++; } e l s e i f( n o n p i v o t [ s ] . c o l < p i v o t [ p ] . c o l ) { merged [ r n z ] . c o l = n o n p i v o t [ s ] . c o l ; merged [ r n z ] . v a l = n o n p i v o t [ s ] . v a l ; r n z ++; s ++; } e l s e { merged [ r n z ] . c o l = p i v o t [ p ] . c o l ; merged [ r n z ] . v a l = (−l x ∗ p i v o t [ p ] . v a l ) ; f i l l i n [ f n z ] = p i v o t [ p ] . c o l ; r n z ++; f n z ++; p++; } }
(34)

Overview

I Problem and Goals

I Background

I LU Hardware

I Merge Accelerator Design

I Accelerator Architectures

I Performance Results

I Conclusions

(35)

LU Hardware

I Originally designed by Petya Vachranukunkiet[12]

I Straightforward Gaussian Elimination

I Parameterized for power system matrices

I Streaming operations

hide latencies

I Computation pipelined for

1 Flop / cycle

I Memory and FIFOs used for

cache and bookeeping

I Multiple merge units possible

(36)

Pivot and Submatrix Update Logic

(37)

Custom Cache Logic

I Cache line is a whole row

I Fully-associative, write-back, FIFO replacement

(38)

Reconfigurable Hardware

I Field Programmable Gate Array

(FPGA)

I Advantages:

I Low power consumption

I Reconfigurable

I Low cost

I Pipelining and parallelism

SRAM Logic Cell [13]

I Disadvantages:

I Difficult to program

I Long design compile times

I Lower clock frequencies

FPGA Architecture [13]

[13] Xilinx, Inc. Programmable Logic Design Quick Start Handbook.

(39)

ASIC vs FPGA

Application-Specific Integrated Circuit (ASIC)

I Higher clock frequency

I Lower power consumption

I More customization

Field Programmable Gate Array (FPGA)

I Reconfigurable

I Design updates and corrections

I Multiple designs in same area

I Lower cost

I Less implementation time

(40)

Overview

I Problem and Goals

I Background

I LU Hardware

I Merge Accelerator Design

I Accelerator Architectures

I Performance Results

I Conclusions

(41)

Merge Hardware Accelerator

I Input and Output BlockRAM FIFOs

I Two compare stages allow look-ahead

comparison

I Pipelined floating point adder

I Merge unit is pipelined and outputs one

element per cycle

I Latency is dependent on the structure

and length of input rows

+

U Stage 1 V Stage 1 U Stage 2 V Stage 2 U FIFO V FIFO Merged CMP
(42)

Merge Hardware Manager

I Must manage rows going

through merge units

I Pivot row is recycled

I Floating point multiplier scales

pivot row before entering merge unit

I Can support multiple merge

units

I Input and output rotate among

merge units after each full row

I Rows enter and leave in the

same order Merge Unit Output FIFO Pivot FIFO Non Pivot FIFO Output FIFO Pivot FIFO Non Pivot FIFO * * si si Merge Unit

(43)

Merge Performance

Software Merge Performance on Core i7 at 3.2GHz

Power System Average Data Rate Average Cycles

(Millions of Elements per Second) per Element

1648 Bus 90.77 35.3

7917 Bus 99.54 32.2

10279 Bus 100.75 31.8

26829 Bus 97.46 32.8

I Merge accelerator:

I Outputs one element per cycle

I Data rate approaches hardware clock rate

I FPGA clock frequencies provide better merge performance than processor

I Goal: Find an architecture that efficiently delivers data to the

accelerator

(44)

Overview

I Problem and Goals

I Background

I LU Hardware

I Merge Accelerator Design

I Accelerator Architectures

I Performance Results

I Conclusions

(45)

Summary of Design Methods

I Completely Software (UMFPACK, Gaussian LU)

I Inefficient performance

I Completely Hardware (LUHW on FPGA)

I Large design time and effort

I Less scalable

I Investigate three accelerator architectures:

I Triple Buffer Architecture

I Efficiently utilize external transfer bus to a reconfigurable accelerator I Heterogeneous Multicore Architecture

I Combine general-purpose and reconfigurable cores in a single package

I Data Pump Architecture

I Take advantage of programmable data/memory management to efficiently feed an accelerator

(46)

Accelerator Architectures

CPU

Mem

Mem

FPGA

I Common setup for processor and FPGA

I Each device has its own external memory

I Communicate by USB, Ethernet, PCI-Express, HyperTransport, ...

I Transfer bus can be bottleneck between processor and FPGA

(47)

Triple Buffer Architecture

CPU

Mem

Mem

FPGA

CPU FPGA

Buffer 1 Transfer BUS Low Latency Memory Banks Buffer 2 Buffer 3

I How to efficiently use transfer bus?

I Break data into blocks and buffer

I Three buffers eliminate competition on memory ports

I Allows continuous stream of data through FPGA accelerator

I Processor can transfer data at bus/memory rate, not limited by FPGA

rate

(48)

Heterogeneous Multicore Architecture

I Communication with an external

transfer bus requires additional overhead

I Merge accelerator does not

require a large external FPGA

I Closely integrate processor and

FPGA

I Share same memory system

Reconfigurable Processor Architecture [8]

[8] Garcia and Compton. A Reconfigurable Hardware Interface for a Modern Computing System.

(49)

Heterogeneous Multicore Architecture

DDR Memory CPU (Microblaze) AXI DMA Reconfigurable Core AXI LITE AXI AXI STREAM

Reconfigurable Processor Architecture [8]

[8] Garcia and Compton. A Reconfigurable Hardware Interface for a Modern Computing System.

(50)

Heterogeneous Multicore Architecture

DDR Memory CPU (Microblaze) AXI DMA Reconfigurable Core AXI LITE AXI AXI STREAM

I Processor sends DMA requests

to DMA module

I DMA module fetches data from

memory and streams to accelerator

I Accelerator streams outputs

back to DMA module to store to memory

(51)

Data Pump Architecture

Data Pump Architecture [11]

I Developed as part of the SPIRAL project

I Intended as a signal processing platform

I Processors explicitly control data movement

I No automatic data caches

I Data Processor (DP) moves data between external and local memory

I Compute Processor (CP) moves data between local memory and

vector processors

[11] SPIRAL. DPA Instruction Set Architecture V0.2 Basic Configuration.

(52)

Data Pump Architecture

Data Pump Architecture [11]

I Replace vector processors with merge accelerator

I DP brings rows from external memory into local memory

I CP sends rows to merge accelerator and writes results in local memory

I DP stores results back to external memory

[11] SPIRAL. DPA Instruction Set Architecture V0.2 Basic Configuration.

(53)

Overview

I Problem and Goals

I Background

I LU Hardware

I Merge Accelerator Design

I Accelerator Architectures

I Performance Results

I Conclusions

(54)

DPA Implementation

Data Pump Architecture [11]

I Implemented Sparse LU on DPA Simulator [10]

I DP and CP synchronize with local memory read/write counters

I Double buffer row inputs and outputs in local memory

I DP and CP at 2GHz, DDR at 1066MHz

I Single merge unit

[11] SPIRAL. DPA Instruction Set Architecture V0.2 Basic Configuration. [10] D. Jones. Data Pump Architecture Simulator and Performance Model.

(55)

DPA Implementation

Sparse LU DP

Initialize Matrix in External Memory

Load row and column counts, and column map to Local Memory

Load pivot row Load other submatrix rows Wait for CP < N? Store updated counts to External Memory Yes No Store merged rows to External Memory End Sparse LU CP Wait for DP to load counts Wait for DP to load

submatrix rows Merge rows Update column map < N? Yes No End

(56)

DPA Performance

I Increase performance by

double buffering rows

I DP alternates loading to

two input buffers

I CP alternates outputs to

two output buffers

I DP and CP at 2GHz,

DDR at 1066MHz

I Merge accelerator at

same frequency as CP

DPA Single vs Double Buffer Speedup Against Gaussian LU

1648 Bus 7917 Bus 10279 Bus 26829 Bus 0 0.5 1 1.5 2 2.5

Single Buffer Double Buffer

Power System S pe ed up v s G au ss ia n LU

(57)

DPA Performance

1648 Bus 7917 Bus 10279 Bus 26829 Bus 0 0.5 1 1.5 2 2.5

Merge 10X Slower Merge 5X Slower Merge 2X Slower Merge Same as CP Power System S pe ed up v s G au ss ia n

I Measured with different merge

frequencies

I Slower merges do not provide

speedup over software

I Faster merges require ASIC

implementation

I Larger matrices see most benefit

(58)

DPA Performance

1648 Bus 7917 Bus 10279 Bus 26829 Bus 0 0.5 1 1.5 2 2.5

Merge 10X Slower Merge 5X Slower Merge 2X Slower Merge Same as CP Power System S pe ed up v s G au ss ia n I DP and CP at 3.2GHz I DDR at 1066MHz

DPA LU Speedup vs Gaussian LU for 26K-Bus Power System

CP/DP 10 times 5 times 2 times Same as Freq slower slower slower CP 2.0GHz 0.57X 1.00X 1.85X 2.27X 3.2GHz 0.86X 1.45X 2.28X 2.35X

(59)

Overview

I Problem and Goals

I Background

I LU Hardware

I Merge Accelerator Design

I Accelerator Architectures

I Performance Results

I Conclusions

(60)

Conclusions and Future Work

I Merge accelerator reduces indexing cost and improves sparse LU

performance (2.3X improvement)

I DPA architecture provides a memory framework to utilize merge

accelerator and outperforms triple buffering and heterogeneous multicore schemes investigated

I Software control of memory hierarchy allows alternate protocols such

as double buffering to be investigated

I Additional modifications such as multiple merge units, row caching

and prefetching will be required for further improvement

I With accelerator, high performance load flow calculation is possible

with low power device

I Suggesting a distributed network of such devices

(61)

Conclusions and Future Work

I Merge accelerator reduces indexing cost and improves sparse LU

performance (2.3X improvement)

I DPA architecture provides a memory framework to utilize merge

accelerator and outperforms triple buffering and heterogeneous multicore schemes investigated

I Software control of memory hierarchy allows alternate protocols such

as double buffering to be investigated

I Additional modifications such as multiple merge units, row caching

and prefetching will be required for further improvement

I With accelerator, high performance load flow calculation is possible

with low power device

I Suggesting a distributed network of such devices

(62)

Conclusions and Future Work

I Merge accelerator reduces indexing cost and improves sparse LU

performance (2.3X improvement)

I DPA architecture provides a memory framework to utilize merge

accelerator and outperforms triple buffering and heterogeneous multicore schemes investigated

I Software control of memory hierarchy allows alternate protocols such

as double buffering to be investigated

I Additional modifications such as multiple merge units, row caching

and prefetching will be required for further improvement

I With accelerator, high performance load flow calculation is possible

with low power device

I Suggesting a distributed network of such devices

(63)

Conclusions and Future Work

I Merge accelerator reduces indexing cost and improves sparse LU

performance (2.3X improvement)

I DPA architecture provides a memory framework to utilize merge

accelerator and outperforms triple buffering and heterogeneous multicore schemes investigated

I Software control of memory hierarchy allows alternate protocols such

as double buffering to be investigated

I Additional modifications such as multiple merge units, row caching

and prefetching will be required for further improvement

I With accelerator, high performance load flow calculation is possible

with low power device

I Suggesting a distributed network of such devices

(64)

Conclusions and Future Work

I Merge accelerator reduces indexing cost and improves sparse LU

performance (2.3X improvement)

I DPA architecture provides a memory framework to utilize merge

accelerator and outperforms triple buffering and heterogeneous multicore schemes investigated

I Software control of memory hierarchy allows alternate protocols such

as double buffering to be investigated

I Additional modifications such as multiple merge units, row caching

and prefetching will be required for further improvement

I With accelerator, high performance load flow calculation is possible

with low power device

I Suggesting a distributed network of such devices

(65)

Conclusions and Future Work

I Merge accelerator reduces indexing cost and improves sparse LU

performance (2.3X improvement)

I DPA architecture provides a memory framework to utilize merge

accelerator and outperforms triple buffering and heterogeneous multicore schemes investigated

I Software control of memory hierarchy allows alternate protocols such

as double buffering to be investigated

I Additional modifications such as multiple merge units, row caching

and prefetching will be required for further improvement

I With accelerator, high performance load flow calculation is possible

with low power device

I Suggesting a distributed network of such devices

(66)

References

[1] A. Albur, A., Expsito.

Power System State Estimation: Theory and Implementation. Marcel Dekker, New York, New York, USA, 2004.

[2] P R Amestoy, Timothy Davis, and I S Duff.

Algorithm 837: AMD, an approximate minimum degree ordering algorithm, 2004.

[3] T. Chagnon.

Architectural Support for Direct Sparse LU Algorithms. Masters thesis, Drexel University, 2010.

[4] DRC Computer.

DRC Coprocessor System User’s Guide, 2007.

[5] Kevin Cunningham and Prawat Nagvajara.

Reconfigurable Stream-Processing Architecture for Sparse Linear Solvers. Reconfigurable Computing: Architectures, Tools and Applications, 2011.

[6] Kevin Cunningham, Prawat Nagvajara, and Jeremy Johnson.

Reconfigurable Multicore Architecture for Power Flow Calculation. InReview for North American Power Symposium 2011, 2011.

[7] Timothy Davis.

Algorithm 832:UMFPACK V4.3 - An Unsymmetric-Pattern Multi-Frontal Method. ACM Trans. Math. Softw, 2004.

[8] Philip Garcia and Katherine Compton.

A Reconfigurable Hardware Interface for a Modern Computing System.

15th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM 2007), pages 73–84, April 2007.

[9] Intel.

Intel Atom Processor E6x5C Series-Based Platform for Embedded Computing. Technical report, 2011.

(67)

[10] Douglas Jones.

Data Pump Architecture Simulator and Performance Model. Masters thesis, 2010.

[11] SPIRAL.

DPA Instruction Set Architecture V0.2 Basic Configuration (SPARC V8 Extension), 2008.

[12] Petya Vachranukunkiet.

Power flow computation using field programmable gate arrays. PhD thesis, 2007.

[13] Xilinx Inc.

Programmable Logic Design Quick Start Handbook, 2006.

References

Related documents

Using industry- level data, we show that there exists a pass through from BIST interbank overnight repo/reverse repo market rate and weighted average cost of funding (WACF) to

According to the assumption considered here, when a light ray starting from a point is propagated, the energy is not con- tinuously distributed over an ever

Athletic Training Major Coaching Minor Exercise Physiology Major Health and Physical Education Major Health Promotion Major.. Health

Lemma 3.2 As the proportion of funds diverted for personal use by one party increases, the lobby group has greater influence on the announced policy platform of its rival, i.e., dP

Never have we seen such a hungering for the Word of God, and yet the minute people begin reading the Word of God, the devil comes and tries to take away that which

Having placed considerable weight on the terms of the documentation lodged in support of the Application, and Mr Donald’s oral evidence, the Tribunal found that the Respondent

Page numbers in bold denote references

Psychology.” Civil Engineering offers “History of Structures.” UMD’s program in American Sign Language offers “History of the American Deaf Community.” History can be a part