本文来自twt企业IT社区,作者/陈强。
一、前言
工业作为国民经济的核心要素一直为各国政府重视,特别是随着云计算、物联网、大数据、人工智能、5G及边缘计算等技术的发展,世界各国都加快了工业数字化转型的步伐。从德国“工业4.0”战略,到美国“制造业复兴”计划,到中共中央指出要加快5G网络、数据中心等新型基础设施建设进度,边缘计算作为云计算的延伸,在电信运营商、公有云厂商和各行业领域有着极大的市场需求,是推动行业数字化转型的重要技术。现在结合车企行业特征,对边缘计算的应用场景做一些浅薄探索,希望本文能起到抛砖引玉的作用。
二、边缘计算
Gartner预测,到2025年,边缘计算将有超过万亿的市场规模,处理75%以上的各类业务数据。边缘计算是相对云计算而言的,云计算是集中化的,离终端设备(如摄像头、传感器等)较远,对于实时性要求高的计算需求,把计算放在云上会引起网络时延变长、网络拥塞、服务质量下降等问题。而终端设备通常计算能力不足,无法与云端相比。为解决上述问题,通过在靠近终端设备的地方建立边缘计算节点,打通“云-边-端”协同能力,将云端计算能力延伸到靠近终端设备的边缘计算节点,满足行业在实时业务、应用智能、安全与隐私保护等方面的基本需求。
2.1云边协同
边缘计算如果缺少云边协同技术,其作用是有限的,所以我们广义的边缘计算是具备云边协同概念的。云边协同是云计算与边缘计算的互补协同,边缘计算模型的提出,对云计算集中式模型的不足提供了新的解决思路,是适应技术发展需求的产物,但不能完全取代云计算,两者是协同运作的;通过云和边缘的紧密协同可以更好地满足各种应用场景的需求,从而放大两者的应用价值。
实现种类很多,典型的有如下几种:
通过云边协同技术,实现云上部署与下发,边上执行。目前边缘计算社区,比如华为的KubeEdge、腾讯的SuperEdge,阿里的OpenYurt等边缘计算框架都是这种方式实现的。
通过SD-WAN设备,以环网专线方式接入云计算中心网络实现。这种方式一般是公有云厂商使用比较多,将算力、平台等下沉到边缘集群中,边缘集群与云上集群通过SD-WAN设备实现专线互联,自然就实现了云边协同了。
通过5G和MEC技术,实现移动边缘技术。这种一般电信运营商正在推广的。将MEC边缘云作为发展5G 2B/2C高价值业务的重要战略,MEC是电信运营商“云网边端业”融合协同关键环节。
2.2 GPU容器
由于边缘计算是云端功能下沉的体现,云端目前都基本是基于Kubernetes和Docker方式实现业务容器化和编排部署的。同样,基于容器技术来实现边缘计算也更容易实现云端调度,边端执行。如果我们抓住边缘计算的本质,就是通过分布式、高可用、业务易部署与维护,那么容器化就是一个很重要的实现数字化改造的核心,如果碰到不好容器化的场景,也可以基于KubeVirt来实现用容器方式运行虚拟机,将业务部署在虚拟机中。
对于通用的x86 CPU架构,大家都知道容器化技术是基于Linux Control Groups(CGroups)实现的,那对于需要容器做AI运算的场景,就需要GPU服务器支持,比如Nvidia DGX/HGX计算平台,边缘计算如EGX认证服务器,更小型的工作现场如JETSON嵌入式系列。
众所周知,Kubernetes平台通过设备插件框架提供对特殊硬件资源的访问,如NVIDIA GPU、DPU等异构计算设备。然而,使用这些硬件资源配置和管理节点需要配置多个软件组件,如驱动程序、容器运行时或其他依赖库,这是困难的和容易出错的。比如:一般的设备驱动只有一个kernel object(ko)文件,只要在宿主机上安装驱动,ko文件就会自动被载入内核供容器使用。但是Nvidia的GPU驱动除了ko文件之外还有shared object(so)文件,是用户层的程序,需要在容器内程序运行时被动态加载。并且,ko文件的版本必须与so文件版本一摸一样。要在容器中找到so文件,我们可以把so文件打包到镜像里,但是在生成镜像的时候我们并不知道宿主机器的GPU驱动是什么版本的,所以无法预先打包对应版本的so文件。另一个方法是运行容器的时候,自动找到宿主系统中的so文件并挂载进来。但是so文件有很多可能的安装路径。这时候nvidia-docker就出现了,为我们把这些细节问题隐藏了起来。使用起来非常的简单,把docker命令换成nvidia-docker即可。
此外还有一个环节需要考虑:CUDA库和cuDNN库。CUDA库用来做CUDA架构下的数值计算,它包含编译时需要的头文件以及运行时需要的so文件。cuDNN是专门为深度学习设计的数值计算库,也是包含头文件与so文件。它们都有很多版本,并且编译时的头文件版本必须与运行时的so文件版本一致。
如果不用容器,这两个库很麻烦,自己编译好的程序可能拿到别人的机器上就因为版本不一致而不能用了。用容器就不会有这个问题,在生成开发镜像的时候我们把CUDA和cuDNN库以及所需的工具都打包了进去,在生产镜像也打包了对应版本的so文件,不会出现版本不一致的问题。运行GPU生产镜像的时候,宿主机器只用安装Nvidia驱动就可,不需要安装CUDA或者cuDNN。
2.3 GPU Operator
为了更好的方便用户使用GPU,Nvidia公司开发了GPU Operator,利用了Kubernetes平台的Operator控制模式,方便地自动化集成管理GPU所需的NVIDIA设备组件,有效地解决了上述GPU设备集成的痛点。这些组件包括NVIDIA驱动程序(用于启用CUDA)、用于GPU的Kubernetes设备插件、NVIDIA Container运行时、自动节点标签、基于DCGM的监控等,同时Operator无缝集成了GPU更细粒度的使用方式,例如多实例切分(MIG)或基于时间片的切分(Time Slicing),用于更好的提高GPU的使用效率。
NVIDIA GPU Operator的不仅实现了设备和组件一体化集成,而且它管理GPU节点就像管理CPU节点一样方便,无需单独为GPU节点提供特殊的操作系统。值得关注的是,它将GPU各组件容器化,提供GPU能力,非常适合快速扩展和管理规模GPU节点。当然,对于已经为GPU组件构建了特殊操作系统的应用场景来说,显得并不是那么合适了。
2.4硬件加速
为实现边缘计算提速和提高资源利用率,我们主要可以从网络传输速度、数据传输、GPU虚拟化等方面考虑,利用硬件来加速。
网络传输速度方面,我们可以采用5G网络,或者可在设备中集成5G模组,以灵活的适配各类应用场景;在端侧集成智能加速模块或其他专用芯片以提升推理能力及实现如压缩等特定功能,如集成华为MH5000 5G模组、Atlas200 AI加速模块或海思IPC芯片等。
数据传输量方面,我们可以利用ASIC、FPGA、CPLD等硬件专用处理器,并配合软件优化,比如只提取图像中的局部感兴趣的图像(ROI),还可以进行一些图像压缩后再复原。另外高流量的场景,还可以借助DPU智能网卡使用其板载的处理器,来执行加密/解密、防火墙、TCP/IP和HTTP网络处理等。
GPU资源利用方面,我们可以采用GPU虚拟化技术,提高单个slot卡,可支持多个作业同时运行。
三、边缘计算场景探索
接下来对车企行业涉及到的边缘计算应用场景简单探索一下。
目前使用的较多的是可以容器化的场景,比如:车间制造执行系统(MES),它实现计划、调度、质量、设备、生产、能效等管理功能;企业资源计划系统(ERP),它实现供应链、物流、成本等企业经营管理功能;数据采集,需要在边缘端容器化类似MQTT、TDengine等和数据采集相关的应用。
还有一种是需要延迟低,实时交互的场景,比如:车间安全巡检,利用边缘计算和AI图像识别等技术;AI相关的一些场景,比如智能质检测、数字孪生、智能网联与自动驾驶场景。
3.1终端数采
车企一般会遇到数字化工厂旧设备改造、数据采集难的问题。
图一边缘计算在终端数采应用架构
以终端设备数据采集为例,图一为边缘计算在终端数采应用架构。边端数采通过数采网关采集设备数据,并将设备数据传输到边端部署的emqx,边端数据处理服务读取emqx数据并做初步数据处理再记录到边端存储,同时边端部署的IoT网关将数据推送到云端IoT平台。边缘节点中需要容器化类似MQTT、TDengine等和数据采集相关的应用。配合工控系统,打通“端+5G网络+边缘云+云服务”的协作。通过5G网络连接,可以使得制造设备在产线上每个采集应用不再是独立的数据孤岛,并让边缘集群中的工厂中央生产控制系统实时获得每个被检测对象的结果和状态,纳入云端的IoT平台,实现全工厂生产管理。
3.2智能质检
图二边缘计算在智能质检应用架构
在车企生产制造车间,通过AI技术实现智能质检,边缘计算加速计算,5G加速云边协同。
图二展示了边缘计算在智能质检中的应用架构,边缘端有两个主要子系统:
图像采集系统:实现现场图像或视频采集及处理功能;
设备控制系统:接收图像处理结果而完成设备动作控制;
边缘计算提供质检专用计算节点,比如采用Nvidia EGX服务器提供图像或视频处理功能。相机通过有线连接到工控机(或其他处理设备),工控机和AI视觉云平台通过5G网络连接,实现设备状态和软件版本的在线可视化管理;同时将瑕疵、误杀、疑似等图像上传到视觉AI云平台,快速迭代模型并自动下发,让本地边缘侧的设备越来越聪明,边缘计算也满足了现场推理与闭环控制所需的严苛的超低实时性要求,在可靠性和安全性都能得到保证。
3.3安全巡检
车企也存在一些高危岗位的,我们可以通过机器视觉、边缘计算以及其他技术,来实现设备自动化运维及设备联动等功能来代替人工,实现安全巡检。它主要包含厂区管理、安全生产、环境监控三个方面内容,以及在这些场景中对于人、车、设备等安全状态的检查,排查异常情况,及时解决问题和安全隐患。
传统安全巡检主要依靠人工,无论在巡检确定性、效率和及时性方面,都存在较为严重的问题。
基于边缘计算和AI视觉识别的智能安全巡检方式,通过现场高清设备进行采集,借助5G网络进行图像数据回传,通过深度学习训练AI模型,实时监控现场安全状态,提高识别准确率。针对靠近边缘侧的人员管理、车辆管理、安全着装规范识别、生产机械安全监控、危险行为监测和环境监控等大场景,借助边缘计算的实时处理能力,可快速减少网络延迟,消除人工巡检存在的隐患,实现对于现场的自动化安全巡检。
3.4数字孪生
数字孪生技术通过使用边缘计算采集的真实数据不断训练模型来进行模型迭代,可以提供智能分析、仿真模拟预测等应用服务,以解决车间生产制造、智能网联、自动驾驶测试、智慧交通发展中的效率和安全等痛点问题。数字孪生综合运用感知、计算、建模等信息技术,通过软件定义,对物理空间进行描述、诊断、预测、决策,进而实现物理空间与赛博空间的交互映射。数据是基础,可通过数采获取;边缘计算是加速,减少服务响应速度;模型是核心,可通过云端建模;服务是目标,包括智能分析、仿真模拟预测、以及比较常见的应用服务等。同时依托云端大规模并行加速的能力进行仿真和预测,将模型下发边缘端,5G网络实现云边协同,结合图像渲染技术让数据可视化呈现。
3.5智能网联
传统的智能交通系统形成的是相互独立的系统,信息的共享和群体的协同比较困难,通过智能网联可以把传统的相互独立的交通系统连接起来,形成物理上分布、逻辑上统一的系统。智能网联需要逐一攻克全息感知、多模式通信系统融合、高精度且低成本的连续时空定位技术、“端边云”交通信息融合、自主决策和优化控制技术、“车路网云”实时数据的交互处理、测试和认证技术以及网络信息安全等几大核心技术。
那边缘计算如何赋能智能网联?边缘设备具有一定的计算能力,可以在路侧实现算力下沉,减轻云端计算的压力。此外,边缘计算可以减少数据在网络中的传输时间,简化网络结构,还可以实现对交通状态的精准感知。从边缘计算的三种交付模式看,5G MEC边缘计算最适合应用在智能网联中。将MEC边缘计算引入车路协同之后,这些边缘计算设备可直接从车载端及路侧传感器实时接收本地化的数据,进行分析,并将分析结果以极低延迟传送给临近区域内的其他联网车辆,整个过程可在毫秒级别时间内完成。
3.6自动驾驶
自动驾驶的边缘计算架构依赖于边云协同和LTE/5G提供的通信基础设施和服务。边缘侧主要指车载单元、路侧单元(RSU)或移动边缘计算(MEC)服务器等。其中车载单元是环境感知、决策规划和车辆控制的主体,但依赖于RSU或MEC服务器的协作,如RSU给车载单元提供了更多关于道路和行人的信息,但是有些功能运行在云端更加适合甚至无法替代。比如车辆远程控制、车辆模拟仿真和验证、节点管理、数据的持久化保存和管理等。
为了实现更高阶自动驾驶系统任务,仅仅依靠单车智能是完全不够的。协同感知和任务卸载是边缘计算在自动驾驶领域的主要应用,它们使实现高级别自动驾驶成为可能。协同感知技术使汽车可以获取其他边缘节点的传感器信息,扩大了自动驾驶汽车的感知范围,增加了环境数据的完整性。
汽车将集成激光雷达、摄像头等传感器,同时需要通过车辆网V2X等实现车辆与道路以及交通数据的全面感知,获取比单车内外部传感器更多的信息,增强对超视距范围内环境的感知,并通过高清的3D动态地图实时共享自动驾驶位置。并将采集到的数据与道路边缘节点和周边车辆进行交互,从而扩展感知能力,实现车与车、车与路协同。
云上负责收集来自分布广泛的边缘节点数据,感知交通系统的运行状况,并通过大数据和人工智能算法,为边缘计算节点、交通信号系统和车辆下发合理的调度指令,从而提高系统运行效率。比如,雨雪、大雾等恶劣天气下,或在交叉路口、拐弯等场景下,雷达和摄像头无法清晰的辨别前方障碍,通过V2X来获取道路,行车等实时数据,可以实现智能预测路况,避免意外事故的发生。
随着自动驾驶等级的提升,配备智能传感器数量的增加,自动驾驶汽车每天产生大量的原始数据。这些原始数据需要在本地进行实时处理、融合以及特征提取,包括基于深度学习的目标检测和跟踪等。同时需要利用V2X提升对环境、道路和其他车辆的感知能力,通过3D高清地图进行实时建模和定位、路径规划和选择、驾驶策略调整,进而安全的控制车辆。由于这些任务都需要在车内始终来保持处理和响应实时性,因此需要性能强大可靠地边缘计算平台来执行。考虑到计算任务的差异性,为了提高执行效率并降低功耗和成本,一般需要支持异构的计算平台。可以考虑Nvidia JETSON平台,它专注于工业级的,确保安全性和可靠性的软硬一体的边缘AI平台。JETSON芯片有好几个级别,满足不同的用户需求及场景,芯片列表如下:
四、结束语
边缘计算的场景除了文章提及的外,后期可能还会涉及更多的场景,而车企随着业务越来越复杂,面对的挑战与机遇也会越多,相信边缘计算会与云计算、5G网络、人工智能、大数据、自动驾驶、车联网、数字孪生等会结合的越来越紧密,带来更多发展空间,挖掘更多硬核价值。