当前位置: 首页 > news >正文

基于StarlingX的边缘计算机器学习优化

4月17-18日,由SDN/NFV/AI标准与产业推进委员会主办的“2019中国SDN/NFV大会”在北京新云南皇冠假日酒店举行。九州云技术总监黄舒泉应邀出席此次会议,并在多接入边缘计算分论坛上分享了《基于StarlingX的边缘计算机器学习优化》主题演讲,向参会嘉宾演示了基于StarlingX架构的实时人脸识别场景。

基于StarlingX的边缘计算机器学习优化

黄舒泉是九州云技术总监,从事开源软件工作超过10年。2011年起,他便积极参与OpenStack发展贡献,担任技术贡献者、演讲者和***松主席。2018年,黄舒泉成为StarlingX技术指导委员会的首位中国技术委员。九州云也是StarlingX项目始创成员单位之一。

SDN 将机器学习和边缘计算结合起来的应用程序为各种行业带来了新的经验和机遇,例如监视中的实时预测、汽车中的自动驾驶汽车等。然而,构建和培训ML模型需要大量的资源,这并不适合edge。而且推理所需的资源要少得多,而这通常是在有新数据可用时实时完成的。

在本次演讲中,黄舒泉分享了如何通过只将识别任务放在边缘来优化它。使用StarlingX构建一个用于模型训练的中心云和一个用于识别的边缘云。通过利用StarlingX的分布式云特性,可以将在中心云中构建和训练的模型部署到边缘云中,并使用连接的设备(如摄像头和加速器)在边缘云上本地运行推理。黄舒泉现场在边缘展示了一个基于StarlingX架构的实时人脸识别演示。以下是演讲概览:
 

什么是边缘计算

随着AR、VR、无人驾驶、物联网和视频智能分析等新兴应用的产生,以及5G时代的即将到来,推动了边缘计算的兴起。从我自身的理解来看,边缘计算其实是云计算的一个延伸。

边缘计算是在靠近物或数据源头的网络边缘侧,融合网络、计算、存储、应用核心能力的分布式开放平台,就近提供边缘智能服务,满足行业数字化在敏捷联接、实时业务、数据优化、应用智能、安全与隐私保护等方面的关键需求。

它可以作为联接物理和数字世界的桥梁,使能智能资产、智能网关、智能系统和智能服务。边缘计算可以提供云计算无法提供的低延时、高响应服务,如边缘分析、边缘安全防火墙等。

什么因素驱动边缘计算的发展

基于StarlingX的边缘计算机器学习优化

我认为有四大因素推动了边缘计算发展,包括延迟、带宽、安全、链接。云计算的很多问题是通过OpenStack来解决,而边缘计算帮助我们在靠近用户或者靠近数据端去产生计算,它同样需要计算、网络、存储等资源。

云计算同样也是针对计算、存储、网络基础设施进行一些管理,边缘计算与云计算在解决问题上是有诸多共性的,但它们也有很大的不同。

数据中心可能在防尘、温度等上面会有更高的一个要求,而边缘计算它的环境是比较恶劣的,边缘计算更多的会考虑一些无人值守以及高可用等。

StarlingX 简介

StarlingX是一个针对高性能和低延迟应用进行优化的开源边缘计算和物联网云平台。该项目由OpenStack基金会支持,这是新的顶级OpenStack基金会试点项目。它提供可扩展且可靠度高的边缘基础架构,已经过测试,并可作为一个完整的堆栈使用。它的可应用在包括工业物联网,电信,视频传输以及其他超低延迟等领域。StarlingX确保了各种开源组件之间的兼容性,并为故障管理和服务管理提供独特的项目组件,以保证用户应用程序的高可用性。StarlingX是可扩展解决方案中实现边缘计算的基础,并且已准备好部署。

StarlingX继承了OpenStack在云计算领域的一些最新实践,同时结合我们发现边缘计算的一些特定问题而进行优化。所以从技术线路上也不难发现,边缘计算并不是完全跟云计算割裂的,它是顺应了云计算技术发展趋势,甚至产生了更高的要求。

