網路快取區

網路緩衝區按分配的時機分類,可分為動態分配方式,預先分配方式和覆蓋方式。動態分配方式是指在準備接收下一新幀時通過系統調用為接收描述符分配緩衝區。需要緩衝區時才進行分配,具有記憶體開銷小的優點;但需調用核心函式動態地分配記憶體,因此它 CPU 開銷大。現在網卡驅動一般採取的動態分配方式,如 e1000-3.15.9智慧型網卡的原驅動等。預先分配方式是指在網路初始化時預先分配一定數量的緩衝塊放入緩衝池中,準備接收下一新幀時,從緩衝池中為接收描述符分配緩衝區。

由於事先已分配好緩衝區,再進行緩衝區分配時只需進行指針的操作,因此它 CPU 開銷小。但需要在初始化時分配足夠多的緩衝塊,為幀的處置贏得足夠的處置時間,未處理完前,保證它不會被新幀覆蓋,因此,預先分配方式的記憶體開銷大。覆蓋方式是指在接收幀時,不再為接收描述符分配緩衝區,而是將緩衝區的數據拷貝到另一記憶體空間等待處理,重複利用此描述符所指向的快取區接收新幀。但在測試中,沒有對幀進行備份,目的獲得理想條件下的智慧型網卡的報文接收性能。網路緩衝區按其分配的位置分類,可分為 SRAM 方式和 DDR 方式。

SRAM 方式是指緩衝區從 SRAM 中分配。智慧型網卡有一塊用作二級 Cach SRAM 考慮到網路流處理時間局域性差的特點,禁止了 SRAM Cach 功能,而將它當一般記憶體使用。根據 SRAM 物理特性, SRAM 方式具有訪存快的優點,缺乏是容量有限。 DDR 方式是指緩衝區從 DDR 中分配。有足夠大的空間可用於分配,可擴展至 512MB 但與SRAM 方式相比,訪存速度慢,較耗 CPU 資源。

相關詞條

熱門詞條

聯絡我們