01 | 背景
▌ 軟件定義汽車
隨著智能網(wǎng)聯(lián)汽車技術(shù)的進(jìn)步,軟件和人工智能技術(shù)已成為汽車產(chǎn)業(yè)的重要支撐,推動(dòng)了汽車從傳統(tǒng)機(jī)械代步工具向新一代移動(dòng)智能終端的轉(zhuǎn)變。汽車電子電氣架構(gòu)的升級(jí)當(dāng)下已從分布式向域控制/中央集中式方向發(fā)展。通信架構(gòu)由 LIN/CAN 總線向以太網(wǎng)方向發(fā)展。整車軟件架構(gòu)從面向信號(hào)的軟硬件耦合架構(gòu)向面向服務(wù)的分層解耦軟件架構(gòu)轉(zhuǎn)變。
從最初的各個(gè)子系統(tǒng)獨(dú)立的 ECU 運(yùn)算,到按功能劃分的域控制器集成化運(yùn)算,再到最終實(shí)現(xiàn)整車運(yùn)算能力的高度集中、智能化分配算力。形成由一個(gè) CCU(中央計(jì)算平臺(tái))承擔(dān)智能車控、自動(dòng)駕駛、智能座艙三域的全部計(jì)算工作。
▌ 從 “馬力” 到 “算力”
傳統(tǒng)汽車時(shí)代的競(jìng)爭(zhēng),主要是圍繞動(dòng)力、操控和空間來展開。但智能汽車發(fā)展的背后,是整車計(jì)算平臺(tái)的演進(jìn)。算力是智能汽車實(shí)現(xiàn)高級(jí)自動(dòng)駕駛功能的基礎(chǔ),它直接關(guān)系到車輛的智能水平、安全性和用戶體驗(yàn)。
高通第四代8295智能座艙芯片算力 30 TOPS,英偉達(dá)最新自動(dòng)駕駛 NVIDIA DRIVE Thor 芯片算力 2000 TOPS。智能汽車中搭載 2 顆 8295 加上 2 顆 Thor 芯片,算力將達(dá)到了驚人的 4060 TOPS。
02 | 可觀測(cè)性對(duì)于智能汽車的重要性
車端算力軍備競(jìng)賽背后,反映出了當(dāng)下新能源車企之間激烈的競(jìng)爭(zhēng)。
但是算力不等于智能,智能汽車水平的提高,除了算力,還要與數(shù)據(jù)、軟件優(yōu)化的協(xié)同配合,才能充分利用硬件的算力。目前智能汽車的發(fā)展階段已經(jīng)由 “堆料” 階段發(fā)展到 “提質(zhì)” 的高質(zhì)量發(fā)展階段。未來決定汽車差異性的,將是軟件迭代、優(yōu)化帶來的性能和功能提升。
由于車端可觀測(cè)性技術(shù)手段的缺乏,如何實(shí)現(xiàn)從 “堆料” 階段發(fā)展到 “提質(zhì)” 的高質(zhì)量發(fā)展成為一大難題。比如智能座艙 APP 的車端控制存在延遲、異常等問題導(dǎo)致用戶使用體驗(yàn)不佳,無法觀測(cè)到從云端到車端完整的調(diào)用鏈過程。無法快速定位車端應(yīng)用的函數(shù)性能瓶頸,導(dǎo)致系統(tǒng)性能優(yōu)化無從下手,效率低下。
03 | 車端可觀測(cè)性挑戰(zhàn)
隨著 “軟件定義汽車” “馬力到算力” 不斷的發(fā)展,當(dāng)下車端智能車控、自動(dòng)駕駛、智能座艙三域之間復(fù)雜的域間系統(tǒng)調(diào)用、域內(nèi)系統(tǒng)調(diào)用及車云互聯(lián)等場(chǎng)景下,如何快速定位問題、定位性能瓶頸;車端應(yīng)用開發(fā)測(cè)試如何保障軟件質(zhì)量、提升效能,成為智能汽車當(dāng)下一大挑戰(zhàn)。具體有以下幾個(gè)方面:
▌ 復(fù)雜的車端通信場(chǎng)景
車端智能車控、自動(dòng)駕駛、智能座艙等應(yīng)用系統(tǒng)業(yè)務(wù)交互的訪問關(guān)系復(fù)雜度越來越高,動(dòng)態(tài)性也越來越強(qiáng)。但由于車端可觀測(cè)性的 “黑盒” 化,使得觀測(cè)整個(gè)系統(tǒng)的運(yùn)行狀態(tài)變得困難。無法動(dòng)態(tài)捕捉業(yè)務(wù)系統(tǒng)之間的訪問路徑、無法透明地洞察業(yè)務(wù)內(nèi)各服務(wù)之間的調(diào)用關(guān)系,無法實(shí)現(xiàn)不同通信場(chǎng)景的通信全景圖以及端到端調(diào)用鏈路追蹤。主要通信場(chǎng)景包括:
▌ 多源的車端數(shù)據(jù)采集
車端智能應(yīng)用系統(tǒng)包含大量的軟件和硬件,包括傳感器、控制器、通信模塊、操作系統(tǒng)、智能座艙應(yīng)用、自動(dòng)駕駛系統(tǒng)等。如何零侵?jǐn)_、低成本、高性能地獲取車端各控制域、各類型觀測(cè)數(shù)據(jù)成為一大挑戰(zhàn)。多源可觀測(cè)性數(shù)據(jù)包括:
▌ 故障診斷和快速定界
車云通信、車內(nèi)域間通信等復(fù)雜場(chǎng)景下,常見的業(yè)務(wù)異常診斷和定界通常需要 1 天以上的周期,難以快速確定問題邊界,而且整個(gè)過程需要不同技術(shù)棧不同團(tuán)隊(duì)的協(xié)同排查,消耗大量時(shí)間精力,因此效率低下。快速診斷和定界不同系統(tǒng)間的故障點(diǎn)成為一大挑戰(zhàn)。
▌ 智能應(yīng)用算力優(yōu)化
智能汽車的硬件和軟件需要定期的更新和維護(hù),車端應(yīng)用系統(tǒng)的性能和質(zhì)量是否達(dá)標(biāo),關(guān)系到業(yè)務(wù)是否可以如期交付和快速上線。如何觀測(cè)應(yīng)用進(jìn)程在車端 CPU、GPU 的資源消耗和性能狀態(tài),如何觀測(cè)應(yīng)用的 CPU on/off 性能持續(xù)剖析數(shù)據(jù),如何觀測(cè)進(jìn)程在 GPU 多核心的調(diào)度情況、系統(tǒng) IO /鎖等導(dǎo)致的性能瓶頸。車端應(yīng)用開發(fā)和測(cè)試階段保障軟件質(zhì)量、提升 DevOps 效能,成為當(dāng)下一大挑戰(zhàn)。
04 | DeepFlow 車端可觀測(cè)解決之道
▌ “行駛中的數(shù)據(jù)中心”
DeepFlow 已在金融、運(yùn)營商、電力等行業(yè)有非常多的落地實(shí)踐,并實(shí)現(xiàn)了金融交易核心系統(tǒng)、運(yùn)營商通信核心系統(tǒng)、電力核心系統(tǒng)的全面可觀測(cè)性,幫助客戶提升了對(duì)系統(tǒng)穩(wěn)定性、可靠性的信心,是核心業(yè)務(wù)系統(tǒng)的重要保障。
DeepFlow 從行業(yè)應(yīng)用場(chǎng)景再到智能汽車車端的可觀測(cè)性落地實(shí)踐一路走來,我們發(fā)現(xiàn)不同落地應(yīng)用場(chǎng)景有區(qū)別也有相通點(diǎn),存在異曲同工之妙。從 “軟件定義汽車” “馬力到算力” 在我們看來,智能汽車可以類比為一個(gè)在馬路上行駛的中小型數(shù)據(jù)中心。在車端算力平臺(tái)運(yùn)行的 Android 系統(tǒng)、Linux 系統(tǒng)之上,DeepFlow 同樣也適配了車端 “數(shù)據(jù)中心” 的可觀測(cè)性解決方案。

