作者
寒武紀AE團隊,騰訊云容器中心邊緣計算團隊,SuperEdge 開發者
SuperEdge 支持國產智能加速卡寒武紀 MLU220
SuperEdge 對應的商業產品 TKE Edge 也一直在硬體和加速方面在持續耕耘,不但支持 NVIDIA 系列 GPU的加速,還在 GPU 虛擬,QGPU 化等方面持續發力,本次聯合寒武紀對國產智能邊緣加速卡進行了支持,以利于用戶在邊緣進行模型訓練和邊緣智能推理性能的提升,下面是經過寒武紀 AE 團隊和 SuperEdge 開源團隊的聯合測驗,對國產寒武紀邊緣計算加速卡兼容性的聯合宣告,
中科寒武紀科技股份有限公司的邊緣智能加速卡 MLU220-M.2和分布式邊緣容器管理系統 SuperEdge 與相互兼容,能夠對搭載M.2的邊緣設備在視頻、影像、語音等應用上提供數十倍的加速能力, 在此發表聯合宣告,

下面給出兩個分類網路在 CPU 和 M.2 上的吞吐性能對比,
| 網路模型 | M.2(fps) | CPU(fps) |
|---|---|---|
| vgg16 | 184 | 13 |
| resnet50 | 417 | 29 |
可以看出 vgg16 M.2 是普通 i7-8700K的14倍,Resnet50 也是普通 i7-8700K 的14倍,
其中,CPU 采用的是 Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
SuperEdge 邊緣容器解決方案
SuperEdge 是2020年12月騰訊云聯合英特爾、VMware 威睿、虎牙、寒武紀、美團、首都在線發布的基于原生Kubernetes 的邊緣分布式容器管理系統,該系統把云原生能力擴展到邊緣側,很好的實作了云端對邊緣端的管理和控制,極大簡化了應用從云端部署到邊緣應用的程序,2021年9月已被 CNCF 基金會接受,成為 CNCF Sandbox專案,由 CNCF 監管和運維,
SuperEdge提供了如下能力:
邊緣自治
云邊網路往往是弱網路,中間可能是有線、無線、WIFI……連接,可能是4G、5G網路,云邊斷鏈是常態,斷連時間不定,短則三五分鐘,長則數小時、幾天,那么如何保證邊緣服務不被驅逐,繼續提供正常服務呢?
SuperEdge 的邊緣自治能力,可以保證云邊斷連的情況下,邊緣服務繼續穩定運行,即使邊緣節點斷電重啟,也能自動恢復已經部署到該節點的邊緣服務繼續運行,
分布式健康檢查
SuperEdge 提供的邊緣分布式健康檢查能力有兩個作用:
- 只要邊緣節點正常,邊緣服務就不會驅逐
SuperEdge 會在每個邊緣節點部署一個 edge-health 的 deamonset,同一個邊緣 Kubernetes 集群的節點會定期 Check 彼此,對彼此的健康性進行投票,并將投票結果反饋到云端,即使邊緣 Kubernetes 集群的一個節點云邊網路斷連,其他節點也會把他的健康性反饋到云端,就不會對該節點進行驅逐, - 可分組進行分布式健康檢查
即把邊緣 Kubernetes 集群的邊緣節點分成多個組(同一機房,或者同一地域),每個組內的節點之間相互檢查,這樣做的好處是避免集群規模增大后節點之間的 Check 資料互動變大,占用節點流量,投票結果也難以達成一致的情況,
edge-health 的設計避免了由于云邊網路不穩定造成的大量的 Pod 遷移和重建,保證了邊緣服務的穩定,
服務訪問控制
SuperEdge 自研的 ServiceGroup 實作了基于邊緣計算的服務訪問控制,主要有三個作用:
- 一鍵把邊緣服務部署到不同站點
可以一鍵把同一套服務部署到位于同一邊緣 Kubernetes 集群的不同站點,各個站點的服務完全保持一致,該特性目前支持 DeploymentGrid 以及 ServiceGrid 兩種 Custom Resource,可以便捷的在同一個集群的多個機房或區域中各部署一組服務, - 同一站點可實作流量倍訓
各個站點雖然有同一套服務,但是會把本站點的訪問只鎖定本站點內,不會跨站點去訪問其他站點的同一套服務, - 新站點自動部署相應服務
新加入的站點,可指定服務標簽自動部署同一套站點服務,為站點擴展提供了自動部署服務的支持,
云邊隧道
邊緣節點一般是沒有公網IP的,或者在一個NAT網路背后,云端無法直接訪問邊緣節點,這就使得 kubectl logs、kubectl exec……等云端訪問邊緣節點的請求完全失靈,
SuperEdge 自研的云邊自建隧道(目前支持TCP、HTTP、HTTPS、ssh)打通了不同網路環境下的云邊連接問題,實作對無公網 IP 邊緣節點的云端統一操作和維護,
批量添加局域網邊緣節點及遠程運維局域網邊緣節點
為了解決生產環境海量邊緣節點的接入,SuperEdge 團隊特提供了penetrator-controller組件支持了局域網內成千上萬邊緣節點的接入,并且還可以在云端遠程登錄到局域網內的邊緣節點進行遠程運維,
更多的特性可登錄 SuperEdge 官網:https://superedge.io 進行查看,合作交流可在社區https://github.com/superedge/superedge 提 Issuse,
MLU220 是什么?
MLU220-M.2 是寒武紀為邊緣計算專門打造的加速卡,它在手指大小的標準M.2加速卡上集成了 8TOPS 理論峰值性能,功耗僅為 8.25W,可以輕松實作終端設備和邊緣端設備的 AI 賦能方案,支持視覺、語音、自然語言處理以及傳統機器學習等多樣化的人工智能應用,實作各種業務的邊緣端智能化解決方案,

