使用HPC進行生物醫學建模的實際挑戰

精準醫學的基本概念是通過了解個體患者特徵的影響,可以改善癌症等病理的預防,診斷和治療。預測醫學尋求通過機制模型得出這種理解,該模型描述了特定個體內疾病的原因和(潛在的)進展。這代表了計算生物醫學的巨大挑戰,因爲它需要將高度變化的(並且可能是巨大的)定量實驗數據集整合到複雜生物系統的模型中。

越來越清楚的是,這種挑戰只能通過使用結合了不同分析的複雜工作流程來解決,而且由於對預測的瞭解,其設計必須伴隨對不確定性的估計。通常,這種工作流程中的每個階段都具有非常不同的計算要求。如果資助機構和HPC社區認真支持這種做法,他們必須考慮便攜式、持久性和穩定性工具,這些工具旨在促進這些工作流程的廣泛長期開發和測試。

從模型開發人員的角度來看,界面和超級計算機政策的巨大差異可能是創新最大的障礙。
在這裏插入圖片描述
計算生物醫學的介紹
計算生物醫學的目標是從人類生物學的複雜數學模型中獲得見解,能夠發現新療法和改進現有療法。這項工作包括從大範圍的時間和空間尺度的整合數據。在精確醫學的背景下應用這種建模需要在模型中包括足夠的細節以區分個體患者。分化的來源取決於感興趣的疾病和正在考慮的干預類型。

例如,腦腫瘤中存在的突變極有可能影響藥物的選擇,同時對手術切除腫瘤的效果影響較小。在這裏,我們認爲在這個多變且具有挑戰性的領域中開發仿真和建模不僅僅是方法開發,還可以提高代碼性能和可擴展性。科學家們首先概述計算生物醫學所面臨的具體問題,並將它們置於HPC生態系統的背景下,來表明對醫學工作的影響(腦血流和小分子藥物選擇)。

需要處理大量不同的數據

指定感興趣的系統所需的數據可以跨越許多數量級的尺寸,並且參數維度可以同等地變化。 這自然導致輸入的預處理和隨後的模擬之間的計算要求非常不同。許多計算建模工作輸入數據的預處理可能與模擬本身一樣或更多,在計算上要求很高。此外,自動化需要可靠的數據清潔應用,以及在檢測到“壞”數據時(具有臨牀或實驗用戶可理解的錯誤消息)早期和早期失敗的能力。

複雜的工作流程

典型的生物醫學模擬不是一個步驟,而是完整的工作流程,攝取數據和預處理以指定感興趣的系統,然後進行大規模模擬,最後進行分析。這種有向非循環工作流程作爲計算的基本描述是常見的,但是以穩健的方式處理不確定性量化,自適應採樣或模型失效可能導致更復雜的工作。

經歷挑戰的多樣性
項目職責的一部分是瞭解社區的各種需求,並與HPC提供商合作彼此適應對方。

A.綁定無效計算器

結合功能計算器(BAC)自動化分子動力學(MD)模擬的系統構建、執行和分析,以便計算藥物與藥物結合蛋白質的強度。雖然BAC支持一系列模擬方案和分析方法,但工作流程對所有人來說都很常見。從單個輸入結構開始了許多相同蛋白質——藥物複合物的“複製”模擬,每個輸入結構由許多連續步驟組成。一旦模擬完成,就執行分析步驟。使用多個副本模擬仿真作爲採樣策略並提供不確定性估計。

BAC可以用於根據患者(或病原體)內蛋白質的基因序列,以及藥物發現情景,對藥物結合進行個體化。在這兩種情況下,可能需要大量的運行,以解開突變的相互作用或掃描大的化學空間。通常,基於BAC的MD模擬使用少於幾百個核心(或節點的價值加上GPU),並且需要6到12個小時才能完成。大多數超級計算機的政策迫使這些工作捆綁在一起,以便按照規定的規模運行。這是由於隊列中每個用戶允許的作業數量的限制或者特定作業大小的要求允許運行足夠長的時間來完成模擬。爲了促進這些運行,我們最近開發了HTBAC,它標準化了可以訪問的超級計算機管理副本的方式。此外,通過使用工作流中間件,我們有可能使用自適應執行模式(例如,一旦達到收斂就終止模擬,並將釋放的核用於其他系統)。

