星期六, 7月 11, 2009

[2009/7/11雜談] 軟硬體實作都有待加強的x86進階虛擬化

聽說Google鼓勵員工用20%的上班時間進行「個人發想」,我是不清楚實際的可信度啦,不過像我這種現階段只能在台商混吃等死的三流廢材,早從步入社會後,就貫徹「工作再忙也要自由研究」的大原則。

最近這幾天,剛好在累積虛擬化環境的效能測試數據,讓人驚訝卻不意外的是,Intel Nehalem的VPID和EPT,似乎都出現了可從學理面即可推論出來的後遺症。

根據Sun xVM VirtualBox 3一路跑下來的結果,簡而言之:

1. EPT會大幅拉長記憶體整體latency,但很詭異的是,如果不打開VPID,反而整體記憶體頻寬有激增的趨勢。

2. VPID + EPT = 更長的整體記憶體latency,但整體記憶體頻寬表現不錯。

3. 最低的整體latency,竟然發生在VPID enable、EPT disable的環境,這這...還比VPID/EPT一同關閉低了一些,扣掉cache影響的主記憶體頻寬,也比較高。

4. Only VPID enable = 特別好的single thread效率。活見鬼了。

5. VPID enable = 開機時間拉長。EPT enable = 主記憶體頻寬下滑。

結果就是:
好複雜啊...orz

上述結論嚴格說來都不能說準,因為都是單一32 bits VM的情況,根本無法發揮VPID/EPT的威力,但這也證明了,Intel VPID/EPT還不見得真如宣傳的如此美好,或多或少還是會有一些副作用。

當然,VMM最佳化程度不足,也許更是元兇,晚點來多跑幾個VM壓榨一下極限效能好了,順便拉Istanbul和Shanghai出來PK一下,搞不好AMD K10會有截然不同的行為特性也說不定。

最後,原來ServerEngines Pilot II加上某顆10/100 PHY,平時系統關機待命時,就會吃掉「10W」,想想也蠻恐怖的...

3 則留言:

匿名 提到...

休閒時間.

-----
VT能幹嘛??

1. 能幹嘛?增加你CPU的瓦數消耗而已=3=
2. 要它做啥? 當你想要讓你的虛擬機器跑的快一點時,
它能把你電腦本來的硬體直接給虛擬機器識別
然後進而完美的操作它
再也不是什麼Cxxx的CPU...Cxxx的顯示卡
3. 綜合以上兩點,那VT真的有用嗎???
------

GasVosky 提到...

樓上的 你他媽的不知道這裡是西斯版嗎?

doz 提到...

一樓的傢伙,應該是自己招不到人氣,只好到比較熱絡的地方,靠行沾點光芒,讓自己看起來有人理,但又怕被人識破自己是內涵不足的業界人物,只好戴頂遮頭蓋,就是那種去法庭見不光的那種。