MLU220 具有如下特性:
-
小個頭大智能
思元220芯片是面向邊緣側量身定制的智能化解決方案,在 U 盤大小的尺寸下就可以提供8路高清視頻的實時智能分析,可廣泛支持視覺、語音、自然語言處理以及傳統機器學習等高度多樣化的人工智能應用,為邊緣計算節點裝上智慧的大腦, -
新一代寒武紀硬體架構
MLUv02 架構不是簡單的從上一代升級而來,新架構基于片上網路(NOC)構建,多個 NPU 集群的并行效率,基于硬體的片內資料壓縮,提升快取有效容量和帶寬,新架構提供 INT16,INT8,INT4,FP32,FP16 的全面 AI 精度支持,滿足多樣化神經網路的計算力要求,通用、性能兼備, -
計算彈性和可編程
思元220芯片支持多類神經網路,NeuWare 軟體堆疊可以輕松部署推理環境,BANG Lang 編程環境可對計算資源做直接定制,滿足多樣化 AI 定制要求,專業而不專用, -
加速卡硬體規格
加速卡硬體規格可概括如下:
引數 規格 型號 MLU220-M.2 記憶體 4GB, LPDDR4, 3200MHz AI算力 8TOPS(INT8) 編解碼能力 支持H.264,H.265, VP8, VP9;解碼8x1080P@30Hz;編碼4x1080P@30Hz 圖片解碼 支持JEPG最大解析度8K;解碼410 fps@1080P;編碼400 fps@1080P 介面規格 M.2 2280, B+M Key (PCIE 3.0 X2) 功耗 8.25W (3.3V 2.5A) 結構尺寸 80mm x 22mm x 7.3mm(無散熱)/21.3mm(帶散熱) 散熱 被動散熱
MLU220 能用來做什么?
MLU220 小巧的體積,強大的算力,使得它可廣泛應用于智慧交通、智能電網、智能制造、智能金融等邊緣計算場景,下面是一些典型的應用場景的介紹:
智慧交通

為保障道路安全和有序,在城市中的十字路口和關鍵道路部署多路攝像頭及 MLU220 邊緣加速卡,
MLU220 可實作對多路攝像頭輸入影像的解碼處理;基于深度學習技術,MLU220 可實作對監控路段的行人,機動車,和非機動車的檢測,跟蹤及結構化,在交通業務上進一步做到智能車流人流統計,違法抓拍取證,關鍵人車的識別抓取等,極大提高交通部門效率,
智慧工廠

為打造現代化智能制造的智慧工廠,在廠區工位部署多路攝像頭及 MLU220 邊緣加速卡,
憑借獨立的編解碼單元,MLU220 可實作對多路攝像頭影像的解碼;在強大的算力支持下,MLU220 可實作對工人的檢測,姿態識別以及對工件的檢測和識別,從而實作檢測工人是否在崗,工人操作是否合規以及工件是否按規定擺放等工廠的智能管理,
智慧畜牧

