成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

架構與算法創新,讓分布式存儲煥然一新!

存儲 存儲架構
分布式存儲在數據存儲產業中的占比越來越高,得益于分布式Scale-out的高擴展性,以及高速網絡技術的發展,分布式存儲逐漸成為主流

分布式存儲在數據存儲產業中的占比越來越高,得益于分布式Scale-out的高擴展性,以及高速網絡技術的發展,分布式存儲逐漸成為主流,解決海量跨源、跨域、跨協議的非結構化數據“存得下”,“管得好”以及高效互通的問題。

企業用戶希望從分布式存儲獲取哪些能力呢,可以概括為五點:高性能、低成本、高可靠、易管理、易擴展。針對這些核心訴求,鯤鵬BoostKit分布式存使能套件打造了全局緩存特性,本質上是一個分布式存儲使能中間件,即中間的軟件層,這里簡單將全局緩存支持或者規劃的特性總結為資源管理、系統加速以及企業高級特性三類,用于解決伙伴和企業對于數據存儲的核心需求。

圖片1.png

以高性能需求為例,我們通過結合讀寫緩存來縮短讀寫訪問路徑,提供低時延訪問,結合數據聚合實現隨機寫入轉為順序寫入,大幅削減磁盤尋道、旋轉延遲對硬盤能力發揮的阻礙,以及結合全新設計的元數據管理引擎實現變長數據自適應管理。

全局緩存實現高性能、低成本、高可靠、易管理、易擴展,得益于其架構,以及算法創新,接下來我們分別分享其背后的設計思路。

全局緩存的軟件架構設計:遵循清晰、合適、易演進原則

圖片2.png

(圖:全局緩存技術堆棧)

全局緩存是一個華為自研的分布式存儲緩存加速套件,支持一體化、自管理、可擴展部署,提供掉電保護,并且不存在單點故障問題。

整體的架構設計遵循清晰簡潔、合適和易演進的原則,從而把系統設計的足夠簡單,原因在于我們知道分布式存儲可以看作是分布式系統的集大成者,其不僅包含各種正常功能場景,比如我們前面提到的資源管理、系統加速以及企業特性,還包括非常多的異常流程,這些正常流程與異常流程正交以后導致我們系統復雜度非常容易膨脹。

雖然任何分布式系統都有正常和異常流程,但其實是有差別的,因為分布式存儲承載了用戶核心數據,是不允許數據丟失或不一致的,業務恢復不僅要考慮RTO,還要考慮RPO,增加一個維度,帶來的復雜度不是翻倍,而是升維,本質上還是一個正交的過程。

基于此,整個架構設計過程都致力于降低系統復雜度,第一步就是充分解耦,從圖中可以看到,全局緩存從邏輯和部署都是與計算集群和存儲集群解耦的,相當于一層緩存加速中間件,從而可以實現自管理、獨立部署、獨立運行,不侵入Ceph等開源軟件,做到應用無感加速。

圖片3.png

解耦之后,全局緩存借鑒微服務的思想,通過客戶端適配層、服務端適配層和存儲代理層等抽象外部接口依賴,相當于API網關,對外屏蔽系統內部的復雜性,最小化場景、協議以及軟件升級等帶來的適配開銷。

對于全局緩存的軟件架構,其整體可以看作一個微內核架構,除了管理工具和ZK等是獨立進程部署以外,為了避免數據面和控制面的耦合以及相互影響,我們還將數據面和控制面拆分成了獨立進程,這樣就可以避免故障場景等場景的相互耦合與影響。

但是我們知道,服務并非拆分的越細越好,為了實現高性能、低時延,全局緩存數據面服務整體部署成獨立進程,避免復雜的接口框架,消息通訊帶來的時延和調用棧的開銷;單純看數據面,內部采用模塊化解耦設計,包含多個子系統,如多級讀寫Cache、元數據索引、數據聚合、數據持久化等子系統,這些子系統之間通過內部接口調用進行交互,不需要走消息通訊,所以調用鏈路短,時延低,并且模塊化的設計可以使得協同開發與迭代變得高效和并行。

在模塊化設計之上,全局緩存也遵循solid等設計原則,例如讀寫緩存、元數據DB等依賴于持久化層提供的數據持久化服務,它們之間的交互遵循接口隔離和依賴倒置等原則,實現充分解耦,從而將N*M的復雜度量級降低到N+M。

緩存架構創新:讀寫分離、前后臺分離

圖片4.png

針對緩存架構,首先,全局緩存采用了讀寫分離設計,從而實現流程、資源、介質、冗余策略的解耦,流程解耦例如避免寫緩存刷盤和讀緩存淘汰相互影響,資源解耦例如實現讀寫緩存獨立的配額控制,介質解耦例如支持RAM/SCM/SSD等不同介質加速,冗余策略解耦例如讀寫緩存支持不同的副本策略,這樣就可以提高緩存命中率和資源利用率。

