|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
CPU和GPU都属于冯·诺依曼结构,指令译码执行,共享内存。FPGA之所以比CPU、GPU更快,本质上是因为其无指令,无共享内存的体系结构所决定的。% y Q1 I3 }/ @7 @
冯氏结构中,由于执行单元可能执行任意指令,就需要有指令存储器、译码器、各种指令的运算器、分支跳转处理逻辑。而FPGA的每个逻辑单元的功能在重编程时就已经确定,不需要指令。
! o% J! [9 X: M- h3 O/ o5 {冯氏结构中使用内存有两种作用:①保存状态。②执行单元间的通信。9 M+ s7 c& j2 ?0 h. y3 S4 b, b/ W
1)保存状态:FPGA中的寄存器和片上内存(BRAM)是属于各自的控制逻辑的,无需不必要的仲裁和缓存。( }( S' O/ ` d* s9 m- V& B/ W5 B2 J
2)通信需求:FPGA每个逻辑单元与周围逻辑单元的连接在重编程时就已经确定了,并不需要通过共享内存来通信。+ f$ Z" @4 I- i$ u
计算密集型任务中:
9 m) i3 W' V! K( H在数据中心,FPGA相比GPU的核心优势在于延迟。FPGA为什么比GPU的延迟低很多?本质上是体系结构的区别。FPGA同时拥有流水线并行和数据并行,而GPU几乎只有数据并行(流水线深度受限)。
8 z- {0 b( w# NEg;处理一个数据包有10个步骤,FPGA可以搭建一个10级流水线,流水线的不同级在处理不同的数据包,每个数据包流经10级之后处理完成。每个处理完成的数据包可以马上输出。而GPU的数据并行方法是做10个计算单元,每个计算单元也在处理不同的数据包,但是所有的计算单元必须按照统一的步调,做相同的事情(SIMD)。这就要求10个数据包必须同进同出。当任务是逐个而非成批到达的时候,流水线并行比数据并行可实现更低的延迟。因此对流水式计算的任务,FPGA比GPU天生有延迟方面的优势。7 c8 p. D4 R1 R
ASIC在吞吐量、延迟、功耗单个方面都是最优秀的。但是其研发成本高,周期长。FPGA的灵活性可以保护资产。数据中心是租给不同租户使用的。有的机器上有神经网络加速卡,有的有bing搜索加速卡,有的有网络虚拟加速卡,任务的调度和运维会很麻烦。使用FPGA可以保持数据中心的同构性。
* n6 B( C7 r# b$ }2 H( B通信密集型任务中;
9 J" J2 ]# o* v. E f( |: PFPGA相比GPU、CPU的优势更大。
0 Z- S2 P6 w+ z* b①吞吐量:FPGA可以直接接上40Gbps或者100Gbps的网线,以线速处理任意大小的数据包;而CPU则需要网卡把数据包接收过来;GPU也可以高性能处理数据包,但GPU没有网口,同样需要网卡,这样吞吐量受到网卡和(或)者CPU的限制。
' I! x/ D8 K# I4 o% n3 b F" p②延迟:网卡把数据传给CPU,CPU处理后传给网卡,再加上系统中的时钟中断和任务调度增加了延迟的不稳定性。
' d/ I9 N3 O" H; k R9 x2 D" D' }综上所述,在数据中心里 FPGA
' k" Q2 @4 t% j* f7 p6 Q2 p k的主要优势是稳定又极低的延迟,适用于流式的计算密集型任务和通信密集型任务。
9 e3 l# t- Q5 Q2 ?( Z( NFPGA , f7 X8 r: {# u
和 GPU 最大的区别在于体系结构,FPGA
( z+ E' E4 ^4 \9 l- X更适合做需要低延迟的流式处理,GPU
6 b6 H4 b! u- {) S) Q: Q/ M R更适合做大批量同构数据的处理。; N/ x, X& Q9 T7 q3 L
成也萧何,败也萧何。缺少指令同时是 FPGA
' T ]8 t; g( f1 P的优势和软肋。每做一点不同的事情,就要占用一定的 FPGA1 B% q2 [; n+ c1 u% Q9 v
逻辑资源。如果要做的事情复杂、重复性不强,就会占用大量的逻辑资源,其中的大部分处于闲置状态。这时就不如用冯·诺依曼结构的处理器。6 ]' [7 z J0 o. g5 \5 C
FPGA _7 T, N! d9 o
和 CPU 协同工作,局部性和重复性强的归
[$ u8 _, S0 C# YFPGA,复杂的归
9 D# ]1 e" U9 z/ Q: X$ [7 K: gCPU。$ {) v i: J" L5 ]; z N7 |
读
i' W. |7 m+ x$ ?3 C《为什么越来越多的数据中心使用 FPGA ?》0 A3 y2 d! v/ @: m
笔记
Y( C% D3 c* e- U& a该文链接http://mp.weixin.qq.com/s/xQNf7Sdbkx3EwMelby_IBA& T+ Q% R# i- A% E# t
6 G- d. J" f N" r" }0 A: K% L9 x" j) ? T) m! A8 f! x
|
|