為實作畜牧業生產管理,安全健康監控和養殖環境智能檢測,在養殖基地部署多路攝像頭和 MLU220 邊緣加速卡;通過深度學習技術,實作對種豬的識別,檢測,實體分割和跟蹤,進一步實作對種豬的點數,健康檢測,吃食統計,屠宰輔助等智能養殖技術,減少人力成本,提供養殖效率,
如何在 SuperEdge 上使用寒武紀 MLU220
我們基于 SuperEdge 演示如何使用寒武紀邊緣智能加速卡:
用 edgeadm 創建一個 SuperEdge 邊緣 Kubernetes 集群
-
下載 edgeadm 安裝包
arch=amd64 version=v0.6.0 && rm -rf edgeadm-linux-* && wget https://superedge-1253687700.cos.ap-guangzhou.myqcloud.com/$version/$arch/edgeadm-linux-$arch-$version.tgz && tar -xzvf edgeadm-linux-* && cd edgeadm-linux-$arch-$version && ./edgeadm -
初始化邊緣 Kubernetes Master 節點
./edgeadm init --kubernetes-version=1.18.2 --image-repository superedge.tencentcloudcr.com/superedge --service-cidr=10.96.0.0/12 --pod-network-cidr=192.168.0.0/16 --install-pkg-path ./kube-linux-*.tar.gz --apiserver-cert-extra-sans=<Master Public IP> --apiserver-advertise-address=<Master Intranet IP> --enable-edge=true -
加入一個帶寒武紀邊緣智能加速卡的邊緣節點
./edgeadm join <Master Public/Intranet IP Or Domain>:Port --token xxxx --discovery-token-ca-cert-hash sha256:xxxxxxxxxx --install-pkg-path <edgeadm kube-* install package address path> --enable-edge=true關于 edgeadm 安裝邊緣 Kubernetes 集群的詳細介紹可參考:用 edgeadm 一鍵安裝邊緣 K8s 集群和原生 K8s 集群
安裝寒武紀邊緣智能加速卡的插件
-
安裝邊緣智能加速卡的插件
kubectl create -f https://github.com/Cambricon/cambricon-k8s-device-plugin/blob/master/device-plugin/examples/cambricon-device-plugin-daemonset.yaml -
檢查插件是否安裝成功
kubectl get node <邊緣節點NodeName> -o json --output="jsonpath={.status.allocatable}"看到邊緣節點 node status.allocatable 有 cambricon.com/mlu 有相關資源值表示邊緣智能加速卡及插件安裝成功,
"allocatable": { "cambricon.com/mlu": "1", ## MUL卡資源 "cpu": "12", ... "memory": "16164684Ki", "pods": "110" }看到
allocatable里面存在cambricon.com/mlu并且其資源值大于等于0,表示寒武紀邊緣智能加速卡及其插件已經安裝成功,mlu插件下載地址:https://github.com/Cambricon/cambricon-k8s-device-plugin
mlu監控組件:https://github.com/Cambricon/mlu-exporter
使用邊緣智能加速卡進行邊緣應用加速
在提交邊緣相應負載的時候指定 cambricon.com/mlu 來應用寒武紀邊緣智能加速卡進行加速, 比如:
apiVersion: v1
kind: Pod
...
spec:
containers:
- image: 10.13.30.52:5000/yolov4:latest
name: yolov4-ctr
resources:
limits:
cambricon.com/mlu: 1 ## 指定加速卡limits
requests:
cambricon.com/mlu: 1 ## 指定加速卡requests
...
未來
未來寒武紀和騰訊云會在邊緣硬體和邊緣云服務上進行更多的合作,為邊緣 AI、邊緣 IoT,數字化,人工智能……進行軟硬體的賦能,并且相應能力在相關的商業產品中對用戶提供支持,歡迎關注騰訊云邊緣計算云平臺 TKE Edge 和寒武紀相關加速商業產品,試用體驗邊緣更多的加速產品,
關于我們
更多關于云原生的案例和知識,可關注同名【騰訊云原生】公眾號~
福利:
①公眾號后臺回復【手冊】,可獲得《騰訊云原生路線圖手冊》&《騰訊云原生最佳實踐》~
②公眾號后臺回復【系列】,可獲得《15個系列100+篇超實用云原生原創干貨合集》,包含Kubernetes 降本增效、K8s 性能優化實踐、最佳實踐等系列,
【騰訊云原生】云說新品、云研新術、云游新活、云賞資訊,掃碼關注同名公眾號,及時獲取更多干貨!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/413001.html
標籤:其他

