1. 程式人生 > >自動駕駛計算系統的多種計算架構---分散式計算架構、中心式計算架構和混合式計算架構

自動駕駛計算系統的多種計算架構---分散式計算架構、中心式計算架構和混合式計算架構

編者按:在走完5個月漫長的收購流程之後,英特爾公司(Intel)150億美元收購以色列ADAS技術供應商Mobileye的收購案終於在北京時間8月9日完成。不得不說,半導體產業(包括汽車半導體)的兼併與收購都是大手筆:

  • 2016年11月,西門子公司以45億美元收購收購半導體軟體公司明導(Mentor Graphics);

  • 2016年10月,高通公司以470億美元的高價收購恩智浦半導體公司(NXPSemiconductors);

  • 2015年3月,恩智浦曾以118億美元收購美國汽車半導體公司飛思卡爾(FreescaleSemiconductor)。

由此,面向自動駕駛技術的汽車半導體產業有呈現三足鼎立之勢——英偉達公司(NVIDIA)憑藉車載計算平臺 Drive PX 2 佔得先機,英特爾公司合縱連橫窮追不捨,但更不容小覷的是作為目前智慧手機產業兩大樞紐節點之一的高通公司的實力。

日前,高通公司旗下恩智浦自動駕駛實驗室主任戴維德桑託(Davide Santo)就未來自動駕駛汽車應該採用分散式計算架構還是中心式計算架構進行了論述,過本篇文章將就此展開。

引子

隨著汽車自動駕駛程度的提高,汽車自身所產生的資料將越來越龐大。 據英特爾公司估算,假設 一輛自動駕駛汽車 配置了GPS、聲納、 相機、雷達和鐳射雷達等感測器,則上述感測器 每秒鐘產生的資料 (如圖1所示) 將是:

GPS:約50kB;

聲吶:約10-100kB;

相機:約20-40MB;

雷達:約10-100kB;

鐳射雷達:約10-70MB。

圖1自動駕駛汽車各感測器所產生的資料量圖1自動駕駛汽車各感測器所產生的資料量

將上述數字相加後可知,一輛自動駕駛汽車每天將產生約4000GB待處理的感測器資料。由此,有志於投入自動駕駛系統研製的汽車製造商、IT公司以及初創科技公司們不得不面對一個複雜的難題:如何使自動駕駛汽車能夠實時處理如此海量的資料,並在提煉出的資訊的基礎上,得出合乎邏輯且形成安全駕駛行為的決策?

而解決上述難題的兩個關鍵環節在於:

資料處理在哪裡完成:是在終端感測器處還是在中央處理器處?

如何將資料從終端感測器傳輸到中央處理器:當對並非位於一處而是遍佈自動駕駛汽車車身的多個感測器進行資料融合時,需要專門考慮感測器和中央處理器之間的連線設計和電纜佈置。

三類計算架構的定義

如圖2所示,在複雜網路中,有三種典型的網路結構:中心式(Centralized)、分散式(Decentralized)和混合式(Distributed,此處為意譯)。在描述自動駕駛汽車的計算架構時,可以借用這三種網路模型。

 圖2三類典型的網路結構圖2三類典型的網路結構

據恩智浦半導體自主駕駛實驗室主任Davide Santo介紹,對分散式或中心式計算架構的定義可以追溯到1999年美國國防部實驗室所提出的定義。基本上,這一定義僅限於需要進行感測器融合的場景:

分散式計算架構:終端感測器完成高度的資料處理,並在一定程度上在本地完成決策,只向中央處理器傳輸物件資料(object data)或元資料(meta data,描述資料屬性的資料),由中央處理器在整合各終端感測器傳來的資料後製定決策;

中心式計算架構:各終端感測器將原始資料傳輸到中央處理器處,所有資料的處理與決策的制定都在該處完成,且每個感測器節點都知道每個其它節點正在做什麼;

混合式計算架構:根據系統中使用的感測器的數量和型別、不同車型的可擴充套件性要求與升級選項,混合使用上述兩種計算架構結構以形成最優方案——其中,有一箇中央計算單元在更高的抽象層次上工作, 此外還有一些可以所處位置或感測器型別來劃分的不同的「域」(domain)。

分散式計算架構的優劣勢

總體而言,分散式計算架構的優勢在於,各終端處理器不必一下子處理大量資料,也沒有類似如何以安全且高效的方式將資料從終端感測器傳輸到中央處理器的難題,能以最具成本效益的方式有效地將各部件組合在一起。

從另一個角度看,其劣勢在於,此種計算架構必須同時分發資訊,並在所有節點之間對資訊進行同步。而當節點數量超過3-4個時,這幾乎已經變得不可能了。

圖3分散式計算結構示意圖圖3分散式計算結構示意圖

分散式計算架構的示意圖的優點與缺點總結如下:

終端感測器和中央感測器之間可使用更低的頻寬、更簡易且低廉的介面,在大多數情況下,小於 1 MB 每秒的頻寬就足夠了

由於中央處理器只需整合物件資料,其對運算能力要求較低,所需功耗也更低。由於很多資料處理工作在終端處理器內部完成,感測器數量的增加不會大幅提高對中央處理器的效能要求。

