边缘计算开源项目概述

0、背景

        边缘计算开源项目是当前业界为解决垂直领域的计算和网络资源应用问题提出的一套解决方案,根据不同的应用场景有多种类型的平台。笔者将github上关注度较高的边缘计算开源平台进行了对比研究,简述了每个开源项目设计目标,基本功能和应用场景,帮助用户在自己的领域选择合适的边缘计算平台。

1、边缘计算开源系统

        如下图所示的开源公共部分是笔者总结的Github或者独立网站的边缘计算开源项目。之所以有这么多的开源项目,主要是应用场景不同,项目所侧重实现的点也不同。我们会从场景,开发语言,特点,框架,功能和蓝图的视角去分析每个开源项目。除此以外本文还将边缘计算重点关注的通信技术栈,使用的操作系统的开源项目,使用的语言如go和Python也一并给出,算是提供一套完整的边缘计算开源解决方案。读者可以以此为蓝本,对边缘计算开源项目进行全栈解读和学习,也可以快速搭建自己的开源产品。

2、边缘计算平台开源项目

        在学术界和工业界分别诞生了形式多样的边缘计算系统,在学术界主要聚焦于各种应用场景的具体解决方案,更加偏向于实验性质。比如HydraOne是由巍教授团队推出的一个面向智能汽车和智能机器人应用场景的边缘计算实验平台系统;paradrop则是由美国的麦迪逊分校提出的面向WIFI接入点实现边缘计算系统;Firework是由韦恩州立MIST实验室提出的一种面向边缘计算的编程模型;cloudlet则是由美国的卡内基梅隆提出的类似于边缘云系统,目前发展相对成熟。可以看出学术界对于边缘计算的系统研究和开发更加丰富多彩,不会像工业界一样更加注重平台化和商业价值。

        在工业界,边缘计算的边缘计算主要分为3种类型分类:面向物联网端的边缘计算开源平台,面向边缘云服务的边缘计算平台和面向云边融合的边缘计算平台。面向物联网端的边缘计算平台,比如linux基金会推出的EdgeX Foundry,edge gallery这类开源平台致力于针对物联网端的诸如设备多样性等问题,将该平台部署在网关,路由器和交换机等边缘设备上;由思科提出并主导的雾计算开源项目fogflow也是属于这一范畴。面向边缘云服务的开源平台,比如由百度提出的ote-stack,这是一个用在5G和AI的边缘计算平台,支持多种架构,支持边缘自治;linux基金会发起的Akraino Edge Stack,该项目涉及的范围从基础设施延伸到边缘计算应用,可以应用在边缘视频处理,智能城市和智能交通等领域。

        面向边云融合的边缘计算平台是当前发展最火,关注度最高的方向,代表性的项目有kubeedge和baetyl。kubeedge项目将应用编排和管理扩展到了边缘设备,基于kubernents构建,实现了云边可靠协作,边缘自治,代理和设备管理,可以非常容易地将已有的复杂机器学习、图像识别、事件处理和其他高级应用程序部署到边缘端并进行使用,这个开源项目也是笔者后续重点研究和解读的项目。Baetyl 是 Linux Foundation Edge 旗下的边缘计算项目,旨在将云计算能力拓展至用户现场。与kubeedge不同的是,它采用云端管理,边缘运行的方案,边缘和云端框架全部往云原生演化,边缘框架将来支持边缘节点集群。

        除了上面的3大类以外,还有些公司在探索边缘计算仿真平台,如EnvisEdge允许用户模拟边缘计算环境,可以运行、训练和测试FL算法和ML模型。能够处理所有复杂的事情,例如操作系统的多样性、计算能力和通信介质(边缘计算中间件),使您能够专注于想法而不是设置(系统功能)。还有关注边缘计算存储的项目,如edgefs,这是一种多云可度量的分布式存储系统,可以部署在物理或者虚拟节点上,分配可用的存储资源,通过iSCSI etc等协议实现通信,实现本地云应用,使得kubernents可以以低功耗高效的访问。

3、边缘网络开源项目

        如果想要搭建一个完整的边缘计算产品,除了根据不同的应用场景选择合适的边缘计算平台之外,还需要考虑通信和系统两个技术栈。在第一节的图中已经罗列出4G/5G、wifi和蓝牙的开源项目,还有操作系统的开源项目,ROS和linux,本小节将简单介绍一下其实现过程。如下图所示是从网络的视角,对通信协议栈所实现的功能的总结。蓝牙使用bluez,wifi使用的openwrt不是笔者关注的重点,此处不做解析,如果读者是对wifi类网关的边缘计算感兴趣,可以考虑选择openwrt和paradrop来实现。

        图中一共涉及了5个4G/5G的开源项目,这5个开源项目可以分为三类,一类是专注于实现4G/5G共存的NSA,如srsRAN和simu5G; 一类是专门为5G SA设计的开源项目,如free5GRAN和UERANSIM; 还有一个专门实现5G核心网的open5GS。srsRAN项目是关注度最高的开源项目,该项目实现了4G和5G的全栈的协议,但是在5G的核心网和5G的AAU部分并没有提供开源实现,所以如果要实现一个完整的5G的栈,需要引入open5GS作为核心网,在AAU的实现部分需要考虑自主实现。Simu5G是一个端到端的4G/5G开源仿真平台,主要是实现了对用户面的仿真,没有涉及到控制面和管理面。来到5G SA的方向,UERANSIM是目前关注度比较高的项目,它主要实现了5G UE和gNnodeB的协议栈,可以考虑作为5G手机和基站的基本元素,这个项目可以用来测试5G核心网,研究5G系统,所以如果想搭一个5G端到端的测试系统就可以跟open5GS配合实现。free5GRAN是近来刚刚开源的针对5G SA的平台,主要是在学术领域的研究,目标是搭建一个端到端的开源系统,感兴趣的读者可以参与到其中的开发。

4、小结

        本文对当前边缘计算领域关注度比较高的开源项目和5G网络开源项目进行了简单的介绍,后续笔者将深入研究其中的1~2项的开源项目,并将解读的成果分享出来,敬请期待。

附录:

【1】EdgeGallery

【2】Welcome

【3】EnvisEdge:Nimbleedge

【4】kubeedge:/en

【5】srsRAN:srsRAN - Your own mobile network

猜你喜欢

转载自blog.csdn.net/linus_ben/article/details/126070267