圖1:車端算力平臺(tái)可觀測(cè)
▌ 可觀測(cè)性關(guān)鍵技術(shù)-eBPF
DeepFlow 通過 eBPF 技術(shù)零侵?jǐn)_實(shí)現(xiàn)的全景圖、分布式追蹤和持續(xù)剖析等能力為車端的可觀測(cè)性建設(shè)提供了開創(chuàng)性的新思路。基于 eBPF 實(shí)現(xiàn)了車端應(yīng)用性能指標(biāo)、分布式追蹤、持續(xù)性能剖析等觀測(cè)信號(hào)的零侵?jǐn)_(Zero Code)采集,并結(jié)合智能標(biāo)簽(SmartEncoding)技術(shù)實(shí)現(xiàn)了所有觀測(cè)信號(hào)的全棧(Full Stack)關(guān)聯(lián)和高效存取。

圖2:基于 eBPF 的車端可觀測(cè)性建設(shè)
05 | 智能汽車可觀測(cè)解決方案實(shí)踐
▌ “白盒化” -自動(dòng)繪制車端通信全景圖
DeepFlow 可實(shí)現(xiàn)自動(dòng)化繪制出車端通信場(chǎng)景中端到端系統(tǒng)調(diào)用全景圖,全景拓?fù)淇梢耘c多指標(biāo)進(jìn)行結(jié)合,當(dāng)指標(biāo)量超過閾值時(shí),則將通過標(biāo)紅的形式可視化出來。從而直接觀測(cè)到車端應(yīng)用的上下游調(diào)用全貌:

