萬年船 發表於 22-9-6 15:42

MC最佳化(或WFO)電腦升級評估與效能驗收

本帖最後由 萬年船 於 22-9-6 16:14 編輯

警語:最佳化是雙面刃,可以讓人成仙,亦可成魔,請謹慎使用!
最佳化或WFO(兩者其實都適用本文章,以下直接簡稱最佳化)很花時間,要升級電腦才能縮短最佳化運算時間,升級過程大概可以分成以下幾個階段

[*]電腦轉移很麻煩
[*]升級程度選項
[*]最佳化縮短率預估
[*]要花多少錢(C/P值)、在哪裡DIY
[*]燒機硬體驗收
[*]單次縮短達成率驗收
[*]批次縮短達成率驗收


電腦轉移很麻煩
舊電腦用的好好的,想到移轉就懶的升級,但其實可以不用移轉,依舊繼續用你習慣的舊電腦,要執行最佳化時才打開並用遠端桌面連線到新的電腦即可(可以想像成多了一台On-Demand伺服器在身邊),實體上就只是多了以下幾個東西而已

[*]一台新的實體主機
[*]一條電源線
[*]一條Crossover網路線(比較大的電腦商場就有在賣,或者網路上也有在賣)

設定如下

[*]把Crossover網路線的一端插進舊主機的網孔,在把另一端插進新主機的網孔
[*]舊主機網路設定如下(舊主機如果沒有多餘的網孔,再買一個USB外接式網卡就好了)

[*]IP:10.0.0.99
[*]Gateway:255.255.255.0
[*]新主機網路設定如下

[*]IP:10.0.0.1
[*]Gateway:255.255.255.0
[*]新主機設定好遠端桌面,由舊主機連進來操作
[*]每次要使用新電腦前,先同步MC資料,把舊電腦的此目錄完整複製到新電腦的同目錄
C:\ProgramData\TS Support\MultiCharts64
[*]如果新主機有短暫上網需求(MC授權需要連網),可透過手機USB上網,或連WIFI


升級程度選項
其實真正能縮短最佳化時間的主要只有CPU,所以直接看CPU就好

[*]請參考天梯圖選擇CPU,梯子越上端的CPU運算效能越高
[*]CPU的相關知識,請參考此篇『cpu的選購與推薦』
[*]目前MC只支援到64個Thread(邏輯處理器核心),所以暫時不要選超過64個實體核心的CPU(CPU的執行緒超過64沒關係,到BIOS把Hyper-Threading關閉即可,如果主機板的BIOS能支援此功能的話),不過目前天梯圖暫時也沒看到有超過64實體核心的CPU,請參考此文『Threadripper 3990x brings more CPU threads than Windows Pro can handle』

註:理論上記憶體的存取速度也會影響運算速度,但實際上在MC最佳化時,沒什麼影響性,請參考此篇『記憶體頻率和雙通道對MC最佳化(或WFO)的影響』

最佳化縮短率預估
選好CPU後,再來就是預估最佳化的運算時間能縮短到時麼程度,請使用此網頁的CPU性能比較工具UserBenchmark的性能比較把左邊的型號改成舊CPU型號,右邊改成新CPU型號,如下圖所示

再把畫面拉到下面的【Nice To Haves】,請記錄紅框這個值,如下圖所示

以本圖為例(我這次的例子),此值為+334 %,那麼最佳化縮短率預估值為= 1 / (1 + 334 / 100) = 23.04 %
也就是說,如果原本舊電腦最佳化要跑100分鐘(1小時40分鐘),理論上在新電腦只要跑23.04分鐘,不過實際上可再細分兩種情況:

[*]單次執行最佳化:實際縮短率>預估縮短率(通常略高)
[*]批次執行最佳化:實際縮短率=預估縮短率(幾乎等於)

單次執行最佳化的意思是,同時間一次只跑一個最佳化,這種情況的實際縮短率會略高的原因是,UserBenchmark的多執行緒運算是幾乎獨立運算,而MC的多執行緒是協同運算,所以會浪費一些運算時間,等待其他執行緒完成目前的派工後,才再進行下一輪的新派工(用工作管理員查看CPU使用率可看到,每隔一段時間就會出現一小段協調等待CPU空檔,隨即又快速的恢復CPU滿載,請參考下圖),而協調等待空檔會跟邏輯處理器核心(CPU執行緒)有關,邏輯處理器核心越多,協調等待空檔容易越大,舊電腦通常邏輯處理器核心比較少,而新電腦通常邏輯處理器核心比較多,所以才容易造成單次執行最佳化時,實際縮短率通常略高於預估縮短率

