易灵思 08-23
边缘计算已成为常见的流行语。但是,它到底是什么?它与云计算(这是一种通用方法)相比如何?本白皮书讨论了边缘计算,边缘计算及其与云计算的关系。它还探讨了一些趋势和需求,这些趋势和需求促使人们对边缘计算产生了兴趣,以及实现这些应用程 序时遇到的挑战。然后,本文讨论了 FPGA 技术,尤其是易灵思 FPGA 解决方案如何对解决这些挑战具有优势。
云计算和雾计算
在云计算中,数据是从许多位置收集的,并被馈送到位于中央的系统中,该系统保存数据 并使用大规模系统执行任何分析和/或计算。各个数据流通过连接网络上传,该连接网络 因这些边缘设备的部署位置、它们是什么、数据大小以及其收集数据的速率而异。连接介 质可逐节点改变,基于每种需求,网络可是公共的、私有的、共享的或专用的。
在此模型中,连接本身涉及成本。这意味着,从边缘提取所有数据然后将其传送到云的管道的大小具有固有成本。数据越多或收集的速率越快,管道就必须越粗大,这通常会导致 成本上升。如果我们在谈论简单的传感器数据,那么连接可能不是问题。但如果您正在收 集视频数据,则可能会遇到更多带宽挑战和担忧。最终,将所有数据都传到并存储在云会 产生相关费用。
云计算还具有相关的滞后时间或延迟。您必须收集数据并将其传输到云以执行计算,还有可能将结果发回边缘设备以采取进一步行动。因为没有工作是瞬时完成的,所以每一步都 伴有相关的时间延迟。滞后时间也可能会变化,这意味着它并不总是确定的。该过程取决 于连接类型、边缘设备与云服务器之间的相对地理位置以及所需的实际云计算时间。其中 一些资源是共享的,这也可能导致结果时间可变。无论延迟时间或时长变异如何形成,结 果都一样,有可能导致应用性能降低或无法使用。
因应用需要客户端和服务器之间的实时通信,现代的应用和架构(包括云)对延迟变得益 发敏感。服务的任何减慢或中断对最终用户来说都显而易见。为解决某些延迟问题,已经 发展出一种混合形式,有时也称为“雾”。在雾安排中,数据中心分布在更广泛的地理区 域,以帮助最大程度地缩短到达服务器的网络传送用时。
智能边缘计算
顾名思义,边缘计算是指计算发生在靠近活动发生的地方。计算在物理位置上是紧挨着收集的数据源实施的,而不是将所有数据先推送到云再进行计算。计算就在数据源本地进行。
边缘计算并不是真正针对特定应用或设备的。许多应用都可以利用边缘计算带来的能力。边缘应用可以出现在智能工厂、智能城市、智能家居、智能交通、智能消费者,实际上,覆盖任何和所有应用。不过,有些应用特性在边缘要比在云端干得更好,我们稍后将讨论 其中一些特性。
为完成边缘计算,您必须在收集数据的边缘设备中包括某种级别的处理功能。眼下,当今智能手机和许多其它移动设备已经在进行某种程度的边缘计算或处理。边缘计算的本地计 算量可能有所不同。本地处理量由应用本身或其它特定于应用的变量确定。
例如,某些边缘应用可能仅执行所需计算的一部分。然后,将这些预处理结果推送到云或其它计算节点以进行进一步的计算或分析。其它情况下,所有分析都在本地完成,并且仅 传递结果(如果有)。在这些情况下,收集的数据将保留在本地,从而确保其安全性。
有时,许多边缘设备位于同一位置。所有这些边缘设备都可以直接连接到进行边缘计算的本地聚合器。在这种混合情况下,边缘分析系统(聚合器)在地理位置上仍然是本地的, 但更大的一组输入数据设备共享计算。
如本图所示,对更多本地边缘处理的需求在增长,这种爆炸性成长似乎是全球性市场趋势。来自marketsandmarkets.com的研判表明,未来5年,包括拉美、中东和非洲在内的所 有地区的边缘计算市场都将步入增长轨道,尤其是北美、亚太和欧洲的现存大体量市场。
为什么我们需要边缘计算?
边缘计算的增长是一种全球现象,现在我们将讨论这种增长发生的一些原因。主要是,对边缘计算的需求来自云计算所面临的可感知的挑战。
•带宽 - 带宽挑战取决于边缘设备的位置以及所收集数据的体量和速率。挑战在于 将所有这些设备连接到云的互连策略以及执行此操作所需的性能。
•成本 - 信号链中有几个节点会导致云模式产生成本。将数据发送到云需要实际的连接成本,涉及固定和可变成本。这些边缘应用通常始终处于开机状态,需通过管 道不停地推送所有采集数据,这将产生可变成本。最后,一旦所有数据都存储到 云,就会产生相应的存储成本。
•延迟 - 所有环节都不会立马完成,需要时间才能将数据从边缘、通过连接的网络发送到云数据中心、再进行计算,然后有可能再通过网络发回命令(和/或数 据)、在边缘执行某些操作。在某些情况下,将数据移至云、再计算产生的“滞后”可能超出应用可接受的范围。由于许多资源是可共享的,延迟也可能有一定程 度的可变性。
•安全和保密性 - 一旦数据送出本地边缘设备,数据就有可能变得不安全。数据类型可能会促使人们产生避免任何潜在“盗窃或操纵”的愿望。出于安全原因,特别 敏感的数据(例如面部信息、个人身份、医疗信息等)可能会驱动对更多边缘计算 分析的需求。
在边缘进行计算时,您可对流程有更多掌控。在您系统的完全控制下,计算在本地完成。 由于没有共享内容,因此更具确定性。因没有云计算环境中的连接时长和计算滞后,本地 边缘计算可更快地进行。无人驾驶运输等应用的有些要求,可能使云计算选项具有挑战 性。在某些极端的应用中,例如地理位置偏远的设备,连接的能力(如果有的话)可能非 常有限,这显然会促使您采用边缘计算方法。最后,当数据保留在边缘时,它们不会通过 公共网络或云进行传送,从而本质上提高了安全性。
多样化的边缘需求
看这张图,左侧的示例涉及较少的数据量和可能庞大的安装基数。也许您正在通过智能计量、资产管理等应用收集简单的传感器数据,还可能需要诸如环境、状态、地理,时间戳 记等信息。再向右看,会看到复杂性、带宽和关键性在增加;此外,更大的数据集和对更 短延迟、高可用性以及更时间敏感的实时结果的要求也在增加。每个应用都有自己的独特 要求,需要对其进行评估,以确定需要在何处以及什么级别的处理。
实时自动化控制、智能电网、 AR/VR、无人机、健康管理和车队(船队)管理等应用的差异很大,但所有这些应用都对边缘计算有某种形式的需求,这将成为我们先前展示的未来全球增长的一部分。面对如此众多的实时应用,具有同等多样化和可扩展性的计算架构成 为必要,从而推动了对硬件加速的需求。
边缘应用面临的挑战
边缘设备自身也面临挑战,许多架构师和设计师在寻找最佳方案,以优化纯边缘计算和边缘聚合计算。这些挑战是成本、性能、功耗、物理尺寸和“可变性” (意味着可扩展、灵 活和可升级)这五只拦路虎。这些是传统的“相互制掣”类挑战,其中针对一个特性进行 优化可能会伤及其它一个或多个指标。尽管不同的应用和用例显然具有自己的重要性等 级,但是系统级决策需要在一定程度上统筹所有这些要素。
让我们更详细地了解这些挑战。
•成本 - 作为纯边缘设备,与每个节点相关的成本不会共享,它是累计成本。因此,设备总成本为单一节点的总成本乘以所需节点数。物联网设备的数量可能很 大,且线性的总部署成本取决于单个边缘设备的成本。有关下一个指标的决定可能 会对每个节点的总成本产生很大影响。
•性能 - 完成所需的计算和分析所需的性能水平要多高?数据收集和计算的频率多快,也是重要因素。我的意思是说,它是个始终在线、持续收集数据并进行分析的 应用吗?或者,应用时间戳记仅针对特定时间的收集,还是基于本地或远程触发器。
•功耗 - 许多边缘设备无法不受限地获得电源。该设备可以由电池供电,也可以使 用替代能源(如太阳能、风能等)代替传统的墙插电源。了解您拥有的功耗级别以 及可能的电源接入方式和时间,可以进一步确定您的架构。
•大小 - 边缘设备的实际大小进一步决定了边缘计算组件的选择。许多边缘设备在 外形上往往很小,这限制了您可以使用的组件。此限制可能会影响如电池、计算架构、成本等多个决策。
•可扩展/灵活/可升级 - —许多节点可能相似,但性能水平不同,性能要求可能由 更具挑战性的位置来决定。拥有具一定扩展能力的方案,就可在要求差别不大的情况下,重复使用。边缘计算是年轻且不断增长的市场,正在变化和发展。拥有可连 接许多传感器或数据类型、足够灵活的内核设计,使您可以重复使用该内核设计, 并以最少的工作量轻松地将其移植到另一个用例。许多边缘设备安装在不太顺手的 位置,因此能远程对系统和计算设备升级就很有帮助。
所有这些挑战都会影响有关您的计算/分析方案架构的决策。不同的优先级可以创建混合方法,其中本地聚合器可以连接更多基本边缘设备,由聚合器进行计算。这仍然是边缘计 算,数据仍在本地处理,但这种多层级方法可以更好地满足您的价格/性能/功耗/尺寸综 合指标。
现在,我们已经深入探讨了边缘计算所面临的挑战,让我们看一下现场可编程门阵列(或 FPGA)如何帮助缓解这些问题并满足系统要求。尽管并非所有FPGA系列都具有你具体用例 所需的所有特性,但FPGA确实为寻找解决方案提供了绝佳空间,您只需了解各FPGA公司在 针对特定用例设计产品方面的差异。并非所有FPGA供应商都一样,同一供应商的不同产品 系列也不同。
优势:性能和延迟
CPU是顺序处理器件。它们将一种算法分解为一系列操作,并按顺序、一次执行一个。借助并行性,您可以同时完成许多处理。FPGA可在单一或几个阶段中处理特定的功能。相 反,典型的处理器使用其单一算术逻辑单元用多个序列来实现相同功能。此外, FPGA具有 多个DSP块和大量板载块存储器。您可在芯片上就进行很多处理。保持流水线满载并在芯 片上进行处理比在芯片外快。
无论是以FPGA或其它形式实现的定制硬件方案,都提供了展开算法的机会,因此过程的每 个部分都可以通过布置在管道中的专用硬件来完成,颇像组装线。
与面向软件的处理器方案相比,本页这张图非常凝练地显示了FPGA的并发优势。 FPGA中的 R1、R2、R3和R4的功能可以同时全部实现,而诸如典型处理器那样的方案,必须以串行方 式进行计算。实际上,专用的硬件/逻辑方案比处理器引擎和某些代码方法更优雅。
优势:大小和功率
许多边缘应用始终处于运行状态,收集数据、计算并基于结果执行操作。某些被认为是低 功耗的设备会使用休眠模式。尽管有好处,但对边缘计算中常见的一直开机类应用而言, 休眠不好用。另一方面,如果FPGA是专门为低功耗设计的,即便始终开机,功耗也不高。 与其它方法相比, FPGA可利用并行机制来降低内部时钟频率。较低的时钟频率的动态功耗 也较低。
不过,重要的是要了解每个FPGA系列的功耗特性,因为每个FPGA系列在设计时都考虑了针 对的特定应用。静态功耗和动态功耗因供应商而异、因系列而异,甚至同一系列的也不尽 相同,因此您要在认真考虑设计细节的基础上仔细研判。
最后,由于边缘应用的位置,它们可能会受到大小限制。一些FPGA系列设计为具有较小的 裸片尺寸,以利用许多现有的小型BGA封装。通常,较小封装的器件能用以连接系统中其它组件的I/O也较少,因此您需要确保能在具有所需的IO数时,选到最小的封装尺寸。
FPGA的功耗很大程度上取决于供应商和产品系列,因此您需要确认所选的器件能满足需 求。您应始终为您的用例搭建一块原型电路板,以完全验证确认可实现性。
优势:灵活、可升级、安全
顾名思义, FPGA (现场可编程门阵列)本身就是可编程的。此外,您甚至可以在生产后随 时更改编程。该功能,使您可在系统部署后,在现场升级和更改系统。
大多数FPGA供应商将FPGA分为相关的器件系列,它们通常封装相同、管脚兼容。这种灵活 性意味着您可以为原始设计和调试选择最高端的器件,然后可以切换到仍满足开发和生产 最终要求的最小器件。凭借此功能,您可以权衡不同系统或板卡的性能、功耗和成本点。
可对FPGA与板卡或系统中其它器件的互连方式进行极其灵活的配置。尽管不是每个系统都 特别需要,但是最常见的FPGA功能之一是其几乎可连接任何器件的能力。边缘计算目前尚 处于早期阶段,因此,与您可能需要的任何东西互连的能力是可重复利用的内核设计的重 要系统级属性。可高度灵活地将FPGA IO配置为许多IO标准,并且可以增加一定程度的桥 接能力。如果不是不可能的话,使用其它处理引擎或专用ASSP很难实现这种灵活性。
除了通过在本地处理大多数数据将其保留在边缘这一事实外,您还可以利用FPGA的灵活性 来建构功能,以进一步保护被推送到云的任何数据。如前所述,FPGA是张白纸,除了边缘处理能力之外,您还可以用其创建所需的任何功能。
加速边缘计算
许多边缘计算/分析都与视觉系统有关。无论是检测特定的模式、序列或动作,视觉系统 都是分析领域的重要推手。这些应用可涵盖工业、消费、监控和汽车市场。包括:从家门 口可识别有人来的门铃,到计数正在生产线上移动的产品数量的仪器仪表,或者检测紧急 情况下建筑物中是否有人的设备。基于视频流进行分析并做出决策的系统是当今市场的重 要组成部分,随着时间的推移将面临更多独特挑战。 FPGA非常适合满足这些新要求。
此外,随着更多各式各样自动驾驶机器的出现,如汽车、机器人、行李箱或垃圾桶等,使 用视觉进行控制决策的需求继续伴随着益发具有挑战性的新应用中涌入市场。这些视觉用 例将继续对功耗、性能、封装和价格提出新要求。
通常, FPGA在视频处理方面做得很好。并行性可帮助您同时执行许多操作,从而使您可以 缩短任何处理闭环以优化系统延迟。同样,利用所有资源,您可以创建各种大小的内部总 线结构,以优化视频处理。最后,FPGA IO的灵活性使您可以原生态地(无需转换桥接) 与许多设备接口,因此您可以高度集成的设计来应对功耗和空间挑战。视觉传感器使用各 种IO标准,因此灵活性很重要。最后, FPGA具有大量的嵌入式块存储器和许多DSP块,可用于处理和/或系数存储,这在AI推理应用中可能极具价值。
许多边缘计算应用都受益于加速。
•卷积神经网络(CNN)是一种AI推理应用,涉及许多矩阵乘法运算,这些运算的计 算量非常大,并且非常适合FPGA内部的计算加速。
•在需要从传感器捕获高分辨率图像/视频并将其通过网络传输到云服务器以进行分析操作的应用中,需要对图像/视频进行压缩以减小数据带宽。在这种情况下,计算加速会派上用场。
•在涉及敏感数据的应用中,必须先对信息进行加密,然后再通过公共网络发送。先进的数据加密算法也可能需要大量计算,因此加速计算亦很有帮助。
•在某些情况下,需要汇总从多个源收集的数据并通过单一传输介质发送数据。例如,物联网应用中的传感器中心、网络应用中的数据链路聚集或大数据分析应用中 的视频链路聚集。这些应用中的大多数都需要高速和低延迟操作,并且通常借助专 用硬件来加速它们。
•将数据实时从一种格式转换为另一种格式的边缘应用也很常见,尤其是当数据以非 常高的速度传入且需低延迟时。这种情况下,只能加速进行任务处理。通常,连接 生产和使用具有不同预期格式的数据的硬件时,需进行转换;例如,将视频输入数 据从MIPI接口转换为HDMI,从HDMI转换为DisplayPort等。
除视觉传感器外,还可能用到其它传感器,如环境、音频或振动传感器。每种传感器类型都有自己的计算或加速需求。
易灵思特破性可编程建构
易灵思独特的可编程技术可以帮助解决边缘计算应用程序所面临的问题。Trion是我们的低功耗小尺寸,体积驱动FPGA的家族名称。Trion家族的特破性技术来自其独特的架构,即Quantum。 我们的Quantum技术使我们的设备在市场上具有许多独特的特破性和功能。
现在,我们已经大致讨论了FPGA在边缘计算中的优势,我们将介绍易灵思独特的可编程技术,并讨论它如何帮助解决边缘计算应用面临的问题。
Quantum FPGA技术
任何FPGA的基本构建块都是逻辑单元和将逻辑单元连接在一起的路由结构。创建FPGA时,一旦选择了逻辑单元设计和结构/布线,它就会“散布”在裸 片上,并且无论您的RTL设 计是否使用它都会占空间、费功耗。在粗粒度的FPGA架构中,大多数设计仅利用逻辑单元 和路由开关中可用功能的一小部分,因此很多占空间、费功耗的额外功能被浪费了。
在易灵思 Quantum架构中,我们有一个独特的细粒度逻辑单元,称为可交换逻辑和路由胞 元或XLR胞元(cell)。这种独特的逻辑单元不仅能够创建设计所需的逻辑功能,还可以 用作布线本身。利用这种独特的功能,我们的Efinity工具提供的结果可减轻拥塞问题, 并获得比传统FPGA高得多的利用率,同时仍可提供中端、成本优化系列所需的性能。通过这种方法,我们可以节省金属层,并且逻辑设计可非常小;与传统的FPGA相比,这在“功 耗-性能-面积”方面有很大优势。
当我们转向未来和不同的硅工艺、甚至是研制满足不同市场需求的衍生产品时,这种架构 还赋能我们以灵活性、可扩展性和快速的生产时间。如果看一下Trion器件的大小,作为 一家初创公司,我们业已提供多达20万个逻辑单元,比当今的某些传统FPGA供应商提供的 还多。此外,我们已经对Quantum架构建模,可以扩展到一百万个以上的逻辑单元,而不必修改底层架构,因此这使我们能够迁移到未来的几何节点。我们已有用10nm工艺实现的 这种架构。
Quantum架构优势
与其它竞争的中端方案比,我们以业界领先的功耗表现,提供了超过友商对应产品的性能 和利用率指标。对使用任一家FPGA进行系统设计来说,这些重要特性都是关乎成败的决定因素。
Quantum技术中的XLR 逻辑单元提供了极大的灵活性和可扩展性,从而可以提高利用率并 降低设计复杂性。由于具有这种灵活性,您可以更低功耗、更轻松地满足您的要求,且我 们可将同一架构很快移植到其它平台。
通过将XLR单元用作路由而非逻辑,可为设计中的热点“降温”,热点就是拥塞可能会影 响时序的地方。在编译时,Efinity软件动态决定将XLR单元用作布线还是逻辑,并且针对 该设计的特性专门优化硅资源的使用。
在其它架构中,当利用率大概仅为60-70%时,您可能就被迫需要转移到同系列下一个更大的器件。借助Quantum架构,您实际上可充分利用为该系列成员定义的逻辑量,所花的 每分钱都不会“浪施”。
Quantum架构赋能的小裸芯带来了低功耗、小体积,价格优化的方案,而我们之前提到的 所有指标对边缘处理都至关重要。
Trion FPGAs
现在,我们已经了解并掌握了更多有关Quantum技术和独特的XLR路由胞元的信息,下面我 们看看Trion产品本身的内在特性,并更多地了解该FPGA系列所涉及的细节。
我们的器件基于大容量SRAM工艺,范围从4,000到20万个逻辑单元。 Trion器件功能丰富,包括嵌入式块 RAM和18x18乘法器模块。正如我们稍后将讨论的,这些配置在某些边缘处 理应用中极其重要,当然在许多其它应用中也很重要。
此外,较小的Trion系列成员具有可选的Mask选项,使您可以省去配置器件,从而节省了 设备的空间和成本。
我们还在某些Trion系列成员中集成了一些非常关键的硬块功能,这些功能非常适合边缘 应用。这些硬核(hardened)模块提供了出色的相机传感器与多个MIPI / CSI-2模块的接口,并具有足够的逻辑能力来完成器件内部的图像处理。在某些器件中,我们还具有硬核 的DDR DRAM内存控制器,用于与帧缓冲区或其它系统存储器接口。
对模块的硬核处理,使这款产品达到通常仅在高端得多的FPGA上才能有的性能水平,而这 些高端FPGA的功耗和成本要高得多、封装大得多。
我们的Trion系列在许多工业电源和LED控制器应用中都非常成功。我们的低功耗和小封装 还非常适合这些市场和细分市场中的任何IOT及边缘应用。
我们的FPGA产品定位众多市场,除了我们今天讨论的边缘计算之外,还满足工业、通信、 消费市场和各种应用的许多需求。
相机接口的绝配
MIPI是行业标准组织,它定义了大量手机应用所需的互连。 D-Phy/CSI-2是MIPI定义的标 准中最受欢迎的一种。CSI代表“相机串行接口”,很可能是您口袋中手机上相机采用的接口。如今,可以如此低廉的价格用上如此众多的相机传感器,许多嵌入式客户在设计中都使用了相同的相机。
一个简单的挑战在于:大多数嵌入式应用处理器上都没有CSI端口。这就需要一个具有足 够逻辑能力的桥接器,以进行某些处理和操控,以将相机传感器连接到您选择的器件。这 是易灵思 FPGA可一显身手的地方。
如您所见,这些器件可支持高达1.5Gbps的D-Phy规范、高达1066Mbps的DDR3 DRAM速率性 能。对一款锁定中端价位的FPGA方案来说,性能是领先的。
我们支持1.5Gbps 速率的1、2、4通道CSI-2规范;较小封装的DDR DRAM数据路径为x16位,较大封装为x32位。针对MIPI/CSI的器件,至少有2个这些硬核的MIPI/CSI端口,而较 大器件则有3个。在所有这些支持CSI的器件中,您可以同时使用每个端口的接收器(Rx) 和发送器(Tx)。
对于与CMOS成像器接口的边缘应用,拥有这些集成接口将在功耗、价格和封装尺寸方面具有巨大价值。
Efinity软件集成开发环境
Efinity软件是我们自己打造的开发套件。它支持标准VHDL和Verilog输入,并支持传统的 工具流程,包括设计输入、映射、布局和布线、时序分析、比特流生成和编程。
该工具包含两部分:接口设计器和内核设计器。在接口设计器中,您可定义设计所需的IO。您还可以使用它为任何硬块(例如内存控制器或MIPI/CSI硬块)设置配置。内核设计 器是所有逻辑功能发生的地方,您可以在其中设置时序约束并运行如映射、布局和布线等其余工具流。
Efinity工具显然了解我们的独特架构,且可在工具流程的早期对其进行优化。从而得到极高效的结果,该软件可实现器件中已定义的可用逻辑单元90%以上的利用。Windows、Ubuntu和Red Hat/CentOS都支持这些工具。
边缘应用多种多样。由于带宽、成本、安全性和延迟方面的考虑,有一种推动在边缘而非云做更多处理的努力。这种转变正在创造新的 应用和机会,以将FPGA用作这些边缘处理实体。
总的来说,始终在线的边缘应用会带来进一步挑战,因为它们部署在位置非常不同且可能遥远的所在。要获得满足您对性能、空间和功耗需求的处理方案可能会遇到问题,而Trion FPGA系列可助您实现目标。
加速您的创芯