多功能PCIE交換器之六:基於NTB誇節點的讀寫

來源:互聯網
上載者:User

標籤:pcie   ntb   dma   

多功能PCIE交換器之六:基於NTB誇節點的讀寫最佳化


1、基於NTB跨節點讀寫的應用的特點

NTB常常用在要求高效能和高可靠性的場合,用來實現跨節點資料的傳輸。比如用作虛擬網卡、跨節點資料同步通道等,這些場合都期望充分發揮NTB基於PCIE的高速傳輸特性,最大限度地提高系統效能。



2、基於NTB跨節點讀寫的兩種實現方式

實現地址轉換、建立NTB通道之後,有兩種實現NTB跨節點傳輸資料的方式:

基於CPU實現資料轉送

基於NTBDMA實現資料轉送

前者依賴CPU去搬運資料,會佔用CPU周期,但非常適合多線程應用;後者依賴獨立的DMA硬體搬運資料,幾乎不消耗CPU,但在多線程環境需要額外考慮對DMA硬體的並發訪問。而在速度方面:在不利用CPU並發處理的情況下,後者一般比前者快很多。比如在筆者的系統上,用CPU搬運資料大概只有100MB/s的頻寬,而用DMA的頻寬接近1000MB/s,這是在還沒有對DMA/PCIE進行專門最佳化設定的情況下測得的。


3、兩種實現方式的共同特點

不管是用CPU還是DMA跨節點搬運資料,底層都是基於PCIE事務實現。從本地往遠端節點寫資料,底層依賴於PCIEpost write 事務;從遠端節點往本地節點寫資料,底層是由PCIEnon-post read實現。根據PCIEpost事務和non-post事務的特性可以知道,post操作一般都比non-post操作速度快。在筆者的系統上的測試資料應證了這一理論:CPU往對方節點寫比CPU從對方節點讀快,DMA往對方節點寫也比DMA從對方節點讀快。


4、總結

不管是用哪種方式實現跨節點傳輸,需要透過不同的PCIE應用看到底層PCIE事務傳輸和處理的本質,這樣才能從整體上理解不同的應用表現出的效能差異,從而根據需要進行取捨、最佳化。


本文出自 “儲存之廚” 部落格,請務必保留此出處http://xiamachao.blog.51cto.com/10580956/1882433

多功能PCIE交換器之六:基於NTB誇節點的讀寫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.