chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

內(nèi)存之后,下一代存儲(chǔ)技術(shù)怎么用?

SSDFans ? 來(lái)源:YXQ ? 2019-03-21 11:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著存儲(chǔ)技術(shù)的發(fā)展,對(duì)存儲(chǔ)性能的不懈追求,高性能存儲(chǔ)開(kāi)始探索向內(nèi)存通道的遷移。在這樣的情況下, NVDIMM 技術(shù)便應(yīng)運(yùn)而生了。

NVDIMM (Non-Volatile Dual In-Line Memory Module) 是一種可以隨機(jī)訪問(wèn)的,非易失性內(nèi)存, 又被稱作PMem (Persistent Memory)。在之前的微信文章中,我們介紹了NVDIMM幾種硬件上的實(shí)現(xiàn)方式,以及為了支持和優(yōu)化性能所做的硬件上的改變。今天,我們來(lái)討論一下為了充分發(fā)揮NVDIMM的性能,軟件方面做了哪些支持。有些人可能會(huì)有疑問(wèn), 為什么用起來(lái)這么麻煩?既然是持久性內(nèi)存,不是應(yīng)該關(guān)機(jī)什么樣, 開(kāi)機(jī)什么樣, 就可以了嗎? 其實(shí)目前來(lái)看, 這種想法還不會(huì)變?yōu)楝F(xiàn)實(shí)。 因?yàn)槌?a href="http://www.brongaenegriffin.com/tags/dram/" target="_blank">DRAM是易失性的,比如 cache,寄存器這種也是易失性的。僅僅把內(nèi)存做成持久性的也不能達(dá)成這樣的目的。另一個(gè)問(wèn)題是, memory leak。如果發(fā)生了內(nèi)存泄漏, 重啟一下就好了。 那如果是持久性內(nèi)存的泄漏呢?這也是一個(gè)很棘手的問(wèn)題。Pmem有些方面類似于內(nèi)存,也有些方面類似于存儲(chǔ)。但是,通常上我們不會(huì)認(rèn)為Pmem能夠替代內(nèi)存或存儲(chǔ)。其實(shí),可以把它看作是一種補(bǔ)充,填補(bǔ)了內(nèi)存和存儲(chǔ)之間巨大的差異。

SPDK 在 17.10 中開(kāi)始引入對(duì)于Pmem的支持。Pmem在SPDK的bdev層暴露為一個(gè)塊設(shè)備, 使用快設(shè)備接口和上層進(jìn)行通信。如圖(1)所示。

圖(1)

從圖中我們可以看到libpmemblk 把塊操作轉(zhuǎn)換成了字節(jié)操作。它是怎么做到的呢? 在介紹libpmemblk 和 它背后的PMDK之前, 我們了解一下基礎(chǔ)知識(shí)。

mmap和DAX

首先,我們來(lái)看傳統(tǒng)的I/O方式, 即緩存I/O (Buffered I/O). 大多數(shù)操作系統(tǒng)默認(rèn)的IO操作方式都是緩存IO。該機(jī)制使IO數(shù)據(jù)緩存在操作系統(tǒng)的page cache 中, 也就是說(shuō), 數(shù)據(jù)會(huì)被先拷貝到操作系統(tǒng)的內(nèi)核空間的緩沖區(qū)中,然后才會(huì)從內(nèi)核空間的緩沖區(qū)拷貝到指定的用戶地址空間。

圖(2)

Linux 中, 這種訪問(wèn)文件的方式就是通過(guò)read/write 系統(tǒng)調(diào)用來(lái)實(shí)現(xiàn),如圖(2)。接下來(lái), 我們比較一下內(nèi)存映射IO mmap().

接下來(lái), 我們比較一下內(nèi)存映射IO mmap().

圖(3)

通過(guò)mmap獲得了對(duì)應(yīng)文件的一個(gè)指針,然后就像操作內(nèi)存一樣進(jìn)行賦值或者做memcpy/strcpy. 這種我們稱之為load/store操作(這種操作一般需要msync、fsync來(lái)落盤(pán))。

mmap因?yàn)榻⒘宋募接脩艨臻g的映射關(guān)系, 可以看作是把文件直接拷貝到用戶空間,減少了一次數(shù)據(jù)拷貝。但是, mmap依然需要依靠page cache。

圖(4)

講完了mmap, 那么DAX是什么呢?DAX即direct access,這個(gè)特性是基于mmap的。而DAX的區(qū)別在于完全不需要page cache. 直接對(duì)存儲(chǔ)設(shè)備訪問(wèn)。 所以它就是為了NVDIMM而生的。應(yīng)用對(duì)于mmap的文件操作, 是直接同步到NVDIMM上的。DAX目前在XFS, EXT4, Windows的 NTFS 上都已經(jīng)支持。需要注意的是, 使用這個(gè)模式, 要對(duì)應(yīng)用程序或者文件系統(tǒng)進(jìn)行修改。

圖(5)

NVM Programming Model

NVM Programming Model 大致定義了三種使用方式。

圖(6)

