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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

PCIe配置優(yōu)化:提升系統(tǒng)性能的關鍵步驟

Linux閱碼場 ? 來源:Linux閱碼場 ? 2024-04-09 09:46 ? 次閱讀

理解PCIe配置對性能的影響

PCIe用途

當PCIe 應用于網(wǎng)卡和主機間通信時,網(wǎng)絡適配器需要與 CPU 和內(nèi)存(以及其他模塊)進行通信。這意味著為了處理網(wǎng)絡流量,應該對通過 PCIe 進行通信的不同設備進行良好配置。將網(wǎng)絡適配器連接到 PCIe 時,它會自動協(xié)商網(wǎng)絡適配器和 CPU 之間支持的最大功能。

PCIe 屬性

任何 PCI 設備都加載了某些屬性。其中一些屬性對性能至關重要。設備的 PCIe 屬性是通過系統(tǒng)和設備能力之間的協(xié)商來設置的。這導致兩者都可以支持被選擇的最高值。下面,您可以找到相關 PCIe 屬性的說明、如何驗證它們以及它們對性能的影響。

PCIe 寬度

PCIe 寬度決定了設備可并行用于通信的 PCIe 通道數(shù)。寬度標記為 xA,其中 A 是通道數(shù)(例如,x8 表示 8 通道)。具體支持多少通道取決于廠商的設備和它們的型號。為了驗證 PCIe 寬度,可以使用命令 lspci。

在本例中,我們在 PCI 04.00.0 地址上安裝了 Mellanox 適配器。

# lspci -s 04:00.0 -vvv | grep Width
LnkCap: Port #0, Speed 8GT/s, Width x8, ASPM not supported, Exit Latency L0s unlimited, L1 unlimited
LnkSta: Speed 8GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-

如您所見,PCIe 報告了已通信的設備功能(在 LnkCap 下),以及它們的當前狀態(tài)(在 LnkSta 下),這是實際的 PCIe 設備屬性。

PCIe 速度

確定可能的 PCIe 事務數(shù)。速度以 GT/s 為單位,代表“每秒十億次交易”。與 PCIe 寬度一起確定了最大 PCIe 帶寬(速度 * 寬度)。為了驗證 PCIe 速度,可以使用命令 lspci。

# lspci -s 04:00.0 -vvv | grep Speed
LnkCap: Port #0, Speed 8GT/s, Width x8, ASPM not supported, Exit Latency L0s unlimited, L1 unlimited
LnkSta: Speed 8GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt

與寬度參數(shù)類似,設備能力和狀態(tài)都會被報告。

PCIe 速度被標識為“代”,其中 2.5GT/s 稱為“gen1”,5GT/s 稱為“gen2”,8GT/s 稱為“gen3”,16GT/s 稱為“gen4”.

注意:除了支持的速度之外,各代之間的主要區(qū)別在于數(shù)據(jù)包的編碼開銷。對于第 1 代和第 2 代,在 PCIe 上發(fā)送的每個數(shù)據(jù)包都有 20% 的 PCIe 標頭開銷。這在第 3 代中得到了改進,其中開銷減少到 1.5% (2/130)。有關更多詳細信息,請參閱下面的實際 PCIe 帶寬計算。

66e2835a-f610-11ee-a297-92fbcf53809c.png

PCIe Max Payload Size

PCIe Max Payload Size 確定 PCIe 數(shù)據(jù)包或 PCIe MTU 的最大大?。愃朴诰W(wǎng)絡協(xié)議)。這意味著較大的 PCIe 事務被分解為 PCIe MTU 大小的數(shù)據(jù)包。此參數(shù)僅由系統(tǒng)設置,取決于芯片組架構(例如 x86_64、Power8、ARM 等)。您可以使用命令 lspci(在 DevCtl 下指定)查看 PCIe Max Payload Size。

lspci -s 04:00.0 -vvv | grep DevCtl: -C 2
DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+
DevCtl: Report errors: Correctable- Non-Fatal+ Fatal+ Unsupported-
RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+ FLReset-
MaxPayload 256 bytes, MaxReadReq 4096 bytes

PCIe Max Read Request

