冷凍電鏡CryoSPARC架構(gòu)(工作站、集群、存儲服務(wù)器)和系統(tǒng)硬件配置要求
CryoSPARC 系統(tǒng)架構(gòu)概述
CryoSPARC是一個后端和前端高性能計(jì)算軟件系統(tǒng),為單顆粒冷凍電鏡提供數(shù)據(jù)處理和圖像分析功能,以及豐富的基于瀏覽器的用戶界面和命令行工具。
CryoSPARC 可以部署在本地或云中。
主工模式
該系統(tǒng)基于主-工作模式。
-
主進(jìn)程(Web 應(yīng)用程序、核心應(yīng)用程序和 MongoDB 數(shù)據(jù)庫)在一臺機(jī)器(主節(jié)點(diǎn))上一起運(yùn)行。主節(jié)點(diǎn)需要相對輕量級的資源(4+ CPU、16GB+ RAM、250GB+ HDD 存儲)
-
工作進(jìn)程在具有 NVIDIA GPU(工作節(jié)點(diǎn))的任何可用/配置的計(jì)算機(jī)上運(yùn)行。worker 負(fù)責(zé)所有實(shí)際的計(jì)算和數(shù)據(jù)處理,并由主節(jié)點(diǎn)調(diào)度。
同一個節(jié)點(diǎn)既可以作為主節(jié)點(diǎn),也可以作為工作節(jié)點(diǎn)。
主工作架構(gòu)允許在各種硬件上靈活地安裝和擴(kuò)展 CryoSPARC,包括單個工作站、工作站組、集群節(jié)點(diǎn)、HPC 集群、云節(jié)點(diǎn)等。
典型的 CryoSPARC 系統(tǒng)設(shè)置
CryoSPARC可以在單個實(shí)例中支持所有典型設(shè)置的異構(gòu)混合。這意味著您可以先在單個工作站上安裝 CryoSPARC,然后隨著數(shù)據(jù)處理需求的擴(kuò)展而連接工作節(jié)點(diǎn)或集群。
CryoSPARC可以在單個實(shí)例中支持所有典型設(shè)置的異構(gòu)混合。這意味著您可以先在單個工作站上安裝 CryoSPARC,然后隨著數(shù)據(jù)處理需求的擴(kuò)展而連接工作節(jié)點(diǎn)或集群。
單機(jī)---工作站
CryoSPARC主進(jìn)程和CryoSPARC工作進(jìn)程可以在同一臺計(jì)算機(jī)上運(yùn)行。唯一的要求是GPU資源可用于CryoSPARC工作進(jìn)程。這是最簡單的設(shè)置。
主工
在主工作程序設(shè)置中,CryoSPARC主服務(wù)器安裝在輕量級機(jī)器上,工作進(jìn)程安裝在一個或多個GPU服務(wù)器上。這是安裝 CryoSPARC 的最靈活設(shè)置。此設(shè)置有三個主要要求,本文檔的安裝部分也對此進(jìn)行了更詳細(xì)的說明:
1) 所有節(jié)點(diǎn)都可以訪問共享文件系統(tǒng)。此文件系統(tǒng)是項(xiàng)目目錄所在的位置,允許所有節(jié)點(diǎn)在作業(yè)開始和完成時讀取和寫入中間結(jié)果。
2) 主節(jié)點(diǎn)對每個工作節(jié)點(diǎn)都具有無密碼 SSH 訪問權(quán)限。SSH 用于從主節(jié)點(diǎn)在工作節(jié)點(diǎn)上執(zhí)行作業(yè)。
3) 所有工作節(jié)點(diǎn)都對主節(jié)點(diǎn)上的10個連續(xù)端口具有TCP訪問權(quán)限(默認(rèn)端口為39000-39009)。這些端口用于通過基于 HTTP 遠(yuǎn)程過程調(diào)用 (RPC) 的 API 請求進(jìn)行元數(shù)據(jù)通信。
也可以使用其中一個工作節(jié)點(diǎn)作為主節(jié)點(diǎn),在這種情況下,不需要獨(dú)立的主節(jié)點(diǎn)。在高負(fù)載下,如果 GPU 工作節(jié)點(diǎn)掛起或 RAM 耗盡,這可能會導(dǎo)致不穩(wěn)定,從而導(dǎo)致運(yùn)行 Web 應(yīng)用程序和數(shù)據(jù)庫的主進(jìn)程也掛起。
集群
主節(jié)點(diǎn)還可以生成作業(yè)或?qū)⒆鳂I(yè)提交到集群調(diào)度程序系統(tǒng)(例如,Slurm Workload Manager)。這種集成是透明的,其工作方式類似于上面解釋的主工作程序設(shè)置,只是所有資源調(diào)度都由集群調(diào)度程序處理,而 CryoSPARC 的調(diào)度程序僅用于作業(yè)的編排和管理。類似的要求也存在:
1) 所有節(jié)點(diǎn)都可以訪問共享文件系統(tǒng)。此文件系統(tǒng)位于項(xiàng)目目錄所在的位置,允許所有節(jié)點(diǎn)在作業(yè)開始和完成時讀取和寫入結(jié)果。
2) 所有worker節(jié)點(diǎn)對主節(jié)點(diǎn)上 10 個連續(xù)端口都有 TCP 訪問權(quán)限(默認(rèn)端口為 39000-39009)。這些端口用于通過基于 HTTP 遠(yuǎn)程過程調(diào)用 (RPC) 的 API 請求進(jìn)行元數(shù)據(jù)通信。
對于集群設(shè)置,主節(jié)點(diǎn)可以是常規(guī)集群節(jié)點(diǎn)(甚至可以是登錄節(jié)點(diǎn)),如果這樣可以簡化網(wǎng)絡(luò)要求,但 CryoSPARC 主進(jìn)程必須連續(xù)運(yùn)行。如果要在常規(guī)群集節(jié)點(diǎn)上運(yùn)行主節(jié)點(diǎn),則可能需要在交互模式下從調(diào)度程序請求該節(jié)點(diǎn),或者為無限期運(yùn)行的作業(yè)請求該節(jié)點(diǎn)。
項(xiàng)目目錄是在 CryoSPARC 用戶指定的位置創(chuàng)建的。如果管理多用戶集群實(shí)例,請確保用戶在主節(jié)點(diǎn)和工作節(jié)點(diǎn)都有權(quán)訪問的位置創(chuàng)建項(xiàng)目目錄。
集群作業(yè)調(diào)度軟件
CryoSPARC支持大多數(shù)集群調(diào)度軟件,包括SLURM、SGE和PBS。請參閱此處,了解常用調(diào)度程序的集群配置示例。
CryoSPARC 集群集成腳本示例CryoSPARC系統(tǒng)要求
除非另有說明,否則以下是系統(tǒng)中每個主節(jié)點(diǎn)和工作節(jié)點(diǎn)的要求。
配置 |
技術(shù)規(guī)格 |
硬件架構(gòu) |
x86-64(Intel 或 AMD) |
操作系統(tǒng) |
現(xiàn)代 Linux 操作系統(tǒng)(建議使用 Ubuntu)。有關(guān)更多詳細(xì)信息和限制,請參閱操作系統(tǒng)部分。 |
Shell |
Bash |
用戶帳戶 |
cryosparcuser |
軟件 |
Nvidia 驅(qū)動程序(僅限工作節(jié)點(diǎn))。 |
文件系統(tǒng) |
跨所有節(jié)點(diǎn)共享文件系統(tǒng) |
CryoSPARC 主節(jié)點(diǎn)配置要求
以下是特定于主節(jié)點(diǎn)的要求。
主要配置 |
最低配置 |
推薦配置 |
CPU |
4核以上 |
8核以上,2.8GHz+ |
內(nèi)存 |
16GB+ |
32GB |
系統(tǒng)盤 |
250GB+ |
500GB SSD |
高速緩存盤 |
不需要 |
不需要 |
GPU |
不需要 |
不需要 |
網(wǎng)口 |
千兆端口-存儲服務(wù)器 |
萬兆端口-存儲服務(wù)器 |
建議將 10Gbps 連接到存儲服務(wù)器,因?yàn)樵祭鋬鲭婄R電影的大小可能為幾 TB,并且 I/O 瓶頸比 CryoSPARC 中預(yù)處理作業(yè)的處理能力更受關(guān)注。
盡管建議使用具有較高內(nèi)核數(shù)的 CPU,但由于主進(jìn)程的實(shí)現(xiàn)方式,具有更快時鐘頻率的 CPU 更具優(yōu)勢。
需要足夠的系統(tǒng)存儲來托管安裝包和數(shù)據(jù)庫文件夾。每個 CryoSPARC 項(xiàng)目占用 100MB 到 5GB 的數(shù)據(jù)庫存儲空間,具體取決于項(xiàng)目的規(guī)模。500GB 足以滿足大約 200 個中型項(xiàng)目的需求。請注意,這不包括大容量存儲中 CryoSPARC 項(xiàng)目數(shù)據(jù)所需的空間,對于較大的項(xiàng)目,這些空間可能以 TB 為單位。cryosparc_master
計(jì)算節(jié)點(diǎn)/集群服務(wù)器最低要求
以下是對每個計(jì)算節(jié)點(diǎn)/集群服務(wù)器要求。
主要配置 |
最低配置 |
推薦配置 |
CPU |
2核以上/每塊GPU |
4核以上/每塊GPU |
CPU-內(nèi)存帶寬 |
50+GB/s |
100+GB/s |
內(nèi)存 |
32GB+ /每塊GPU |
64GB DDR5/每塊GPU |
系統(tǒng)盤 |
25GB+ HDD |
50GB+ SSD |
高速緩存盤 |
1TB SSD |
2TB PCIe SSD |
GPU |
1+ NVIDIA GPU , 支持CC 3.5+, 11GB+ 顯存 |
1+ NVIDIA Tesla V100, RTX2080Ti, RTX3090等 |
網(wǎng)口 |
千兆端口-存儲服務(wù)器 |
萬兆端口-存儲服務(wù)器 |
高頻CPU、內(nèi)存帶寬 對于CryoSPARC Live預(yù)處理尤為重要。
系統(tǒng)RAM容量 對于計(jì)算節(jié)點(diǎn)非常重要,應(yīng)與系統(tǒng)上可用于處理的GPU數(shù)量成比例縮放。
需要足夠的系統(tǒng)存儲來托管安裝包。cryosparc_worker
快速本地存儲也是必要的,因?yàn)橹亟üぷ餍枰S機(jī)訪問粒子圖像。在這種情況下,SSD提供高吞吐量。有關(guān)詳細(xì)信息,請參閱固態(tài)存儲部分。
操作系統(tǒng)
目前,Ubuntu Desktop 16+是與 CryoSPARC一起使用的最佳操作系統(tǒng),因?yàn)樵诿看伟l(fā)布之前都會在此平臺上進(jìn)行廣泛的測試。Ubuntu 22.04在CryoSPARC v3.4.0 及更早版本中不受支持,但在CryoSPARC v4.0.0及更高版本中受支持。
在較舊的Linux內(nèi)核(例如,CentOS 7 中的 3.10)上使用 CUDA 應(yīng)用程序時,存在各種未解決的不兼容和不穩(wěn)定問題。一些用戶報(bào)告了在使用CentOS 7時偶發(fā)的 cufftInvalidPlan和cuMemHostAlloc Failed 錯誤。
磁盤和壓縮
快速磁盤是高效處理冷凍電鏡數(shù)據(jù)的必要條件。在預(yù)處理階段(例如,運(yùn)動校正)需要快速的順序讀/寫吞吐量,其中數(shù)據(jù)量非常大(數(shù)十TB),而計(jì)算量相對較低(運(yùn)動校正的順序處理,CTF估計(jì),粒子拾取等)。
RAID 配置中的旋轉(zhuǎn)磁盤陣列用于存儲大型原始數(shù)據(jù)文件,而群集文件系統(tǒng)通常用于較大的系統(tǒng)。根據(jù)經(jīng)驗(yàn),要在預(yù)處理期間使4塊GPU計(jì)算機(jī)飽和,需要 1000MB/s 的持續(xù)順序讀取。
壓縮可以大大減少存儲在電影文件中的數(shù)據(jù)量,也可以大大加快預(yù)處理速度,因?yàn)榻鈮嚎s實(shí)際上比直接從磁盤讀取未壓縮的數(shù)據(jù)更快。通常,計(jì)數(shù)模式的影片文件以 LZW 壓縮的 TIFF 格式存儲,沒有增益校正,因此增益參考文件是單獨(dú)存儲的,并且必須在處理過程中即時應(yīng)用(CryoSPARC 支持)。壓縮增益校正影片通常會導(dǎo)致壓縮比比壓縮增益前校正(整數(shù)計(jì)數(shù))數(shù)據(jù)差得多。
CryoSPARC 原生支持LZW壓縮TIFF格式、EER格式和BZ2壓縮MRC格式。無論哪種情況,增益基準(zhǔn)都必須作為MRC文件提供。TIFF、EER和BZ2壓縮作為多核解壓縮流即時實(shí)現(xiàn)。
固態(tài)存儲 (SSD)
SSD 空間在每個工作節(jié)點(diǎn)的基礎(chǔ)上是可選的,但強(qiáng)烈建議用于將使用粒子圖像運(yùn)行優(yōu)化和重建的工作器節(jié)點(diǎn)。為預(yù)處理(運(yùn)動校正、粒子拾取、CTF 估計(jì)等)保留的節(jié)點(diǎn)不需要具有 SSD。
CryoSPARC 顆粒處理算法依賴于隨機(jī)存取模式和多次遍歷數(shù)據(jù),而不是一次按順序讀取數(shù)據(jù)。使用允許快速隨機(jī)讀取的存儲介質(zhì)將大大加快處理速度。
CryoSPARC 以透明方式管理每個工作節(jié)點(diǎn)上的 SSD 緩存。文件會自動緩存,在同一項(xiàng)目中重復(fù)使用,并在需要更多空間時刪除。有關(guān)詳細(xì)信息,請參閱 SSD 緩存指南。
典型的單顆粒冷凍電鏡數(shù)據(jù)集的大小將決定您選擇使用的 SSD 的大小。有關(guān)示例計(jì)算,請參閱:
圖形處理單元 (GPU)
至少有一個工作節(jié)點(diǎn)必須具有可用于運(yùn)行完整CryoSPARC作業(yè)集的GPU。非GPU工作線程可以運(yùn)行僅CPU作業(yè)。
每個GPU中的GPU內(nèi)存(VRAM)限制了用于重建的最大顆粒盒尺寸。通常,具有12GB VRAM的GPU可以處理高達(dá) 700^3 的盒子大小,在某些作業(yè)類型中最多可以處理 1024^3。有關(guān)詳細(xì)信息,請參閱以下教程。
請確保每個連接的工作人員都包含與您的 GPU 兼容的最新版本的 Nvidia 驅(qū)動程序。有關(guān)詳細(xì)信息,請參閱此部分。在此處下載適用于您的 GPU 的最新驅(qū)動程序。請?jiān)L問故障排除以解決常見的 GPU 錯誤。
選擇 GPU
在獲取用于CryoSPARC的GP 時,以下注意事項(xiàng)可能會有所幫助。
-
CryoSPARC幾乎完全在GPU上使用單精度操作。因此,消費(fèi)卡通常比企業(yè)卡具有更好的性價比。企業(yè)卡確實(shí)有其自身的優(yōu)勢,例如可靠性、更好的服務(wù)器冷卻、更長的支持時間線以及與可能使用雙精度數(shù)學(xué)的其他應(yīng)用程序的兼容性。
-
GPU 最重要的指標(biāo)是設(shè)備VRAM內(nèi)存帶寬。這是GPU可以從自己的內(nèi)存讀取和寫入的速率。這通常比GPU核心數(shù)或時鐘速度更重要,因?yàn)镚PU上的幾乎所有操作都受到內(nèi)存帶寬的限制。選擇GPU時,這是要比較的主要指標(biāo)(以及價格)。例如,NVIDIA RTX3090在 936 GB/s 帶寬下具有24GB內(nèi)存,NVIDIA A100在1935GB/s帶寬下具有高達(dá)80GB的內(nèi)存,而NVIDIA A4000在16GB/s帶寬下具有448GB內(nèi)存。
-
GPU內(nèi)存容量是3D優(yōu)化期間可以處理的盒子大小的主要限制因素。除此之外,內(nèi)存大小對速度沒有任何影響。11GB 消費(fèi)類卡通常可以處理所有處理步驟(包括 K3 數(shù)據(jù)的運(yùn)動校正等),顆粒盒尺寸高達(dá)600^3。
-
GPU-CPU互連帶寬(例如。PCIE)通常不是瓶頸(例如,對于大多數(shù)作業(yè)類型,我們在 8 倍或 16 倍 PCIE 通道上獲得類似的基準(zhǔn)性能),但從集群存儲/本地 SSD 讀取數(shù)據(jù)的 IO 帶寬通常是影響性能的重要因素。對于預(yù)處理和 CryoSPARC Live 尤其如此,因?yàn)殡娪?、顯微照片和顆粒需要快速讀取、寫入和傳輸以跟上收集的步伐,而 GPU 可以非常快速地處理數(shù)據(jù)。
-
在許多情況下,較舊或較慢的 GPU 通??梢耘c最新、最快的 GPU 幾乎相同,因?yàn)?CryoSPARC 中的大多數(shù)計(jì)算不受 GPU 計(jì)算速度的瓶頸,而是受 GPU 內(nèi)存帶寬和磁盤 I/O 速度的瓶頸。
瀏覽器要求
CryoSPARC Web 界面在最新版本的 Google Chrome 上效果最佳。Firefox 和 Safari 也是一種選擇,盡管某些功能可能無法按預(yù)期工作。不支持 Internet Explorer。有關(guān)訪問 CryoSPARC Web 界面的更多信息,請參閱本指南。
其他配置說明
網(wǎng)絡(luò)可訪問性
網(wǎng)絡(luò)安全必須是安裝和持續(xù)管理任何 CryoSPARC 實(shí)例的重要因素。必須仔細(xì)控制對托管 CryoSPARC 實(shí)例的網(wǎng)絡(luò)的訪問,因?yàn)?CryoSPARC 實(shí)例沒有針對網(wǎng)絡(luò)上的惡意行為者進(jìn)行安全強(qiáng)化。
CryoSPARC設(shè)計(jì)為僅在受信任的專用網(wǎng)絡(luò)中運(yùn)行。如果沒有單獨(dú)的受控身份驗(yàn)證層,CryoSPARC 實(shí)例不應(yīng)直接托管在 Internet 或不受信任的網(wǎng)絡(luò)上。
CryoSPARC的用戶界面確實(shí)包括一個用戶管理系統(tǒng),CryoSPARC用戶帳戶和密碼有助于控制在受信任的專用網(wǎng)絡(luò)中對界面的訪問,但請注意,CryoSPARC密碼并非旨在防止惡意訪問。
根訪問權(quán)限
CryoSPARC系統(tǒng)經(jīng)過專門設(shè)計(jì),不需要root訪問權(quán)限即可安裝或使用。這樣做的原因是為了避免在以 root 用戶身份托管網(wǎng)絡(luò)應(yīng)用程序(Web 界面、數(shù)據(jù)庫等)時可能發(fā)生的安全漏洞。因此,必須以常規(guī) UNIX 用戶 () 的身份安裝和運(yùn)行 CryoSPARC 系統(tǒng),并且所有輸入和輸出文件位置都必須以此用戶的身份可讀和可寫。具體而言,這意味著存儲在常規(guī)用戶主目錄中的項(xiàng)目輸入和輸出目錄需要由 訪問,否則(更常見的是)共享文件系統(tǒng)上的另一個位置必須用于 CryoSPARC 項(xiàng)目目錄。cryosparcuser
cryosparcuser
多用戶環(huán)境
如果要安裝 CryoSPARC 系統(tǒng)供許多用戶使用(例如在實(shí)驗(yàn)室內(nèi)),則有兩個選項(xiàng):
使用 UNIX 組
創(chuàng)建一個新的常規(guī)用戶 (),并以此用戶身份安裝并運(yùn)行 CryoSPARC。創(chuàng)建一個 CryoSPARC 項(xiàng)目目錄(在共享文件系統(tǒng)上),用于存儲項(xiàng)目數(shù)據(jù),并為每個實(shí)驗(yàn)室成員創(chuàng)建子目錄。如果需要額外的安全性,請使用 UNIX 組特權(quán)使每個子目錄只能由相應(yīng)實(shí)驗(yàn)室成員的 UNIX 帳戶讀取/寫入。在 CryoSPARC 命令行界面中,為每個實(shí)驗(yàn)室成員創(chuàng)建一個 CryoSPARC 用戶帳戶,并讓每個實(shí)驗(yàn)室成員在其各自的項(xiàng)目目錄中創(chuàng)建其項(xiàng)目。此方法依賴于 CryoSPARC Web 應(yīng)用程序來確保安全性,以限制每個用戶只能查看自己的項(xiàng)目。這并不能保證安全性,足夠努力的惡意用戶將能夠修改系統(tǒng),以便能夠看到其他用戶的項(xiàng)目和結(jié)果。cryosparcuser
cryosparcuser
使用單獨(dú)的 CryoSPARC 實(shí)例
如果必須保證每個用戶的項(xiàng)目完全隔離和安全性,則每個用戶必須在自己的主目錄中獨(dú)立安裝 CryoSPARC。項(xiàng)目也可以使用 UNIX 權(quán)限在用戶主目錄中保持私有。多個單用戶 CryoSPARC 主進(jìn)程可以在同一主節(jié)點(diǎn)上運(yùn)行,并且它們都可以將作業(yè)提交到同一個集群調(diào)度程序系統(tǒng)。此方法依賴于 UNIX 系統(tǒng)來確保安全性,并且管理起來更繁瑣,但提供了更強(qiáng)的訪問限制。在這種情況下,每個用戶都需要有自己的 CryoSPARC 許可證 ID。
示例系統(tǒng)
我們目前不與任何特定的硬件供應(yīng)商合作銷售預(yù)裝了 CryoSPARC 的機(jī)器。
硬件系統(tǒng)示例
以下是滿足或超過上述最低要求的示例工作站的詳細(xì)信息,包括我們內(nèi)部用于開發(fā)和測試的工作站。
關(guān)鍵配件 |
技術(shù)規(guī)格 |
CPU |
32核 (頻率2.8GHz+越高越好), 例如Xeon W9-3475X或AMD銳龍TR 7970X以上 |
內(nèi)存 |
256GB DDR5 4800MHz |
存儲 |
4TB PCIe SSD (緩存盤); 200TB RAID6存儲通過10Gbps鏈接(raw movies) |
GPU |
4x NVIDIA Quadro GV100/Tesla V100/NVIDIA RTX 8000 |
2024年冷凍電鏡圖像重構(gòu)與高速圖形工作站硬件配置推薦
http://www.jiu-hong.com/news/html/?2792.html