谷歌的工程師們近期在其軟件定義網絡(SDN)平臺Andromeda上實現了一種新的降低網絡延遲的方式,谷歌周四發布了最新版本的Andromeda 2.1,并表示與Andromeda 2.0相比,谷歌計算引擎虛擬機之間的網絡延遲降低了40%。
谷歌副總裁Amin Vahdat表示,大多數人在考慮網絡性能時都會考慮帶寬:“谷歌的基礎設施在帶寬測量方面表現上佳,但大多數分布式應用程序比帶寬更注重延遲,谷歌通過不斷增加新硬件來增加帶寬,但是網絡延遲的問題根植于軟件層,谷歌通過SDN的途徑專注于網絡延遲。”
谷歌公司通過開發軟件來加速用戶操作系統和Andromeda SDN堆棧之間的數據包處理速度,Amin Vahdat表示:“虛擬化服務器的通信方式是構成網絡通信的數據包必須從用戶操作系統復制到虛擬機管理程序中,虛擬機管理程序在其上運行,以確保安全。通過谷歌開發的軟件,使得訪客操作系統直接訪問Andromeda堆棧,Andromeda堆棧運行速度非常快,CPU效率非常高,同時還能確保安全性。”
Andromeda 2.1延遲的改進來自于虛擬機管理程序旁路,其基于virtio,即網絡和磁盤設備驅動程序的Linux半虛擬化標準。Google Cloud軟件工程師Jake Adriaens今天在一篇博客中寫道:“Andromeda 2.1增強功能使計算引擎客機虛擬機和Andromeda軟件交換機能夠通過共享內存網絡隊列進行通信,從而完全繞過虛擬機管理程序,實現對性能敏感的數據包操作。”
下圖顯示了通過Andromeda 2.1的新數據路徑:
Amin Vahdat表示新版本的關鍵優勢是在保證安全性的前提下降低支出,Google使用來自virtio的開源代碼作為其延遲改進軟件。
谷歌的SDN策略由四個部分組成,Jupiter是其數據中心網絡,B4 WAN是連接谷歌數據中心的技術,spresso則是將Google網絡與其他ISP連接起來的對等基礎設施,Andromeda是谷歌的SDN平臺。