<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          性能調(diào)優(yōu)之PCIe配置

          共 3601字,需瀏覽 8分鐘

           ·

          2023-09-04 10:13

          來源:高性能算力網(wǎng)絡(luò)

          理解PCIe配置對(duì)性能的影響

          PCIe用途

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

          PCIe 屬性

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

          PCIe 寬度

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

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


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


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

          PCIe 速度

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


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


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

          PCIe 速度被標(biāo)識(shí)為“代”,其中 2.5GT/s 稱為“gen1”,5GT/s 稱為“gen2”,8GT/s 稱為“gen3”,16GT/s 稱為“gen4”.

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

          PCIe Max Payload Size

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


          lspci -s 04:00.0 -vvv | grep DevCtl: -C 2DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimitedExtTag+ 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ǐng)求。由于必須為傳入響應(yīng)準(zhǔn)備緩沖區(qū),PCIe 設(shè)備通常會(huì)跟蹤待處理的讀取請(qǐng)求的數(shù)量。PCIe 最大讀取請(qǐng)求的大小可能會(huì)影響待處理請(qǐng)求的數(shù)量(當(dāng)使用大于 PCIe MTU 的數(shù)據(jù)獲取時(shí))。同樣,使用命令 lspci 來查詢 Max Read Request 值。


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


          與此處討論的其他參數(shù)相反,可以在運(yùn)行時(shí)使用命令 setpci 更改 PCIe Max Read Request:首先,查詢?cè)撝狄员苊飧采w其他屬性:


          # setpci -s 04:00.0 68.w5936


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


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


          該值應(yīng)使用命令 lspci 更新:


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


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

          計(jì)算 PCIe 帶寬限制

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

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

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

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


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

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

          PCIe Max Read Request 和 Max Payload Size 可能會(huì)由于 PCIe 整體增加和相同負(fù)載的待處理事務(wù)而導(dǎo)致事務(wù)速率限制。



          10T 技術(shù)資源大放送!包括但不限于:Linux、虛擬化、容器、云計(jì)算、網(wǎng)絡(luò)、Python、Go 等。在 開源Linux 公眾號(hào)內(nèi)回復(fù) 10T,即可免費(fèi)獲?。?/span>

          有收獲,點(diǎn)個(gè)在看 

          瀏覽 508
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产尤物视频 | 人人色人人搞 | 98精品国产乱码久久久久久 | 插逼逼视频 | 爱爱视频网址 |