news.accelerationrobotics.com/modern-robotics-compute-architectures


6 分钟阅读

机器人行为通常构建为计算图,数据从传感器流向计算技术,一直到执行器并返回。为了获得额外的性能,机器人计算平台必须有效地将这些类似图形的结构映射到 CPU,但也映射到包括 FPGA 和 GPU 在内的专用硬件。

首次发表于https://www.roboticsbusinessreview.com/opinion/building-robot-chips-modern-compute-architectures-in-robotics/

机器人系统的传统软件开发主要是对中央处理器 (CPU) 进行编程。然而,由于 CPU 固有的架构约束和限制,这些机器人系统经常表现出处理效率低下(不确定性)、高功耗和安全问题。事实上,构建仅依赖 CPU 的强大机器人系统是一项具有挑战性的工作。

机器人计算平台

计算架构随着对机器人系统高级功能的需求增加,一些公司已经发布了专用的机器人和边缘人工智能平台,提供高性能计算、安全连接、设备上机器学习等。示例包括 Xilinx 的 Versal AI Edge、Qualcomm 的机器人 RB5 平台和 NVIDIA 的 Jetson 系列片上系统 (SoC)。

这些机器人和人工智能平台包含各种计算资源,包括 CPU、数字信号处理器 (DSP)、图形处理单元 (GPU)、现场可编程门阵列 (FPGA) 和专用集成电路 (ASIC) 等。它们允许机器人专家为机器人构建灵活的计算架构,但需要为每项任务使用正确的工具以最大限度地提高其性能,这一过程可能很复杂且令人困惑。(They allow roboticists to build flexible compute architectures for robots, but require one to use the right tool for each task to maximize its performance, a process that can be complex and confusing.)

本文讨论了机器人专家可用的各种计算资源的优缺点,并就它们作为机器人系统的现代计算架构提供了额外的视角。

标量处理器 (CPU)

中央处理器

标量处理元素(例如 CPU)在具有多种决策树和大量库的复杂算法中非常有效。但是,性能扩展是有限的。

多核 CPU 可以理解为工厂中的一组车间,每个车间都雇佣了非常熟练的工人。这些工人每个人都可以使用通用工具,让他们几乎可以构建任何东西。每个工人一次制作一件物品,依次使用不同的工具将原材料变成成品。车间大多是(不考虑缓存)独立的,工人都可以做不同的任务而不会分心或协调问题。

与 CPU 相比,矢量处理元件(例如 DSP、GPU)在更窄的可并行计算功能集上更有效。但是,由于其不灵活的内存层次结构,它们会遇到延迟和效率损失。

尽管 CPU 非常灵活,但它们的底层硬件是固定的。大多数 CPU 仍然基于 Von-Neumann 架构(或更准确地说,存储程序计算机),其中数据从内存带到处理器,进行操作,然后写回内存。从根本上说,每个 CPU 以顺序方式运行,一次一条指令,并且架构以算术逻辑单元 (ALU) 为中心,这需要在每次操作时将数据移入和移出。

在当今的现代机器人架构中,标量处理器发挥着核心作用。使用 CPU 来协调跨传感、驱动和认知的信息流是机器人系统的基础。此外,机器人应用程序开发广泛采用的软件框架机器人操作系统 (ROS) 是以 CPU 为中心的方式设计的。

Moreover, the Robot Operating System (ROS), the widely adopted software framework for robot application development, is designed in a CPU-centric manner.

矢量处理器(DSP、GPU)

图形处理器

与 CPU 相比,矢量处理元件(例如 DSP、GPU)在更窄的可并行计算功能集上更有效。但是,由于其不灵活的内存层次结构,它们会遇到延迟和效率损失。

按照前面描述的工厂比喻,GPU 也有车间和工人,但它的数量要多得多,而且工人也更加专业。这些工人只能使用特定的工具,可以做的事情更少,但他们做的非常有效。

当 GPU 工作人员重复执行相同的少数任务并且所有人员同时执行相同的事情时,他们的功能最佳。毕竟,有这么多不同的工人,给他们所有相同的订单更有效率。因此,矢量处理器解决了机器人技术中 CPU 的主要缺点之一——并行处理大量数据的能力。

As such, vector processors address one of the major drawbacks of CPUs in robotics — the ability to process large amounts of data in parallel.

可编程逻辑 (FPGA)

FPGA

可编程逻辑(例如 FPGA)可以针对特定的计算功能进行精确定制,这使得它们非常适合延迟关键的实时应用。然而,这些优势是以编程复杂性为代价的。此外,与标量和矢量处理器相比,重新配置和重新编程需要更长的编译时间。

使用我们的工厂比喻,FPGA 是灵活且适应性强的车间,架构师可以部署为手头特定任务定制的装配线和传送带。这种适应性意味着 FPGA 架构师可以构建装配线和工作站,然后针对所需任务对其进行定制,而不是使用通用工具和存储器结构。