圖3:DeepFlow 車端通信場(chǎng)景全景圖
基于 DeepFlow 全景圖,可以從上帝視角觀測(cè)系統(tǒng)指標(biāo)和調(diào)用拓?fù)洌瑥亩鴮?shí)現(xiàn):
同時(shí),DeepFlow 可實(shí)現(xiàn)車端業(yè)務(wù)系統(tǒng)端到端的全棧調(diào)用鏈路追蹤,可以實(shí)現(xiàn)完整追蹤 用戶-云端-車端應(yīng)用-XCU 完整的應(yīng)用調(diào)用鏈路。展示一次手機(jī) APP 遠(yuǎn)程開門操作、智能座艙應(yīng)用訪問互聯(lián)網(wǎng)業(yè)務(wù)請(qǐng)求從 APP-云端-車端-車端執(zhí)行單元 完整端到端執(zhí)行情況,快速定位完整調(diào)用鏈路上的性能瓶頸、時(shí)延占比分析、異常分析。

圖4:DeepFlow 車端業(yè)務(wù)系統(tǒng)全棧調(diào)用鏈追蹤
▌ 高性能多源數(shù)據(jù)采集
DeepFlow 采集器目前已適配高通 SOC Android 系統(tǒng)、英偉達(dá) Linux Drive 系統(tǒng)。并支持 eBPF 數(shù)據(jù)采集。

圖5:DeepFlow 采集器適配高通 SOC、英偉達(dá) Linux 系統(tǒng)
DeepFlow Agent 使用 Rust 語言實(shí)現(xiàn),有著極致的處理性能和內(nèi)存安全性。Agent 主要從三個(gè) eBPF 接口獲取數(shù)據(jù),自下而上依次是:
DeepFlow 運(yùn)行于智能座艙車規(guī)級(jí) SOC 芯片 Android 系統(tǒng)、英偉達(dá) Linux Drive 系統(tǒng)之上,采集系統(tǒng)之上的智能座艙、自動(dòng)駕駛應(yīng)用的 eBPF 觀測(cè)信號(hào)匯集展現(xiàn)如下智能座艙、自動(dòng)駕駛應(yīng)用觀測(cè)數(shù)據(jù):
▌ 快速故障診斷和問題定界
DeepFlow 實(shí)現(xiàn)的車端全場(chǎng)景可觀測(cè)性,可以觀測(cè)智能汽車各個(gè)域間、域內(nèi)的系統(tǒng)運(yùn)行狀態(tài),通過 eBPF 數(shù)據(jù)采集和分析快速發(fā)現(xiàn)潛在故障隱患和問題定位,幫助車企在系統(tǒng)研發(fā)、測(cè)試、整車路側(cè)各個(gè)階段中快速故障定位和定界,快速迭代優(yōu)化。
案例1:基于觀測(cè)指標(biāo)趨勢(shì)回溯能力,快速定位自動(dòng)駕駛應(yīng)用至智能座艙應(yīng)用之間的系統(tǒng)響應(yīng)時(shí)延毛刺異常。