另一方面,批次執行最佳化,也就是同時間一次跑好幾個最佳化,這種情況全部的MC最佳化的協調等待空檔不容易全部重疊,所以CPU能持續跑好跑滿,實際縮短率也就會幾乎等於預估縮短率


要花多少錢(C/P值)、在哪裡DIY

AutoBuy與原價屋都可以DIY電腦,實際上根本不用出門,網路選好菜單下訂單即可,組好會配送到你家


[*]AutoBuy官網(出貨後有一年保固)
[*]原價屋官網(保固情況,請親自洽詢他們)

估價網頁


[*]AutoBuy估價
[*]原價屋估價

如果可以自己配的話,直接配好給他們就可以了,如果不熟悉怎麼搭配的話,可以在AutoBuy留言,指定好CPU,再跟他們說你是要跑模擬的,CPU跑起來會滿載(務必要請他們留意CPU散熱的問題),再讓他們幫你配好一份菜單,你再來微調,不過有幾點要注意


[*]頂級的CPU一定要換一個好一點的空冷散熱器,原廠附的散熱器在最佳化時,很可能仍會讓CPU過熱,導致主機自動重啟
[*]基於前一點的原因,機殼也要選散熱好的,前後有風扇或可裝風扇,也有足夠通風孔
[*]最佳化會跑一段時間,很可能你人不會在現場,電源供應器也不能選太差,不然燒起來很可怕的,就算不燒起來,發出陣陣惡臭也足夠令人噁心的
[*]RAM最佳化時16G綽綽有餘(12年的一分K棒歷史資料也才200多MB而已),本文前面提到記憶體的存取速度對最佳化時間沒什麼影響,可以不用特別花錢買超頻記憶體或走雙通道,但如果超頻記憶體只貴一點點,也可以買(可超頻的記憶體,它的體質天生就會比較好;其實CPU也是,但要看預算與CP值),但不要在BIOS打開XMP(記憶體超頻),超頻會影響CPU的保固
[*]最佳化用不到GPU,如果沒有額外需求,可以不用多花這筆錢
[*]其他的東西都選中等的即可,太便宜也沒好貨
我是在AutoBuy買的,我購買的菜單如下
https://diy.autobuy.tw/91671a006


原始總金額為$30,219,但他們幫我開賣場後,優惠價為$29,850

註:我用雙通道超頻記憶體(一套兩支),但後來發現實際用在最佳化時,其實是多餘的(無奈沒人寫測試文告訴我,只能以身試法),如果可以重來一次的話,也許我會改買單條不超頻的記憶體,可以再少1千塊


燒機硬體驗收

在AutoBuy能退貨的只有前七天,所以燒機測試這個階段,一定要先執行
等收到新主機後,如果不放心別人預載的作業系統(怕有病毒或什麼的),可以重新安裝作業系統,可以參考此篇『如何建立及使用USB隨身碟的安裝媒體重新安裝Windows 11/10』,沒有買作業系統,照樣也可以安裝,只是一直處於未啟用的狀態而已,灌好作業系統後,接下來就可進行燒機程序(主要是針對CPU/記憶體進行壓力測試),如果會過熱自動重啟,可以請AutoBuy派物流來收回去檢測(他們會出運費),燒機軟體可以使用以下幾款


[*]CoreTemp(看CPU溫度/免費)
[*]Prime95(燒機軟體/免費)
[*]AIDA64(燒機軟體/可試用)

使用方法可參考網路文章


[*]免費 CPU 及 RAM 穩定度測試軟體 – Prime95
[*]Prime95 CPU穩定度燒機測試軟體分享教學 CPU+RAM
[*]CPU燒機(AIDA64) 檢測電腦穩定性
註:我那份菜單,在室溫下只開窗戶通風,沒開冷氣,用Prime95燒機連續燒12小時,也沒自動重啟,能燒得過,只不過用CoreTemp查看歷史最高溫時,有好幾個核心(應該都是P-Core)過程中最高都曾高達100度(此CPU最高可耐溫100度),但其實只要燒機燒得過,MC跑最佳化一定跑得過(在室溫下只開窗戶通風,沒開冷氣,這台主機同時批次執行7個最佳化,用CoreTemp查看歷史最高溫也才85度)


單次縮短達成率驗收

到這個階段,主機的硬體方面應該已經沒問題了,可以開始在舊主機與新主機進行第一輪最佳化測試比較,請用以下方法來測試