我很荣幸在StarlingX创立之初加入到了TSC技术委员会。StarlingX TSC主要成员分别来自Intel、风河、华为、Ericsson、Interdynamx。

StarlingX解决了什么问题

基于StarlingX的边缘计算机器学习优化

刚刚提到StarlingX是基于OpenStack,它解决了什么问题呢?我认为有四点:

边缘计算基础设施的架构不同于传统云计算:传统云计算是在机房里面,规模都比较大,而边缘计算它所处的环境会比较恶劣,例如在电信局端进行部署,往往只需一台服务器运行一个完整的架构来管理网络。它需要有更轻量级的部署,或者单台的这种部署方式。

边缘计算比传统云计算对稳定性和健壮性有更高的要求:随着边缘计算节点的部署,可能会有成千上万的边缘节点,如果未来部署在我们COS,它的这个数量会急剧加大,边缘计算的软件需要有无人值守,有自动恢复等更高的功能。

大规模边缘节点的管理不同于传统云计算:其复杂度难度会更高。

边缘云和中心云之间的互动协作:需要做好边缘节点与边缘节点之间的协同,边缘节点与中心节点的协同。

StarlingX的目标

基于StarlingX的边缘计算机器学习优化

将已经经过验证的云技术应用在边缘计算上,然后来发展边缘计算的管理框架,简化部署边缘云,最后把它应用在交通运输、能源、制造业、零售、视频、智慧城市、无人驾驶、医疗卫生等等领域中。我们通过边缘计算整体去编排中心云与边缘云之间的所有资源,这是StarlingX的一个愿景。

StarlingX边缘虚机化平台

基于StarlingX的边缘计算机器学习优化

StarlingX 提供了一个可灵活部署、方便扩展和高可用的边缘云软件平台。目前StarlingX主要包含如下新功能:

配置管理:StarlingX的代码提供了节点配置以及库存管理服务,带有对新节点的自动发现及配置功能,这些对部署至关重要并且管理着大量远端或者难以访问的站点。Horizon的图形用户界面以及一个命令行交互接口管理着CPU,GPU,内存,大内存页以及加密/压缩页面的库存。

故障管理:用户即可以在基础架构节点上,也可以在诸如虚拟机和网络等虚拟资源上设定,清除或者查询为重要事件自定义的报警以及日志。用户可以在Horizon的图形用户界面上访问主动报警列表(Active Alarm List)以及主动报警计数面板(Active Alarm Counts Banner)。

主机管理:StarlingX软件提供生命周期管理功能,通过一个REST API接口管理主机。 这种与供应商无关的工具可以检测主机故障并且通过为集群的连接,关键进程故障,资源利用率阈值以及硬件故障提供监控和警报的方式来启动自动修复。 这个工具还与主板管理控制器连接,用于辅助复位(out-of-band reset),电源开/关机以及硬件传感器监控,并与其他的StarlingX组件共享主机状态。”

服务管理:通过基于跨多个节点的N + M或N等冗余模型来提供高可用性,实现提供服务的生命周期管理。 这项服务支持使用多个消息传递路径来避免脑裂(split-brain)通信故障,以及支持使用主动或被动监视,通过完全数据驱动的体系结构来明确定义服务故障的影响。

软件管理:这项服务允许用户使用适用于从内核到OpenStack服务的所有基础架构堆栈的一种一致性机制,来部署纠正内容和新功能的更新。 这个模块可以完成滚动升级,包括并行化和对主机重新启动的支持,允许通过使用实时迁移将工作负载从节点移出。

StarlingX支持的三种部署模式

基于StarlingX的边缘计算机器学习优化

以上是StarlingX支持的三种部署模式,从小到大的可扩展性。

Single Server:运行所有服务,支持单机的部署

Dual Server:冗余设计 

Multiple Server :完全弹性、自主分配,支持多节点部署

StarlingX下一代容器架构

基于StarlingX的边缘计算机器学习优化