終端感測器需要配置處理器,由此其體積將變大,價格及功耗也將更高。由於感測器需要在本地處理資料並制定決策,其對功能安全(functional safety)的要求也將更高;

中央處理器獲取的是物件資料而非實際的感測器資料,因此無法追蹤某一特定的「興趣區域」(areas of interest)。

中心式計算架構的優劣勢

中心式計算優勢在於,中央處理器會得到質量最好的資訊。原因在於,如果終端感測器不修改資料、不過濾資料,中央處理器就能獲取具有最大可能性的資訊(the maximum possible information)。

另一方面,其劣勢在於,中央處理器將會變成一個「大怪物」——必須從多達10個左右的車載攝像頭那裡傳輸資料,每個攝像頭皆為百萬畫素級別,因此傳輸的資料量將以GB計量;同時,必須從各雷達處轉移資料,所以得再次傳輸GB級別的資料量。

最終的情形將是,中央處理器將接收上述高頻率傳輸來的海量資料且必須及時處理。此外,如果中央處理器是不可擴充套件的(Non-scalable),則將不能提供汽車長期發展所需的功能。

圖4中心式計算結構示意圖圖4中心式計算結構示意圖

中心式計算架構的示意圖的優點與缺點總結如下:

由於只需要完成感知資料與傳輸資料的任務,終端感測器的成本與功耗較低,對功能安全的要求較低,可大量安裝;

終端感測器體積小巧,由此所需安裝空間較小,且安裝位置靈活,替換成本較低;

由於資料不會在感測器中因為預處理或壓縮而丟失,中央處理器可以獲取全部原始資料。

高達幾個GB每秒的寬頻通訊對於終端感測器實時傳輸所採集的資料示必需的,由此可能會帶來較高的電磁干擾;

中央處理器需要強大的運算能力和運算速度來處理所有從終端感測器傳輸來的資料,這意味著更高的功率需求並會產生大量熱量。此外,終端感測器數量的增加會大幅增加對中央處理器效能的要求。

誰主沉浮?

到目前為止,大多數汽車製造商生產的汽車的計算架構是分散式的,即將資料處理的工作放在各終端感測器上完成。

但由於像英偉達與英特爾這樣能夠提供強大的車載計算能力公司的出現,未來設計一箇中心式的汽車計算架構是完全有可能的,即各終端簡易感測器將採集到的原始的且未經處理的資料直接傳輸到強大的中央處理器中,由後者完成所有計算工作。

事實上,在明導公司(Mentor Graphics)最新提供的自動駕駛解決方案DRS360中,汽車的終端感測器會將其採集到的原始資料直接傳輸到中央處理器。由此,所有的自動駕駛演算法都將基於相同且完整的資料集來開展運算以最終形成決策。Mentor 表示,此方案不僅可以減少汽車電子控制單元(Electronic Control Units,ECU)的數量(豪華車上的ECU數量可達150多個),也把處理資料的功率需求降低了一個數量級。

值得一提的是,大多數自動駕駛領域小型初創公司支援採用中心式計算架構,或許是因為它們得不到各大汽車一級供應商的支援。例如,來自麻省理工學院、目前在新加坡測試自動駕駛出租車的初創公司Nutonomy的創始人Karl Iagnemma就表示:「在實踐中,有些研發團隊想偷懶,或由於各種原因無法得到原始資料(而選擇採用分散式計算架構),但眾所周知,這並不是最優解決方案。」

圖5混合式計算結構示意圖圖5混合式計算結構示意圖

而恩智浦自動駕駛實驗室主任 Davide Santo 認為:「至少,在自動駕駛的規劃階段需要中心式計算架構所提供的功能,其中「規劃」是指路徑尋找(path-finding)、汽車操控(maneuvering)和軌跡規劃(motion trajectory)。與此同時, 我們仍然需要能進行本地資料處理的智慧感測器,它們可以降低頻寬需求,並且有助於在分散式架構與中心式架構之間的尋找最優組合以降低成本。 」

小結

在未來,汽車的終端感測器將變得不像現在那麼智慧,但也不會徹底變成一個「愚蠢」的感測器,它一定還會繼續執行重要的操作。但由此就認為僅憑中心式計算架構實現高級別的自動駕駛,似乎有些天真,各一級供應商仍將發揮重要的作用。當然,為了使自動駕駛系統有效執行,就需要所有參與方在語言、格式、協議和網路等方面達成一致,而這在目前尚未實現。

綜上所述,混合式計算架構更可能是最終的技術路徑(如圖5所示)。一方面,就近感測器來處理資料總是需要的,無論是針對相機、雷達天線或雲點分析。與此同時,總是需要一個集中的地方,將所有終端感測器的資訊整合到一起,來完成對汽車周圍環境的整體感知並作出決策。

參考資料

Mark Harris. Mentor Graphics Moves Into Automated Driving. IEEE Spectrum. 2017.04.04

Brian Krzanich. Data is the New Oil in the Future of Automated Driving. Intel Newsroom. 2016.11.15

Hannes Estl. Sensor fusion: A critical step on the road to autonomous vehicles. eeNews Europe. 2016.04.11

Charles Murray. What’s the Best Computing Architecture for the Autonomous Car? DesignNews. 2017.08.17