圖6:DeepFlow 觀測(cè)指標(biāo)趨勢(shì)回溯
一鍵下鉆詳細(xì)調(diào)用日志,快速發(fā)現(xiàn)響應(yīng)時(shí)延高的具體應(yīng)用請(qǐng)求端點(diǎn),并通過全棧路徑定位響應(yīng)時(shí)延慢發(fā)生在服務(wù)端智能座艙應(yīng)用側(cè),從而實(shí)現(xiàn)快速的故障診斷和問題定界。

圖7:DeepFlow 調(diào)用日志詳情
案例2:智能座艙應(yīng)用端到端分布式追蹤,車聯(lián)網(wǎng)控制數(shù)據(jù)與云端業(yè)務(wù)系統(tǒng)通過 MQTT Broker 連接實(shí)現(xiàn)數(shù)據(jù)交互,通過在云端解析 MQTT 數(shù)據(jù)實(shí)現(xiàn)智能云端服務(wù)-車端應(yīng)用觀測(cè)數(shù)據(jù)聯(lián)動(dòng),拉齊跨部門問題定界能力。

圖8:DeepFlow 端到端分布式追蹤
▌ 智能應(yīng)用算力優(yōu)化及性能剖析
DeepFlow 可實(shí)現(xiàn)觀測(cè)車端系統(tǒng)運(yùn)行過程中熱點(diǎn)邏輯的執(zhí)行以及判斷熱點(diǎn)邏輯是否合理,快速識(shí)別出熱點(diǎn)函數(shù)(On/Off CPU 火焰圖),通過對(duì)熱點(diǎn)函數(shù)的優(yōu)化,幫助車端應(yīng)用在開發(fā)和測(cè)試階段快速優(yōu)化迭代軟件質(zhì)量、提升效率,提升車端應(yīng)用的整體性能。
案例:在車端 GPU 算力資源非常寶貴,我們希望自動(dòng)駕駛系統(tǒng)高效率的利用 GPU 算力資源,但是經(jīng)常遇到應(yīng)用進(jìn)程在 CPU 核心上執(zhí)行存在性能瓶頸,導(dǎo)致 CPU 核心資源被占滿但 GPU 資源被浪費(fèi)的問題。通過 DeepFlow 的持續(xù)性能剖析功能可觀測(cè)到自動(dòng)駕駛系統(tǒng)中雷達(dá)數(shù)據(jù)處理應(yīng)用在 CPU 上執(zhí)行的熱點(diǎn)函數(shù)。

圖9:DeepFlow 持續(xù)性能剖析
06 | 總結(jié)
隨著新能源智能汽車行業(yè)市場(chǎng)競(jìng)爭(zhēng)的加劇,以及人工智能、自動(dòng)駕駛等新技術(shù)不斷發(fā)展,車企需要更加智能化和高效的手段來提高產(chǎn)品質(zhì)量、提高效率和提高市場(chǎng)競(jìng)爭(zhēng)力。
DeepFlow 可觀測(cè)性解決方案采集到豐富的觀測(cè)數(shù)據(jù),包括車輛系統(tǒng)指標(biāo)觀測(cè)數(shù)據(jù)、調(diào)用鏈路追蹤數(shù)據(jù)、系統(tǒng)運(yùn)行性能數(shù)據(jù)等,這些數(shù)據(jù)可以為車企提供全方位的數(shù)據(jù)支撐,為產(chǎn)品迭代優(yōu)化、用戶體驗(yàn)提升等決策提供參考依據(jù)。幫助車企提高產(chǎn)品質(zhì)量、提高效率、增強(qiáng)競(jìng)爭(zhēng)力,為智能汽車智能化注入新動(dòng)能。