其次,全局緩存采取前后臺分離的設計模式,將請求處理路徑分為前臺和后臺兩部分,前臺部分保證最快的響應應用的讀寫請求,應用只會感知到前臺部分的執行時間,從而實現極低的應用訪問時延。在實現讀寫分離以及前后臺分離的緩存架構的基礎上,可以進行緩存的執行流編排,全局緩存的架構及其執行流可以做到從設計上屏蔽或緩解緩存原生的一致性問題和雪崩、擊穿、穿透等問題。例如,針對一致性問題,數據狀態是在分布式緩存池中維護,客戶端無狀態,不存在源端狀態同步開銷;全對稱分布式架構,結合去中心化路由算法,實現數據精準路由,數據精準定位到主節點;結合協商的執行流編排,保障分段逐級命中最新數據,例如首先命中寫Cache臟數據,然后L1讀Cache,L2讀Cache,最后才是后端存儲,命中即返回,從設計上保證不會讀到老數據。

高性能、低成本核心算法設計

在全局緩存特性中,我們應用了規模化的降本增效算法,這些算法集結了華為公司海內外研究所,以及高校老師的全球智慧,也是全局緩存實現性能領先、成本領先的核心技術保障。

高性能算法主要包括讀路徑加速和寫路徑加速兩類,針對寫路徑加速,我們知道,HDD磁盤的尋道和旋轉延遲是訪問時延的大頭, HDD對IO數量和放大非常敏感,以8K數據為例,如果是隨機寫入,一般可以做到單盤100 IOPS量級,而順序寫入主流硬盤可以達到3W+ IOPS量級,所以上述的緩存前后臺分離架構的前提是要與高效的算法配合,不然由于后端刷盤來不及,很快就會導致緩存寫滿轉透寫。

圖片5.png

為此,通過IO聚合算法實現全周期Append-only模式的磁盤友好寫入,IO聚合過程可以轉化為一個帶約束的組合優化問題,并結合啟發式方法實現最小空間浪費;數據聚合以后,需要結合自研的TeraDB KV數據庫實現小對象到聚合對象的映射管理,命名TeraDB的原因是每臺服務器管理的元數據量上限大概是700GB,接近1TB;針對元數據管理,全局緩存采用了LSM的結構,LSM對小塊的頻繁更新比較友好,但是由于其分層結構,對讀取不友好,針對此問題,全局緩存設計了自適應的布隆過濾器來實現批量檢測Key存在性,提高讀性能,另外由于非結構化數據本身數據大小多變,我們還設計了變長粒度樹,實現大小對象的自適應管理,既提高了查詢效率,又避免了資源浪費,大幅節省元數據開銷。

那么,實現了IO聚合與映射就可以了嗎?并非如此,因為數據更新和刪除還是以聚合之前的粒度進行,那么在數據更新或刪除以后,我們需要進行垃圾回收來釋放空間,垃圾回收會引入寫放大,這就是我們需要支付的開銷,控制寫放大就成了我們是否可以實現性能提升的關鍵因素。

針對讀路徑,我們結合豐富的模式識別與挖掘算法,例如結合時間序列預測挖掘流式模型,多模特征聚類挖掘熱點模型,頻繁模式挖掘得到關聯模型,以及粗放式冷熱識別得到工作集關聯模型,基于這些Pattern挖掘算法,輔以全局負反饋調整,可以實現精準的模式挖掘以及預取門限、預取長度等參數的自適應整定,在特征不明顯的多源混合場景實現70%以上緩存命中率,模式較為規整的負載下實現接近100%的緩存命中率。

圖片6.png

算法創新思路之一:理論為基石,探究算法極限

舉兩個示例,第一個是剛才提到的如何實現理論最優的寫放大,針對垃圾回收寫放大問題,工業界一般認為最優回收算法,或者說寫放大最小的回收算法,是貪心算法,所以在優化寫放大過程中不存在算法設計,只有數據結構設計,例如是通過分級鏈,還是通過優先隊列去管理回收對象。

但其實并非如此,針對這個問題,全局緩存研發團隊結合學術論文的分析,實現了基于邏輯時鐘驅動的垃圾回收建模推導,并通過主動分區實現理論最優寫放大算法和數據結構設計,推導發現在均勻Workload負載下,貪心算法確實是最優的,原因在于均勻Workload下面其不具備后效性;但是在非均勻Workload下面,貪心算法并不是最優的,而我們知道真實的業務負載基本都是非均勻Workload。

具體的推導過程是我們將每次數據更新寫入當成邏輯時鐘,來驅動系統的狀態進行變化,狀態主要就是每個聚合對象的垃圾量,然后套用Lambert方程進行時空特征建模,得到垃圾生成模型,轉換成最優化問題并求取數值解,實現OP超供容量的主動分區;這樣,在非均勻Workload下,結合主動分區實現最優OP配額控制,得到理論最優解,從右側圖中可以看出寫放大收益可以達到30%以上,并且比CB等復雜算法的效果更好。

圖片7.png

算法創新思路之二:算法與架構配合,最大化算法效果

針對讀路徑加速算法示例,我們不單獨講算法原理,來切換一個視角,主要介紹下如何通過預取算法與預取架構配合,最大化發揮前面提到的智能預取、數據淘汰等算法的效果。

