Intel 82599 Symmetric Receive-side Scaling

來源:互聯網
上載者:User

目前的網卡都提供了multi queue的功能, 為了提高I/O能力, 在多核cpu上可以開啟RSS功能,使同一條流的資料包hash到同一個rx queue中, 將每一個rx queue綁定到一個cpu core上, 這樣就可以多個cpu core並行的處理資料包, 使得處理能力大大的提高。

但是根據Intel 82599手冊提供的演算法, 發現目前的演算法只能將同一個tcp會話中同一個方向的資料包hash到同一個rx queue中, 而另一個方向的資料包會hash到不同的rx queue中, 這對後面應用程式層的分析會造成很大的cache trashing

下面是Intel 82599手冊提供的RSS 演算法:

function ComputeRSSHash(Input[], RSK)

ret = 0;
for each bit b in Input[] do
    if b == 1 then
        ret ˆ= (left-most 32 bits of RSK);
    end if
    shift RSK left 1 bit position;
end for

end function

為了提高效能, Intel將這個演算法通過硬體實現, 因此想要通過修改演算法而得到一個對稱的RSS幾乎是不可能的, 但是RSK是我們在驅動中可以控制的, 在driver第一次load的時候可以指定,所以我們可以通過更新RSK來得到一個對稱的hash結果。

下面是韓國人發表的一篇paper中提到的演算法

http://www.ndsl.kaist.edu/~shinae/papers/TR-symRSS.pdf

TO-DO

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.