最左邊Management 主要是通過(guò)driver提供的API對(duì)NVDIMM進(jìn)行管理, 比如查看容量信息, 健康狀態(tài), 固件版本, 固件升級(jí), 模式配置等等。

中間, 作為存儲(chǔ)快設(shè)備使用, 使用支持NVDIMM driver 的文件系統(tǒng)和內(nèi)核, 應(yīng)用程序不用做任何修改,通過(guò)標(biāo)準(zhǔn)文件接口訪問(wèn)NVDIMM。

第三種, 基于文件系統(tǒng)的DAX特性,通過(guò)load/store操作,不需要page cache, 同步落盤(pán)。沒(méi)有系統(tǒng)調(diào)用, 沒(méi)有中斷。這也是NVM Programming Model 的核心, 能夠充分釋放NVDIMM的性能優(yōu)勢(shì)。但它的缺點(diǎn)在于,應(yīng)用程序可能需要做一下改變。

PMDK

libpmemblk 實(shí)現(xiàn)了一個(gè)駐留在pmem中的同樣大小的塊的數(shù)組。里面每個(gè)塊對(duì)于突然掉電,程序崩潰等情況依然保持原子事務(wù)性。libpmemblk是基于libpmem庫(kù)的。

libpmem是PMDK中提供的一個(gè)更底層的庫(kù), 尤其是對(duì)于flush的支持。它能夠追蹤每次對(duì)pmem的store操作,并保證數(shù)據(jù)落盤(pán)為持久性數(shù)據(jù)。

除此以外, PMDK 還提供了其他編程庫(kù), 比如libpmemobj, libpmemlog, libvmmalloc 等。感興趣的同學(xué)可以訪問(wèn)http://pmem.io/pmdk/ 獲取更多信息。

SPDK實(shí)戰(zhàn)

bdevperf測(cè)模擬NVDIMM性能

(1) 創(chuàng)建一個(gè)虛擬的Pmem bdev

./configure --with-pmdk

make

PMDK 已經(jīng)在一些新的Linux發(fā)行版中被引入。如果configure出錯(cuò),請(qǐng)到https://github.com/pmem/pmdk 自行安裝PMDK庫(kù)。

接下來(lái), 我們可以通過(guò)SPDK RPC命令來(lái)建立一個(gè)pmem_pool。

rpc.py create_pmem_pool /path/to/pmem_pool

這里假設(shè)我們沒(méi)有一個(gè)真正的NVDIMM做測(cè)試, 所以pmem_pool的路徑就隨便選擇一個(gè)就好。比如:

rpc.py create_pmem_pool /mnt/pmem 128 4096

我們也可以用pmem_pool_info來(lái)獲取創(chuàng)建pmem_pool的信息:

rpc.py pmem_pool_info /path/to/pmem_pool

或者,刪除剛創(chuàng)建的pmem_pool:

rpc.py delete_pmem_pool /path/to/pmem_pool

然后, 我們?cè)谖覀儎?chuàng)建的pmem_pool上, 建立一個(gè)bdev塊設(shè)備:

rpc.py construct_pmem_bdev /path/to/pmem_pool -n pmem_bdev_name

(2) 更新配置文件

更改/path/to/spdk/test/bdev/bdev.conf.in, 只保留Pmem配置的部分。

[Pmem]

Blk

Example:

[Pmem]

Blk /mnt/pmem-pool pmem-bdev

(3) bdevperf 測(cè)試

./bdevperf -c ../bdev.conf.in -q -t

Example command:

./bdevperf -c ../bdev.conf.in -q 128 -t 100 -w write -o 4096

./bdevperf -c ../bdev.conf.in -q 1 -t 100 -w randwrite -o 4096

結(jié)語(yǔ)

至此, 對(duì)于NVDIMM硬件和軟件上的不同, 大家都有了一個(gè)大致的認(rèn)識(shí)。Intel 在2018年5月發(fā)布了基于3D XPoint? 技術(shù)的Intel? Optane? DC Persistent Memory, 引發(fā)了NVDIMM爆點(diǎn)。如果你對(duì)NVDIMM的用法很感興趣,或者對(duì)于NVDIMM的應(yīng)用有好的想法, 歡迎通過(guò)私信或者在評(píng)論區(qū)評(píng)論交流。希望大家繼續(xù)關(guān)注NVDIMM和SPDK技術(shù)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 存儲(chǔ)技術(shù)
    +關(guān)注

    關(guān)注

    6

    文章

    756

    瀏覽量

    46428
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    3125

    瀏覽量

    75270

原文標(biāo)題:內(nèi)存之后,下一代存儲(chǔ)技術(shù)怎么用?

