多核處理器越來(lái)越多地被采用在關(guān)鍵系統(tǒng)領(lǐng)域,特別是在關(guān)鍵任務(wù)的軍事環(huán)境中。它們?yōu)閱魏颂幚砥鞯拈L(zhǎng)期可用性問(wèn)題以及促進(jìn)軍事系統(tǒng)創(chuàng)新所需的處理能力增加的問(wèn)題提供了解決方案。由于多核處理器既不提供確定性環(huán)境,也不提供可預(yù)測(cè)的軟件執(zhí)行時(shí)間,因此需要一種新的驗(yàn)證方法(一種解決多核時(shí)序分析挑戰(zhàn)的方法)來(lái)安全使用。
處理器的SWaP(尺寸,重量和功率)問(wèn)題的持續(xù)進(jìn)展導(dǎo)致多核供電的手機(jī)比阿波羅11號(hào)月球著陸器包含更多的功率。使用多核處理器帶來(lái)的好處導(dǎo)致該技術(shù)在主流技術(shù)行業(yè)中得到廣泛采用,單核處理器現(xiàn)在只占市場(chǎng)的一小部分。由于這種轉(zhuǎn)變,芯片制造商正在遠(yuǎn)離生產(chǎn)這些傳統(tǒng)處理器,它們的長(zhǎng)期可用性受到嚴(yán)重質(zhì)疑。
隨著單核處理器的供應(yīng)不斷減少,現(xiàn)代嵌入式系統(tǒng)越來(lái)越受歡迎,采用多核處理器是不可避免的。然而,在關(guān)鍵任務(wù)軍事領(lǐng)域安全使用這些處理器具有挑戰(zhàn)性,因?yàn)樗鼈兗炔惶峁┐_定性環(huán)境,也不提供可預(yù)測(cè)的軟件執(zhí)行時(shí)間。
軍用航空電子認(rèn)證的黃金標(biāo)準(zhǔn)
DO-178C 是 FAA [聯(lián)邦航空管理局] 和 EASA [歐盟航空安全局] 等著名認(rèn)證機(jī)構(gòu)批準(zhǔn)所有商業(yè)軟件航空航天系統(tǒng)的主要文件。多年來(lái),它也已成為在軍用航空電子系統(tǒng)中使用軟件的事實(shí)黃金標(biāo)準(zhǔn)。
美國(guó)聯(lián)邦航空局用題為“多核處理器”的立場(chǎng)文件CAST-32A補(bǔ)充了DO-178C指南,以解決航空中越來(lái)越多地使用多核處理器的問(wèn)題。
美國(guó)陸軍指定的主要適航機(jī)構(gòu)AMRDEC航空工程局(AED)發(fā)布了一份名為“多核處理器(MCP)適航要求”的指導(dǎo)文件草案,其中DO-178C和CAST-32A目標(biāo)被確定為可用于滿足MCP [多核處理器]適航要求的指南。
時(shí)序分析是 CAST-32A 指南中確定的核心目標(biāo)之一,并具體由稱為 MCP_Software_1 的目標(biāo)解決,該目標(biāo)需要證據(jù)證明所有托管軟件組件正常運(yùn)行,并且在多核環(huán)境中運(yùn)行時(shí)有足夠的時(shí)間完成其執(zhí)行。這是一個(gè)非常具有挑戰(zhàn)性的目標(biāo),并且已被證明是旨在認(rèn)證多核項(xiàng)目的軍事和航空航天公司的嚴(yán)重障礙。
分析多核時(shí)序行為
由于多種原因,旨在驗(yàn)證單核系統(tǒng)時(shí)序行為的驗(yàn)證解決方案不適用于多核時(shí)序分析,主要是因?yàn)檫@些解決方案無(wú)法考慮資源爭(zhēng)用引起的干擾的影響。為了驗(yàn)證多核系統(tǒng)的時(shí)序行為,需要專門解決多核時(shí)序分析挑戰(zhàn)的新方法。
考慮資源爭(zhēng)用和干擾
多核系統(tǒng)任務(wù)中任務(wù)的計(jì)時(shí)行為不僅受其上運(yùn)行的軟件及其輸入的影響,還受與其他內(nèi)核上運(yùn)行的任務(wù)共享的資源(如總線、緩存和 GPU)爭(zhēng)用的影響。為了設(shè)計(jì)實(shí)驗(yàn)來(lái)分析多核系統(tǒng)的時(shí)序行為,必須識(shí)別并考慮干擾源。
圖 1 顯示了多核架構(gòu)的簡(jiǎn)化示例,其中總線在多個(gè)內(nèi)核之間共享。由核心 N 訪問(wèn)此總線而導(dǎo)致的流量可能會(huì)影響在核心 0 上運(yùn)行的應(yīng)用程序的計(jì)時(shí)行為,該應(yīng)用程序需要訪問(wèn)此總線。
圖1|多核系統(tǒng)中的干擾信道示例。
必須測(cè)試假設(shè)
為了分析多核系統(tǒng)的時(shí)序行為,必然需要對(duì)所研究系統(tǒng)的行為進(jìn)行一些假設(shè),包括存在的干擾信道的影響。由于多核系統(tǒng)的復(fù)雜性,對(duì)系統(tǒng)做出的看似合乎邏輯的假設(shè)以后可能會(huì)被證明是不正確的,可能需要一個(gè)迭代過(guò)程來(lái)做出假設(shè),測(cè)試它們,并使用分析結(jié)果來(lái)完善下一輪測(cè)試的假設(shè)。
這最好用一個(gè)實(shí)際示例來(lái)解釋:正在研究的是運(yùn)行在 Xilinx Zynq Ultrascale+ ZCU102 目標(biāo)板上的內(nèi)存密集型應(yīng)用對(duì)不同干擾水平的敏感性。運(yùn)行應(yīng)用程序的應(yīng)用程序處理單元有四個(gè)內(nèi)核。合理的假設(shè)是,由于對(duì)系統(tǒng)的先驗(yàn)了解,二級(jí)緩存是此應(yīng)用的主要干擾通道。為了驗(yàn)證這一假設(shè),在應(yīng)用程序運(yùn)行時(shí)執(zhí)行了一項(xiàng)測(cè)試,同時(shí)從 0 到 3 個(gè)競(jìng)爭(zhēng)者內(nèi)核上運(yùn)行的任務(wù)對(duì) L2 緩存進(jìn)行持續(xù)訪問(wèn)。
圖2|CPU 周期和二級(jí)緩存未命中。
如果假設(shè)有效,則應(yīng)用程序執(zhí)行的二級(jí)緩存未命中數(shù)和 CPU 周期數(shù)將隨著每個(gè)額外的競(jìng)爭(zhēng)者內(nèi)核而增加。該圖顯示,這一假設(shè)一直持續(xù)到引入第三個(gè)競(jìng)爭(zhēng)者核心。這增加了 CPU 周期數(shù),但二級(jí)緩存未命中數(shù)與只有兩個(gè)競(jìng)爭(zhēng)者內(nèi)核處于活動(dòng)狀態(tài)時(shí)大致相同。
多核系統(tǒng)中干擾效應(yīng)的復(fù)雜性意味著設(shè)計(jì)人員應(yīng)該期望需要迭代周期來(lái)形成假設(shè),測(cè)試它們,并使用分析結(jié)果形成新的假設(shè)。雖然沒(méi)有辦法自動(dòng)化這個(gè)過(guò)程,但工程師可以在如何形成關(guān)于多核處理器的合理假設(shè)以及如何通過(guò)處理多個(gè)項(xiàng)目和積累經(jīng)驗(yàn)來(lái)在調(diào)查工作中重新評(píng)估這些假設(shè)方面發(fā)展專業(yè)知識(shí)。有效的重新評(píng)估和測(cè)試將導(dǎo)致全面了解多核處理器的行為方式以及哪些因素會(huì)影響其計(jì)時(shí)行為。
在真實(shí)硬件上進(jìn)行測(cè)試
多核CPU很復(fù)雜,其內(nèi)部通常是隱藏的,因此純分析模型在理解其時(shí)序行為方面的用途有限。雖然純分析(靜態(tài)分析)模型可以為單核系統(tǒng)提供可用的時(shí)序估計(jì),但對(duì)于多核系統(tǒng)則不是這種情況。即使使用這些方法,它們也會(huì)根據(jù)多核配置的病理最壞情況行為產(chǎn)生高度悲觀的結(jié)果,并且這些結(jié)果將沒(méi)有實(shí)際用途。
要從多核系統(tǒng)生成可用的時(shí)序指標(biāo),必須測(cè)量系統(tǒng)本身的時(shí)序行為。Rapita Systems的工程師使用巴塞羅那超級(jí)計(jì)算中心開(kāi)發(fā)的一系列微基準(zhǔn)來(lái)強(qiáng)調(diào)特定的共享資源,并在發(fā)生這種爭(zhēng)用時(shí)觀察應(yīng)用程序的計(jì)時(shí)行為。通過(guò)使用該技術(shù)對(duì)特定共享資源應(yīng)用可配置的爭(zhēng)用程度,可以制定實(shí)驗(yàn),以幫助根據(jù)可行的計(jì)時(shí)環(huán)境分析計(jì)時(shí)指標(biāo)。這些實(shí)驗(yàn)可以產(chǎn)生滿足CAST-32A定時(shí)目標(biāo)所需的關(guān)鍵證據(jù),例如最壞情況執(zhí)行時(shí)間(WCET)。
多核時(shí)序分析不能完全自動(dòng)化
多核處理器的復(fù)雜性意味著構(gòu)建全自動(dòng)時(shí)序分析解決方案是不現(xiàn)實(shí)的。雖然工具支持可以自動(dòng)化大多數(shù)數(shù)據(jù)收集和分析過(guò)程,但需要工程智慧和專業(yè)知識(shí)來(lái)了解系統(tǒng)和指導(dǎo)工具使用以產(chǎn)生必要的證據(jù)。工程師在了解多核系統(tǒng)、研究干擾信道和使用支持工具方面的經(jīng)驗(yàn)越多,分析過(guò)程的效率就越高。
未來(lái)的關(guān)鍵任務(wù)
軍事領(lǐng)域使用的關(guān)鍵任務(wù)嵌入式系統(tǒng)越來(lái)越多地使用多核處理器。這些系統(tǒng)的認(rèn)證考慮因素不是事后才考慮的,而是在開(kāi)發(fā)過(guò)程的早期考慮的。值得慶幸的是,DO-178C 提供了一組強(qiáng)大的目標(biāo),以確保安全可靠地使用這些處理器。多核系統(tǒng)的時(shí)序分析具有挑戰(zhàn)性,但久經(jīng)考驗(yàn)的解決方案可以在商業(yè)環(huán)境中執(zhí)行。
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
19165瀏覽量
229127 -
MCP
+關(guān)注
關(guān)注
0文章
253瀏覽量
13878
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論