В компьютерных сетях , большой получить разгрузку ( МРО ) представляет собой метод для увеличения входящих пропускной способности высоко- пропускной способности сетевых соединений за счетом уменьшения центрального процессора (CPU) накладные. Он работает путем объединения нескольких входящих пакетов из одного потока в больший буфер, прежде чем они будут переданы выше по сетевому стеку, тем самым уменьшая количество пакетов, которые должны быть обработаны.
Большая разгрузка приема
Реализации Linux обычно используют LRO в сочетании с новым API (NAPI), чтобы также уменьшить количество прерываний .
Согласно тестам, даже реализация этого метода полностью в программном обеспечении может значительно повысить производительность сети. [1] [2] [3] По состоянию на апрель 2007 г.[Обновить], ядро Linux поддерживает LRO для TCP только программно. FreeBSD 8 поддерживает LRO аппаратно на адаптерах, которые его поддерживают. [4] [5] [6] [7]
LRO не должен работать на машинах, действующих как маршрутизаторы, поскольку это нарушает принцип сквозного соединения и может значительно повлиять на производительность. [8] [9]
Обычная разгрузка приема
Общая разгрузка приема ( GRO ) реализует обобщенное LRO в программном обеспечении, которое не ограничивается TCP / IPv4 или имеет проблемы, созданные LRO. [10] [11]
Смотрите также
- Разгрузка большой отправки (LSO)
- Механизм разгрузки TCP (TOE)
Рекомендации
- ^ Джонатан Корбет (2007-08-01). «Большая разгрузка приема» . LWN.net . Проверено 22 августа 2007 .
- ^ Аравинд Менон, Вилли Зваенепол (28 апреля 2008 г.). «Оптимизация производительности приема TCP» . Цитировать журнал требует
|journal=
( помощь ) - ^ Эндрю Галлатин (25.07.2007). "lro: Общая разгрузка большого приема для трафика TCP" . linux-kernel (список рассылки) . Проверено 22 августа 2007 .
- ^ "Cxgb" . Freebsd.org . Проверено 12 июля 2018 .
- ^ "Mxge" . Freebsd.org . Проверено 12 июля 2018 .
- ^ "Nxge" . Freebsd.org . Проверено 12 июля 2018 .
- ^ «Низкая производительность TCP может возникнуть на виртуальных машинах Linux с включенным LRO» . VMware . 2011-07-04 . Проверено 17 августа 2011 .
- ^ «Базовый драйвер Linux * для семейства адаптеров Intel (R) Ethernet 10 Gigabit PCI Express» . Корпорация Intel . 2013-02-12 . Проверено 24 апреля 2013 .
- ^ «Отключить LRO для всех сетевых адаптеров, на которых включен LRO» . Red Hat, Inc. 2013-01-10 . Проверено 24 апреля 2013 .
- ^ «JLS2009: общая разгрузка приема» . lwn.net .
- ^ Хуанг, Шу; Балдин, Илья (2012). «Оценка производительности сетевых карт 10GE с поддержкой SR-IOV: виртуализация ввода-вывода и оптимизация сетевого стека». В Schmitt, Йенс Б. (ред.). Измерение, моделирование и оценка вычислительных систем, надежности и отказоустойчивости: 16-я Международная конференция GI / ITG, MMB & DFT 2012, Кайзерслаутерн, Германия, 19–21 марта 2012 г., Труды . Конспект лекций по информатике. 7201 . Берлин: Springer. п. 198. ISBN 9783642285400. Проверено 11 октября 2016 .
Большой прием-разгрузка (LRO) снижает накладные расходы на обработку каждого пакета, объединяя более мелкие пакеты в более крупные и передавая их в сетевой стек. Generic-Receive-Offload (GRO) предоставляет обобщенную версию программного обеспечения LRO [...].