FPGA虚拟化:突破次元壁的技术

一、 利用FPGA虚拟化突破时空限制

在传统的FPGA开发模型中,使用者通常使用硬件描述语言(HDL)对应用场景进行建模,然后通过特定的FPGA开发工具将硬件模型映射到FPGA上,最终生成可以运行的FPGA映像。

这种开发模式的另外一个主要缺点是,FPGA只能由单一用户开发和使用,而与应用场景、FPGA的产品种类等无关。比如对于一个对资源需求不大、而且不需要连续运行的应用而言,大部分FPGA的硬件资源在大部分时间内都会闲置。很显然,这样很难在时空范围内对FPGA进行充分利用,见下图。

采用虚拟化技术后的FPGA开发模型

为了提高FPGA的开发效率、更好的利用FPGA的逻辑资源、方便FPGA的大规模部署和应用,需要将FPGA进行一定程度的逻辑抽象,使顶层用户不必太多关注于FPGA硬件逻辑的实现方式与细节。由此,FPGA虚拟化技术就应运而生。

可以说,FPGA虚拟化技术打破了时间和空间维度的限制,使用户能够轻松的在不同时间,对多个FPGA的各类资源进行充分的调度与使用,见上图。

FPGA虚拟化技术目前仍在发展初期,是工业界和学术界研究的热点。在本文中,老石将介绍三种主流的FPGA虚拟化技术的实现方法:

  1. FPGA Overlay
  2. 部分重构与虚拟化管理器
  3. FPGA资源池与虚拟化框架

二、FPGA Overlay

Overlay本意是覆盖或叠加,它在网络技术里是一种构建虚拟逻辑网络的方法。它的实现方法通常是在物理网络架构的基础上,增加一层虚拟的网络平面,使得上层应用与底层物理网络相分离。这个虚拟的网络平面本质上可以通过隧道封装技术实现,在数据中心网络中常用的VxLAN就是Overlay的主流标准之一。

Overlay中增加虚拟层次的方法与本章开头给出的FPGA虚拟化方法非常类似。事实上,FPGA Overlay可以说是目前应用最广泛的FPGA虚拟化方法之一。和网络技术相似,FPGA Overlay是一层位于FPGA硬件层之上,并连接顶层应用的虚拟可编程架构,如下图所示。

Overlay的具体实现形式有很多种,它既可以是工程中常用的软核通用处理器,也可以是一组支持更高级编程模型的可编程逻辑处理单元,称为CGRA(Coarse-Grained Reconfigurable Arrayÿ

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值