基于 FPGA 客户端的分布式计算网络设计

时间:2025-11-02  作者:Diven  阅读:0

高校和私企正在应用分布式平台,而不是安装速度更快、耗电更大的超级计算机来解决日益复杂的科学算法,针对SETI@home 这样的项目,则使用数以千计的个人计算机来计算数据。[1,2] 当前的分布式计算网络一般用CPU 或 GPU 来计算项目数据。

基于 FPGA 客户端的分布式计算网络设计

FPGA 也正被像 COPACOBANA这样的项目所采用,该项目使用 120个赛灵思 FPGA 通过暴力处理来破解DES 加密文件。[3] 不过在这个案例中,FPGA 都被集中布置在一个地方,这种方案不太适合那些预算紧张的大学或企业。目前并未将 FPGA 当作分布式计算工具,这是因为使用需要借助 PC,才能用新的比特流不断地重新配置整个 FPGA。但是现在有了赛灵思部分重配置技术,为分布式计算网络设计基于 FPGA 的客户端完全可行。

我们汉堡应用技术大学的研究小组为这样的客户端创建了一个原型,并将其实现在单个 FPGA 上。我们的设计由静态和动态两大部分组成。其中静态部分在 FPGA 启动时加载,与此同时用静态部分实现的处理器从网络服务器下载动态部分。动态部分属部分重配置区域,提供共享的 FPGA资源。[4] 采用这种配置,FPGA 可以位于世界上的任何地方,用较低的预算就能够为计算项目提供强大的计算能力。

分布式 SOC 网络

由于具有信号并行处理能力,FPGA能够使用比微处理器慢 8 倍的时钟,低 8 倍的功耗实现比其快三倍的数据吞吐量。[5] 为利用该强大的计算能力实现高数据输入速率,设计人员一般将算法实现为流水线,比如 DES 加密。[3] 我们开发分布式 SoC 网络 (DSN)原型的目的是加快算法的速度和使用分布式 FPGA 资源处理大型数据集。我们的网络设计采用“客户端- 代理-服务器”架构,故我们可以将所有注册的片上系统 (SoC) 客户端分配给每一个网络参与方的计算项目(如图 1所示)。这在将每一个 SoC 客户端连接到唯一的项目的“客户端- 服务器”架构中是无法实现的。

另外,我们选择“代理- 服务器”架构可以将每个 FPGA 的 TCP/IP 连接数量减少到一个。DSN FPGA 负责运算使用专用数据集的算法,而“代理-服务器”则负责管理 SoC 客户端和项目客户端。代理调度连接的 SoC 客户端,让每个项目在相同的时间几乎拥有相同的计算能力,或者在 SoC 的数量少于计算请求的项目时分时复用soc客户端。

项目客户端提供部分重配置模块(PRM) 和激励输入数据集。在连接到“代理- 服务器”之后,项目客户端将PRM 比特文件发送给服务器,然后由服务器将分配给带有空闲的部分可重配置区域 (PRR) 的 SoC 客户端。SoC 客户端的静态部分是一个基于MICroBlazeTM 的微控制器,用接收到的 PRM 动态重新配置 PRR。接下来,项目客户端开始通过“代理- 服务器”发送数据集并从 SoC 客户端接收计算的结果。根据项目客户端的需要,举例来说,可以比较不同的计算结果,或根据计算目的评估计算结果。

MICroBlaze 处理器负责运行客户端软件,客户端软件管理部分重配置以及比特流和数据交换。

SOC 客户端

我们为随 ML605 评估板配套提供的赛灵思 Virtex®-6 FPGA(XC6VLX240T)开发了 SoC 客户端。MicroBlazeTM 处理器负责运行客户端软件,客户端软件负责管理部分可重配置以及比特流和数据交换(如图 2 所示)。用户逻辑封装PRR 的处理器本地总线 (PLB) 外设用以连接静态部分和动态部分。在动态部分驻留的是接收到的 PRM 提供的加速器 IP 核使用的 FPGA 共享资源。为存储接收到的数据和计算完成的数据,我们选择了 DDR3 存储器而非CompactFlash,因为 DDR 存储器有更高的数据吞吐量和无限制的写入访问次数。PRM 存储在专用数据段内,以控制其大小,避免与其数据集发生冲突。该数据段大小为 10 MB,足以存储完整的 FPGA 配置。因此每一个PRM 都应该与这个数据段的大小匹配。

我们还为接收及结果数据集创建了不同的数据段。这些数据段的大小有 50 MB,能够为比如图像或加密文本文件等提供足够的寻址空间。管理这些数据段主要依靠 10 个管理结构。该管理结构包括每个数据集对的起始/ 终点地址,以及指示结果数据集的标志。

猜您喜欢

贴片电阻的F精度代表1%,在工程应用中属于比较高的精度等级。常见的贴片电阻精度等级包括:F (1%): 适用于对精度要求较高的电路,例如精密仪器、医疗设备等。G...
2024-11-26 11:29:32

L型扳手是常见的工具,应用于机械维修和日常生活中。主要参数包括尺寸、材质和扭矩范围。L型扳手的尺寸通常以毫米或英寸表示,常见的有6mm、8mm、10mm、12m...
2010-07-22 00:00:00

FPGA开发过程中,离不开时序约束,那么时序约束是什么?简单点说,FPGA芯片中的逻辑电路,从输入到输出所需要的时间,这个时间必须在设定的时钟周期内完成,更详细...
2023-06-26 14:42:00

随着电子产品的不断发展,表面贴装技术(SMD)在现代电子制造中变得越来越重要。其中,SMD_P=0.8mm这一参数引起了广泛关注。本文将对SMD_P=0.8mm...
2025-03-04 09:17:13

箱/炉作为现代工业和家庭中常见的加热设备,具有多项显著优势。箱/炉的加热效率高,能够迅速达到所需温度,节省时间和能源。其温度控制精确,适用于多种加工需求,确保产...
2009-03-27 00:00:00

1 引 言INS/GPS组合导航系统在军事领域和民用方面的运动载体中得到了广泛应用。INS是组合导航系统中的核心部分,涉及多个陀螺仪、多个加速度计和温度传感器...
2020-08-06 16:20:00

连接器外壳在现代科技中是非常重要的配件,应用于多个领域。在电子设备中,连接器外壳为电路提供保护,确保信号的稳定传输,常见于手机、电脑和家用电器等产品中。在汽车行...
2020-09-30 00:00:00

现代工业和电子产品中,配件的选择对产品的性能和用户体验非常重要。本文将重点介绍“Accessories_5X3.15MM_SM”这一配件,探讨其特性、应用以及为...
2025-04-19 21:00:03

隔离式I2C是重要的通信接口,应用于多个领域。在工业自动化中,隔离式I2C用于设备间的安全数据传输,能够有效防止电磁干扰和地环路问题,确保系统的稳定性与可靠性。...
2022-10-19 00:00:00

二极管是应用于电子电路中的半导体器件,主要用于整流、开关、信号调制等功能。在某些情况下,二极管可能会发生击穿,导致器件损坏或电路失效。本文将探讨二极管在什么情况...
2025-04-07 14:30:03