執行多個作業時 HPC 叢集 (sge) 效能低下

執行多個作業時 HPC 叢集 (sge) 效能低下

噢,我知道這是一個渺茫的機會,但我對此一無所知。我正在 oracale 網格引擎 (sge) 的高效能運算叢集 (HPC) 上執行多個電腦模擬。當我為機器新增作業時,單一作業以一定的速度運作(大約每秒 80 步),在某個閾值下,速度會減少 2。在一台機器上(我不知道 cpu 類型),閾值是 16 個 cpu 的 11 個作業。在另一台具有相同數量和類型 cpu 的計算機上,閾值為 8。

我一開始以為這是記憶體問題,但每個作業大約需要 60MB - 100MB,而且每台機器上都有 16GB 的記憶體。

你們有人有遇過這樣的問題嗎?有什麼方法可以分析這個嗎?

謝謝。

答案1

在不知道叢集設定的情況下,我想知道 CPU 是否使用了超威脅?超威脅核心顯示為物理核心數量的兩倍,但非物理核心的運算能力可能不會線性增加。

https://superuser.com/questions/279629/how-much-speedup-does-a-hyper-thread-give-in-theory

答案2

可能有幾個原因。

儘管您的作業不會消耗大量內存,但它們可能會填滿內存總線(將 CPU 連接到 RAM)。如果匯流排已滿,增加更多作業只會對記憶體匯流排造成更大壓力,導致一切變慢。

另一個可能的原因是 I/O。如果您的作業執行大量文件操作(例如開啟/寫入/關閉文件操作),如果同時執行太多作業,系統中的磁碟可能無法跟上。

其他原因是 CPU 中的其他瓶頸,例如共用快取或浮點執行單元。

相關內容