PCIe Max Read Request 確定允許的最大 PCIe 讀取請求。由于必須為傳入響應準備緩沖區(qū),PCIe 設備通常會跟蹤待處理的讀取請求的數(shù)量。PCIe 最大讀取請求的大小可能會影響待處理請求的數(shù)量(當使用大于 PCIe MTU 的數(shù)據(jù)獲取時)。同樣,使用命令 lspci 來查詢 Max Read Request 值。

# lspci -s 04:00.0 -vvv | grep MaxReadReq
MaxPayload 256 bytes, MaxReadReq 4096 bytes

與此處討論的其他參數(shù)相反,可以在運行時使用命令 setpci 更改 PCIe Max Read Request:首先,查詢該值以避免覆蓋其他屬性:

# setpci -s 04:00.0 68.w
5936

第一個數(shù)字是 PCIe Max Read Request。設置選Max Read Request:

# setpci -s 04:00.0 68.w=2936

該值應使用命令 lspci 更新:

# lspci -s 04:00.0 -vvv | grep MaxReadReq
MaxPayload 256 bytes, MaxReadReq 512 bytes

可接受的值為:0 -128B、1 - 256B、2 - 512B、3 - 1024B、4 - 2048B 和 5 - 4096B。

計算 PCIe 帶寬限制

如前所述,PCIe 功能可能會影響網(wǎng)絡適配器的性能。最好了解 PCIe 引入的帶寬限制。下面是理論計算和幾個例子。

最大可能的 PCIe 帶寬是通過乘以 PCIe 寬度和速度來計算的。從這個數(shù)字中,我們減少了大約 1Gb/s 的糾錯協(xié)議和 PCIe 標頭開銷。開銷由 PCIe 編碼(有關詳細信息,請參閱 PCIe 速度)和 PCIe MTU 確定:

最大 PCIe 帶寬 = 速度 * 寬度 * (1 - 編碼) - 1Gb/s。

例如,具有 x8 寬度的第 3 代 PCIe 設備將被限制為:
最大 PCIe 帶寬 = 8G * 8 * (1 - 2/130) - 1G = 64G * 0.985 - 1G = ~62Gb/s。

另一個示例 - 具有 x16 寬度的第 2 代 PCIe 設備將被限制為:
最大 PCIe 帶寬 = 5G * 16 * (1 - 1/5) - 1G = 80G * 0.8 - 1G = ~63Gb/s。

注意:PCIe 事務包括網(wǎng)絡數(shù)據(jù)包有效負載和標頭,因此在計算網(wǎng)絡流量的 PCIe 限制時需要考慮它們。

PCIe Max Read Request 和 Max Payload Size 可能會由于 PCIe 整體增加和相同負載的待處理事務而導致事務速率限制。

審核編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10698

    瀏覽量

    209324
  • 內(nèi)存
    +關注

    關注

    8

    文章

    2902

    瀏覽量

    73534
  • PCIe
    +關注

    關注

    15

    文章

    1164

    瀏覽量

    81963
  • 網(wǎng)絡適配器

    關注

    0

    文章

    41

    瀏覽量

    11516

原文標題:性能調優(yōu)之PCIe配置