[*]使用Exhaustive(暴力法),不要選基因,因為基因的過程是隨機的,沒有一致性,不適合量測比較
[*]使用時間稍微長一點的最佳化模型,然後等它的進度跑超過5%後,擷取畫面(按下【Win + shift + S】按鍵),把已使用時間與剩餘時間加總起來
[*]另外已使用時間會即時跳動更新,但剩餘時間則是一段時間才更新一次,所以如果最佳化所需時間比較短的話,容易受它影響(長一點才能稀釋它)
以下是我的畫面





[*]舊主機(i5-8400):306(分鐘)
[*]新主機(i9-12900):80(分鐘)
[*]最佳化縮短率預估值:23.04 %
[*]最佳化縮短率實際值:1 / (306 / 80)=26.14 %
[*]單次縮短達成率=23.04 / 26.14=88 %

前面有提到,在單次最佳化的情況下,縮短率的實際值通常容易略高於預估值,所以單次縮短達成率也通常容易略低,不過如果出現以下這兩種情況


[*]單次縮短達成率過低
[*]單次縮短達成率過高

這兩者都是不對的,所以要重新檢視新電腦與舊電腦,兩者任何一方都可能有問題,可以試著在這兩方執行以下動作


[*]在BIOS把Hyper Threading關閉
[*]或在MC最佳化時的【Number of CPU cores to use】拉到實體處理器核心數,預設是會在邏輯處理器核心數(執行緒)

如果能在BIOS關閉,則無需再手動調【Number of CPU cores to use】,兩者擇一嘗試即可

舉例來說,當我的新主機環境如下時

[*]作業系統:Windows 11專業版(版本21H2)
[*]MultiCharts:64位元版 Version 14.0 Release (Build 21978)
[*]BIOS:Hyper-Threading狀態為開啟

執行畫面長這副德性



[*]新主機(i9-12900):134(分鐘)
[*]最佳化縮短率實際值:1 / (306 / 134)=43.79 %
[*]單次縮短達成率僅僅只有=23.04 / 43.79=52 %


達成率這麼低,顯然有問題,當我在BIOS把Hyper-Threading關閉之後,達成率才跳到正常的88%;如果不在BIOS關閉Hyper-Threading,而是在MC最佳化時把【Number of CPU cores to use】拉到16(實體處理器核心數),則MC最佳化預估時間也會慢慢收斂,讓達成率能靠近88%的程度


批次縮短達成率驗收

在這個階段,請準備一個碼表(手機裡面就有了),用以下方法來測試


[*]使用Exhaustive(暴力法),不要選基因,因為基因的過程是隨機的,沒有一致性,不適合量測比較
[*]開始之前要把MC的優先權調低,方法請參考此文『最佳化與WFO電腦執行技巧』
[*]如果作業系統為Windows 11,需要額外設定作業系統,請參考此文『Windows 11下執行批次MC最佳化(或WFO)必須額外設定』
[*]這次要改採用時間稍微短一點的最佳化模型(把參數組合調少一點),同時間一次跑三個此模型的最佳化,先把三個MC都用滑鼠點到最佳化的最後一個畫面,然後暫時還不要開始執行
[*]接著開啟工作管理員,等到CPU使用率靜止後,就可以快速的在三個MC畫面按下最後一個按鈕,開始批次執行最佳化,開始跑的時候,請按下碼表開始計時
[*]再把工作管理員放到最上層,觀察這三個MC應用程式的CPU使用率,一直等到這三個MC全部的CPU使用率都低於N%或逼近0的時候(N = 100 / 邏輯處理器核心數),才按下碼表結束計時
以下是我的批次最佳化測試結果

[*]舊主機(i5-8400):1951(秒)
[*]新主機(i9-12900):447(秒)
[*]最佳化縮短率預估值:23.04 %
[*]最佳化縮短率實際值:1 / (1951 / 447)=22.91 %
[*]批次縮短達成率=23.04 / 22.91=100 %

前面有提到,在批次最佳化的情況下,實際縮短率會幾乎等於預估縮短率,所以這樣是很OK的,不過如果你的主機在沒有CPU超頻的情況下,批次縮短達成率往上或往下偏離超過5%,那很可能就有問題了,不過這次就不用考慮Hyper-Threading的因素了,因為Hyper-Threading無論是開啟或關閉都不會影響批次縮短達成率(Hyper-Threading只會影響單次最佳化)


最後重點整理


