На 40GE еще можно в софте, если найти сетевые которые его выжмут. Софту — это не проблема. Проблема как раз на моменте сопряжения проца и эзернета. А вот сотка — безальтернативно :)
GPU — плохая идея, там шина очень узкая. Потому что нужно аж дважды прогнать трафик от NIC/PCIE к CPU, потом в GPU, потом вернуть по той же схеме и отправить в сеть. Не особо оптимальная тема выходит. Обработка без затрагивания шины PCIE наиболее приятный вариант :)
Риквестую статьи про FPGA с минимальным порогом входа :) Мне из софтварного мира крайне сложно разобраться с сабжем без возможности потрогать руками на недорогом девките :(
Шедевральный труд :) Спасибо, никогда не читал таких глубоких статей на русском! Еще очень понравилась тема приложения-примера, мы пытались нечто такое делать, но из юзерспейса — github.com/FastVPSEestiOu/linux_network_activity_tracker Конечно, в kernel space такое реализовывать красивее и как показала Ваша статья — проще.
Нет, Netmap никакого отношения к custom железу не имеет, он работает исключительно на серверах общего назначения. А про offload в статьей итак сказано.
Чтобы не было вот таких казусов «Может содержать не более 8 000 правил. Классификатор пакетов Perfect filter просматривается/настраивается через ethtool -u/U flow-type. Возможно, это та же фильтрация, которая настраивается утилитой testpmd (см. выше).» предлагаю к прочтению это
Кстати, нашел тут тикет товарища: bugzilla.openvz.org/show_bug.cgi?id=2823, попросил дать комментарии в нем. У нас вроде такой проблемы не было, но надо проверить внимательно… Займемся.
Никаких подвижек, мы её не используем по причине означенных проблем :( Саппорт || также не может сказать однозначно о оверхеде и серьезных доводах за и против данного флага.
Не лучшая идея, это серьезно увеличивает потребление памяти и вызывает проблемы в случае, когда памяти достаточно и она еще могла бы быть использована под кэш и ускорение впски. А в этом случае кэша не будет и будет долбаться дисковая система.
Это плохое решение данной проблемы. Хорошее — аналог ZFS/L2ARC.
Там есть хитрый файлик, ftp.openvz.org/template/precreated/.listing он сокрытый и там список всех шаблонов, что есть :) А силами запроса HEAD можно выдернуть дат изменения.
Я не буду сильно жесток, если скажу, что в проекте OpenVZ эта тулза есть искаропки openvz.org/Man/vztmpl-dl.8? Мало того, она на баше и может быть перенесена в любой дистрибутив
head /usr/sbin/vztmpl-dl
#!/bin/sh
# Copyright (C) 2011-2013, Parallels, Inc. All rights reserved.
Задача — захват трафика на максимальной скорости, она очень универсальна и требовать от пользователя смены ОС для работы приложения — довольно странно.
AF_PACKET гибче netmap, если про то зашла речь, аналогов ему в FreeBSD нету. Netmap полностью отключает сетевую от стека, что в ряде случае недопустимо и трафик нужно смотреть на живом интерфейсе, подключенном к сетевому стеку ОС.
divert сокеты медленны и подобных AF_PACKET'у скоростей не дадут.
Полной скорости добиться можно без таких сложностей, PF_RING/NETMAP/DPDK дают полные 14.6 MPPS на захват. А вот 40GE — это уже иной мир, там все сложнее :)
Еще раз спасибо :)
Это плохое решение данной проблемы. Хорошее — аналог ZFS/L2ARC.
:)
AF_PACKET гибче netmap, если про то зашла речь, аналогов ему в FreeBSD нету. Netmap полностью отключает сетевую от стека, что в ряде случае недопустимо и трафик нужно смотреть на живом интерфейсе, подключенном к сетевому стеку ОС.
divert сокеты медленны и подобных AF_PACKET'у скоростей не дадут.