文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    最新可用隔離元件的性能提升如何幫助替代架構在不影響安全性的前提下提升系統(tǒng)性能

    本文探討了系統(tǒng)架構選擇對電源和控制電路設計以及系統(tǒng)性能的影響。本文還將說明最新可用隔離元件的性能提升如何幫助替代架構在不影響安全性的前提下提升
    的頭像 發(fā)表于 10-13 06:12 ?7746次閱讀
    最新可用隔離元件的<b class='flag-5'>性能</b><b class='flag-5'>提升</b>如何幫助替代架構在不影響安全性的前提下<b class='flag-5'>提升</b><b class='flag-5'>系統(tǒng)性能</b>

    FPGA的PCIE接口應用需要注意哪些問題

    ,并進行了充分的測試和優(yōu)化。 主機系統(tǒng)性能 : 主機系統(tǒng)的處理能力和總線架構也會對PCIe設備的性能產(chǎn)生影響,特別是在多設備共享總線資源時
    發(fā)表于 05-27 16:17

    PCB制作關鍵步驟說明書

    PCB制作關鍵步驟說明書.
    發(fā)表于 11-10 19:06

    RNN算法的三個關鍵步驟

    DL之RNN:RNN算法相關論文、相關思路、關鍵步驟、配圖集合+TF代碼定義
    發(fā)表于 12-28 14:20

    優(yōu)化BIOS設置提高系統(tǒng)性能

    BIOS設置對系統(tǒng)性能的影響非常大,優(yōu)化的BIOS設置,可大大提高PC整體性能,不恰當?shù)脑O置會導致系統(tǒng)性能下降,運行不穩(wěn)定,甚至出現(xiàn)死機等現(xiàn)象。下面就BIOS中影響
    發(fā)表于 10-10 14:27 ?43次下載

    布線測試中的幾個關鍵步驟

    布線測試中的幾個關鍵步驟 步驟1: 通斷測試是基礎   通斷測試是測試的基礎,是對線路施工的一種最基
    發(fā)表于 04-14 11:46 ?524次閱讀

    配置控制器局域網(wǎng)絡(CAN)位時序,優(yōu)化系統(tǒng)性能

    配置控制器局域網(wǎng)絡(CAN)位時序,優(yōu)化系統(tǒng)性能
    發(fā)表于 01-07 16:18 ?0次下載

    企業(yè)提升IoT安全性的七個關鍵步驟

     以下是企業(yè)提升IoT安全性以防止數(shù)據(jù)泄露的七個關鍵步驟。
    的頭像 發(fā)表于 10-16 09:58 ?2032次閱讀

    設計 NCL30088 控制的 LED 驅動器的 4 個關鍵步驟

    設計 NCL30088 控制的 LED 驅動器的 4 個關鍵步驟
    發(fā)表于 11-14 21:08 ?0次下載
    設計 NCL30088 控制的 LED 驅動器的 4 個<b class='flag-5'>關鍵步驟</b>

    設計由 NCP1631 驅動的交錯式 PFC 級的關鍵步驟

    設計由 NCP1631 驅動的交錯式 PFC 級的關鍵步驟
    發(fā)表于 11-14 21:08 ?7次下載
    設計由 NCP1631 驅動的交錯式 PFC 級的<b class='flag-5'>關鍵步驟</b>

    關于工業(yè)物聯(lián)網(wǎng)的3個關鍵步驟

    可以通過以下三個關鍵步驟使工業(yè)物聯(lián)網(wǎng)的采用更容易:數(shù)據(jù)結構、連接性、人機界面 生態(tài)系統(tǒng)。
    發(fā)表于 11-23 09:36 ?386次閱讀

    焊接貼片電阻的關鍵步驟

    貼片電阻是一種常見的電子元件,用于電路板的焊接。焊接貼片電阻需要注意一些關鍵步驟和技巧,以確保焊接質量和電路的穩(wěn)定性。
    的頭像 發(fā)表于 08-19 10:52 ?1208次閱讀

    邪惡PLC攻擊技術的關鍵步驟

    今天我們來聊一聊PLC武器化探秘:邪惡PLC攻擊技術的六個關鍵步驟詳解。
    的頭像 發(fā)表于 01-23 11:20 ?886次閱讀
    邪惡PLC攻擊技術的<b class='flag-5'>關鍵步驟</b>

    音視頻解碼器優(yōu)化技巧:提升播放體驗的關鍵步驟

    播放效果呢?以下是幾個關鍵步驟。 1. 選擇合適的解碼器 不同的解碼器在處理不同類型和格式的音視頻文件時,性能可能會有所不同。因此,選擇適合您需求的解碼器至關重要。對于大多數(shù)常見的音視頻格式,像FFmpeg這樣的開源解
    的頭像 發(fā)表于 02-21 14:45 ?573次閱讀

    MES系統(tǒng)實施的幾大關鍵步驟

    MES系統(tǒng)實施的幾大關鍵步驟--萬界星空科技MES/低代碼MES/開源MES ?在制造業(yè)中,MES管理系統(tǒng)成為了提升生產(chǎn)效率、優(yōu)化資源
    的頭像 發(fā)表于 03-08 11:38 ?591次閱讀