2017-01-17 38 views
2

我在r軟件包'secr'中運行模型。最簡單的模型需要數天的時間才能在4G macbook上完成,而且我已經在模型的設置中儘可能地減少了運行時間。並行(多核)處理在secr中是可能的和簡單的,但好處很小,運行時間實際上可能會增加。如果我切換到雲中的高性能虛擬機(例如,具有16個RAM和4個vCPU的AWS EC2),或者EC2的四個vCPU像多核系統一樣運行(在這種情況下,I儘管有4),只會從一個vCPU受益?在AWS上運行r模型 - 執行多個vCPU的功能類似多核系統嗎?

我在幾個不同的論壇提出這個問題,並收到相互衝突的答案。

回答

0

您可以像多核系統一樣思考vCPU。它們對於系統上運行的任何軟件都會顯示爲多個核心。

0

好問題。這取決於。如果切換到具有更好虛擬硬件規格的EC2實例類型,則可能會在運行時看到改進。 AWS按照您的指示運行Xen虛擬機管理程序的自定義版本,以及您獲得的vCPU。性能取決於其他客人工作負載的多變性。如果vCPU全部分配給實例,並且每個實例正在運行CPU繁重的工作負載,那麼您將看到性能下降的趨勢。它取決於在管理程序上運行的所有實例的使用模式。這思傑的文章解釋了一些保持平衡的Xen的情況以及爲什麼性能會有所不同之間的vCPU時間的細微差別:

Citrix on Xen vCPU Performance

實例類型的問題,不僅是個vCPU和RAM。避免T2實例,因爲它們是「可突發」的,CPU性能肯定會有所不同。這從AWS文章建議嘗試M4實例類型進行並行與R:

Running R on AWS

對於特定類型的EC2實例可以控制C-狀態(休眠水平在空閒時,核心可以進入)和P狀態(從核心頻率期望的性能)。這將允許您針對工作負載調整實例性能。以下鏈接詳細介紹了哪些實例類型允許C狀態和P狀態控制,並向您展示如何使用實用程序「壓力」來測試和調整不同的配置。

EC2: Processor State Control

這將是最好的設計測試,當你第一次提供看來說,如果它的類型滿足您的性能需求,然後再次運行測試後,看業績比較基準成立。

+1

*「避免使用T2實例,因爲它們是'可破解的',CPU性能肯定會有所不同。」*不完全一樣。只要您沒有用完CPU信用(在CloudWatch中可見),'t2'機器就有100%的核心可用。就你所暗示的意義而言,突發並不意味着變量或不可預測。這不是一個「盡力而爲」或共享的核心平臺。可爆性意味着您不能以100%24/7全天運行核心,因爲您的積分將會比您賺取的快得多 - 只有這樣速度纔會扼殺。相反,'t1'變化極大,可怕。 –

+0

對T2實例類型很好的說明。 – grook5

相關問題