B. HemeLB

HemeLB是一種3D計算流體動力學求解器。在X射線CT掃描(或不太常見的MRI掃描)期間拍攝患者大腦的圖像被分段並組合以形成血管網絡的3D表面。還可以將流動轉向支架引入該網狀物中。在準備使用LBM進行模擬時,表面內部以所需的分辨率(通常爲10μm或更低)離散化。這種網格化過程可能帶來很高的計算成本,通常佔用很大一部分的成本。

工作流程中的每個步驟都可以並且確實具有非常不同的資源要求,並且如果通過I/O完成,則步驟之間的數據傳輸可能是昂貴的。這些不同的計算需求,特別是在覈心數量方面,意味着在單個作業提交中啓動給定的工作流並不總是可行或實際的,而是通過調度多個順序作業而產生額外的排隊時間。

工作流程要求
計算生物醫學工作流程的開發,驗證和驗證代表了一項重要的投資。因此,工作流程的便攜性和可重複性對於保持低成本是至關重要的。不幸的是,開發人員目前面臨兩個空間(在具有不同架構和策略的不同計算機上運行)和時間(在同一臺計算機上進行系統更新,影響可重複性)的可移植性問題。

空間方面在決定是否依賴特定中間件工具時尤其重要,這些工具可能在給定的超級計算機上節省時間,而在另一個超級計算機上被安全策略完全或部分禁止。該領域缺乏標準,增加了應用程序開發人員對使用某些類型的中間件(例如工作流引擎)的沉默。在相關的說明中,中間件的第三方性質意味着支持的責任既不是用戶也不是超級計算人員。人們可能不希望投資開發依賴於一個或多個第三方工具的工作流程,這些工具在兩三年內可能會或可能不會維持。不幸的是,這種工作流程的發展時間規模至少爲幾年。

用於大型數據集的工具

用於精確醫學工作流程(作爲輸入或中間步驟)的大型數據集的一組標準工具很快就會變得必不可少。來自下一代測序和醫學成像的數據集可能導致異常大的文件。例如,在HemeLB內輸入數據文件可以是幾十TB的量級。這導致創建了定製的文件讀取代碼,其中這些文件在多個存儲目標上條帶化以增加帶寬並允許同時訪問多個進程的相同文件。此代碼的創建需要多種解決方法來限制庫的限制,例如MPI和系統特定的優化(例如條帶計數)。維護此代碼代表了相當大的開銷,需要遠離科學的努力,以及額外代碼脆弱性的來源。用於此類任務的標準化工具或庫將有助於更好,更強大的仿真代碼開發。

由於超級計算機的軟件和策略可能在沒有足夠警告的情況下發生變化,因此工作流和中間件層能夠實現具有不同計算要求的步驟的流水線操作,因此容易出現不穩定性。認識到超級計算平臺通常位於用戶部署的非常複雜的軟件堆棧的底部,並且考慮到這一點,採用適當的變更管理策略(例如由ITIL管理)在這裏是非常寶貴的。

未來發展方向
常用和常用標準

通過考慮過多的現有工作流程工具,可以識別應用程序開發人員最需要的功能,並從那裏開發一個標準API或一組工具,以暴露所需的功能 通過將責任從第三方開發人員轉移到最熟悉自己機器的員工,跨越不同的HPC站點。它不足以定義標準,必須以鼓勵用戶(和開發人員)購買的方式使其可訪問和支持。

社區管理

一個可能的解決方案是社區組織,例如歐盟H2020資助的卓越中心,以維護中心工具,以適合其用戶羣的方式實現工作流程。這需要伴隨特定HPC中心的一些鏈接,但不要將維護者綁定到特定機器應該減少每個超級計算中心的“島效應”,只爲用戶提供它想要的環境。

容器化

許多可移植性問題可以通過使用容器來解決。但是,當應用於極大或複雜的HPC系統和應用程序時(例如,與雲服務上執行的典型作業相比),這種方法可能會呈現出自己獨特的能力。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章