新一波潮流來襲:網絡與計算之融合

從計算機誕生伊始,「計算」這個詞彙便隨着時代的變遷不斷豐富着本身的內涵,IT從業者爲了提升計算效率也給「計算」賦予了更多載體,高性能計算、雲計算、量子計算都在經過各個領域爲計算賦能。時代發展離不開網絡,本文要討論的話題就是——網絡如何與計算融合。
新一波潮流來襲:網絡與計算之融合
爲何要關心計算和網絡的融合?html

計算與網絡一直密不可分,網絡與計算的高效融合也成爲了將來計算髮展的趨勢。咱們也能夠看到與計算機相關的硬件和軟件(如運行虛擬機的通用CPU、傳統操做系統和編程語言)愈來愈多地被用於各種網絡功能。諸如交換機,路由器和NIC之類的網絡設備也正在變得可編程,以容許在網絡中完成各種通用計算。編程

在以數據中心爲表明的高密度計算集羣中,應用呈多元化和分佈化,更大的網絡帶寬也帶來了海量數據,對I/O處理的計算需求也不斷飆升,新型的網絡功能虛擬化也在進一步蠶食CPU的算力,同時GPU的負載轉移工做也是杯水車薪。緩存

網絡帶寬遠遠超過計算能力服務器

目前,服務器網絡帶寬正面臨快速增加。200Gbps以太網網卡已經成爲主流,廠商還在不斷研發新的400Gbps NIC,而1Tbps很快將成爲下一個目標。另外一方面,處理網絡I/O的計算容量空間正在不斷縮小。例如,對於典型的使用32字節鍵值的鍵值存儲,爲了在100 X86 CPU內核的狀況下保持400Gb/s的線速,一個內核大約須要500個週期來處理每一個鍵值對。即便在這種理想的假設下,這種微不足道的計算能力也僅僅可以在網絡堆棧中執行一些LLC或內存訪問,留給應用程序邏輯的東西少得可憐。換句話說,將來具備線速I/O處理需求的應用程序註定要受到CPU和內存的限制。網絡

多年來,各類底層網絡層功能已經被應用到了網卡硬件中。這些硬件卸載構成了網絡I/O處理的主幹,範圍從簡單的分散彙集I/O、校驗、計算和數據包分段到完整的傳輸層加速器,如TCP卸載和RDMA。編程語言

商用服務器對於線速I/O的低延遲處理需求達到了史無前例的高度,硬件沒法跟上數據中心網絡工做負載的快速變化。例如,用於訪問網絡附加存儲、新標準和隧道格式的壓縮技術都在快速發展,超過了ASIC開發和部署的生命週期。此外,數據中心網絡範式從專有的中間盒,例如防火牆和***檢測系統,轉變爲虛擬網絡功能(VNF) ,這也進一步推進了計算需求。VNF給CPU的網絡處理帶來了負擔,而且也對計算提出了更高的要求。ide

CPU和GPU的挑戰性能

網絡I/O的性能問題長期以來一直備受關注,其重點在於消除操做系統網絡堆棧中的低效率以及優化NIC-CPU交互。目前實現VNF的經常使用方法是徹底繞過網絡堆棧,直接從用戶級庫(例如DPDK)訪問原始數據包。此外,CPU和NIC硬件提供了幾種機制來提升I/O處理的效率,例如,將數據直接引入CPU LLC(DDIO),並經過減小CPU內核之間的緩存爭用(例如,接收端擴展)和下降中斷頻率(例如,中斷調製)來提升可擴展性。但即便採用了這些加強功能,在10Gbps的速度下依舊須要多個CPU內核來執行公共網絡功能。此外,現有系統也會由於CPU資源爭用而致使延遲增長,包處理性能也出現波動。
查看更多內容優化

相關文章
相關標籤/搜索