在預取架構方面,全局緩存創新性的提出Client端推薦引擎與Server端執行引擎分離的智能預取架構,相對于業界流行的分布式緩存預取模式,兼具單機推薦的高效&準確性,以及緩存池的高資源利用率。

圖片8.png

(1)作為對比,相對于標號1 Server端本地推薦這種模式,由于我們的數據未經源端打散,推薦引擎天然具備全局Trace視圖,從而可以進行全局精準推薦,同時由于推薦引擎部署在客戶端,在共享卷等場景,也不會發生多源擾鄰,可以精準匹配用戶Workload。

(2)相對于標號2的Server端中心化推薦這種模式,可以做到不存在單點故障,還可以減少數據推送和執行策略拉取兩跳網絡開銷,如圖中黃色箭頭所示,從而避免緩存偽命中,所謂的偽命中指的是已經下發預取請求,由于推薦、執行鏈路過長導致請求到達時,預取數據還未加載到緩存。

針對成本目標,BoostKit全局緩存通過EC Turbo、數據壓縮、數據壓緊等創新算法,提升分布式存儲有效容量,幫助用戶降低成本。EC Turbo支持4+2~22+2大比例EC,用戶可用容量提升2~2.75倍;自研的GLZ數據壓縮算法結合原理級、結構級、指令級三級優化,實現對比LZ4、gZip等業界流行算法壓縮率高30%,并且系統性能也可以提高30%,從而實現成本、性能雙收益;數據壓緊算法配合壓縮算法一起使用,通過減少壓縮后數據因數據對齊產生的補零空間浪費,實現更緊湊的數據落盤,壓縮率能夠繼續提升30%。

總結來說,鯤鵬BoostKit全局緩存結合EC Turbo、數據壓縮、數據壓緊等算法突破,相對于開源方案可以實現3倍以上用戶可用容量提升,大幅節省TCO;后續還將推出全局數據重刪特性,進一步提升數據縮減率,并覆蓋備份存儲等場景。

目前,鯤鵬BoostKit全局緩存與某大型運營商開展了聯合創新,分別采用3臺X86服務器和3臺鯤鵬服務器組成2個服務集群,其他硬件保持相同,然后進行緩存命中極限性能測試。測試數據顯示,全局緩存端到端性能達到14W IOPS/節點,以及1ms穩定時延;相對來說,X86硬件+開源BCache+開源Ceph,則為1.2W IOPS/節點,同時時延只能做到26ms,全局緩存實現了10倍的性能優勢。

如果要了解更多的全局緩存相關的部署使用方法和學習資源,登錄hikunpeng.com——鯤鵬社區BoostKit專區獲取詳細信息。

責任編輯:張誠
相關推薦

2012-03-08 10:37:13

Cloudpaging云計算Numecent

2023-10-04 09:25:14

NewsFlash大升級

2015-09-24 11:09:04

性能PCWindows

2022-05-11 09:35:19

安卓Android 13

2010-08-16 09:46:30

2022-02-16 09:35:17

微軟WindowsWindows 11

2021-09-09 05:26:29

Windows 11操作系統微軟

2021-07-15 05:27:06

Windows 11操作系統微軟

2019-12-03 08:59:13

Windows電腦軟件

2017-11-15 16:18:30

Firefox 瀏覽器Chrome

2021-04-29 05:31:55

Windows10操作系統微軟

2021-01-18 06:01:01

Windows10操作系統軟件

2020-08-24 18:00:58

微軟Windows 10Windows

2019-12-13 10:05:30

Windows操作系統

2021-05-14 11:55:03

UbuntuLinuxGNOME 40

2014-10-20 10:31:34

傲游瀏覽器

2020-11-19 07:04:21

微軟Windows 10Windows

2020-02-25 21:13:06

Windows 7Windows 10Windows 10X
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美人妖网站 | 欧美黑人一级爽快片淫片高清 | 国产美女在线看 | 欧美久久久久久 | 日本精品一区二区三区在线观看 | 日韩在线小视频 | 久久久久91 | 久久国内精品 | 亚洲欧美激情精品一区二区 | 免费一区二区三区 | 成人免费在线小视频 | 毛片av免费在线观看 | 国产一级毛片精品完整视频版 | 黄色成人国产 | 国产日韩欧美激情 | 91日韩在线 | jizz视频| 成人av激情 | 国产视频线观看永久免费 | 国产午夜一级 | 久久精品99久久 | 日韩精品在线看 | 一级黄色夫妻生活 | 久久精品中文字幕 | 国产日韩一区二区 | 国产精品一区二区三区在线 | 少妇精品久久久久久久久久 | 97超碰在线免费 | 国产在线观看网站 | 美国一级片在线观看 | 国产福利在线 | 99精品欧美一区二区三区 | 国产九一精品 | 一级毛片免费 | 亚洲色图第一页 | 自拍偷拍第一页 | 91se在线| 91久久精品日日躁夜夜躁国产 | 欧美日韩精品免费观看 | 午夜欧美| 97日日碰人人模人人澡分享吧 |