30.07.2013 Views

第44 期: 面向未来十年的“All Programmable” - Xilinx

第44 期: 面向未来十年的“All Programmable” - Xilinx

第44 期: 面向未来十年的“All Programmable” - Xilinx

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

分 布 式 计 算 领 域 的 出 色 表 现<br />

高校和私企正在应用分布式平<br />

台,而不是安装速度更快、<br />

耗电更大的超级计算机来解<br />

决日益复杂的科学算法,针对 SETI@<br />

home 这样的项目,他们则使用数以千<br />

计的个人计算机来计算它们的数据。 [1,<br />

2] 当 前 的 分 布 式 计 算 网 络 一 般 使 用<br />

CPU 或 GPU 来计算项目数据。<br />

FPGA 也正被像 COPACOBANA<br />

这样的项目所采用,该项目使用 120<br />

个赛灵思 FPGA 通过暴力处理来破解<br />

DES 加密文件。 [3] 不过在这个案例中,<br />

FPGA 都被集中布置在一个地方,这<br />

种方案不太适合那些预算紧张的大学<br />

或企业。目前并未将 FPGA 当作分布<br />

式计算工具,这是因为它们的使用需<br />

要借助 PC,才能用新的比特流不断地<br />

重新配置整个 FPGA。但是现在有了<br />

赛灵思部分重配置技术,为分布式计<br />

算网络设计基于 FPGA 的客户端完全<br />

可行。<br />

我们汉堡应用技术大学的研究小<br />

组为这样的客户端创建了一个原型,<br />

并将其实现在单个 FPGA 上。我们的<br />

设计由静态和动态两大部分组成。其<br />

中静态部分在 FPGA 启动时加载,与<br />

<br />

<br />

SoC 1<br />

<br />

<br />

SoC n<br />

此同时用静态部分实现的处理器从网<br />

络服务器下载动态部分。动态部分属<br />

部分重配置区域,提供共享的 FPGA<br />

资源。 [4] 采用这种配置,FPGA 可以<br />

位于世界上的任何地方,用较低的预<br />

算就能够为计算项目提供强大的计算<br />

能力。<br />

<br />

<br />

TCP/IP<br />

<br />

分布式 SOC 网络<br />

由于具有信号并行处理能力,FPGA<br />

能够使用比微处理器慢 8 倍的时钟,<br />

低 8 倍的功耗实现比其快三倍的数据<br />

吞吐量。 [5] 为利用该强大的计算能力<br />

实现高数据输入速率,设计人员一般<br />

将算法实现为流水线,比如 DES 加密。<br />

[3] 我们开发分布式 SoC 网络 (DSN)<br />

原型的目的是加快算法的速度和使用<br />

分布式 FPGA 资源处理大型数据集。<br />

我们的网络设计采用“客户端 - 代理 -<br />

服务器”架构,故我们可以将所有注<br />

册的片上系统 (SoC) 客户端分配给每<br />

一个网络参与方的计算项目(如图 1<br />

所示)。这在将每一个 SoC 客户端连<br />

接到唯一的项目的“客户端 - 服务器”<br />

架构中是无法实现的。<br />

另外,我们选择“代理 - 服务器”<br />

SoC 1<br />

SoC n<br />

1<br />

m<br />

<br />

架构可以将每个 FPGA 的 TCP/IP 连<br />

接数量减少到一个。DSN FPGA 负责<br />

运算使用专用数据集的算法,而“代理 -<br />

服务器”则负责管理 SoC 客户端和项<br />

目客户端。代理调度连接的 SoC 客户<br />

端,让每个项目在相同的时间几乎拥<br />

有相同的计算能力,或者在 SoC 的数<br />

量少于计算请求的项目时分时复用 soc<br />

客户端。<br />

项目客户端提供部分重配置模块<br />

(PRM) 和激励输入数据集。在连接到<br />

“代理 - 服务器”之后,项目客户端将<br />

PRM 比特文件发送给服务器,然后由<br />

服务器将它们分配给带有空闲的部分<br />

可重配置区域 (PRR) 的 SoC 客户端。<br />

SoC 客户端的静态部分是一个基于<br />

MicroBlazeTM 的微控制器,用接收到<br />

的 PRM 动态重新配置 PRR。接下来,<br />

项目客户端开始通过“代理 - 服务器”<br />

发送数据集并从 SoC 客户端接收计算<br />

的结果。根据项目客户端的需要,举<br />

例来说,它可以比较不同的计算结果,<br />

或根据计算目的评估计算结果。<br />

SOC 客户端<br />

我们为随 ML605 评估板配套提供的赛灵<br />

<br />

<br />

14 赛灵思中国通讯 44 <strong>期</strong> 2012 年第二季度<br />

PRM<br />

<br />

<br />

1<br />

PRM<br />

<br />

<br />

m<br />

图 1 - 带有由 FPGA 实现,并由中央代理 - 服务器管理的 SoC 客户端的分布式 SoC 网络。项目客户端负责分配部分可重配置模块和数据集。<br />

SoC 客户端的动态部分通过 PRR 提供资源,静态部分内含的微控制器负责处理重配置工作。

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!