在机器人架构中,FPGA 支持通过软件创建运行时可重新配置的机器人硬件。机器人的软件定义硬件擅长数据流计算,因为一旦所有操作数可用,就会执行语句。这使得 FPGA 在连接传感器、执行器和处理网络方面非常有用。此外,FPGA 可以创建具有无与伦比的灵活性的定制硬件加速内核,使其成为用于数据处理任务的矢量处理器的有趣替代品。

考虑使用机器人操作系统的机器人系统,这在所有类型的机器人开发中变得越来越普遍。使用 ROS,机器人过程被设计为计算图中的节点。机器人计算平台必须能够有效地将这些类似图形的结构映射到硅上。

Consider robotics systems utilizing Robot Operating System, which is becoming increasingly common for robotics development of all types. With ROS, robotics processes are designed as nodes in computational graphs. Robotics compute platforms must be able to map these graph-like structures to silicon efficiently.

专用集成电路 (ASIC)

ASIC

继续我们的工厂类比,ASIC 与 FPGA 一样,构建装配线和工作站,但与 FPGA 不同,ASIC 是最终的,不能修改。换句话说,在 ASIC 的车间中,装配线和传送带是固定的,自动化流程不会发生变化。ASIC 的特殊、固定架构提供了无与伦比的性能和功率效率,以及大批量批量生产的最佳价格。

不幸的是,ASIC 需要很多年的时间来开发,并且不允许进行任何更改。相反,机器人算法和架构继续快速发展,因此基于机器人专用 ASIC 的加速器可能落后于最先进的算法数月甚至数年。虽然 ASIC 将在未来的一些机器人系统中发挥作用,但 ASIC 在机器人架构中的使用仍然有限。

网络的网络

机器人本质上是确定性机器。它们是网络的网络,传感器捕获数据,传递给计算技术,然后传递给执行器,然后以确定的方式再次返回。

这些网络可以理解为机器人的神经系统。与人类神经系统一样,通过所有网络传递的实时信息对于机器人的连贯行为至关重要。基于 Von-Neumann 的标量和矢量处理器架构在控制流方面表现出色,但难以保证确定性。这就是 FPGA 和 ASIC 作为机器人系统的关键支持技术发挥作用的地方。

These networks can be understood as the nervous system of the robot. Like human nervous systems, real-time information passing across all networks is fundamental for the robot to behave coherently. The Von-Neumann based architectures of scalar and vector processors excel at control flow, but struggle to guarantee determinism. This is where FPGAs and ASICs come to play as critical enabling technologies for robotics systems.

机器人计算架构

考虑使用机器人操作系统的机器人系统,这在所有类型的机器人开发中变得越来越普遍。使用 ROS,机器人过程被设计为计算图中的节点。机器人计算平台必须能够有效地将这些类似图形的结构映射到硅上。

ROS 计算图应该以无缝方式跨计算基板运行,并且数据必须从可编程逻辑 (FPGA) 流向 CPU,从 CPU 流向矢量处理器,然后一路返回。换句话说,机器人芯片不仅应该将 ROS 计算图映射到 CPU,还应该映射到 FPGA、GPU 和其他计算技术,以获得额外的性能。

Consider robotics systems utilizing Robot Operating System, which is becoming increasingly common for robotics development of all types. With ROS, robotics processes are designed as nodes in computational graphs. Robotics compute platforms must be able to map these graph-like structures to silicon efficiently.

ROS computational graphs should run across compute substrates in a seamless manner, and data must flow from programmable logic (FPGAs) to CPUs, from CPUs to vector processors, and all the way back. In other words, robotics chips should map ROS computational graphs not just to CPUs, but also to FPGAs, GPUs and other compute technologies to obtain additional performance.

最佳计算资源

与传统的、以 CPU 为中心的机器人编程模型相反,额外计算平台的可用性为工程师提供了高度的架构灵活性。机器人专家可以通过根据需要选择、混合和匹配正确的计算资源来利用各种计算平台的属性——确定性、功耗、吞吐量等。