[*]可以用UserBenchmark來預估每顆CPU的最佳化縮短率
[*]CPU價格可以在AutoBuy或原價屋查到,再加$10,000~$15,000,大約就是DIY主機的價格
[*]用最佳化縮短率、DIY主機價格,找出適合自己的C/P值
[*]雙通道/超頻記憶體這筆錢或許可以省下來,不如直接把CPU改成K版的CPU來的實際有感
[*]Prime95燒機燒得過的話,MC最佳化一定過的了
[*]單次縮短達成率驗收不過的話,可以試著在BIOS關閉Hyper-Threading(或把使用核心數拉到實體核心數)
[*]批次縮短達成率則與Hyper-Threading無關
[*]如果該主機的定位只是讓MC執行最佳化,可直接在BIOS把Hyper-Threading關閉


相關文章
[*]Windows 11下執行批次MC最佳化(或WFO)必須額外設定
[*]記憶體頻率和雙通道對MC最佳化(或WFO)的影響
[*]MC14重新載入後最佳化GA參數指定無效的解法
[*]最佳化與WFO電腦執行技巧
[*]最佳化的迷思
[*]最佳化的另一種用法(Overfitting簡易偵測)





Option 發表於 22-9-6 17:10

超專業! 最近阿政也在FB分享MC跑最佳化時CPU的狀況

oknow23 發表於 22-9-7 14:35

謝謝您的分享 我找到無法跑全速的原因了

dylan741 發表於 23-10-15 09:51

感謝分享,學到很多

kkreal 發表於 23-10-20 09:48

非常專業,感謝分享,謝謝!

bob 發表於 23-12-11 22:56

感謝大大分享長文,
原廠散熱器是不至於重開,只是溫度過高會降頻,效能會變差。
電腦就是要隔好幾代升級才有感覺,
直接算倍數就很直觀,比方說你的新電腦是舊電腦的3.8倍快。

萬年船 發表於 23-12-12 08:38

bob 發表於 23-12-11 22:56
感謝大大分享長文,
原廠散熱器是不至於重開,只是溫度過高會降頻,效能會變差。
電腦就是要隔好幾代升級才 ...

之前買i9-12900使用原廠風扇跑Aida64的fpu壓測
燒機一兩分鐘就因為過熱保護重開機了
最後在七天內把主機退回去
重新再調整菜單,換風扇、主機板、機殼,再燒機就過了



bob 發表於 23-12-12 15:04

萬年船 發表於 23-12-12 08:38
之前買i9-12900使用原廠風扇跑Aida64的fpu壓測
燒機一兩分鐘就因為過熱保護重開機了
最後在七天內把主機 ...

看來i9-12900太緊繃了,

這幾年的高階CPU都太緊繃了,
買沒那麼緊繃的要燒到重開很難。

bakbak 發表於 24-4-29 16:02

參考版主的文章,也在autobuy那裏買了CPU採用i7-14700K的模擬用電腦。
但是當天睡前跑了一趟預計花7小時的模擬後,隔天早上起來看電腦已經自動關機掉了。
當初買的時候,有跟autobuy商量是跑模擬用的,有採用雙塔扇,機殼也有3個風扇。
所以實在不知道問題出在哪裡。
版主方便給一些建議麼?感謝您。

csvp 發表於 24-5-1 08:58

感謝分享~{:4_90:}

bakbak 發表於 24-5-3 11:03

bakbak 發表於 24-4-29 16:02
參考版主的文章,也在autobuy那裏買了CPU採用i7-14700K的模擬用電腦。
但是當天睡前跑了一趟預計花7小時的 ...

不好意思,後來我發現,並不是燒機電腦出問題。
而是運算完電腦進入休眠狀態,鍵盤跟滑鼠的藍芽無法喚醒,所以才以為是當機了。

不過我裝16G的記憶體,似乎不夠。因為跑完七小時的模擬後,要做儲存等動作時,就出現「您的電腦記憶體即將耗盡,請關閉不必要的應用程式或增加RAM至您的電腦」的警語。

查看工作管理員,發現MC的記憶體使用已達到11G了。應該是運算後的資料太龐大。
可能還是要跟版主一樣,安裝兩隻16G的記憶體才夠。

記憶體雖然對運算沒有幫助,不過對運算結果的使用影響很大。
是不是這樣的想法正確呢?想請教版主的看法。

m93017777 發表於 24-10-4 13:38


謝謝您的分享

doohan1221 發表於 24-10-6 10:48

感謝分享,獲益良多

g80860g 發表於 24-10-9 08:46

專業,感謝分享,謝謝!
頁: [1]
查看完整版本: MC最佳化(或WFO)電腦升級評估與效能驗收