下載文章
下載提高英特爾® 至強(qiáng)® 處理器 5500 系列的醫(yī)療成像性能 [PDF 488KB]摘要
醫(yī)療成像領(lǐng)域競爭激烈,那些占據(jù)市場的產(chǎn)品可在最短時間內(nèi)提供最好的圖像以保證患者診斷與治療的準(zhǔn)確性,從而最大程度提高了醫(yī)療質(zhì)量及醫(yī)務(wù)人員和醫(yī)療設(shè)備的效率。醫(yī)療成像技術(shù)的演進(jìn)導(dǎo)致數(shù)據(jù)集越來越大,算法也越來越復(fù)雜,從而不斷推高了對處理能力的要求,并為性能優(yōu)化拓展了許多機(jī)會。本簡介介紹了為優(yōu)化英特爾® 至強(qiáng)® 處理器 5500 系列圖像重建算法所做的工作。與原始代碼相比,該工作將速度提高了 50 倍。內(nèi)容包括應(yīng)用特性描述(計算與數(shù)據(jù)訪問)、性能增強(qiáng)工作(線程與高速緩存優(yōu)化)及性能問題(線程開銷與數(shù)據(jù)訪問模式)。簡介
醫(yī)療成像掃描儀種類繁多,但大多數(shù)有一些共性:它們會產(chǎn)生巨大的數(shù)據(jù)流,而這些數(shù)據(jù)流需要進(jìn)行處理以生成有利于診斷的圖像。一些常見的成像系統(tǒng)(或所謂的醫(yī)療器械)有計算機(jī)斷層掃描 (CT)、磁共振成象 (MRI)、正電子發(fā)射斷層顯像 (PET)、及單光子發(fā)射計算機(jī)斷層成像術(shù) (SPECT)。如你所想,圖像質(zhì)量對于診斷的準(zhǔn)確性極為關(guān)鍵。在許多情況下,獲取圖像所需的時間在向患者提供恰當(dāng)護(hù)理的過程中具有十分重要的作用。掃描儀收集數(shù)據(jù)的時間與其將數(shù)據(jù)處理成圖像的時間相比顯得非常短,但是,在允許患者離開之前,常常有必要看到圖像,以確定獲得了正確的圖像。顯然,這一處理時間限制了成像研究的次數(shù),成像研究可在隨時進(jìn)行,并會影響醫(yī)務(wù)人員和設(shè)備的效率(及投資回報)。從多個方面來說性能都很關(guān)鍵。
所需的處理量取決于具體的醫(yī)療器械,但一般會需要服務(wù)器集群或者甚至專用硬件在合理的時間內(nèi)提供圖像。最近,英特爾® 至強(qiáng)處理器 5500 系列幫助我們裁剪了一半的服務(wù)器(與前代服務(wù)器相比),但隨著掃描儀分辨率的提高,對處理速度的要求會繼續(xù)增加。
醫(yī)療成像設(shè)備介紹
醫(yī)療成像掃描儀(被稱為醫(yī)療行業(yè)的醫(yī)療設(shè)備)并不會生成圖像,而是產(chǎn)生巨大的數(shù)據(jù)流,工作人員需要對處理這些數(shù)據(jù)流以重建對診斷有用的圖像。所需重建處理的詳情依不同的醫(yī)療設(shè)備而有所不同。圖 1a
圖 1b
CT 掃描儀及重建的軸向立體切面圖
CT (即計算機(jī)斷層掃描)掃描儀當(dāng)這個環(huán)形物旋轉(zhuǎn),人體會穿過環(huán)形物的小孔。檢測器的檢測數(shù)據(jù)表示 x 射線能量的數(shù)量,該能量使其沿著檢測器和 x 射線源之間的一系列射線穿過身體。檢測器的數(shù)據(jù)用于重建表示人體內(nèi)部結(jié)果的圖像(立體切面圖)。CT 對于骨骼尤其靈敏。圖 1 向我們展示了橫截面,其中有肋骨、脊柱和一些內(nèi)臟。
圖 2a
圖 2b
運(yùn)行中的 MRI 掃描儀及人類頭骨蓋的重建立體切面圖
MRI(磁共振成像)包括在強(qiáng)烈的磁場及脈沖射頻場中,對組織中能量狀態(tài)變化的測量。一系列傳感器可檢測到這些能量變化及內(nèi)部組織結(jié)構(gòu)圖像中的后處理結(jié)果。MRI 非常易于區(qū)分不同的組織類型。圖 2 所示為人體頭骨的橫截面,詳細(xì)展示了大腦、眼睛、鼻子、嘴巴及其它構(gòu)造。
圖 3a
圖 3b
蓋子打開的 PET 掃描儀及重建的立體切斷面,后者從新陳代謝活動方面對正常頭顱及患有帕金森癥的頭顱進(jìn)行了比較
PET 及 SPECT 為核成像技術(shù),需要將放射性藥物注入人體中,并會生成圖像,顯示組織和肌肉中的新陳代謝過程是如何消耗這些藥物的。這兩種設(shè)備的具體構(gòu)造各不相同,但都可生成反應(yīng)新陳代謝活動和非活動器官的圖像。圖 3b 對正常人體及(患有帕金森癥)患者的頭部 PET 圖像進(jìn)行比較。圖 4b 所示為心臟的 SPECT“立體切片圖”,其中的“明亮”部位表示心肌正在接收代表活體心臟組織的放射性示蹤劑并使其進(jìn)行新陳代謝。由于數(shù)據(jù)的嘈雜本質(zhì),PET 和 SPECT 圖像比 CT 和 MRI 顯示的內(nèi)容要少,但可在計算密集型重建計算的幫助下處理這些噪音。 #p#page_title#e#
圖 4a
圖 4b
SPECT 掃描儀和展示血液灌注的人類心臟的重建圖像
圖像重建代碼
與常規(guī)重建相比,新算法初步的單線程實施多耗費(fèi)了很多時間。該代碼針對英特爾® 架構(gòu)進(jìn)行了分析和優(yōu)化。所有的工作都是在配備了 2 個 英特爾® 至強(qiáng)® 處理器 X5560 的服務(wù)器平臺上進(jìn)行的,其中處理器的運(yùn)行速度為 2.8GHz,內(nèi)存為 12GB。操作系統(tǒng)為 64 為 Linux*。代碼分析
代碼檢驗顯示,代碼被整合到在較大數(shù)據(jù)集(若干千兆字節(jié))的許多小子集上執(zhí)行各種運(yùn)算的序列片段中。根據(jù)一些復(fù)雜的計算結(jié)果,從大數(shù)據(jù)集中以非均勻的方式提取子集。代碼段只在數(shù)據(jù)子集上進(jìn)行了幾項簡單的算術(shù)運(yùn)算。鑒于非均勻的尋址(非預(yù)取或高速緩存友好型),我們預(yù)計內(nèi)存訪問會成為一種限制因素,且檢驗無法明確高速緩存的效率。采用英特爾® VTune™ 性能分析器,我們斷定主代碼段大約占了 90% 的執(zhí)行時間(總時鐘周期)。在這些“熱點(diǎn)”中,CPI(每條指令時鐘周期)非常高。經(jīng)過進(jìn)一步仔細(xì)研究高速緩存的性能,我們發(fā)現(xiàn)二級高速緩存缺失是合理的。那么,是什么導(dǎo)致了高 CPI 呢?經(jīng)過深入研究,我們發(fā)現(xiàn)多了一半的頁面查詢工作。這是有道理的,因為我們的工作集比包括 4kB 頁面的數(shù)據(jù) TLB 的容量大許多。英特爾至強(qiáng)處理器 X5560 支持 2MB 的大頁面,有助于在每次 DTLB 輸入時處理 500 倍的數(shù)據(jù),從而大大減少了處理大型數(shù)據(jù)集所需進(jìn)行的頁面查看。實施 2MB 的大頁面使頁面瀏覽不再大不了。
對數(shù)據(jù)索引的進(jìn)一步調(diào)查表明,非均勻的跨度和數(shù)據(jù)訪問遍布大型數(shù)據(jù)集。我們對數(shù)據(jù)進(jìn)行了重新整理,以便索引一直增加,同時在子集之間實現(xiàn)最大化的高速緩存再使用。除了提高高速緩存的再使用率之外,這還有助于處理器的預(yù)取器更好地協(xié)調(diào)工作。大頁面和數(shù)據(jù)重排序的合力將性能提高了兩倍。
為了讓目標(biāo)平臺發(fā)揮最大效用,我們用英特爾® C/C++ 編譯器取代了 GNU GCC* 編譯器。這一改變將性能又提高了 1.2 倍。
我們通過在可用線程間劃分?jǐn)?shù)據(jù)元素的數(shù)量,開發(fā)出一種數(shù)據(jù)并行的線程模型。在若干地方的線程間實現(xiàn)同步是很有必要的。我們希望同步過程輕便,這樣可以使用非常簡單的自旋鎖。
英特爾® 至強(qiáng)® 5560 處理器結(jié)果
采取的行動 | 加速1 |
大頁面 + 數(shù)據(jù)重排 | 2倍 |
英特爾® C/C++ 編譯器 | 1.2倍 |
多線程處理(16 條線程) | 10倍 |
性能調(diào)優(yōu)熱點(diǎn) | 1.7倍 |
總計 | ~50倍 |
Table 1
表 1 概述了英特爾至強(qiáng) 5560 處理器的改進(jìn)之處。
- 通過實施大頁面和重排數(shù)據(jù)訪問,實現(xiàn)了 2 倍的加速。
- 將英特爾 C/C++ 編譯器代替 GNU GCC* 又將性能提高了 20%。
- 數(shù)據(jù)并行線程處理擴(kuò)展性良好,并借助配有 16條線程的英特爾至強(qiáng)處理器 X5560 (支持 SMT)實現(xiàn)了 10 倍的加速。
- 在熱點(diǎn)實施額外編碼變更再次實現(xiàn)了 1.7 倍的加速。
- 總體而言,大概實現(xiàn)了 50 倍的加速。
未來的性能優(yōu)化
關(guān)于這一工作可用的數(shù)據(jù)集,我們注意到當(dāng)線程的數(shù)量增加至 8-12 條以上,可擴(kuò)展性就趨于平穩(wěn)狀態(tài)。通過檢查每天線程完成的工作并將其與線程同步開銷進(jìn)行對比,我們順利解釋了這個問題。盡管使用了非常簡單的自旋鎖對線程進(jìn)行同步,但每條線程完成的計算量卻與線程的數(shù)量成比例地降低,而同步時間則以同樣的比例增加。我們預(yù)計,同步開銷將會在 20-28 條線程間超過計算時間,從而限制本解決方案對具有更多線程的系統(tǒng)的效用。對于這些未來的系統(tǒng),或許數(shù)據(jù)和流程并行方法的組合將進(jìn)一步提升性能。 #p#page_title#e#總結(jié)
雖然改善醫(yī)療圖像質(zhì)量的方法是眾所周知,但這些方法一直有賴于計算機(jī)行業(yè)提供經(jīng)濟(jì)高效的計算能力。該工作證明,通過使用英特爾® 編譯器、英特爾® Vtune™ 性能分析器及性能調(diào)優(yōu)方法為英特爾硬件優(yōu)化它們,我們在處理這些計算密集型方法方面取得了巨大的進(jìn)步。我們認(rèn)為,通過提供成本合理和有利于準(zhǔn)確及時診斷的改進(jìn)圖像、改善對患者的護(hù)理及更有效地使用人員和設(shè)備資源,可為更優(yōu)質(zhì)的醫(yī)療保健服務(wù)創(chuàng)造條件