文章出處:【微信號(hào):SSDFans,微信公眾號(hào):SSDFans】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    SK海力士開(kāi)發(fā)出下一代智能內(nèi)存芯片技術(shù)PIM

    SK海力士(或‘公司’)今日宣布,公司已開(kāi)發(fā)出具備計(jì)算功能的下一代內(nèi)存半導(dǎo)體技術(shù)“PIM(processing-in-memory,內(nèi)存中處理)”1)。
    發(fā)表于 02-16 11:04 ?1797次閱讀
    SK海力士開(kāi)發(fā)出<b class='flag-5'>下一代</b>智能<b class='flag-5'>內(nèi)存</b>芯片<b class='flag-5'>技術(shù)</b>PIM

    下一代定位與導(dǎo)航系統(tǒng)

    下一代定位與導(dǎo)航系統(tǒng)
    發(fā)表于 08-18 10:37

    2016CES:Atmel下一代觸摸傳感技術(shù)亮相

     2016年1月7日——全球微控制器(MCU)及觸控技術(shù)解決方案領(lǐng)域的領(lǐng)導(dǎo)者Atmel公司今日宣布,將把下一代壓力傳感技術(shù)應(yīng)用于最新面向智能手機(jī)應(yīng)用的maXTouchU系列。Atmel的壓力傳感
    發(fā)表于 01-13 15:39

    下一代SONET SDH設(shè)備

    下一代SONET/SDH設(shè)備
    發(fā)表于 09-05 07:05

    單片光學(xué)實(shí)現(xiàn)下一代設(shè)計(jì)

    單片光學(xué) - 實(shí)現(xiàn)下一代設(shè)計(jì)
    發(fā)表于 09-20 10:40

    下一代測(cè)試系統(tǒng):LXI拓展視野

    下一代測(cè)試系統(tǒng):LXI拓展視野
    發(fā)表于 09-26 14:24

    下一代測(cè)試系統(tǒng):LXI推進(jìn)愿景

    下一代測(cè)試系統(tǒng):LXI推進(jìn)愿景(AN 1465-16)
    發(fā)表于 10-09 09:47

    請(qǐng)問(wèn)Ultrascale FPGA中單片和下一代堆疊硅互連技術(shù)是什么意思?

    大家好, 在Ultrascale FPGA中,使用單片和下一代堆疊硅互連(SSI)技術(shù)編寫(xiě)。 “單片和下一代堆疊硅互連(SSI)技術(shù)”是什么意思?謝謝娜文G K.
    發(fā)表于 04-27 09:29

    如何利用人工智能實(shí)現(xiàn)更為高效的下一代數(shù)據(jù)存儲(chǔ)

    充分利用人工智能,實(shí)現(xiàn)更為高效的下一代數(shù)據(jù)存儲(chǔ)
    發(fā)表于 01-15 07:08

    下一代超快I-V測(cè)試系統(tǒng)關(guān)鍵的技術(shù)挑戰(zhàn)有哪些?

    如何進(jìn)行超快I-V測(cè)量?下一代超快I-V測(cè)試系統(tǒng)關(guān)鍵的技術(shù)挑戰(zhàn)有哪些?
    發(fā)表于 04-15 06:33

    Java開(kāi)發(fā)下一代嵌入式產(chǎn)品

    Java開(kāi)發(fā)下一代嵌入式產(chǎn)品在我10年的Java布道師生涯里,沒(méi)有哪次Java新版本發(fā)布能讓我如此興奮。Java 8的發(fā)布不僅在語(yǔ)言本身加入了些不錯(cuò)的新特性,還在嵌入式開(kāi)發(fā)上加入了很棒的功能
    發(fā)表于 11-05 09:12

    威剛演示下一代DDR5內(nèi)存渲染圖

    CES 2021期間,存儲(chǔ)大廠威剛“拿”出了他們的下一代DDR5內(nèi)存,不過(guò)不是實(shí)物,只是渲染圖。
    的頭像 發(fā)表于 01-15 09:44 ?2798次閱讀

    下一代內(nèi)存技術(shù)

    的推進(jìn),它面臨著些擴(kuò)展問(wèn)題,導(dǎo)致該行業(yè)在其他地方尋找內(nèi)存解決方案。惠普(惠普)對(duì)“機(jī)器”架構(gòu)的宣傳使“憶阻器”詞重新回到了記憶的聚光燈下。這項(xiàng)技術(shù),也稱為電阻式隨機(jī)存取
    的頭像 發(fā)表于 10-24 10:54 ?775次閱讀

    下一代硅光子技術(shù)會(huì)是什么樣子?

    下一代硅光子技術(shù)會(huì)是什么樣子?
    的頭像 發(fā)表于 07-05 14:48 ?872次閱讀
    <b class='flag-5'>下一代</b>硅光子<b class='flag-5'>技術(shù)</b>會(huì)是什么樣子?

    網(wǎng)絡(luò)下一代企業(yè)存儲(chǔ):NVMe結(jié)構(gòu)

    電子發(fā)燒友網(wǎng)站提供《網(wǎng)絡(luò)下一代企業(yè)存儲(chǔ):NVMe結(jié)構(gòu).pdf》資料免費(fèi)下載
    發(fā)表于 08-28 11:39 ?0次下載
    網(wǎng)絡(luò)<b class='flag-5'>下一代</b>企業(yè)<b class='flag-5'>存儲(chǔ)</b>:NVMe結(jié)構(gòu)