• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于非易失性存儲(chǔ)器的存儲(chǔ)引擎性能優(yōu)化

    2022-05-28 07:54:42王海濤李戰(zhàn)懷趙曉南
    集成技術(shù) 2022年3期
    關(guān)鍵詞:存儲(chǔ)設(shè)備存儲(chǔ)系統(tǒng)字節(jié)

    王海濤 李戰(zhàn)懷 張 曉* 趙曉南

    1(西北工業(yè)大學(xué)計(jì)算機(jī)學(xué)院 西安 710129)

    2(西北工業(yè)大學(xué)大數(shù)據(jù)存儲(chǔ)與管理工業(yè)和信息化部重點(diǎn)實(shí)驗(yàn)室 西安 710129)

    3(空天地海一體化大數(shù)據(jù)應(yīng)用技術(shù)國(guó)家工程實(shí)驗(yàn)室 西安 710072)

    1 引 言

    目前,大數(shù)據(jù)及其分析成為了科學(xué)研究和商業(yè)運(yùn)行的核心[1-5]。然而,在過去十年,互聯(lián)網(wǎng)平均每秒產(chǎn)生的數(shù)據(jù)量超過 30 TB,且增長(zhǎng)速度持續(xù)加快[6-7],這對(duì)大數(shù)據(jù)存儲(chǔ)系統(tǒng)造成了巨大的壓力。為了應(yīng)對(duì)該挑戰(zhàn),分布式存儲(chǔ)系統(tǒng)將數(shù)據(jù)平均分布在多個(gè)節(jié)點(diǎn)上,利用并行的數(shù)據(jù)訪問,擴(kuò)展存儲(chǔ)系統(tǒng)的容量及性能,但數(shù)據(jù)訪問量的持續(xù)增加仍導(dǎo)致存儲(chǔ)系統(tǒng)的性能壓力越來越大。為了進(jìn)一步提升分布式存儲(chǔ)系統(tǒng)的性能,需要減小節(jié)點(diǎn)間的數(shù)據(jù)傳輸開銷,提高節(jié)點(diǎn)上的數(shù)據(jù)存儲(chǔ)性能。隨著高速網(wǎng)絡(luò)在存儲(chǔ)集群中的應(yīng)用,數(shù)據(jù)傳輸開銷可大幅降低,因此,提高節(jié)點(diǎn)上的數(shù)據(jù)存儲(chǔ)性能成為關(guān)鍵。

    分布式存儲(chǔ)系統(tǒng)一般基于通用文件系統(tǒng)(如Ext4)構(gòu)建存儲(chǔ)引擎,負(fù)責(zé)節(jié)點(diǎn)上的數(shù)據(jù)存儲(chǔ)與管理,其優(yōu)勢(shì)是能夠節(jié)約開發(fā)成本,保持較強(qiáng)的通用性。為了保證數(shù)據(jù)一致性,存儲(chǔ)引擎在進(jìn)行寫入操作時(shí),需要先將數(shù)據(jù)寫入預(yù)寫日志(Write Ahead Log,WAL)文件,并將其持久化到存儲(chǔ)設(shè)備層,然后再將數(shù)據(jù)更新到目標(biāo)文件中。而本地文件系統(tǒng)也會(huì)利用自身的日志機(jī)制保證數(shù)據(jù)一致性,因此造成了雙重日志(Journaling of Journal)[8]的問題,引起了數(shù)據(jù)寫放大,進(jìn)而降低了系統(tǒng)的寫性能。

    高性能非易失性存儲(chǔ)器(No n-Volatile Memory,NVM)的出現(xiàn)為存儲(chǔ)引擎的性能優(yōu)化提供了新的機(jī)會(huì)。NVM 也被稱為存儲(chǔ)級(jí)內(nèi)存(Storage Class Memory,SCM)或持久性內(nèi)存(Persistent Memory,PM),其具有類似動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(Dynamic Random Access Memory,DRAM)的字節(jié)尋址能力與類似閃存的數(shù)據(jù)持久性,有望彌合計(jì)算機(jī)內(nèi)外存之間的性能鴻溝[9-11]。近年來,工業(yè)界和學(xué)術(shù)界對(duì)多種 NVM 進(jìn)行研究,包括相變存儲(chǔ)器(Phase Change Memory,PCM)、磁性隨機(jī)訪問存儲(chǔ)器(Magnetic Random Access Memory,MRAM)、自旋傳遞扭矩MRAM(Spin Transfer Torque MRAM,STTMRAM)和電阻隨機(jī)訪問存儲(chǔ)器(Resistive Random Access Memory,ReRAM)等[12]。由于NVM 具有極大地提升存儲(chǔ)系統(tǒng)性能的潛力,因此目前有大量工作研究如何在現(xiàn)有系統(tǒng)中利用NVM 進(jìn)行性能優(yōu)化,如結(jié)合 NVM 特性優(yōu)化傳統(tǒng)索引結(jié)構(gòu)[13],提升物聯(lián)網(wǎng)終端設(shè)備的存儲(chǔ)性能[14];作為分布式文件系統(tǒng)的緩存擴(kuò)展[15],以及配合 DRAM 和固態(tài)硬盤(Solid State Disk,SSD)構(gòu)建混合存儲(chǔ)架構(gòu),優(yōu)化系統(tǒng)整體性能[16-18]。

    在不改變現(xiàn)有系統(tǒng)的前提下,可將存儲(chǔ)引擎底層的存儲(chǔ)設(shè)備替換為 NVM,從而提高系統(tǒng)的讀寫性能。但是,對(duì)于分布式存儲(chǔ)系統(tǒng)而言,上層應(yīng)用的數(shù)據(jù)需要經(jīng)過元數(shù)據(jù)查詢、數(shù)據(jù)分發(fā)以及存儲(chǔ)引擎的處理才能持久化到底層存儲(chǔ)設(shè)備,這些軟件層次構(gòu)成了系統(tǒng)整體的 I/O 軟件棧。然而,當(dāng)上層數(shù)據(jù)到達(dá)存儲(chǔ)引擎后,需要先在存儲(chǔ)引擎的緩存中進(jìn)行處理,然后通過文件系統(tǒng)以及塊設(shè)備接口層等軟件棧逐層傳輸和處理,最后才能到達(dá)存儲(chǔ)設(shè)備。數(shù)據(jù)在上述 I/O 路徑上的傳輸和處理會(huì)增加延遲,本文稱其為 I/O 軟件棧開銷。在傳統(tǒng)存儲(chǔ)引擎中,除 I/O 軟件棧開銷外,I/O 路徑中的數(shù)據(jù)寫放大也會(huì)限制 NVM 設(shè)備的性能發(fā)揮,因此,簡(jiǎn)單地替換底層存儲(chǔ)設(shè)備并不能有效提高系統(tǒng)存儲(chǔ)性能。如被業(yè)界廣泛使用的大數(shù)據(jù)存儲(chǔ)系統(tǒng) Ceph,其存儲(chǔ)引擎的 I/O 軟件棧較長(zhǎng),且寫入流程會(huì)造成較為嚴(yán)重的數(shù)據(jù)寫放大[19-20],這會(huì)進(jìn)一步增加寫操作延遲,限制存儲(chǔ)性能的擴(kuò)展。

    針對(duì)上述問題,本文以 Ceph 為平臺(tái),對(duì)存儲(chǔ)引擎的主要性能問題進(jìn)行分析,并提出了一種基于 NVM 的新型存儲(chǔ)引擎 NVMStore。NVMStore 的主要?jiǎng)?chuàng)新點(diǎn)是利用 NVM 的字節(jié)可尋址與數(shù)據(jù)持久性,通過內(nèi)存直接訪問的方式讀寫 NVM 設(shè)備,并對(duì)數(shù)據(jù)讀寫流程進(jìn)行改進(jìn),避免了數(shù)據(jù)在緩存中的拷貝以及小塊數(shù)據(jù)更新造成的“讀-改-寫”操作,減小了 I/O 軟件棧開銷,從而提升了存儲(chǔ)性能。

    2 Ceph 存儲(chǔ)引擎分析

    目前,Ceph 官方提供了 FileStore 和BlueStore 兩種成熟的存儲(chǔ)引擎,以及正在開發(fā)的一種新存儲(chǔ)引擎 SeaStore,該引擎主要面向高速的 SSD 設(shè)備以及高速網(wǎng)絡(luò),尚未正式發(fā)布?,F(xiàn)有關(guān)于 Ceph 的研究工作主要是在特定場(chǎng)景下的集群配置參數(shù)優(yōu)化,使用 SSD 等快速存儲(chǔ)設(shè)備來提高集群性能[21],優(yōu)化集群的分布式鎖管理機(jī)制[22]以及故障恢復(fù)流程[23],或基于開放通道 SSD 的特性設(shè)計(jì)新型存儲(chǔ)引擎以提升存儲(chǔ)性能[24],但是尚未出現(xiàn)基于 NVM 的 Ceph 存儲(chǔ)引擎。對(duì)于 Ceph 存儲(chǔ)引擎的性能問題,相關(guān)文獻(xiàn)已進(jìn)行較為充分的研究[19,24],本節(jié)在此基礎(chǔ)上作簡(jiǎn)要分析。

    對(duì)于 Ceph 的 FileStore,每次數(shù)據(jù)寫操作會(huì)轉(zhuǎn)換為一次寫日志和一次寫對(duì)象,因此,實(shí)際向磁盤寫入的數(shù)據(jù)量至少為用戶寫入數(shù)據(jù)的兩倍。加之對(duì)象數(shù)據(jù)更新引起的底層文件系統(tǒng)更新,會(huì)使實(shí)際的寫放大更嚴(yán)重,從而造成大幅度的性能退化。此外,F(xiàn)ileStore 的日志機(jī)制基于本地文件系統(tǒng)實(shí)現(xiàn),然而,本地文件系統(tǒng)也具有日志機(jī)制,這兩層日志功能存在一定程度的重合,加劇了數(shù)據(jù)寫放大。在這種情況下,F(xiàn)ileStore的數(shù)據(jù)寫放大(即實(shí)際寫入底層存儲(chǔ)設(shè)備的數(shù)據(jù)量與用戶寫入操作原始數(shù)據(jù)量之間的比值)可達(dá) 14.56,導(dǎo)致了嚴(yán)重的性能退化[19]。BlueStore可有效減小數(shù)據(jù)寫放大,在很大程度上解決FileStore 的雙重日志問題,因而成為 Ceph 的默認(rèn)存儲(chǔ)引擎,70% 的用戶選擇在生產(chǎn)環(huán)境中使用BlueStore[20]。

    如圖 1 所示,在用戶態(tài)下,BlueStore 使用Linux 異步 I/O 機(jī)制直接操作塊設(shè)備,避免了通用文件系統(tǒng)的復(fù)雜軟件棧帶來的延遲,利用鍵值存儲(chǔ)系統(tǒng) RocksDB 管理元數(shù)據(jù)和小塊數(shù)據(jù),并使用一個(gè)簡(jiǎn)化的用戶態(tài)文件系統(tǒng) BlueFS 管理RocksDB 的數(shù)據(jù)。BlueFS 使用 Linux 直接 I/O 接口管理塊設(shè)備,只支持 RocksDB 需要的讀寫接口,去除了通用文件系統(tǒng)中的復(fù)雜功能和屬性,進(jìn)一步減少了文件系統(tǒng)帶來的性能開銷。

    圖1 BlueStore 架構(gòu)以及寫入流程Fig. 1 The architecture and write process of BlueStore

    BlueStore 針對(duì)不同存儲(chǔ)設(shè)備設(shè)置了不同的空間分配單元(即 bluestore_min_alloc_size 配置項(xiàng)),對(duì)于旋轉(zhuǎn)型存儲(chǔ)設(shè)備(如 HDD)默認(rèn)使用64 KB 的分配單元,以發(fā)揮其順序訪問性能優(yōu)勢(shì)。對(duì)于非旋轉(zhuǎn)型存儲(chǔ)設(shè)備(如 SDD),則默認(rèn)使用 4 KB 的分配單元,主要原因是此類設(shè)備的隨機(jī)訪問性能與順序訪問性能的差距較小,設(shè)置4 KB 的分配單元即可降低小塊數(shù)據(jù)更新時(shí)的“讀-改-寫”操作負(fù)載,進(jìn)而提升存儲(chǔ)性能。設(shè)備上的讀寫操作通過分配單元進(jìn)行切分,從而確定需要操作的數(shù)據(jù)區(qū)域。當(dāng) BlueStore 接收到用戶的寫操作請(qǐng)求時(shí),首先根據(jù)目標(biāo)對(duì)象的元數(shù)據(jù)定位目標(biāo)區(qū)域,然后再針對(duì)各個(gè)區(qū)域進(jìn)行寫入操作。在 BlueStore 中,寫操作整體上可分為兩種:

    (1)新寫:當(dāng)寫入數(shù)據(jù)的目標(biāo)位置是新分配的空間時(shí),直接在新空間中寫入數(shù)據(jù)(步驟②~③),然后通過 RocksDB 更新相應(yīng)的元數(shù)據(jù)(步驟④),寫操作完成。由于寫操作不覆蓋已有數(shù)據(jù),因此,即使在寫入過程中發(fā)生崩潰,也不會(huì)破壞數(shù)據(jù)一致性。

    (2)覆蓋寫:若寫入的數(shù)據(jù)量大于分配單元,則首先將其分割,將達(dá)到分配單元的部分按照新寫方式處理,未達(dá)到分配單元的部分則寫入RocksDB 中(步驟④),完成用戶寫操作。最后,RocksDB 通過異步 I/O 的方式把數(shù)據(jù)寫入到目標(biāo)位置,并更新相應(yīng)的元數(shù)據(jù)(步驟⑥~⑦),由RocksDB 的事務(wù)機(jī)制保證數(shù)據(jù)一致性。

    由上述寫流程可知,BlueStore 基本解決了由 FileStore 日志造成的數(shù)據(jù)寫放大問題。首先,BlueStore 繞開了通用文件系統(tǒng),直接管理塊設(shè)備,因此,不受通用文件系統(tǒng)日志的影響。其次,新寫操作不需使用日志,只需一次數(shù)據(jù)落盤,一次元數(shù)據(jù)通過 RocksDB 事務(wù)提交落盤。最后,小塊的覆蓋寫操作可通過 RocksDB 合并到日志中進(jìn)行提交,日志提交完成即可通知用戶寫完成,再將數(shù)據(jù)寫入到目標(biāo)位置。經(jīng)上述優(yōu)化后,BlueStore 減小了 FileStore 的數(shù)據(jù)寫放大,提高了存儲(chǔ)引擎層的性能。

    但是,當(dāng) BlueStore 使用 RocksDB 處理小塊數(shù)據(jù)(包括元數(shù)據(jù))時(shí),RocksDB 的日志機(jī)制造成了較為嚴(yán)重的寫放大,如進(jìn)行 4 KB 的隨機(jī)寫時(shí),寫放大最高可達(dá) 50 倍[19]。此外,BlueStore與 FileStore 都是通過 Linux 系統(tǒng)的通用塊接口來訪問存儲(chǔ)設(shè)備,導(dǎo)致了較長(zhǎng)的 I/O 軟件棧。特別是對(duì)于字節(jié)可尋址設(shè)備(如 NVM)而言,冗長(zhǎng)的I/O 軟件棧可能會(huì)成為其性能瓶頸[25]。據(jù)英特爾在 2018 年閃存峰會(huì)上公布的測(cè)試數(shù)據(jù),當(dāng)使用NVM 作為存儲(chǔ)設(shè)備時(shí),軟件棧造成的延遲可達(dá)總延遲的 90%。因此,需進(jìn)一步研究如何優(yōu)化存儲(chǔ)引擎的架構(gòu)以及 I/O 軟件棧,配合底層存儲(chǔ)設(shè)備的特性來提升讀寫性能。

    3 新型存儲(chǔ)引擎設(shè)計(jì)與實(shí)現(xiàn)

    本節(jié)提出了一種基于 NVM 的新型存儲(chǔ)引擎NVMStore——通過內(nèi)存映射而非傳統(tǒng)塊接口的方式訪問 NVM 設(shè)備,并根據(jù) NVM 的特性優(yōu)化數(shù)據(jù)讀寫流程,從而減小數(shù)據(jù)讀寫放大以及 I/O軟件棧開銷,進(jìn)一步提高讀寫性能。

    3.1 NVMStore 架構(gòu)

    圖 2 為 NVMStore 的架構(gòu)以及存儲(chǔ)結(jié)構(gòu)。與使用通用塊接口的 BlueStore 相比,NVMStore具有更短的 I/O 路徑,并且通過內(nèi)存直接訪問(Direct Access,DAX)的方式可繞過系統(tǒng)緩存直接讀寫 NVM 設(shè)備,利用緩存刷新指令(如clflush)將 CPU 緩存行中的數(shù)據(jù)直接持久化到NVM 中,避免數(shù)據(jù)在內(nèi)存中的重復(fù)拷貝,從而減小軟件棧的開銷。DAX 的核心思想是繞過操作系統(tǒng)的頁緩存直接訪問設(shè)備,支持 DAX的文件系統(tǒng)(如 Ext4)只提供內(nèi)存映射接口,具體的數(shù)據(jù)則由 DAX 接口之上的用戶程序來管理。用戶程序通過定制化的數(shù)據(jù)結(jié)構(gòu)和讀寫流程來管理 NVM 的空間和數(shù)據(jù),不會(huì)由于繞過傳統(tǒng)文件系統(tǒng)而影響其功能,而且避免了傳統(tǒng)文件系統(tǒng)引入的性能開銷,可獲得一定的性能提升。

    圖2 NVMStore 架構(gòu)以及存儲(chǔ)結(jié)構(gòu)Fig. 2 The architecture and storage structure of NVMStore

    將 NVM 作為底層存儲(chǔ)設(shè)備的主要挑戰(zhàn)是原子粒度的不匹配,即 CPU 和 NVM 之間的數(shù)據(jù)傳輸粒度是 CPU 緩存行(通常為 64 字節(jié)),而NVM 設(shè)備的讀寫單元是內(nèi)存數(shù)據(jù)位寬(通常為8 字節(jié))。在 NVM 上,大于 8 字節(jié)的數(shù)據(jù)寫入會(huì)被分割為多個(gè)寫入單元,因此,若在數(shù)據(jù)覆蓋寫的過程中系統(tǒng)崩潰,則可能造成只有部分新數(shù)據(jù)寫入成功,從而破壞數(shù)據(jù)一致性。針對(duì)該問題,NVMStore 構(gòu)建了一個(gè)事務(wù)管理模塊,通過事務(wù)的形式進(jìn)行覆蓋寫操作,當(dāng)系統(tǒng)發(fā)生崩潰重啟時(shí),通過重放日志中的有效事務(wù)記錄來恢復(fù)數(shù)據(jù)一致性(詳見第 3.3 節(jié))。

    如圖 2 所示,NVMStore 將其管理的 NVM存儲(chǔ)空間分為超級(jí)塊(4 KB)、元數(shù)據(jù)塊(4 MB)、數(shù)據(jù)區(qū)以及日志塊(4 MB)。其中,超級(jí)塊位于空間起始位置,用于存放系統(tǒng)標(biāo)簽、元數(shù)據(jù)塊地址以及日志塊地址等系統(tǒng)元數(shù)據(jù)。超級(jí)塊之后是第一個(gè)元數(shù)據(jù)塊,用于記錄系統(tǒng)中各個(gè)對(duì)象的ID 以及對(duì)應(yīng)的數(shù)據(jù)區(qū)域(即數(shù)據(jù)在對(duì)象中的邏輯偏移、數(shù)據(jù)長(zhǎng)度以及對(duì)應(yīng)到存儲(chǔ)設(shè)備上的物理偏移等)。元數(shù)據(jù)塊以 4 MB 為單位進(jìn)行分配,當(dāng)一個(gè)元數(shù)據(jù)塊寫滿時(shí),可在數(shù)據(jù)區(qū)中申請(qǐng)新塊,并在超級(jí)塊中進(jìn)行相應(yīng)的記錄。由于元數(shù)據(jù)塊的大小是固定的,因此當(dāng)新增一個(gè)元數(shù)據(jù)塊時(shí),只需在超級(jí)塊的元數(shù)據(jù)列表中新增一個(gè) 8 字節(jié)指針,指針指向新增元數(shù)據(jù)塊的起始地址,該架構(gòu)利用NVM 的 8 字節(jié)原子性保證了新增元數(shù)據(jù)塊操作的原子性。日志塊以 4 MB 為單位進(jìn)行分配,用于支持事務(wù)管理模塊。簡(jiǎn)而言之,事務(wù)數(shù)據(jù)先在寫入日志塊中追加進(jìn)行持久化存儲(chǔ),然后再將更新的數(shù)據(jù)寫入目標(biāo)空間中,從而保證系統(tǒng)的崩潰一致性。當(dāng)需要新增日志塊時(shí),先從數(shù)據(jù)區(qū)分配一塊空間,然后在超級(jí)塊的日志列表中新增一條記錄,方法與元數(shù)據(jù)塊相同。不同的是,當(dāng)日志中的事務(wù)成功提交到系統(tǒng),將其數(shù)據(jù)持久化到設(shè)備后,相應(yīng)的日志即可標(biāo)記為廢棄(廢棄標(biāo)記為 8 字節(jié),保證原子性),日志占用的空間即可回收。

    NVMStore 不改變現(xiàn)有的存儲(chǔ)服務(wù)接口,其底層的存儲(chǔ)流程對(duì)用戶是透明的,不會(huì)影響上層用戶的使用,因此,不需修改用戶程序便可使用新的存儲(chǔ)引擎來提高存儲(chǔ)性能。NVMStore 是基于 Ceph 大數(shù)據(jù)存儲(chǔ)系統(tǒng)設(shè)計(jì)的存儲(chǔ)引擎,因此只支持 Ceph 存儲(chǔ)后端需要的功能,不提供服務(wù)給通用的文件系統(tǒng)。在實(shí)現(xiàn) Ceph 后端存儲(chǔ)功能的前提下,NVMStore 的設(shè)計(jì)簡(jiǎn)單,便于實(shí)現(xiàn)和維護(hù)。

    3.2 數(shù)據(jù)寫入流程

    NVMStore 讀取流程與寫入流程類似,但若目標(biāo)數(shù)據(jù)在 CPU 緩存中命中,則無須訪問 NVM設(shè)備。NVMStore 與 BlueStore 的寫操作流程類似,主要區(qū)別在于 NVMStore 通過內(nèi)存接口訪問 NVM 設(shè)備,且利用 NVM 的字節(jié)可尋址特性對(duì)數(shù)據(jù)寫入流程進(jìn)行優(yōu)化。當(dāng)用戶寫操作到達(dá)NVMStore 時(shí),NVMStore 首先根據(jù)對(duì)象元數(shù)據(jù)找到與寫入數(shù)據(jù)塊對(duì)應(yīng)的存儲(chǔ)區(qū)域,然后按照存儲(chǔ)空間分配單元(默認(rèn)等于內(nèi)存頁面大小,即 4 KB)切分寫操作,再根據(jù)寫操作的類型執(zhí)行不同的寫入流程,總體上也可分為新寫和覆蓋寫兩大類型,具體分析如下:

    (1)新寫

    對(duì)于新寫的數(shù)據(jù)塊,直接在設(shè)備上分配新存儲(chǔ)單元并寫入數(shù)據(jù),然后利用緩存刷新指令將數(shù)據(jù)持久化到 NVM 設(shè)備,最后通過事務(wù)管理模塊更新相應(yīng)的元數(shù)據(jù),完成寫操作。

    BlueStore 使用傳統(tǒng)的塊接口寫入數(shù)據(jù),為了與設(shè)備上的塊單元對(duì)齊,需要進(jìn)行數(shù)據(jù)補(bǔ) 0 操作,從而造成一定的數(shù)據(jù)寫放大。而 NVMStore利用 NVM 的字節(jié)可尋址特性,無須額外的數(shù)據(jù)補(bǔ) 0 操作,可直接將小塊數(shù)據(jù)寫入新空間。因此,NVMStore 的寫入流程更簡(jiǎn)單,且減小了數(shù)據(jù)寫放大。

    BlueStore 通過 RocksDB 寫入元數(shù)據(jù),而RocksDB 具有較長(zhǎng)的 I/O 軟件棧,其數(shù)據(jù)壓縮流程會(huì)造成嚴(yán)重的寫放大。NVMStore 則使用一個(gè)簡(jiǎn)單的事務(wù)管理模塊更新元數(shù)據(jù),通過內(nèi)存接口將數(shù)據(jù)持久化到 NVM 設(shè)備,避免了 RocksDB 的多層數(shù)據(jù)壓縮,從而減小了數(shù)據(jù)寫放大,并縮短了 I/O 軟件棧。

    (2)覆蓋寫

    如圖 3 所示,NVMStore 在寫入對(duì)象 A 時(shí),首先將寫操作按照分配單元進(jìn)行切分,對(duì)達(dá)到分配單元的整塊覆蓋寫,將其直接寫入新分配的空間(步驟①)。對(duì)不足分配單元的新寫(稱為部分新寫),則直接分配一個(gè)新的單元并寫入(步驟②)。對(duì)不足一塊的覆蓋寫(稱為部分覆蓋寫),則先將數(shù)據(jù)寫入日志塊,并持久化到 NVM 設(shè)備(步驟③),然后將數(shù)據(jù)更新到目標(biāo)區(qū)域(步驟④),最后以事務(wù)的方式更新對(duì)象 A 的元數(shù)據(jù),完成寫操作(步驟⑤)。

    圖3 覆蓋寫操作示例Fig. 3 Overwrite example

    與 BlueStore 的寫入流程相比,NVMStore 的寫入流程更為簡(jiǎn)單。且由于 NVM 具有字節(jié)可尋址特性,NVMStore 將數(shù)據(jù)更新到目標(biāo)區(qū)域時(shí),不必對(duì)目標(biāo)數(shù)據(jù)塊進(jìn)行“讀-改-寫”操作,就可直接將數(shù)據(jù)寫入指定位置(如步驟②和④),因此,能減小數(shù)據(jù)讀寫放大,特別是小塊數(shù)據(jù)操作。由于 CPU 訪問 NVM 的粒度為緩存行,所以在讀取小塊數(shù)據(jù)時(shí),會(huì)直接讀取數(shù)據(jù)所在的整個(gè)緩存行空間,造成一定程度的數(shù)據(jù)讀放大。但與傳統(tǒng)存儲(chǔ)設(shè)備上的預(yù)讀操作一樣,這種數(shù)據(jù)預(yù)讀操作可利用數(shù)據(jù)訪問的空間局部性,提高緩存命中率,減小訪問存儲(chǔ)設(shè)備的頻率,通常能夠有效提升用戶的數(shù)據(jù)讀取性能。為了更好地發(fā)揮緩存性能,NVMStore 為對(duì)象分配新空間時(shí),會(huì)優(yōu)先選擇其現(xiàn)有空間附近的空閑空間,從而提高對(duì)象數(shù)據(jù)訪問的空間局部性。

    綜上所述,與 BlueStore 相比,NVMStore 減小的性能開銷主要包含兩部分:一是通過 DAX的方式訪問設(shè)備,數(shù)據(jù)直接從 CPU 寫入 NVM,避免了緩存中的拷貝開銷;二是 NVMStore 通過內(nèi)存接口讀寫數(shù)據(jù),當(dāng)寫入小塊數(shù)據(jù)時(shí),避免了由塊接口的“讀-改-寫”操作導(dǎo)致的開銷。

    3.3 崩潰一致性保證

    NVMStore 通過事務(wù)管理模塊保證系統(tǒng)中數(shù)據(jù)的崩潰一致性。對(duì)于整塊覆蓋寫或新寫(包括部分新寫)操作,NVMStore 直接分配新的空間寫入數(shù)據(jù),當(dāng)數(shù)據(jù)持久化成功后,再通過事務(wù)管理模塊更新元數(shù)據(jù)。在此過程中,如果系統(tǒng)崩潰導(dǎo)致數(shù)據(jù)持久化失敗,那么由于原有的數(shù)據(jù)并沒有受到破壞,不影響數(shù)據(jù)一致性。如果數(shù)據(jù)持久化成功,但元數(shù)據(jù)更新失敗,那么元數(shù)據(jù)依然指向原有的數(shù)據(jù)塊(由事務(wù)管理模塊保證),也不會(huì)破壞數(shù)據(jù)一致性。

    對(duì)于元數(shù)據(jù)的更新以及部分覆蓋寫操作,事務(wù)管理模塊利用日志機(jī)制保證其數(shù)據(jù)的一致性。圖 4 為事務(wù)管理模塊的寫入流程,如果寫操作的數(shù)據(jù)不大于 8 字節(jié)(如設(shè)置日志塊廢棄標(biāo)記),那么可直接將其寫入目標(biāo)區(qū)域(步驟①),然后將目標(biāo)數(shù)據(jù)持久化到 NVM 設(shè)備(步驟⑧),利用NVM 設(shè)備本身的 8 字節(jié)原子性保證寫入操作的原子性,只需一次持久化操作。如果寫操作的數(shù)據(jù)量大于 8 字節(jié),那么 NVM 本身的硬件特性將無法保證寫操作的原子性,因此需要通過日志機(jī)制來支持?jǐn)?shù)據(jù)一致性,需進(jìn)行兩次持久化操作。

    圖4 事務(wù)管理模塊寫入流程Fig. 4 The write process of transaction management module

    當(dāng)寫操作的數(shù)據(jù)量大于 8 字節(jié)時(shí),事務(wù)管理模塊首先將寫操作編碼為特定格式的事務(wù)記錄(步驟②,編碼數(shù)據(jù)包括寫操作的目標(biāo)地址、數(shù)據(jù)量、數(shù)據(jù)以及校驗(yàn)碼等),然后判斷目前的日志塊是否有足夠的空閑空間寫入當(dāng)前事務(wù)記錄(步驟③)。若當(dāng)前日志塊中有足夠的空閑空間,則直接寫入事務(wù)記錄并將其持久化(步驟⑤~⑥);否則分配一個(gè)新的日志塊(步驟④),將事務(wù)記錄追加到日志塊中(步驟⑤),然后將其持久化(步驟⑥)。在此之后,更新目標(biāo)數(shù)據(jù)并持久化(步驟⑦~⑧),完成寫入操作。其中,步驟⑥和⑧分別用于持久化目標(biāo)數(shù)據(jù)和日志數(shù)據(jù),二者利用 NVM 的內(nèi)存操作接口,通過緩存刷新指令(如 clflush),從 CPU 緩存中將數(shù)據(jù)直接寫入設(shè)備中。

    在此過程中,若在寫入日志完成前系統(tǒng)崩潰,則認(rèn)為本次操作失敗,由于原有的數(shù)據(jù)尚未更新,因此不破壞數(shù)據(jù)一致性。若寫入日志成功,但是在更新目標(biāo)數(shù)據(jù)時(shí)系統(tǒng)崩潰,則在重啟時(shí)掃描最后更新的日志塊,重放其中的有效事務(wù)記錄,從而恢復(fù)數(shù)據(jù)一致性。綜上所述,NVMStore 通過事務(wù)管理模塊保證了系統(tǒng)的崩潰一致性。

    4 實(shí)驗(yàn)評(píng)估與分析

    本文結(jié)合英特爾開源的 N V M 開發(fā)庫PMDK①(Persistent Memory Development Kit),以及 Ceph 的對(duì)象存儲(chǔ)(Object Store)抽象接口實(shí)現(xiàn) NVMStore。具體實(shí)現(xiàn)過程中,Ceph 源碼是 14.2.8 版,PMDK 是 1.10 版,NVM 設(shè)備是Intel Optane DC Persistent Memory Module(簡(jiǎn)稱“Optane”)。

    Optane 為上層應(yīng)用提供兩種訪問模式——內(nèi)存模式(Memory Mode)和應(yīng)用直接訪問模式(App Direct Mode)。在內(nèi)存模式下,CPU 和操作系統(tǒng)忽略 Optane 的數(shù)據(jù)持久性,而將其視為 DRAM空間的擴(kuò)展,從而提高系統(tǒng)的內(nèi)存容量。在應(yīng)用直接訪問模式下,CPU 和操作系統(tǒng)將 Optane 視為獨(dú)立的存儲(chǔ)設(shè)備,用戶可跳過 DRAM 緩存,通過內(nèi)存接口直接訪問,在實(shí)現(xiàn)數(shù)據(jù)持久性存儲(chǔ)的同時(shí),避免了數(shù)據(jù)在 DRAM 中的拷貝開銷。為了實(shí)現(xiàn)數(shù)據(jù)持久性存儲(chǔ)和減小 I/O 軟件棧的開銷,NVMStore 采用了直接訪問模式來讀寫Optane。

    由于目前成熟的 Ceph 的后端存儲(chǔ)引擎只有FileStore 和 BlueStore,尚未發(fā)布基于 NVM 的存儲(chǔ)引擎,因此,本實(shí)驗(yàn)對(duì)使用 NVM 作為存儲(chǔ)設(shè)備的 FileStore、BlueStore 和 NVMStore 的讀寫性能進(jìn)行了對(duì)比。

    4.1 實(shí)驗(yàn)配置與評(píng)估方法

    理論上,NVM 具有遠(yuǎn)超 HDD 的讀寫速度,特別是在小塊數(shù)據(jù)的隨機(jī)讀寫方面,因此利用 NVM 替換存儲(chǔ)系統(tǒng)中的 HDD,能夠提高存儲(chǔ)系統(tǒng)的性能。為了驗(yàn)證該理論,本實(shí)驗(yàn)對(duì)HDD 與 NVM 設(shè)備的讀寫性能進(jìn)行比較,得出二者的性能基準(zhǔn)。并將 NVM 替換 HDD 設(shè)備后,對(duì) FileStore 和 BlueStore 的性能提升效果進(jìn)行對(duì)比,驗(yàn)證了本文優(yōu)化方法的有效性。

    實(shí)驗(yàn)中使用 4 臺(tái)配置相同的 Linux 服務(wù)器搭建實(shí)驗(yàn)平臺(tái)。其中,3 臺(tái)搭建 Ceph 集群,每個(gè)節(jié)點(diǎn)配置 1 個(gè) HDD 設(shè)備和 1 個(gè) NVM 設(shè)備。另外 1 臺(tái)作為性能測(cè)試的客戶端,各個(gè)節(jié)點(diǎn)之間使用萬兆以太網(wǎng)連接,具體實(shí)驗(yàn)配置如表 1 所示。測(cè)試工具是業(yè)界廣泛使用的 Fio,可直接對(duì)塊設(shè)備進(jìn)行測(cè)試,獲得塊設(shè)備的吞吐量、IOPS以及讀寫延遲等性能指標(biāo)。實(shí)驗(yàn)對(duì)順序讀、順序?qū)?、隨機(jī)讀和隨機(jī)寫這 4 種基準(zhǔn)負(fù)載模式進(jìn)行測(cè)試。每次讀寫的 I/O 塊大小分別設(shè)置為 1 KB、4 KB、16 KB、64 KB、256 KB、1 MB 和 4 MB。當(dāng)讀寫測(cè)試時(shí)間達(dá)到 10 min 或數(shù)據(jù)量達(dá)到 100 GB時(shí),測(cè)試停止,測(cè)試 5 次取性能平均值,然后進(jìn)行對(duì)比分析。

    表1 實(shí)驗(yàn)配置Table 1 Experimental configurations

    如第 2 節(jié)所述,BlueStore 對(duì)非旋轉(zhuǎn)型的存儲(chǔ)設(shè)備默認(rèn)使用 4 KB 的分配單元,以提升存儲(chǔ)性能,NVM 設(shè)備也屬于非旋轉(zhuǎn)型的存儲(chǔ)設(shè)備,因此,為更合理地對(duì)比性能,本文在進(jìn)行 NVM 性能測(cè)試時(shí),將 BlueStore 的分配單元設(shè)置為 4 KB(通過 BlueStore 的日志可驗(yàn)證),與 NVMStore上的分配單元保持一致。

    4.2 塊設(shè)備性能對(duì)比

    本節(jié)對(duì)比了 HDD 與 Optane 作為塊設(shè)備的數(shù)據(jù)讀寫性能,為了達(dá)到塊設(shè)備的性能峰值,實(shí)驗(yàn)中的 Fio 測(cè)試引擎設(shè)置為異步 I/O,隊(duì)列深度設(shè)置為 32,并繞過系統(tǒng)頁緩存和塊緩存直接對(duì)塊設(shè)備進(jìn)行讀寫測(cè)試。實(shí)驗(yàn)對(duì)比的性能指標(biāo)為吞吐量(MB/s),HDD 的性能數(shù)據(jù)如表 2 所示,Optane的性能數(shù)據(jù)如表 3 所示,Optane 與 HDD 的性能比值如表 4 所示。

    表2 HDD 吞吐量Table 2 Throughput of HDD

    由實(shí)驗(yàn)數(shù)據(jù)可知,Optane 設(shè)備的吞吐量遠(yuǎn)高于 HDD,如 Optane 的 1 KB 隨機(jī)寫性能可達(dá)HDD 的 5 243.67 倍,4 MB 順序?qū)懶阅芸蛇_(dá) HDD的 5.94 倍(見表 4)。由于 HDD 機(jī)械部件導(dǎo)致的延遲,其隨機(jī)性能遠(yuǎn)低于順序性能,特別是當(dāng) I/O塊較小時(shí),對(duì)比更為明顯。而 Optane 設(shè)備沒有機(jī)械部件,其讀寫性能主要取決于數(shù)據(jù)的分發(fā)是否能充分利用底層存儲(chǔ)器件的并發(fā)性。如表 3 所示,雖然 Optane 設(shè)備的讀性能高于寫性能,順序性能高于隨機(jī)性能,但是二者之間的性能差距遠(yuǎn)小于 HDD 的性能差距。此外,Optane 的吞吐量隨著 I/O 塊的增大而提高,且當(dāng) I/O 塊大小約為64 KB 時(shí)達(dá)到峰值,這主要是由 Optane 底層存儲(chǔ)介質(zhì)的特性及其內(nèi)部存儲(chǔ)單元的分布決定的。

    表3 Optane 吞吐量Table 3 Throughput of Optane

    表4 Optane 與 HDD 的性能比值Table 4 Performance ratio of Optane to HDD

    4.3 塊接口與內(nèi)存接口性能對(duì)比

    本小節(jié)對(duì)使用內(nèi)存映射的方法讀寫 Optane時(shí)的性能優(yōu)勢(shì)進(jìn)行驗(yàn)證。由于目前 Fio 不支持Optane 的內(nèi)存接口測(cè)試,因此本小節(jié)通過 PMDK提供的內(nèi)存讀寫接口進(jìn)行了測(cè)試,實(shí)驗(yàn)結(jié)果如圖 5 所示,其中,Optane-Block 表示使用傳統(tǒng)的塊接口讀寫 Optane,Optane-Mmap 表示使用內(nèi)存映射的方式讀寫 Optane。

    由圖 5 可知,Optane-Mmap 的整體性能高于Optane-Block,特別是小塊數(shù)據(jù)讀寫。由圖 5(b)可知,當(dāng) I/O 塊大小為 1 KB 時(shí),Optane-Mmap 的性能約為 Optane-Block 的 2.5 倍。原因是 Optane具有字節(jié)可尋址特性,可通過內(nèi)存接口直接訪問設(shè)備,避免了塊接口較長(zhǎng)的 I/O 軟件棧及數(shù)據(jù)在內(nèi)存中的不必要拷貝,從而可獲得較高的性能。因此,與傳統(tǒng)的塊接口相比,本文提出的NVMStore 通過內(nèi)存接口訪問 NVM 設(shè)備,理論上具有更優(yōu)的性能。

    圖5 Optane 塊接口與內(nèi)存接口性能對(duì)比Fig. 5 Performance comparison between Optane’s block and memory interface

    4.4 存儲(chǔ)引擎性能提升效果

    本節(jié)通過實(shí)驗(yàn)分析,當(dāng)使用 Optane 設(shè)備替換 HDD 時(shí),不同存儲(chǔ)引擎的 Ceph 獲得的性能提升效果。由于 Ceph 的塊接口的實(shí)際應(yīng)用較為廣泛,因此,本節(jié)針對(duì) Ceph 的 Rados 塊設(shè)備(Rados Block Device,RBD)進(jìn)行測(cè)試。測(cè)試方法是,在 Ceph 集群中創(chuàng)建一個(gè)大小為 100 GB 的RBD 鏡像,然后使用 Fio 的 RBD 引擎對(duì)該鏡像進(jìn)行讀寫性能測(cè)試。為更直觀地展示性能提升效果,根據(jù)存儲(chǔ)設(shè)備為 HDD 的 FileStore(FileStore-HDD)的吞吐量(MB/s),將性能數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理。最終對(duì) Optane 的 FileStore(FileStore-Optane)和 BlueStore(BlueStore-Optane)相對(duì)于FileStore-HDD 的性能提升倍數(shù)進(jìn)行對(duì)比。圖 6為性能提升效果,F(xiàn)ileStore-HDD 的性能值標(biāo)準(zhǔn)化為 1,不在圖中展示。

    圖6 使用 Optane 的存儲(chǔ)引擎性能提升效果Fig. 6 Performance improvement of storage engine using Optane

    由圖 6 可知,小塊隨機(jī)寫性能的提升最為明顯,且 BlueStore-Optane 的性能更高。當(dāng) I/O 塊小于 64 KB 時(shí),與 FileStore-HDD 相比,F(xiàn)ileStore-Optane 和 BlueStore-Optane 的隨機(jī)寫性能提升可達(dá) 180 倍以上。與 FileStore-Optane 相比,BlueStore-Optane 的性能更高,其原因是FileStore 中的雙重日志問題造成了數(shù)據(jù)寫放大,占用了一部分 Optane 的帶寬,限制了 Optane 的性能發(fā)揮。而 BlueStore 直接管理塊設(shè)備,很大程度上減小了數(shù)據(jù)寫放大,且 BlueStore 的 I/O軟件棧較為簡(jiǎn)單,因此,更容易發(fā)揮 Optane 的性能優(yōu)勢(shì)。

    本實(shí)驗(yàn)將不同存儲(chǔ)引擎的 Ceph 存儲(chǔ)系統(tǒng)的整體性能進(jìn)行對(duì)比,不能簡(jiǎn)單地將其與第 4.2 節(jié)塊設(shè)備的性能對(duì)比結(jié)果一一對(duì)應(yīng)。如在第 4.2 節(jié)塊設(shè)備性能對(duì)比實(shí)驗(yàn)中,當(dāng) I/O 塊為 64 KB 時(shí),Optane 設(shè)備的順序讀性能約為 HDD 的 10 倍(詳見表 4)。但是如圖 6(b)所示,在同樣的負(fù)載模式下,Ceph 整體的順序讀性能提高了近 40 倍。其原因是 Ceph 整體上能夠?qū)?shù)據(jù)均勻地分布在各個(gè)存儲(chǔ)節(jié)點(diǎn)上,當(dāng)進(jìn)行大量數(shù)據(jù)的讀寫操作時(shí),能夠較好地發(fā)揮各個(gè)存儲(chǔ)節(jié)點(diǎn)以及存儲(chǔ)設(shè)備的并發(fā)性,實(shí)現(xiàn)性能的擴(kuò)展,尤其是在數(shù)據(jù)塊較大的負(fù)載模式下。

    然而,直接利用 Optane 替換 HDD,并不能充分發(fā)揮 Optane 的性能優(yōu)勢(shì)。例如,Optane 的小塊隨機(jī)讀性能可達(dá) HDD 的上千倍(詳見表 4),但是如圖 6(d)所示,將底層存儲(chǔ)設(shè)備換為Optane 后,Ceph 的 1 KB 隨機(jī)讀性能卻只提升了30 倍左右。該情況一方面是由于集群節(jié)點(diǎn)之間的數(shù)據(jù)傳輸增加了部分延遲;另一方面則是由于FileStore 與 BlueStore 底層都使用了傳統(tǒng)的塊接口和異步 I/O 機(jī)制,引入了較大的 I/O 軟件棧開銷,從而限制了 Optane 設(shè)備的性能發(fā)揮。

    4.5 NVMStore 性能評(píng)估

    目前,已有開源的基于 NVM 的鍵值存儲(chǔ)系統(tǒng)(如 pmemkv②),但仍未有開源的可用于Ceph 后端的 NVM 存儲(chǔ)引擎。因此,本節(jié)對(duì)使用 Optane 設(shè)備的 NVMStore(表示為 NVMStore-Optane)與 Ceph 現(xiàn)有存儲(chǔ)引擎的讀寫性能進(jìn)行對(duì)比。由于目前 Ceph 默認(rèn)使用的存儲(chǔ)引擎是BlueStore,且第 4.4 節(jié)實(shí)驗(yàn)已證明 BlueStore-Optane 的整體性能優(yōu)于 FileStore-Optane,因此本實(shí)驗(yàn)直接對(duì) NVMStore-Optane 與 BlueStore-Optane 的性能進(jìn)行對(duì)比。實(shí)驗(yàn)方法為,首先在Ceph 集群中創(chuàng)建一個(gè) RBD 鏡像設(shè)備,然后使用Fio 的 RBD 引擎對(duì)該鏡像進(jìn)行讀寫測(cè)試,獲得每秒執(zhí)行 I/O 操作的次數(shù)(Input/Output Operations Per Second,IOPS)和吞吐量性能,性能對(duì)比結(jié)果如圖 7 所示。

    由圖 7 可知,NVMStore-Optane 的性能優(yōu)于 BlueStore-Optane,且讀寫負(fù)載的 I/O 塊越小,NVMStore-Optane 性能優(yōu)勢(shì)越大。如圖 7(a)所示,當(dāng) I/O 塊為 1 KB 的順序?qū)懾?fù)載時(shí),NVMStore-Optane 的性能約為 BlueStore-Optane的 2 倍。主要原因是,Optane 讀寫單塊數(shù)據(jù)的硬件延遲是穩(wěn)定的,但是當(dāng)處理小塊(小于等于 4 KB 的數(shù)據(jù)塊)I/O 負(fù)載時(shí),BlueStore 需要頻繁地通過塊接口訪問 Optane,導(dǎo)致大量的軟件棧延遲,且小塊操作造成的數(shù)據(jù)寫放大進(jìn)一步增加了延遲。而 NVMStore 利用內(nèi)存直接訪問 Optane,減小了軟件棧引入的延遲,且利用NVM 的字節(jié)可尋址特性減小了數(shù)據(jù)寫放大,因此性能提升較為明顯。

    圖7 NVMStore 性能優(yōu)化效果Fig. 7 Performance improvement of NVMStore

    為了驗(yàn)證該結(jié)論,在 BlueStore 與 NVMStore的代碼中增加日志輸出,創(chuàng)建 Ceph RBD 塊設(shè)備,并針對(duì)小塊隨機(jī)寫入負(fù)載進(jìn)行測(cè)試。測(cè)試方法為,使用 Fio 的 RBD 引擎進(jìn)行 120 s 的 1 KB隨機(jī)寫入,統(tǒng)計(jì) BlueStore 與 NVMStore 的 I/O 軟件棧延遲占比以及數(shù)據(jù)寫放大,測(cè)試結(jié)果如表 5所示。實(shí)驗(yàn)結(jié)果表明,與 BlueStore 相比,NVMStore 的 I/O 軟件棧延遲占比更小,且能夠大幅度減小數(shù)據(jù)寫放大,因而在小塊寫入時(shí)其性能提升較為明顯。

    表5 I/O 軟件棧延遲占比以及數(shù)據(jù)寫放大對(duì)比Table 5 Latency ratio of I/O software stack and data write amplification comparison

    當(dāng) I/O 塊較小(不超過 64 KB 的數(shù)據(jù)塊)時(shí),NVMStore 的性能略高于 BlueStore。主要原因是,BlueStore 通過塊接口訪問設(shè)備的頻率降低,I/O 軟件棧的開銷占總延遲的比例降低,進(jìn)而縮小了與 NVMStore 的性能差距。當(dāng) I/O 塊較大時(shí)(大于 64 KB 的數(shù)據(jù)塊),NVMStore-Optane與 BlueStore-Optane 的性能相當(dāng)。主要是因?yàn)?,?dāng)讀寫數(shù)據(jù)量一定時(shí),隨著 I/O 操作的粒度增大,調(diào)用 I/O 軟件棧的頻率將大幅降低,從而減小了 I/O 軟件棧引入的延遲,使得 Optane 的數(shù)據(jù)讀寫延遲占據(jù)了性能開銷的主要部分。此時(shí),NVMStore 雖然能夠減小 I/O 軟件棧引入的延遲,但是對(duì)整體讀寫操作的影響較小,從而限制了其性能提升效果。因此,NVMStore 更適用于大量小塊數(shù)據(jù)讀寫的應(yīng)用場(chǎng)景。目前,在Facebook 等流行的社交網(wǎng)絡(luò)平臺(tái)或者虛擬桌面云平臺(tái)應(yīng)用場(chǎng)景中,小塊數(shù)據(jù)的隨機(jī)讀寫負(fù)載非常普遍[19,25-27],因此,以 NVMStore 為代表的性能優(yōu)化方向具有重要的現(xiàn)實(shí)意義。

    如圖 7 所示,當(dāng) Optane 為底層存儲(chǔ)設(shè)備時(shí),Ceph RBD 設(shè)備的隨機(jī)讀寫性能高于順序讀寫操作性能。主要是因?yàn)?,在進(jìn)行大量數(shù)據(jù)讀寫時(shí),客戶端在 RBD 設(shè)備上的順序操作,經(jīng)數(shù)據(jù)的切分與分發(fā),到達(dá)各個(gè)存儲(chǔ)節(jié)點(diǎn)后,轉(zhuǎn)化為各個(gè)存儲(chǔ)引擎上的隨機(jī)操作。與 HDD 等慢速設(shè)備相比,Optane 設(shè)備上的隨機(jī)操作性能與順序操作性能差異較小,因此,存儲(chǔ)引擎處理隨機(jī)操作不會(huì)造成嚴(yán)重的性能退化。相反,大量隨機(jī)讀寫操作更容易均勻地分布到各個(gè)存儲(chǔ)節(jié)點(diǎn)的多個(gè)對(duì)象中,有助于發(fā)揮存儲(chǔ)節(jié)點(diǎn)以及 Optane 設(shè)備底層存儲(chǔ)單元的并發(fā)性,最終達(dá)到更高的讀寫性能。

    5 結(jié) 論

    大數(shù)據(jù)存儲(chǔ)系統(tǒng)的存儲(chǔ)引擎對(duì)系統(tǒng)的整體性能至關(guān)重要。雖然使用高性能的 NVM 設(shè)備替換傳統(tǒng)存儲(chǔ)設(shè)備可以提高存儲(chǔ)性能,但是并不能充分發(fā)揮 NVM 設(shè)備的性能優(yōu)勢(shì)。主要原因是傳統(tǒng)的存儲(chǔ)引擎使用塊接口來訪問 NVM 設(shè)備,多層次的 I/O 軟件棧開銷以及數(shù)據(jù)寫放大造成的延遲,限制了 NVM 性能優(yōu)勢(shì)的發(fā)揮,進(jìn)而影響了存儲(chǔ)引擎的性能擴(kuò)展。針對(duì)該問題,本文對(duì)大數(shù)據(jù)存儲(chǔ)系統(tǒng) Ceph 的存儲(chǔ)引擎及其 I/O 軟件棧進(jìn)行了分析,提出了一種基于 NVM 的存儲(chǔ)引擎 NVMStore,其利用內(nèi)存直接映射的方式訪問NVM,并根據(jù) NVM 的特性對(duì)存儲(chǔ)引擎的數(shù)據(jù)讀寫流程進(jìn)行優(yōu)化,減小了 I/O 軟件棧的開銷以及數(shù)據(jù)讀寫放大,進(jìn)一步提升了存儲(chǔ)引擎的性能。最后在 NVM 設(shè)備上進(jìn)行實(shí)驗(yàn),將 NVMStore 與現(xiàn)有的 Ceph 默認(rèn)存儲(chǔ)引擎 BlueStore 的基準(zhǔn)讀寫性能進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果表明,NVMStore 能夠顯著提高存儲(chǔ)系統(tǒng)的小塊數(shù)據(jù)讀寫性能。在實(shí)際應(yīng)用場(chǎng)景中,由于小塊數(shù)據(jù)讀寫負(fù)載較為普遍,因此,NVMStore 的性能優(yōu)化方向具有重要的現(xiàn)實(shí)意義。

    猜你喜歡
    存儲(chǔ)設(shè)備存儲(chǔ)系統(tǒng)字節(jié)
    No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
    分布式存儲(chǔ)系統(tǒng)在企業(yè)檔案管理中的應(yīng)用
    哈爾濱軸承(2020年2期)2020-11-06 09:22:36
    No.10 “字節(jié)跳動(dòng)手機(jī)”要來了?
    天河超算存儲(chǔ)系統(tǒng)在美創(chuàng)佳績(jī)
    簡(jiǎn)談MC7字節(jié)碼
    Windows 7下USB存儲(chǔ)設(shè)備接入痕跡的證據(jù)提取
    基于Flash芯片的新型存儲(chǔ)設(shè)備數(shù)據(jù)恢復(fù)技術(shù)研究
    華為震撼發(fā)布新一代OceanStor 18000 V3系列高端存儲(chǔ)系統(tǒng)
    一種基于STM32的具有斷電保護(hù)機(jī)制的采集存儲(chǔ)系統(tǒng)設(shè)計(jì)
    用批處理管理計(jì)算機(jī)USB設(shè)備的使用
    五月玫瑰六月丁香| 黑人巨大精品欧美一区二区蜜桃 | 精品国产国语对白av| a级毛色黄片| 老女人水多毛片| 国产成人freesex在线| 美女大奶头黄色视频| 中国三级夫妇交换| 久久韩国三级中文字幕| 草草在线视频免费看| 一级二级三级毛片免费看| 久久久久精品性色| 午夜免费观看性视频| av福利片在线观看| 国产一区二区在线观看av| 在线观看美女被高潮喷水网站| 成人无遮挡网站| 久久午夜综合久久蜜桃| 欧美 日韩 精品 国产| 中文字幕精品免费在线观看视频 | 热99国产精品久久久久久7| 天美传媒精品一区二区| 十分钟在线观看高清视频www | 黑人猛操日本美女一级片| 国产 一区精品| 国产女主播在线喷水免费视频网站| 亚洲,欧美,日韩| 亚洲精华国产精华液的使用体验| 在线观看一区二区三区激情| av专区在线播放| av.在线天堂| 一区二区av电影网| 人妻人人澡人人爽人人| 中文字幕免费在线视频6| 国产伦在线观看视频一区| 午夜福利在线观看免费完整高清在| 国产极品粉嫩免费观看在线 | 我要看黄色一级片免费的| 久久精品国产a三级三级三级| 国产毛片在线视频| 一区在线观看完整版| 人人妻人人添人人爽欧美一区卜| 麻豆精品久久久久久蜜桃| 黄片无遮挡物在线观看| 黑人猛操日本美女一级片| 欧美精品亚洲一区二区| 中国美白少妇内射xxxbb| 亚洲精品亚洲一区二区| 日本av手机在线免费观看| 日韩一区二区三区影片| 91精品一卡2卡3卡4卡| 久久99精品国语久久久| 啦啦啦中文免费视频观看日本| 啦啦啦啦在线视频资源| 国产精品一区二区三区四区免费观看| 亚洲欧美成人综合另类久久久| 国产高清有码在线观看视频| 熟妇人妻不卡中文字幕| 永久网站在线| 午夜激情久久久久久久| 国产精品熟女久久久久浪| 国产高清三级在线| 国内少妇人妻偷人精品xxx网站| 九色成人免费人妻av| 国产精品嫩草影院av在线观看| 精品亚洲乱码少妇综合久久| 国产成人精品久久久久久| 免费不卡的大黄色大毛片视频在线观看| 国产免费一区二区三区四区乱码| 国产色爽女视频免费观看| 久久人妻熟女aⅴ| 一本—道久久a久久精品蜜桃钙片| av国产久精品久网站免费入址| av线在线观看网站| 欧美xxⅹ黑人| 久久ye,这里只有精品| 最近的中文字幕免费完整| 欧美97在线视频| 我的老师免费观看完整版| 各种免费的搞黄视频| 午夜福利影视在线免费观看| 80岁老熟妇乱子伦牲交| 亚洲av国产av综合av卡| 国产日韩一区二区三区精品不卡 | 亚洲图色成人| 日本黄大片高清| 欧美精品国产亚洲| 国产 精品1| 午夜视频国产福利| 久久99精品国语久久久| 亚洲成人手机| 一个人免费看片子| 中文天堂在线官网| 国产日韩一区二区三区精品不卡 | 涩涩av久久男人的天堂| 你懂的网址亚洲精品在线观看| 在线观看三级黄色| 亚洲精品成人av观看孕妇| 伦精品一区二区三区| 中文欧美无线码| 国产高清有码在线观看视频| 国产91av在线免费观看| 亚洲第一区二区三区不卡| av又黄又爽大尺度在线免费看| 在现免费观看毛片| 另类亚洲欧美激情| 久久精品国产自在天天线| 91精品伊人久久大香线蕉| 97在线人人人人妻| 成人毛片a级毛片在线播放| 男女边吃奶边做爰视频| 国产精品一二三区在线看| 在线精品无人区一区二区三| www.色视频.com| 我要看黄色一级片免费的| 亚洲丝袜综合中文字幕| 亚洲av中文av极速乱| 黄色怎么调成土黄色| 亚洲精品国产av蜜桃| 久久女婷五月综合色啪小说| 久久久久视频综合| 亚洲精品第二区| 久久av网站| 哪个播放器可以免费观看大片| 黄色毛片三级朝国网站 | 黑人猛操日本美女一级片| 国产亚洲一区二区精品| 成人亚洲欧美一区二区av| 日韩大片免费观看网站| 久久精品国产亚洲网站| 女性生殖器流出的白浆| 啦啦啦在线观看免费高清www| 简卡轻食公司| 在线精品无人区一区二区三| 日本vs欧美在线观看视频 | av播播在线观看一区| 综合色丁香网| 少妇 在线观看| 国产爽快片一区二区三区| 国产69精品久久久久777片| 狠狠精品人妻久久久久久综合| 三级经典国产精品| 国产精品国产三级国产av玫瑰| 国产老妇伦熟女老妇高清| 午夜免费观看性视频| 如日韩欧美国产精品一区二区三区 | 中国三级夫妇交换| 久久99热6这里只有精品| 成年人免费黄色播放视频 | 欧美日韩亚洲高清精品| 久久女婷五月综合色啪小说| 日韩av免费高清视频| 97精品久久久久久久久久精品| a级片在线免费高清观看视频| 一区在线观看完整版| 99久久综合免费| 又黄又爽又刺激的免费视频.| 欧美精品人与动牲交sv欧美| 在线观看美女被高潮喷水网站| 久久精品国产a三级三级三级| 成人毛片60女人毛片免费| 久久ye,这里只有精品| 中文字幕亚洲精品专区| 三级国产精品欧美在线观看| 国产黄片视频在线免费观看| 丁香六月天网| av播播在线观看一区| 久久午夜福利片| 国产色婷婷99| 亚洲美女黄色视频免费看| 日韩欧美精品免费久久| 久久久久久久久久成人| 国产精品人妻久久久影院| 在线免费观看不下载黄p国产| 国产欧美亚洲国产| 精品久久久久久久久av| 成年av动漫网址| 黄色怎么调成土黄色| 99热这里只有精品一区| 男女边摸边吃奶| 91在线精品国自产拍蜜月| 精品亚洲成a人片在线观看| 国内少妇人妻偷人精品xxx网站| 嫩草影院新地址| 精品亚洲成a人片在线观看| 男女边摸边吃奶| 91久久精品国产一区二区成人| 久久久久久久亚洲中文字幕| 亚洲天堂av无毛| 嫩草影院入口| 两个人免费观看高清视频 | 精品人妻一区二区三区麻豆| 国产黄频视频在线观看| 亚洲av免费高清在线观看| 在线播放无遮挡| 国产一区二区在线观看av| 水蜜桃什么品种好| 伊人久久精品亚洲午夜| 国产精品三级大全| 国产乱人偷精品视频| av网站免费在线观看视频| 视频中文字幕在线观看| 美女中出高潮动态图| 欧美精品一区二区免费开放| 高清欧美精品videossex| 日韩成人伦理影院| 女人精品久久久久毛片| 人妻系列 视频| 成人免费观看视频高清| 久久久久人妻精品一区果冻| 又黄又爽又刺激的免费视频.| 国产黄频视频在线观看| 男人爽女人下面视频在线观看| 在线精品无人区一区二区三| 多毛熟女@视频| 高清毛片免费看| 伊人亚洲综合成人网| 亚洲,一卡二卡三卡| 国产淫语在线视频| 精华霜和精华液先用哪个| 2021少妇久久久久久久久久久| 欧美+日韩+精品| 国产精品国产三级国产av玫瑰| 久久精品久久久久久久性| av.在线天堂| 精品少妇久久久久久888优播| 黄色欧美视频在线观看| 又大又黄又爽视频免费| 乱系列少妇在线播放| 岛国毛片在线播放| 中国国产av一级| 久久久久久久亚洲中文字幕| 精品一区二区免费观看| 成人二区视频| 亚洲精品久久久久久婷婷小说| 大片免费播放器 马上看| 人妻 亚洲 视频| 国产伦精品一区二区三区视频9| 99热全是精品| 国产女主播在线喷水免费视频网站| 啦啦啦视频在线资源免费观看| 久热这里只有精品99| 亚洲欧洲国产日韩| a级毛色黄片| 永久网站在线| 精品久久久精品久久久| 免费大片黄手机在线观看| 国产国拍精品亚洲av在线观看| 女的被弄到高潮叫床怎么办| 亚洲精品日韩在线中文字幕| 在现免费观看毛片| av有码第一页| 人人澡人人妻人| 亚洲第一av免费看| 草草在线视频免费看| 天堂俺去俺来也www色官网| 亚洲欧美一区二区三区黑人 | 男女免费视频国产| 国产免费一区二区三区四区乱码| 黄色一级大片看看| 18禁在线播放成人免费| 99久久精品一区二区三区| 少妇人妻久久综合中文| 啦啦啦啦在线视频资源| 免费高清在线观看视频在线观看| 男人和女人高潮做爰伦理| 亚洲国产日韩一区二区| 亚洲国产精品一区三区| 成年女人在线观看亚洲视频| 亚州av有码| 99热这里只有是精品在线观看| 亚洲性久久影院| av免费观看日本| 日日摸夜夜添夜夜爱| 中文字幕亚洲精品专区| 久久av网站| 亚洲av中文av极速乱| 自拍欧美九色日韩亚洲蝌蚪91 | 精华霜和精华液先用哪个| 97精品久久久久久久久久精品| 一级毛片黄色毛片免费观看视频| 国产成人免费无遮挡视频| 中文资源天堂在线| 黑人猛操日本美女一级片| 一个人免费看片子| 亚洲伊人久久精品综合| 另类精品久久| 国产精品成人在线| 国产中年淑女户外野战色| 色94色欧美一区二区| 日本vs欧美在线观看视频 | 亚洲国产精品999| 中文天堂在线官网| 中文乱码字字幕精品一区二区三区| av福利片在线观看| 美女内射精品一级片tv| 国产在线免费精品| 嫩草影院新地址| 国产又色又爽无遮挡免| 日韩三级伦理在线观看| av黄色大香蕉| 国产精品秋霞免费鲁丝片| 国产一级毛片在线| 久久99蜜桃精品久久| 久久久久精品性色| 欧美精品人与动牲交sv欧美| 简卡轻食公司| 美女大奶头黄色视频| 免费观看的影片在线观看| 国产精品一区二区三区四区免费观看| 亚洲色图综合在线观看| 久久久久久久久久成人| 天美传媒精品一区二区| 国产探花极品一区二区| 久久影院123| 一级毛片aaaaaa免费看小| 日日撸夜夜添| 亚洲国产精品国产精品| 欧美日韩精品成人综合77777| 少妇 在线观看| 亚洲精品aⅴ在线观看| 亚洲va在线va天堂va国产| 国产黄片美女视频| 日韩成人av中文字幕在线观看| 18+在线观看网站| 一级a做视频免费观看| 一个人免费看片子| 国产一区亚洲一区在线观看| av在线老鸭窝| 国产精品国产三级国产av玫瑰| 亚洲精品一区蜜桃| 亚洲国产av新网站| 高清在线视频一区二区三区| 久久久久久久久大av| 蜜桃久久精品国产亚洲av| 深夜a级毛片| 99热全是精品| 国产精品福利在线免费观看| 婷婷色av中文字幕| 国产精品成人在线| 一级av片app| 91aial.com中文字幕在线观看| 亚洲人与动物交配视频| 永久免费av网站大全| 色网站视频免费| 校园人妻丝袜中文字幕| 免费大片黄手机在线观看| 精品少妇久久久久久888优播| 亚洲国产精品999| 国产视频首页在线观看| 亚洲国产精品999| 亚洲精品国产色婷婷电影| 国产在线男女| 欧美另类一区| a级片在线免费高清观看视频| 精品一区在线观看国产| 免费看不卡的av| 亚洲欧洲日产国产| 80岁老熟妇乱子伦牲交| 自拍欧美九色日韩亚洲蝌蚪91 | 免费观看av网站的网址| 亚洲国产成人一精品久久久| 亚洲av二区三区四区| 草草在线视频免费看| 久久久国产一区二区| 日韩欧美精品免费久久| 极品少妇高潮喷水抽搐| 国产精品秋霞免费鲁丝片| 九九爱精品视频在线观看| 观看av在线不卡| 亚洲精品中文字幕在线视频 | 久久精品久久精品一区二区三区| 成年人免费黄色播放视频 | 亚洲国产精品999| 成人漫画全彩无遮挡| 亚洲精品一二三| 日韩强制内射视频| 熟女av电影| 久久久久人妻精品一区果冻| 内射极品少妇av片p| 人人澡人人妻人| 伊人久久精品亚洲午夜| 亚洲成人手机| 亚洲电影在线观看av| 精品久久久精品久久久| 久久99一区二区三区| 亚洲av免费高清在线观看| 高清黄色对白视频在线免费看 | 深夜a级毛片| 欧美成人精品欧美一级黄| 少妇丰满av| 久久久久久久国产电影| 少妇人妻久久综合中文| 免费少妇av软件| 国产精品免费大片| 日日摸夜夜添夜夜添av毛片| 在线观看美女被高潮喷水网站| 不卡视频在线观看欧美| 啦啦啦中文免费视频观看日本| 国产成人精品福利久久| 亚洲va在线va天堂va国产| 天堂中文最新版在线下载| 中文乱码字字幕精品一区二区三区| 成人毛片a级毛片在线播放| 久久精品夜色国产| 一区在线观看完整版| 精品99又大又爽又粗少妇毛片| 日韩精品有码人妻一区| av黄色大香蕉| 九色成人免费人妻av| 国产午夜精品一二区理论片| 一级毛片久久久久久久久女| 成年人免费黄色播放视频 | 免费看光身美女| 久久青草综合色| 色94色欧美一区二区| 插阴视频在线观看视频| 美女大奶头黄色视频| 免费在线观看成人毛片| 欧美bdsm另类| 亚洲国产毛片av蜜桃av| 一级a做视频免费观看| 蜜桃在线观看..| 美女xxoo啪啪120秒动态图| 麻豆成人av视频| 啦啦啦视频在线资源免费观看| 夫妻性生交免费视频一级片| 大香蕉97超碰在线| 婷婷色麻豆天堂久久| 国产精品伦人一区二区| 最新中文字幕久久久久| 国产日韩欧美亚洲二区| 午夜激情久久久久久久| 久久av网站| 黄色毛片三级朝国网站 | 99热6这里只有精品| 国产精品国产三级专区第一集| 国产亚洲一区二区精品| 亚洲美女视频黄频| 少妇精品久久久久久久| 97在线视频观看| 欧美+日韩+精品| 午夜福利视频精品| 日本黄大片高清| 亚洲欧美日韩另类电影网站| 国产精品无大码| 三上悠亚av全集在线观看 | 国产又色又爽无遮挡免| 亚洲欧美日韩卡通动漫| 精品国产一区二区三区久久久樱花| 国产亚洲精品久久久com| 男女免费视频国产| 天堂俺去俺来也www色官网| 99热国产这里只有精品6| 日本91视频免费播放| 国产成人精品婷婷| a级片在线免费高清观看视频| 一区二区三区四区激情视频| 日本免费在线观看一区| 欧美xxxx性猛交bbbb| 交换朋友夫妻互换小说| 熟女人妻精品中文字幕| 日本黄大片高清| 午夜福利影视在线免费观看| 欧美日本中文国产一区发布| 亚洲国产欧美在线一区| 天堂俺去俺来也www色官网| .国产精品久久| 精品少妇久久久久久888优播| 国产成人午夜福利电影在线观看| 黑人高潮一二区| videos熟女内射| 少妇被粗大猛烈的视频| 老司机亚洲免费影院| 性高湖久久久久久久久免费观看| 国产视频首页在线观看| 国产成人精品一,二区| 国产极品粉嫩免费观看在线 | 久久午夜综合久久蜜桃| 中文字幕久久专区| 精品久久久久久电影网| 天堂俺去俺来也www色官网| 日韩人妻高清精品专区| av不卡在线播放| 肉色欧美久久久久久久蜜桃| 免费在线观看成人毛片| 日韩制服骚丝袜av| 久久婷婷青草| 久久6这里有精品| 九九在线视频观看精品| 99热全是精品| 精品一区二区免费观看| 赤兔流量卡办理| 免费观看性生交大片5| 成人亚洲欧美一区二区av| 国产精品99久久99久久久不卡 | av卡一久久| 亚洲av日韩在线播放| 啦啦啦啦在线视频资源| 最近最新中文字幕免费大全7| 亚洲人成网站在线观看播放| 毛片一级片免费看久久久久| a级毛片在线看网站| 女的被弄到高潮叫床怎么办| 国产成人精品婷婷| 亚洲欧美日韩东京热| 2021少妇久久久久久久久久久| 自拍偷自拍亚洲精品老妇| 亚洲精品第二区| 少妇人妻 视频| 精品久久久噜噜| 色视频在线一区二区三区| 你懂的网址亚洲精品在线观看| 麻豆乱淫一区二区| 最新中文字幕久久久久| av专区在线播放| 国精品久久久久久国模美| 中文字幕人妻丝袜制服| 啦啦啦啦在线视频资源| 免费不卡的大黄色大毛片视频在线观看| 欧美老熟妇乱子伦牲交| 国语对白做爰xxxⅹ性视频网站| 久久免费观看电影| 亚洲不卡免费看| 亚洲内射少妇av| 不卡视频在线观看欧美| 女性被躁到高潮视频| 亚洲美女黄色视频免费看| av在线老鸭窝| 人妻一区二区av| 日韩免费高清中文字幕av| 在线观看免费日韩欧美大片 | 国产av码专区亚洲av| 最近的中文字幕免费完整| 日本wwww免费看| h视频一区二区三区| 黄色毛片三级朝国网站 | 18禁动态无遮挡网站| 亚洲精品色激情综合| 国产毛片在线视频| 2021少妇久久久久久久久久久| 日本av免费视频播放| 精品久久久噜噜| 国产高清有码在线观看视频| 交换朋友夫妻互换小说| 蜜桃久久精品国产亚洲av| 欧美国产精品一级二级三级 | 日韩 亚洲 欧美在线| 日韩不卡一区二区三区视频在线| 亚洲人成网站在线观看播放| 99九九在线精品视频 | 97在线人人人人妻| 美女xxoo啪啪120秒动态图| 你懂的网址亚洲精品在线观看| 欧美丝袜亚洲另类| 日韩三级伦理在线观看| 成年人免费黄色播放视频 | 日本免费在线观看一区| 免费看日本二区| 九色成人免费人妻av| 成人免费观看视频高清| 一级黄片播放器| 一本—道久久a久久精品蜜桃钙片| 国产精品99久久久久久久久| 2021少妇久久久久久久久久久| 观看av在线不卡| 秋霞伦理黄片| av卡一久久| 免费高清在线观看视频在线观看| av在线老鸭窝| 亚洲色图综合在线观看| 日韩av不卡免费在线播放| 精品人妻一区二区三区麻豆| 天堂8中文在线网| 国产免费一级a男人的天堂| 成年av动漫网址| 国产高清国产精品国产三级| 精品熟女少妇av免费看| 久久久久久久大尺度免费视频| 国国产精品蜜臀av免费| 精品国产露脸久久av麻豆| 成人二区视频| 国产精品三级大全| 99视频精品全部免费 在线| 国产精品伦人一区二区| 国产精品三级大全| 精品国产一区二区三区久久久樱花| 免费看av在线观看网站| 国产精品免费大片| 大陆偷拍与自拍| 亚洲精品456在线播放app| 久久久国产一区二区| .国产精品久久| 亚洲成人一二三区av| 午夜久久久在线观看| 国产av精品麻豆| 91精品国产九色| 免费av中文字幕在线| 你懂的网址亚洲精品在线观看| 女的被弄到高潮叫床怎么办| a级毛片免费高清观看在线播放| 一级毛片黄色毛片免费观看视频| 国产精品蜜桃在线观看| 夫妻午夜视频| 亚洲电影在线观看av| 精品99又大又爽又粗少妇毛片| 中国国产av一级| 国产女主播在线喷水免费视频网站| 久久久久久久久久久丰满| 日韩成人av中文字幕在线观看| 久久免费观看电影| 国产色爽女视频免费观看| 91精品国产国语对白视频| 这个男人来自地球电影免费观看 | 欧美精品一区二区大全|