? ? 本文由斯坦福大學(xué)和普林斯頓大學(xué)合作完成。這篇文章聚焦于網(wǎng)絡(luò)中的計(jì)算,提出網(wǎng)絡(luò)計(jì)算的核心是較快地獲得正確的結(jié)果,因此要建立以計(jì)算為中心的網(wǎng)絡(luò)。這個工作設(shè)計(jì)并實(shí)現(xiàn)了一個名為Fixpoint的框架,并在初步的測試中獲得了較好的表現(xiàn)。
? ? >背景
? ? 云計(jì)算是當(dāng)前很多大規(guī)模應(yīng)用的解決方案,但是之前的設(shè)計(jì)殘留著一些問題,包括1)計(jì)算關(guān)系的模糊性,即對于多個組件而言,他們的計(jì)算順序是未知的。2)服務(wù)端算法不確定性,即針對同一種用戶行為,可復(fù)現(xiàn)性收到懷疑。3)低可重用性,即面臨代碼或者數(shù)據(jù)的更改,計(jì)算的結(jié)果可能會有不同。4)以及服務(wù)端不明晰計(jì)算依賴與程序關(guān)系帶來的較慢計(jì)算速度,即浪費(fèi)了過多的時間在I/O上,導(dǎo)致整體性能出現(xiàn)了嚴(yán)重的降低。這些問題導(dǎo)致云設(shè)施無法較好地滿足租用者的需求。
? ? >設(shè)計(jì)
? ? 本文實(shí)現(xiàn)了一個名為Fixpoint的計(jì)算框架,并在此內(nèi)定義了一個輕量級的數(shù)據(jù)上計(jì)算(computation on data)的語言,以提供在各平臺上可用性。本文認(rèn)為這種以計(jì)算為核心的網(wǎng)絡(luò)設(shè)計(jì)能夠從細(xì)粒度的可見性,對于正確性客觀的評價(jià)以及I/O的分離與對不確定性的描繪這些因素中得到提高表現(xiàn)的方法。
? ? 因此,本文提出,云計(jì)算較好表現(xiàn)需要網(wǎng)絡(luò)系統(tǒng),1)能夠追蹤計(jì)算的關(guān)系。2)能確保在同樣的用戶行為下,服務(wù)端提供的數(shù)據(jù)是相同的。3)允許在數(shù)據(jù)或者代碼發(fā)生變化后,仍能允許。4)能夠較為靈活地進(jìn)行任務(wù)的讀取與放置,加快處理的速度。
? ? 除此之外,F(xiàn)ixpoint的設(shè)計(jì)還遵循以下幾種假設(shè):
I/O和計(jì)算的分離是可以廣泛取得的。
非確定性的內(nèi)容是可以被復(fù)現(xiàn)的
程序的執(zhí)行不會帶來較大的性能開銷。
效率的提高對于服務(wù) 提供商和用戶雙方都是有好處的。
? 在這些假設(shè)的基礎(chǔ)上,本文設(shè)計(jì)了在數(shù)據(jù)上計(jì)算的語言Fix,并實(shí)現(xiàn)了Fixpoint的原型。
? ? >評估
? ? 本文在8-bit的加法程序上做了簡單的實(shí)驗(yàn)。該工作一共選取了6個不同的加法函數(shù),3個是簡單的函數(shù),另外三個是POSIX的程序。每一個設(shè)置均進(jìn)行了4096次的實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,在簡單的加法操作中,F(xiàn)ixpoint以虛函數(shù)調(diào)用五倍的開銷完成了整體的操作,而在POSIX下,他比傳統(tǒng)的方法好上很多,比Linuxvfork快37倍,而當(dāng)vfork發(fā)生在內(nèi)部rr中時,它的速度約為531倍,該結(jié)果如下圖。
?
>觀點(diǎn)
Fixpoint實(shí)現(xiàn)了一個較為完整的框架,通過獲取數(shù)據(jù)流的詳細(xì)信息來進(jìn)行任務(wù)的處理,在網(wǎng)絡(luò)程序中有著較好的表現(xiàn)。將具體的計(jì)算以及計(jì)算關(guān)系考慮在網(wǎng)絡(luò)與通信里,是提升整體表現(xiàn)的一個突破點(diǎn)。 ?
Rethinking Cloud-hosted Financial Exchanges for Response Time Fairness
Prateesh Goyal, Ilias Marinos (Microsoft Research); Eashan Gupta (Microsoft Research, UIUC); Chaitnya Bandi (Microsoft Research); Alan Ross (Microsoft); Ranveer Chandra (Microsoft Research)
? 本文由來自微軟和UIUC的研究者合作完成。本文的考慮重點(diǎn)是相應(yīng)時間的公平性,即對于客戶端的響應(yīng)時間,以一種新的方式進(jìn)行排序,并根據(jù)這種排序依次提供服務(wù)。這種設(shè)置可以滿足市場參與者的公平性需求,緩解網(wǎng)絡(luò)延遲對于金融交易產(chǎn)生的影響。 ?
>背景
? 現(xiàn)代的金融交易服務(wù)是通過網(wǎng)絡(luò)提供的。很多金融交易所會在他們內(nèi)部的數(shù)據(jù)中心上運(yùn)行中心交換服務(wù)器(CES),而CES則會產(chǎn)生市場數(shù)據(jù)并進(jìn)行分發(fā)。市場參與者會根據(jù)這些市場數(shù)據(jù)作出反應(yīng)。這種交易的利潤極大來自于高速反映,因此很多交易者采用各種方法減少網(wǎng)絡(luò)延遲。因此,對于市場來說,減少網(wǎng)絡(luò)對于交易的公平性是極為重要的。與此同時,將CES帶到云端能在給云服務(wù)提供商帶來更大的機(jī)會的同時,也帶來一系列挑戰(zhàn),突出的便是不同延遲帶來的公平性,傳統(tǒng)的高精度時鐘和排序聚合的方式也都有著較大的限制。
? >設(shè)計(jì)
本文認(rèn)為限制CES和市場參與者(MP)間的延遲是一個有效的方法,但是難以實(shí)現(xiàn),并且并不必要。而通過獲取市場數(shù)據(jù)并作出決策這種形式,我們也可以根據(jù)每個參與者做出反應(yīng)所需的時間,進(jìn)行相應(yīng)的排序工作,從而確保公平性。 ? 整體的架構(gòu)如下圖所示,對于每一個MP而言,他們都和一個RB相關(guān)聯(lián),而RB則是直接從CES中獲取市場信息。每一個MP會根據(jù)市場信息作出決策,將交易信息發(fā)送給RB,RB會將一定的順序信息和交易信息綁定,讓CES據(jù)此進(jìn)行排序,從而獲得公平性。 ?
構(gòu)建系統(tǒng)需要滿足以下假設(shè): ?
RB和MP在地理位置上很近,因此他們之間的時延不會影響到公平性。
RB和CES間通過可靠數(shù)據(jù)連接TCP進(jìn)行通信。
考慮到成熟的備份方案,我們認(rèn)為CES和RB不會出現(xiàn)實(shí)效的問題。
? 考慮到實(shí)際的使用,本為提供了幾類公平性分類:
強(qiáng)公平性
所有MP的任務(wù)都是按順序的,且相同市場數(shù)據(jù)的交易訂單會根據(jù)響應(yīng)時間進(jìn)行排序。
受限的公平性
不要求同一個MP的所有任務(wù)都是按順序相應(yīng)的。針對某一個相同的市場數(shù)據(jù),如果某個MP響應(yīng)時間在一定的限制內(nèi),那么只要比其他MP響應(yīng)時間更短。就會被先執(zhí)行。
近似公平性
對于同一個市場數(shù)據(jù),只要某個MP響應(yīng)時間比另一個MP的快一定的范圍內(nèi),就會被先執(zhí)行。
? >評估
本文在兩種場景做了測試。分別是受限公平下的設(shè)置以及RB間有同步時鐘的設(shè)置。針對RB間擁有的同步時鐘的場景,在出現(xiàn)延遲尖峰時,則會從強(qiáng)公平性變?yōu)榻乒叫裕蕴峁┬阅鼙WC。模擬試驗(yàn)結(jié)果表示,和傳統(tǒng)的CloudEx相比,場景1獲得了更好的延遲,在一定的響應(yīng)時間內(nèi),獲得了完美的公平性,但當(dāng)響應(yīng)時間增大時,公平性會降低。而場景2的延遲更大一些,場景2是通過犧牲一定的延遲來獲得理想的公平性,同時,他對于延遲峰值的處理比CloudEX更好一些。 ?
>觀點(diǎn)
? 本文將金融交易的實(shí)際場景面臨的挑戰(zhàn)和網(wǎng)絡(luò)架構(gòu)的關(guān)系結(jié)合在一起,通過邏輯設(shè)置而不是對于架構(gòu)的硬性更改獲得了較好的表現(xiàn),并提出集中公平性的限制方法,來獲得較好的表現(xiàn)。關(guān)于本文,可以進(jìn)一步探究公平性的影響以及架構(gòu)方面的設(shè)置,獲取更安全的公平性。 ?
Load Balancers Need In-Band Feedback Control
Bhavana Vannarth Shobhana, Srinivas Narayana, Badri Nath (Rutgers University)
? 這篇文章是由來自羅格斯大學(xué)的研究者完成的,該文章的著眼點(diǎn)是精細(xì)化的服務(wù)下,如何通過負(fù)載均衡來提高服務(wù)的性能與可用性。本文認(rèn)為負(fù)載均衡需要調(diào)整請求路由以適應(yīng)快速變化的服務(wù)器性能來主動優(yōu)化應(yīng)用程序響應(yīng)時間,因此提出使用帶內(nèi)反饋控制的方法來優(yōu)化端到端的延遲。 ?
>背景
負(fù)載均衡(LB)是將負(fù)載均勻分布在不同服務(wù)器,以獲得較好的服務(wù)表現(xiàn)和服務(wù)可用性的技術(shù),這種技術(shù)能避免大批量的請求集中在某幾臺服務(wù)器,造成服務(wù)質(zhì)量的降低。但是,隨著微服務(wù)、無服務(wù)與機(jī)架規(guī)模計(jì)算的出現(xiàn),在較小的時間維度上也會出現(xiàn)嚴(yán)重的服務(wù)降級問題,與此同時,傳統(tǒng)的一些方法例如請求重復(fù)、需求驅(qū)動的規(guī)模調(diào)整往往不能起到應(yīng)有的作用。 ?
>設(shè)計(jì) ? 現(xiàn)在的網(wǎng)絡(luò)設(shè)計(jì)中有著以下幾種問題: ?
缺乏對于網(wǎng)絡(luò)時延細(xì)粒度的探究
現(xiàn)在的微服務(wù)等應(yīng)用涉及了多個服務(wù)器的響應(yīng),而最慢的微服務(wù)是整體服務(wù)響應(yīng)時間的瓶頸。而相比較與執(zhí)行較快但有著阻塞路徑的服務(wù)器,選擇較慢但路徑負(fù)載較低的服務(wù)器可能會更好。 ?
服務(wù)器性能的可變性
隨著時間的推移,服務(wù)器的性能會發(fā)生變化,典型的方法耗費(fèi)了太多的時間。 ?
需要應(yīng)用的修改
獲取帶外的信息來調(diào)整請求路由也許很有效,但對于應(yīng)用程序的修改會帶來極大的挑戰(zhàn)性。 ?
無法獲取響應(yīng)信息
很多響應(yīng)信息會繞過LB,導(dǎo)致LB無法根據(jù)響應(yīng)信息進(jìn)行調(diào)整。 ? 為了解決這些問題,本文設(shè)計(jì)了一個帶內(nèi)控制系統(tǒng),以達(dá)到: ?
將網(wǎng)絡(luò)和服務(wù)器處理延遲納入請求路由決策。
對服務(wù)器性能變化做出快速反應(yīng)。
使用純本地觀察,避免需要修改應(yīng)用程序或外部存儲。
只觀察從客戶端到服務(wù)器的一個方向的流量。
同時能滿足標(biāo)準(zhǔn)LB要求。
? 優(yōu)化端到端的響應(yīng)延遲是整體性能提升的重點(diǎn)。而在LB場景下分為4部分,分別是:
用戶端到LB的時延。
LB到服務(wù)端的時延。
服務(wù)端到LB的時延。
LB到客戶端的時延。
? 很明顯,評價(jià)性能指標(biāo),可以從LB和服務(wù)端的往返時延來分析。當(dāng)然,3)的時延很有可能無法觀測到。因此,我們需要分析相應(yīng)觸發(fā)的新的傳輸,以判斷往返的時延, 如下圖。
除此之外,在測量的過程中,會有這兩個問題,一個是LB測量的時間和響應(yīng)時延不同,另一個是LB不清楚是被觸發(fā)的包是被哪一個觸發(fā)的,如下圖。
因此,對于時間的測量,一方面要計(jì)算出正確的時間,另一方面可以通過傳輸?shù)拈g隔來識別被觸發(fā)的傳輸。 ? 在LB識別不同的負(fù)載LB后,則會執(zhí)行一個簡單的負(fù)載均衡算法,將最擁塞的服務(wù)器上的部分負(fù)載均分到其他的服務(wù)器上。 ?
>評估
本文做了簡單的時延,實(shí)驗(yàn)結(jié)果如下圖所示。從實(shí)驗(yàn)結(jié)果可以看到,與傳統(tǒng)的方法相比,該方法在后續(xù)仍保持著較低的延遲。
?
>個人觀點(diǎn)
本文以帶內(nèi)控制的思想進(jìn)行負(fù)載均衡的調(diào)度,在較長時間的維度上仍能獲得較好的表現(xiàn)。可以考慮將應(yīng)用的場景抽象成協(xié)同流等的方式,進(jìn)一步提高服務(wù)的性能。
編輯:黃飛
?
評論