今年Open Infrastructure丹佛峰会之后会发布一个StarlingX新版本,基于容器化部署,把OpenStack部署在K8S之上。也会整合K8S等: 

 StarlingX 的发展方向:OpenStack容器化、部署在Kubernetes集群上、基于OpenStack-Helm管理集群的生命周期。

 整合Kubernetes:Docker Runtime、Calico CNI  plugin、CEPH作为持久存储后端、HELM作为包管理、本地Docker镜像仓库。

支持其他容器化的边缘应用部署。

边缘机器学习Demo

基于StarlingX的边缘计算机器学习优化

接下来为大家现场在边缘展示了一个基于StarlingX架构的实时人脸识别demo。

一台裸机启动2个虚拟机,用来部署高可用中心云。另外一台裸机部署一套Simplex边缘云。边缘云上启动openvino虚拟机,从中心云下载openvino镜像,同时在边缘云使用openvino镜像创建虚拟机。边缘虚拟机升级方面,上传升级后的openvino镜像到中心云,在边缘云使用升级后的openvino镜像重建虚拟机。

逻辑流程首先是边缘盒子识别对接摄像头,接下来是边缘云运行基础人脸识别,从中心云拉取其他AI计算功能模型并加载运行,最后边缘应用将摄像头采集的影像数据进行处理,在模型中进行AI识别。

基于StarlingX的边缘计算机器学习优化

在本次会议的展台,九州云工作人员向参会嘉宾全程展示了基于StarlingX架构的实时人脸识别demo,成为整个会议的一大亮点,吸引诸多专业人士的驻足。

目前,九州云已积极参与到Akraino Edge Stack社区、OpenStack基金会边缘计算工作组、边缘计算产业联盟以及SDN/NFV产业联盟的各项工作,全面进军边缘计算领域。九州云希望能与各联盟成员共同努力,让边缘计算生态逐渐繁荣,成为支撑边缘计算落地的关键力量,深化行业数字化转型。

转载于:https://blog.51cto.com/99cloud/2381242

相关文章:

  • Mysql查询语句的运行流程
  • 跑步书籍推荐 --- 跑步指南
  • 2019阿里云企业服务器配置选择教程!【 可供新手小白参考】
  • CSS文本超出2行就隐藏并且显示省略号
  • “打开潜意识 拥抱心灵智慧” 51CTO心理师线下沙龙课北京站
  • 生成树协议(STP)
  • Robust PCA via Outlier Pursuit
  • JavaScript 设计模式之策略模式
  • SpringSocial相关的知识点
  • 移动端长按事件
  • 浅克隆和深克隆
  • (一)appium-desktop定位元素原理
  • 解密虚拟 DOM——snabbdom 核心源码解读
  • Python基础之列表
  • MyBatis配置多数据源
  • [译]前端离线指南(上)
  • 【Linux系统编程】快速查找errno错误码信息
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • Akka系列(七):Actor持久化之Akka persistence
  • egg(89)--egg之redis的发布和订阅
  • JAVA_NIO系列——Channel和Buffer详解
  • Java到底能干嘛?
  • scrapy学习之路4(itemloder的使用)
  • swift基础之_对象 实例方法 对象方法。
  • SwizzleMethod 黑魔法
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • Web Storage相关
  • yii2中session跨域名的问题
  • 讲清楚之javascript作用域
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 前端性能优化——回流与重绘
  • 浅谈Golang中select的用法
  • 延迟脚本的方式
  • 一些css基础学习笔记
  • 智能合约Solidity教程-事件和日志(一)
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (C)一些题4
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (第一天)包装对象、作用域、创建对象
  • (南京观海微电子)——I3C协议介绍
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (十六)一篇文章学会Java的常用API
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (转)nsfocus-绿盟科技笔试题目
  • .NET Micro Framework初体验(二)
  • .NET Remoting学习笔记(三)信道
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually
  • /var/log/cvslog 太大
  • @column注解_MyBatis注解开发 -MyBatis(15)
  • @Not - Empty-Null-Blank
  • @SuppressLint(NewApi)和@TargetApi()的区别