5. Merge Sorter Tree
?複数のソート済みデータ列を1つにマージするデータパス
?図は 4-way Merge Sorter Tree
?ソート対象のデータ列が入力数より多い場合は複数回通す必要
4
参考: A high performance sorting architecture exploiting run-time reconfiguration on fpgas for large problem sorting.
(Dirk Koch and Jim Torresen, FPGA ’11,)
>
>
> > Comparator
Short FIFO
入力レーン
=
way
13. 0
2
4
6
8
10
12
CPU FPGA
8-way
CPU FPGA
8-way
CPU FPGA
8-way
CPU FPGA
8-way
Computer A Computer B Computer C Computer D
ElapsedTime[s]
Data Transfer
Sorting only
USB3.0
USB2.0
分析
12
性能向上不可能
通信時間 > CPUにおけるソーティング時間
14. 0
2
4
6
8
10
12
CPU FPGA
8-way
CPU FPGA
8-way
CPU FPGA
8-way
CPU FPGA
8-way
Computer A Computer B Computer C Computer D
ElapsedTime[s]
Data Transfer
Sorting only
USB3.0
USB2.0
分析
13
通信時間
大幅減
USB3.0で
性能向上
15. 評価 @USB3.0環境
14
4.30 3.27 8.75 3.28
0
2
4
6
8
10
CPU FPGA
8-way
CPU FPGA
8-way
Computer A Computer B
ElapsedTime[s] 2.66x
Faster
1.31x
Faster
?Merge Sorter Treeを32-wayに拡張しComputer AのCPU比
1.93倍の高速化達成
様々な環境で
使える