2015-07-17 10 views
0

DPDK, по-видимому, обеспечивает впечатляющее повышение производительности для некоторых приложений, но я не думаю, что серверы выиграют почти так же, как и маршрутизаторы/коммутаторы.Будет ли интеграция с DPDK выгодной с точки зрения производительности для сервера DNS/DHCP/DNSSEC?

Я не видел упоминания о том, что это делается или работал, поэтому мне просто интересно, стоит ли работать над этим.

ответ

0

DPDK сам по себе обеспечивает только доступ к устройству уровня 2 (то есть Ethernet). Таким образом, сначала вам нужно будет создать стек верхнего уровня (то есть IP) и уровень 4 (т. Е. TCP/UDP) поверх него. Вы можете использовать KNI, чтобы обойти это, но я не думаю, что в этом случае помогут (несколько небольшие) преимущества производительности.

Даже после получения всех этих слоев это все равно, вероятно, не поможет, потому что коэффициенты попадают в приложение (большая вещь, которую оптимизирует DPDK) вряд ли будет узким местом в чем-то вроде DNS или DHCP (если, возможно, они были очень простыми, реалистичными костями).

Некоторые другие оговорки включают в себя необходимость посвятить по крайней мере целое ядро ​​только DPDK, и в большинстве случаев DPDK возьмет на себя весь интерфейс, то есть вы не сможете использовать его ни для чего другого.

+0

Спасибо за ответ, это очень полезно. Я вижу, что были созданы полные стеки TCP/IP, 6wind требует резкого увеличения скорости при выполнении необходимых вычислений в пакете. Считаете ли вы, что это было бы полезно в DNSSEC, или это накладные расходы из TCP слишком малы по сравнению с остальной частью операции. Выделение целого ядра может не работать хорошо в обычной среде, но в сочетании с SR-IOV может стоить того, чтобы он торговал. – user2163300