现代机器人计算架构 2022相关推荐

  1. ​边缘计算架构如何融合视频编码与存储

    NETINT是一家在高性能存储和视频编码领域拥有多项世界前沿技术的芯片设计公司,在上海.温哥华.多伦多三地设有研发中心.NETINT公司的CodensityTM系列和EdgeFusionTM系列芯片和 ...

  2. 要把人工智能提速50倍的ARM,却依然坚持做“通用的计算架构”

    3月21日下午,ARM在北京对外公布了一项新技术--DynamIQ技术,并宣称这个技术将被大量的应用于汽车.家庭以及各种互联设备,设备产生的数据会在云端或者设备端被用于机器学习,以实现更先进的人工智能 ...

  3. 十年磨一剑,可重构计算架构将引领未来芯片市场

    2019 年 6 月,AI 芯片创业公司清微智能首款可重构计算架构 AI 芯片实现量产的消息在业内迅速传开,可重构计算架构芯片再次引发一波讨论的热潮.经历过十多年的技术积累,这枚小小的芯片在全球芯片市 ...

  4. 什么是CUDA编程 统一计算架构

    统一计算架构 https://www.cnblogs.com/skyfsm/p/9673960.html https://zhuanlan.zhihu.com/p/34587739

  5. 从函数计算架构看 Serverless 的演进与思考

    作者 | 杨皓然  阿里巴巴高级技术专家 导读:云计算之所以能够成为 DT 时代颠覆性力量,是因为其本质是打破传统架构模式.降低成本并简化体系结构,用全新的思维更好的满足了用户需求.而无服务器计算(S ...

  6. 如何设计一个端计算架构?

    简介:什么是端计算?如何在不额外占用服务端资源的情况下,在客户端解决计算需求?端计算和云计算相比,有哪些优势?本文从设计一个解决埋点热修问题的通用化架构,及其演变乃至解决其他端计算问题的案例,来说明设 ...

  7. kpu 处理器_首轮融资即估值过亿,中科驭数用全新专用计算架构让芯片也能“私人订制”...

    首轮融资即估值过亿,中科驭数用全新专用计算架构让芯片也能"私人订制" 2018-10-24 14:08 中科驭数 来自中科院计算所的创业团队.领域专用计算架构研发的开拓者--中科驭 ...

  8. 开放计算架构:蚂蚁金服是如何用一套架构容纳所有计算的?

    蚂蚁金服在过去十五年重塑支付改变生活,为全球超过十二亿人提供服务,这些背后离不开技术的支撑.在 2019 杭州云栖大会上,蚂蚁金服将十五年来的技术沉淀,以及面向未来的金融技术创新和参会者分享.我们将其 ...

  9. 蚂蚁金服开放计算架构:下一代金融级计算架构

    当前互联网技术早已进入了大数据.人工智能的阶段,各种计算模式,计算引擎层出不穷.从10年前的MapReduce分布式计算开始,几乎每三年就会出现一次新的计算引擎更迭,从开山鼻祖的Hadoop,到后来流 ...

最新文章

  1. 雷军的最后一次 重 大 创 业
  2. android mvvm livedata_再谈Android应用架构——Jetpack VS 生命周期
  3. 测试用html文件是否存在,ASP如何检测某文件夹是否存在,不存在则自动创建
  4. 51nod 1118 机器人走方格 解题思路:动态规划 1119 机器人走方格 V2 解题思路:根据杨辉三角转化问题为组合数和求逆元问题
  5. 《几何与代数导引》例2.7.3
  6. ActiveMQ –经纪人网络解释
  7. 湖北农商行计算机类笔试,2018湖北农商行招聘考试面试考多少分,才能进笔试?...
  8. Ansible执行过程分析、异步模式和速度优化
  9. 在linux中emacs安装package.el
  10. java api接口签名验证失败_cryptapi结合java进行数字签名与验证签名的困惑
  11. js 使用image.height和image.width获取图片宽高值为0,获取失败
  12. HTML+CSS【超浪漫的表白网页代码】不会编程也能制作送给女朋友的表白网站 (1)
  13. RDKit | 处理RDKit分子Mol对象
  14. [MATLAB]数据统计分析平均值(mean/median/sum/prod/cumsum)
  15. 06540计算机网络2018年自考真题,自考06540计算机网络基本原理复习资料六
  16. Profinet 与 EtherCAT 网关使用方法
  17. Java 买卖股票的最佳时机含手续费leetcode_714
  18. 数26个大写字母里带圈的字母个数
  19. 谷歌浏览器 如何设置在新标签页打开链接
  20. O’Reilly创始人Tim O’Reilly谈领导力

热门文章

  1. html转换英文时间格式,JavaScript(jQuery)打印英文格式日期的实例代码
  2. STM32 VDDA和VDD
  3. 【Lua】Lua知识点汇总
  4. 1086. 就不告诉你 (15 分)
  5. [Python人工智能] 二十.基于Keras+RNN的文本分类vs基于传统机器学习的文本分类
  6. 怎样在PADS中设置阻焊层的大小
  7. http状态码521——记一次网页爬取
  8. pilt图像处理_干货 | 用Python做图像处理:图像导数实战
  9. 【WebGIS】JavaScript地理坐标的转换:GCJ-02火星坐标系和WGS-84坐标系转换关系
  10. 雅思阅读真经总纲_考雅思你没用过这些书?那你雅思上7难了...