馬震 趙君 吳思琪
摘要:在當前大規(guī)模分布式數(shù)據(jù)密集型應用需求快速增長的背景下,諸如Ceph等底層存儲服務正面臨著日益增加的輸入/輸出(I/O)壓力,即使在數(shù)據(jù)量巨大且高并發(fā)的情況下,存儲服務也必須具備高吞吐量的I/O性能。為了滿足日益擴大的并行數(shù)據(jù)傳輸需求,急需進一步提高帶寬的利用率。隨著云存儲的普及,以視頻和圖像存儲為基礎的對象存儲服務越來越受到資源有限的用戶的青睞,特別是中小型企業(yè)和個人用戶。這類用戶的特點是存儲讀取操作較少,但對存儲價格更為敏感。由于這些資源通常按照使用量付費,因此最大限度地減少存儲空間占用并提高帶寬利用率變得尤為重要?;诖?,本文評估了通過數(shù)據(jù)壓縮來節(jié)省存儲空間和帶寬的潛在優(yōu)勢,并提出了基于深度學習的壓縮層技術,盡管數(shù)據(jù)壓縮會增加一定的計算開銷,但相對于其帶來的成本優(yōu)勢而言,這些開銷是可以忽略不計的。
關鍵詞:數(shù)據(jù)壓縮、 存儲? 研究
一、應用背景與意義
隨著數(shù)據(jù)的速度、規(guī)模和多樣性日益增長,人們迫切需要靈活的應用程序來快速、經(jīng)濟高效地處理大量異構數(shù)據(jù),例如網(wǎng)頁內(nèi)容、在線交易記錄、訪問日志等。這些應用通常屬于數(shù)據(jù)密集型應用,需要不斷地獲取海量數(shù)據(jù)集(例如通過網(wǎng)頁爬取或分析訪問日志),并處理這些不斷變化的數(shù)據(jù)(例如建立最新的搜索索引)。為了實現(xiàn)可擴展性和高性能,數(shù)據(jù)采集和計算任務需要在由成百上千臺機器組成的大規(guī)模數(shù)據(jù)基礎設施上進行分布式部署,但是這種大規(guī)?;A設施的構建和維護成本較高。而新興的云存儲模式提供了一種新的資源管理模式,備受工業(yè)界和學術界的關注,即用戶無需購買和管理硬件設備,而是租用虛擬機和存儲空間。在這種情況下,數(shù)據(jù)密集型應用變得極具吸引力,需要處理大量數(shù)據(jù)的用戶可以租用所需資源來運行其應用程序,并且只需支付其消耗的資源費用。
由于數(shù)據(jù)密集型應用需要處理海量數(shù)據(jù),因此需要大量的存儲空間。此外,為了以可擴展的方式處理這些大規(guī)模數(shù)據(jù),必須在參與節(jié)點之間進行大規(guī)模并行數(shù)據(jù)傳輸,因此底層網(wǎng)絡基礎設施需要具有高帶寬利用率。在云計算環(huán)境中,存儲空間和帶寬都是按使用量付費的資源。所以,最大限度地降低數(shù)據(jù)密集型應用所占用的存儲空間和提高帶寬利用率是非常重要的,能直接降低整體應用部署成本。
而數(shù)據(jù)壓縮技術在存儲中的應用將會帶來以下技術優(yōu)勢:
節(jié)省存儲空間:數(shù)據(jù)壓縮技術可以顯著減少所需的存儲空間,使得存儲設備可以容納更多的數(shù)據(jù),從而提高存儲效率,并降低存儲成本。
提高數(shù)據(jù)傳輸效率:壓縮數(shù)據(jù)可以減少數(shù)據(jù)傳輸量,加快數(shù)據(jù)傳輸速度,降低網(wǎng)絡帶寬需求,特別是在需要通過網(wǎng)絡進行數(shù)據(jù)傳輸?shù)那闆r下,這一點尤為重要。
加快數(shù)據(jù)訪問速度:壓縮的數(shù)據(jù)可以更快地加載到內(nèi)存中,并且處理速度更快,這是因為壓縮后的數(shù)據(jù)量更小,減少了磁盤I/O操作次數(shù),提高了數(shù)據(jù)訪問速度。
提高系統(tǒng)性能:通過減少存儲和傳輸?shù)臄?shù)據(jù)量,數(shù)據(jù)壓縮可以降低系統(tǒng)負載,減少資源占用,提高整體系統(tǒng)性能,使得系統(tǒng)更具響應性和效率。
本文對目前主流的用于存儲的數(shù)據(jù)壓縮技術進行了系統(tǒng)地研究,評估了數(shù)據(jù)壓縮技術在節(jié)省存儲空間方面的優(yōu)勢,并提出了基于深度學習的壓縮層技術。
二、用于存儲的主流數(shù)據(jù)壓縮技術
(一)壓縮層技術
Nicola在文獻[1]提出了一種基于采樣的通用壓縮層,它能動態(tài)適應異構數(shù)據(jù),處理數(shù)據(jù)密集型應用的部署和執(zhí)行所產(chǎn)生的高并發(fā)訪問模式。特別是,作者引入了一個更通用的壓縮層,將其建議的適用性擴展到虛擬機映像的管理(以及應用數(shù)據(jù)的管理),并展示了如何將其集成到云架構中。此外,作者建議在Blob- Seer [3]之上實現(xiàn)壓縮層,該系統(tǒng)是一個面向版本的分布式存儲系統(tǒng),專門設計用于在大量訪問并發(fā)的情況下提供高吞吐量。
其主要實現(xiàn)思路包含以下六個部分:
云中間件:負責管理云上的物理資源,安排新虛擬機的實例化位置,跟蹤每個用戶的資源消耗情況、執(zhí)行策略等。云中間件提供控制API,使用戶能夠執(zhí)行各種管理任務,如虛擬機部署和終止、監(jiān)控等。
分布式存儲服務:負責在云上組織和存儲數(shù)據(jù),充當數(shù)據(jù)共享服務,在云提供商在服務級別協(xié)議中規(guī)定的服務質(zhì)量保證(性能、數(shù)據(jù)可用性等)范圍內(nèi),為透明訪問數(shù)據(jù)提供便利。
云客戶端:使用云中間件的控制 API 與云進行交互,并訪問數(shù)據(jù)存儲服務,以便操作虛擬機映像和應用程序數(shù)據(jù)。
管理程序:是虛擬化中間件,利用計算節(jié)點的物理資源為虛擬機提供虛擬操作平臺。在這一角色中,它模擬虛擬文件系統(tǒng),該系統(tǒng)由虛擬機映像備份,而虛擬機映像是一個可從計算節(jié)點主機文件系統(tǒng)訪問的常規(guī)文件。
虛擬機:代表運行客戶操作系統(tǒng)和用戶應用程序的虛擬環(huán)境。虛擬機可以相互通信,并通過分布式存儲服務共享應用數(shù)據(jù)。
壓縮層:捕獲所有數(shù)據(jù)訪問(包括應用程序數(shù)據(jù)和虛擬機鏡像),并根據(jù)數(shù)據(jù)剝離與大塊采樣原則進行處理。同時,壓縮層在計算節(jié)點和云網(wǎng)關上運行,以調(diào)節(jié)客戶端、管理程序和虛擬機與分布式存儲服務之間的交互。
實驗證明,該壓縮層的加入可以將隨機文本內(nèi)容存儲的空間占有率降低40%,并節(jié)省60%的帶寬。但是,其使用的Blob- Seer并不是主流技術,如果在主流的分布式存儲例如Ceph上實現(xiàn)壓縮層,可以大幅度降低Ceph本身的系統(tǒng)開銷。
(二)基于深度學習的圖像與視頻壓縮技術
文獻[4]開發(fā)并實施了基于深度學習的離散小波變換(DWT)模型,用于水下物聯(lián)網(wǎng)(IoUT)的圖像壓縮;卷積神經(jīng)網(wǎng)絡(CNN)用于編碼和解碼,以納入高質(zhì)量圖像。文獻[4]認為機器學習監(jiān)督CNN在壓縮效率和重建圖像質(zhì)量方面優(yōu)于超分辨率深度神經(jīng)網(wǎng)絡、JPEG和 JPEG2000等當前方法,該方法有效減少了79.7038%的空間利用。
文獻[5]提出一種具有匹配“語義分割編碼器-解碼器”的新型分層圖像壓縮架構。在編碼器和解碼器中,都對上采樣圖像應用了語義分割網(wǎng)絡。然而,從圖像中提取的語義分割部分與原始圖像并不完全相同。為了補償與原始圖像間的質(zhì)量差異,文獻[5]將一個具有特定結構的神經(jīng)卷積網(wǎng)絡用于擬合其在被移除部分的非線性圖上的原始分布。相較于基于 HEVC的編解碼器,該方法BD速率降低了35.31%,比特率降低了5%,編碼時間節(jié)省了24%。
文獻[6]提出了一種高效的基于上下文的卷積網(wǎng)絡用于圖像壓縮。通過其特殊的三維之字形掃描和三維分碼技術來描述并行熵,實現(xiàn)了對上下文的編碼,這些都是通過不變轉(zhuǎn)換CCN卷積濾波器上放置二進制掩碼實現(xiàn)的。CCN還展示了其在無損壓縮和有損圖像壓縮中進行熵建模的能力:使用CCN直接計算每個編碼的伯努利分布,以進行熵的測量,得到的三個 CCN 近似參數(shù)的高斯分布的離散混合就是每個碼組的分布。CCN的熵模型和分析/合成變換可以大幅度提高編碼速率,并降低失真率。
三、基于深度學習的壓縮層技術
根據(jù)以上兩節(jié)的描述可知,隨著存儲技術與深度學習技術的發(fā)展,數(shù)據(jù)壓縮可以大幅度降低數(shù)據(jù)存儲所需空間,提升帶寬利用率,并且其帶來的額外開銷都在可承受范圍內(nèi)。因此,在存儲中使用數(shù)據(jù)壓縮技術是非常有必要的。本文提出了基于深度學習的壓縮層技術,主要分為離散小波變換層和深度學習層兩個部分,其結構如圖1所示。
(一)離散小波變換層
本層可以使用離散小波變換圖像將分解成不同尺度的頻率成分,使得圖像的大部分能量都集中在少數(shù)高幅值的小波系數(shù)中,而大多數(shù)小波系數(shù)接近于零。因此,可以舍棄或近似這些接近零的小波系數(shù),從而實現(xiàn)數(shù)據(jù)壓縮。
本層同樣可以將圖像分解成不同尺度的細節(jié)部分和粗略部分。對于圖像中的細節(jié)部分,可以使用較高的頻率分辨率來捕捉圖像中的細微細節(jié)信息;而對于粗略部分,可以使用較低的頻率分辨率來捕捉圖像的整體結構。這種多分辨率特性可以有效地壓縮圖像。
本層能夠?qū)D像分解成空間上局部的頻率信息,實現(xiàn)在壓縮過程中對不同局部區(qū)域進行不同的處理。對于圖像中的局部細節(jié)部分,可以保留更多的小波系數(shù)以保持細節(jié)信息;而對于相對平滑的區(qū)域,可以減少保留的系數(shù),以實現(xiàn)更高程度地壓縮。
另外,離散小波變化為可逆變換,這意味著圖像在經(jīng)過壓縮后可以被精確地恢復。
(二)深度學習層
本層在離散小波變換的基礎上,進一步實現(xiàn)了對小波頻域信息的編碼,其具體實現(xiàn)方式為提取小波頻域信息中人眼敏感的部分,以實現(xiàn)對圖像信息的進一步壓縮。
本層采用了自適應壓縮的編碼器與解碼器組合,具有以下功能:
①分析輸入數(shù)據(jù)的內(nèi)容特征,例如圖像中的紋理、邊緣、顏色分布等;能夠根據(jù)不同內(nèi)容特征的重要性,選擇合適的壓縮算法和參數(shù)設置;
②根據(jù)數(shù)據(jù)的統(tǒng)計特征來調(diào)整壓縮方式,例如,在數(shù)據(jù)具有較高的冗余性時,可以采用更高效的壓縮算法來去除冗余信息;
③根據(jù)應用場景的需求來調(diào)整對壓縮誤差的容忍度,對于一些對圖像質(zhì)量要求較高的應用,可以降低壓縮比以保證圖像質(zhì)量;而對于一些對圖像質(zhì)量要求相對較低的應用,可以提高壓縮比以獲得更高的壓縮率;④根據(jù)數(shù)據(jù)的動態(tài)變化來實時調(diào)整壓縮策略,例如,在視頻流中,當場景變化較大或者運動較快時,可以調(diào)整壓縮策略以適應動態(tài)變化的內(nèi)容。
四、結束語
本文總結了目前主流的用于存儲系統(tǒng)的數(shù)據(jù)壓縮方法,并在前人的基礎上,提出了基于深度學習的壓縮層技術,可以用于大規(guī)模分布式系統(tǒng)的數(shù)據(jù)壓縮,進一步降低數(shù)據(jù)存儲系統(tǒng)中的存儲空間用量,并提升數(shù)據(jù)傳輸速率。
作者單位:馬震 趙君 吳思琪 聯(lián)通在線信息技術有限公司
參考文獻
[1]Nicolae B.On the benefits of transparent compression for cost-effective cloud data storage[M]//Transactions on Large-Scale Data-and Knowledge-Centered Systems III:Special Issue on Data and Knowledge Management in Grid and P2P Systems.Berlin,Heidelberg:Springer Berlin Heidelberg,2011:167-184.
[2]Nicolae B,Antoniu G,Bougé L.Enabling high data throughput in desktop grids through decentralized data and metadata management:The blobseer approach[C]//Euro-Par 2009 Parallel Processing:15th International Euro-Par Conference,Delft,The Netherlands,August 25-28,2009.Proceedings 15.Springer Berlin Heidelberg,2009:404-416.
[3]Nicolae B.BlobSeer:Towards efficient data storage management for large-scale,distributed systems[D].Université Rennes 1,2010.
[4]Krishnaraj N,Elhoseny M,Thenmozhi M,et al.Deep learning model for real-time image compression in Internet of Underwater Things (IoUT)[J]. Journal of Real-Time Image Processing, 2020,17:2097-2111.
[5]Hoang T M,Zhou J,F(xiàn)an Y.Image compression with encoder-decoder matched semantic segmentation[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition workshops.2020:160-161.
[6]Li M,Ma K,You J,et al.Efficient and effective context-based convolutional entropy modeling for image compression[J].IEEE Transactions on Image Processing,2020,29:5900-5911.
馬震(1984.11-),男,漢族,江蘇徐州,研究生,研究方向:數(shù)據(jù)挖掘方向。