虛擬化是否會影響高性能計算性能?
上周,專注于計算機系統和應用的AICCSA國際會議召開,IBM加拿大的云計算CTO Mazin Yousif博士在會議上做了有關云計算的主題演講,并接受了記者采訪。
2000年Mazin在加入英特爾之后不久就開始專注于Infiniband,面向自適應性網格體系結構,隨后當他成為Infiniband貿易協會(IBTA)管理工作部門主席的頭兒之后便一頭鉆進HPC,這個協會定義了Infiniband結構。在很多Top500 HPC系統中,Infiniband都是互連的基礎,并且實現了高帶寬低延遲的通信優化。
通過Infiniband建立互連通道來架設高性能計算應用,可以直接訪問硬件,繞過操作系統和驅動程序,可以減少延遲幾百納秒(以太網在通信通過TCP/IP時通過鏈路層和物理層,導致訪問速度變慢)。Mazin博士因為有這樣的專業知識和HPC方面的經驗,回答一些有關云計算中虛擬化會不會影響到HPC應用的問題再合適不過。
記者:我們聽說過一些虛擬化造成的額外成本負擔,虛擬化如何能真正影響HPC應用的性能?
Mazin Yousif:在回答這個問題之前,我們首先應該來看看虛擬機管理程序(VMM)的角色。VMM位于所有硬件之上,將所有的硬件資源抽象成聚合的虛擬資源,最后以虛擬機的形式呈現。通常情況下,VMM需要驅動來通過I/O資源,這要求額外的I/O資源。
記者:這是否意味著一些計算敏感型應用不會被虛擬化影響?
Mazin Yousif:是的。如果計算敏感型的應用完全在虛擬機里運行,那么虛擬機和VMM的入口非常少,對整體性能的影響是很小的。
記者:那么I/O密集型應用呢?
Mazin Yousif:哦,在這些應用上,額外的資源需求非常明顯。因為所有的虛擬機中I/O指令都將通過VMM,這是I/O驅動程序所在的地方,同時就要求物理的I/O資源。這通常會要求額外的時間大概有幾十或者幾百微秒。在一個實際的混合計算密集型和I/O密集型應用的HPC系統中,開銷的數額肯定在兩者之間。
記者:能避免這些開銷嗎?
Mazin Yousif:可能不完全,但是原則上是可以的。首先,虛擬化解決方案供應商可以進一步優化,比如減少VMM代碼中一個I/O操作的關鍵路徑;二,可以不通過VMM,將I/O直接分配到虛擬機中,從而消除了VMMV造成的開銷。這可以通過配置VMM來實現。但是缺點是,現在你需要為每個虛擬機定義單獨的I/O,而不是像之前那樣幾個虛擬機共享設備。虛擬化不僅影響延遲,也會影響帶寬,在一個主要是計算密集型的工作中,分配虛擬機內存時與運行同樣的物理資源的工作相比不會看到任何的折扣,在混合應用的作業中,一個指定的I/O會有很大幫助。
記者:當分配虛擬機以運行高性能計算作業的時候,會更有利的環境是保持運行狀態還是實時加以調整,以跟蹤資源的工作量要求變化?
Mazin Yousif:配置虛擬機與適應的工作量資源需求是非常必要的,要跟蹤工作量的變化,包括VMM的規定分配給虛擬機增加或者減少資源的基礎,如果VMM提供的彈性是不夠的,那么其它功能,比如VMware的分布式資源調度以及VMotion可以實現。
記者:那作為一個高性能計算用戶的話,應當怎么做?
Mazin Yousif:如果你有混合應用打算的話,你可以決定是否允許一個I/O設備直接訪問虛擬機。
記者:但是這意味著比如有能力配置VMM,我理解這個可以在私有云中實現,但是如何在公有云中實現呢?
Mazin Yousif:現在還不能。公有云服務供應商當然不會允許HPC最終用戶去決定是否允許單獨的I/O設備去指向每個單獨的虛擬機,或者是幾個虛擬機共享一個。如果真的有這種需求的話,那么高性能計算委員會應當要求公有云能夠提供HPC所需的功能,從而在云中實現高性能計算。
記者:所以這是你的結論和建議?
Mazin Yousif:我不認為虛擬化會阻礙高性能計算性能。為了進一步滿足HPC領域,我們敦促云服務供應商將云中部署虛擬化環境作為高性能計算的最佳選擇之一。
【編輯推薦】