11. ?複数のソート済みデータ列を1つにマージするデータパス
?図は 4-way Merge Sorter Tree
?ソート対象のデータ列が入力数より多い場合は複数回通す必要
Merge Sorter Tree
11
参考: 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
32. 4種類の評価環境 – Computer C
32
Only supports USB2.0
Core i7-870
@2.93GHz
4GB DDR3 Memory
33. 4種類の評価環境 – Computer D
33
Core Duo T2400
@1.83GHz
1GB DDR2 Memory
Only supports USB2.0
34. 0
2
4
6
8
10
12
CPU FPGA CPU FPGA CPU FPGA CPU FPGA
Computer A Computer B Computer C Computer D
ElapsedTime[s]
Data Transfer
Sorting only
USB3.0
USB2.0
評価―int型32M個のソーティング
34
35. 0
2
4
6
8
10
12
CPU FPGA CPU FPGA CPU FPGA CPU FPGA
Computer A Computer B Computer C Computer D
ElapsedTime[s]
Data Transfer
Sorting only
USB3.0
USB2.0
分析
35
性能向上不可能
通信時間 > CPUにおけるソーティング時間
36. 0
2
4
6
8
10
12
CPU FPGA CPU FPGA CPU FPGA CPU FPGA
Computer A Computer B Computer C Computer D
ElapsedTime[s]
Data Transfer
Sorting only
USB3.0
USB2.0
分析
36
通信時間
大幅減
USB3.0で
性能向上
37. 4.12 3.27 8.67 3.28
0
2
4
6
8
10
CPU FPGA CPU FPGA
Computer A Computer B
ElapsedTime[s]
評価 @USB3.0環境
37
2.64x
Faster
1.26x
Faster
?Merge Sorter Treeを32-wayに拡張しComputer AのCPU比
1.88倍の高速化達成
様々な環境で
使える