明智的OS策略為醫(yī)療設(shè)備的多核設(shè)計鋪平道路
醫(yī)療設(shè)備制造商在將產(chǎn)品推向市場所面臨的諸多挑戰(zhàn)中,獲得監(jiān)管部門的批準(zhǔn)是必過一關(guān),只有獲得相應(yīng)核準(zhǔn),制造商才能出售其設(shè)備。為此,許多醫(yī)療設(shè)備制造商在采用多核系統(tǒng)設(shè)計時倍加小心,他們擔(dān)心多核的復(fù)雜性會妨礙其產(chǎn)品順利通過監(jiān)管機構(gòu)的審核。
的確,多核處理使軟件系統(tǒng)更趨復(fù)雜。但是無論系統(tǒng)運行在一個、兩個或16個處理器之上,當(dāng)今的系統(tǒng)都已太過復(fù)雜,以致無法通過單獨測試來進行驗證。因此,設(shè)備制造商應(yīng)該熟悉針對多核系統(tǒng)開發(fā)他們所需的驗證技術(shù)。
本文討論基于多核處理器的醫(yī)療設(shè)備系統(tǒng)的安全要求驗證問題,并分析可助力醫(yī)療設(shè)備向多核設(shè)計轉(zhuǎn)移的操作系統(tǒng)具有哪些特點。
醫(yī)療設(shè)備對日益復(fù)雜的用戶界面和高清成像(兩者都對計算能力有巨大需求)等特性的需求不斷攀升,這使得對多核處理的需求水漲船高。即便醫(yī)療系統(tǒng)支持越來越豐富的先進功能,它們通常也還必須滿足輕便、低功耗和低發(fā)熱的要求。
單核難以滿足上述這些要求,因為通過增加處理器時鐘速率提升計算能力的方法存在三個局限性。首先,功耗和發(fā)熱的增加速度快于時鐘速率的提升速度。其次,存儲器的速度跟不上處理器的速度。最后,資源、控制和數(shù)據(jù)間的依賴關(guān)系限制了單指令流所允許的并行程度。
關(guān)鍵的操作系統(tǒng)要求
對可靠性和可用性都是必要條件的醫(yī)療設(shè)備來說,可能會需要實時操作系統(tǒng)(RTOS),而這種RTOS需要支持對稱多處理。推薦使用一款可將進程分配給多個內(nèi)核處理的單一操作系統(tǒng),因為這種方法會比支持異步處理、且在每個處理器上采用不同操作系統(tǒng),甚至是在不同核上采用不同操作系統(tǒng)等情況更容易。
選定的RTOS必須能防范由系統(tǒng)引發(fā)的故障,而且必須在出現(xiàn)故障時能夠重啟相應(yīng)組件。在大多數(shù)情況下,最優(yōu)選擇是一個微核架構(gòu)。其中,應(yīng)用、設(shè)備驅(qū)程、文件系統(tǒng)和網(wǎng)絡(luò)協(xié)議棧都駐留在核外的獨立地址空間,因而它們彼此之間,以及它們與核之間都是隔離的。
多核系統(tǒng)存在大量的進程和線程,因此具有軟件看門狗至關(guān)重要??撮T狗是一個用戶空間的故障恢復(fù)過程,它可以檢測出故障,并立即將系統(tǒng)恢復(fù)到安全狀態(tài),或在不犧牲安全性的前提下,重啟失敗的進程。
為確保系統(tǒng)的可靠性,RTOS還應(yīng)支持:1. 時間分割(最好自適應(yīng)),以確保關(guān)鍵流程不會因CPU周期不夠用而無法完成;2. 優(yōu)先級繼承,以防止優(yōu)先級倒置;3. 處理器親和性,它允許設(shè)計師將特定的父進程和子進程僅指派給特定內(nèi)核。
設(shè)計者可以確切地決定他們要如何使用系統(tǒng)內(nèi)可用的多個核。例如,他們可將非關(guān)鍵的、但計算密集的進程交由任何可用的內(nèi)核處理,或是僅分配給一個有限的內(nèi)核子集,同時將關(guān)鍵部分交由一個固定核處理,從而簡化設(shè)計、調(diào)試和驗證。
開發(fā)工具
開發(fā)人員需要為支持多核開發(fā)、調(diào)試和優(yōu)化而專門設(shè)計的工具。一個工具集應(yīng)支持多核RTOS,該RTOS允許開發(fā)者評估負載平衡、識別瓶頸、確定并發(fā)可能性、表征和調(diào)試運行于多個CPU上的線程間的相互作用;在內(nèi)核間移動線程或進程,并測度其對系統(tǒng)造成的影響。時序和阻塞是棘手的問題,所以工具集應(yīng)為設(shè)計師提供一種探究處理器和線程正在做什么的手段。
滿足認證要求
符合要求是醫(yī)療設(shè)備準(zhǔn)入市場的必要條件——是投資可以轉(zhuǎn)化成收入前必須滿足的必要條件。因此,除了合適的OS特性和工具集功能外,醫(yī)療設(shè)備需要一個精心策劃的審批策略。
多核系統(tǒng)的復(fù)雜性可能會妨礙最終產(chǎn)品的認證,因而一些醫(yī)療制造商對采用多核處理猶豫不決。但值得注意的是,單核系統(tǒng)也存在固有的復(fù)雜性,這意味著,在實踐中,即便是單核系統(tǒng)也不可能僅借助測試就可對其進行驗證。多核和單核系統(tǒng)都是如此復(fù)雜,要展示它們的功能安全就需要技術(shù)組合,相同的技術(shù)能夠且應(yīng)該同時用于驗證單核和多核系統(tǒng)。
為驗證軟件系統(tǒng),無論其是運行在單核或多核之上,測試、統(tǒng)計分析和設(shè)計驗證要互為補充、統(tǒng)籌考慮。對于經(jīng)歷過系統(tǒng)通過認證或批準(zhǔn)過程的人來說,他們應(yīng)該熟知所需的必要技術(shù)。這些技術(shù)包括:
測試。雖然測試只能證明缺陷的存在,而無法證明不存在缺陷,但在任何系統(tǒng)驗證策略中,測試仍是關(guān)鍵要素。
統(tǒng)計分析。對于現(xiàn)場用過的設(shè)備或部件的使用數(shù)據(jù),統(tǒng)計分析可被用作支持可靠性要求。在驗證時,它也可與故障注入一起使用,用以評估系統(tǒng)中殘留的故障。
故障樹分析。以潛在或?qū)嶋H的故障開始,故障樹分析可用于推斷出可能的故障原因。
設(shè)計驗證。通過在開發(fā)過程中應(yīng)用并借助Spin和NuSMV等工具進行回顧性分析,設(shè)計驗證可為系統(tǒng)的可靠性聲明提供強有力的證據(jù)支持。
設(shè)計構(gòu)件。一個具有所有相關(guān)設(shè)計構(gòu)件(從項目計劃到可追溯性矩陣)的成熟軟件生命周期,是任何認證案例的標(biāo)準(zhǔn)及必要組成部分。
除了最簡單的醫(yī)療設(shè)備之外,多核處理很可能是未來醫(yī)療設(shè)備的發(fā)展方向。仔細選擇操作系統(tǒng),尤其要關(guān)注體系結(jié)構(gòu)、處理器對線程親和性的支持以及工具集,可以減輕這些挑戰(zhàn)對系統(tǒng)設(shè)計、開發(fā)和驗證的影響。
圖1.隨著設(shè)備對計算能力要求的不斷增長,甚至一款相對小型的醫(yī)療設(shè)備可能也會受益于多核處理技術(shù)。
圖2.使用四核CPU的一種系統(tǒng)概述屏幕截圖。
圖3、測試、統(tǒng)計分析和設(shè)計驗證互為補充以共同驗證軟件系統(tǒng),無論它是運行在單核或多核上。