URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 103916
[ Назад ]

Исходное сообщение
"Facebook представил наработки по оптимизации IPv6 в ядре Linux"

Отправлено opennews , 28-Июл-15 20:50 
Facebook представил (https://code.facebook.com/posts/1123882380960538/linux-ipv6-.../) серию патчей, решающих проблемы с масштабируемостью IPv6-стека в ядре Linux. В частности, подготовлена (http://www.spinics.net/lists/netdev/msg330403.html) реализация системы заполнения кэша маршрутизации по необходимости (cache on demand), позволяющая преодолеть проблему с разрастанием дерева маршрутов IPv6, которая приводит к повышенной нагрузке на CPU и неэффективной работе сборщика мусора.


При оценке эффективности работы кэша на одном из рабочих серверов для таблиц /128 в дерево маршрутов попало 300 тысяч маршрутов, при том, что 299 тысяч были созданы впустую. Применение патча позволило кардинально сократить число элементов в дереве маршрутов, оставив там только необходимые записи. В итоге, на тестовой системе каждый запуск сборщика мусора с патчем приводит к чистке примерно 500 записей, вместо 200 тысяч элементов кэша при использовании обычной конфигурации.

Из других патчей отмечается оптимизация (http://www.spinics.net/lists/netdev/msg301225.html) выполнения вызова fib6_lookup() и решение (http://www.spinics.net/lists/netdev/msg326680.html) ряда проблем для маршрутов /128. Подготовленные изменения уже переданы для включения в состав основного ядра Linux. В дальнейшем оптимизацию планируется продолжить, так как по оценке Facebook из-за неэффективных методов блокировки произвольность IPv6-стека примерно на 10 процентов отстаёт от стека IPv4.

<center><a href="https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-xaf1/t39.2365... src="http://www.opennet.me/opennews/pics_base/0_1438104999.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>

URL: https://code.facebook.com/posts/1123882380960538/linux-ipv6-.../
Новость: http://www.opennet.me/opennews/art.shtml?num=42682


Содержание

Сообщения в этом обсуждении
"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено A.Stahl , 28-Июл-15 20:50 
>неэффективной работе сборщика мусора

А расскажите кто в курсе дел, что это за сборщик мусора такой? Он внутренний для обслуживания IPv6 или это что-то общеядерное?


"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено колян , 28-Июл-15 21:25 
че, лет ми  гугл зис фор ю
http://lxr.free-electrons.com/ident?i=fib6_run_gc

"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено burjui , 29-Июл-15 14:01 
На будущее: http://lmgtfy.com/?q=fib6_run_gc

"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Аноним , 29-Июл-15 14:45 
Короче, ты не знаешь

"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Alukardd , 28-Июл-15 21:54 
> проблему с разрастанием дерева маршрутов IPv6, которая приводит к повышенной нагрузке на CPU

Дык в ядре уже есть похожие проблемы...
Хорошо мысль донёс amarao в одном из своих коментов на Хабре (http://habrahabr.ru/company/wargaming/blog/256647/#comment_8...).


"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Crazy Alex , 28-Июл-15 22:01 
Скорее всего потому, что так извращаться просто никому особо не нужно

"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено oops , 29-Июл-15 11:45 
любопытный эксперимент озвучил amarao.
Я вот на FreeBSD 10.2-RC1 amd64 попробовал в виртуалке с одним ядром и 512МБ памяти то же самое в баше:

# for a in {1..255}; do for b in {1..255}; do time ifconfig hn0 add 172.16.$b.$a/32; done; done

До 172.16.255.255 машина дошла чуть больше, чем за час (на 2 минуты).

Последние адреса добавлялись максимум за 0.3 секунды.

# ifconfig hn0 | grep inet | wc -l
   65025
# time ifconfig hn0
real 0m0.641s
user 0m0.228s
sys  0m0.411s

Никаких проблем. Система себя чувствует отлично!

Вот вам и боясдэ!


"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Crazy Alex , 29-Июл-15 12:07 
Да пофигу. Она боясдэ - это достаточно, чтобы желать ей побыстрее сдохнуть.

Ну и да, если оно в линуксе до сих пор так и лаже бага в багтрекере не видно - значит, такие извраты вообще никому не нужны.


"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено oops , 29-Июл-15 12:10 
> Да пофигу. Она боясдэ - это достаточно, чтобы желать ей побыстрее сдохнуть.
> Ну и да, если оно в линуксе до сих пор так и
> лаже бага в багтрекере не видно - значит, такие извраты вообще
> никому не нужны.

как это никому не нужны? А тысячи контейнеров в хостингах и у гуглов?


"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Crazy Alex , 29-Июл-15 12:43 
Вот так. Вы видели где-то в интернете жалобы на это, связанные с реальными ситуациями, а не синтетику от амарао?

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


"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Andrew Kolchoogin , 29-Июл-15 12:51 
> Вы видели где-то в интернете жалобы

Да-да. Этого не было на дваче. :)


"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Crazy Alex , 29-Июл-15 13:25 
Если проблема распространена - о ней говорят. А если молчат - значит,либо е вообще нет, либо она у полутора человек, им её и править. Linux way, чо - делать то, что реально нужно практикам.

"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Аноним , 29-Июл-15 16:52 
> как это никому не нужны? А тысячи контейнеров в хостингах и у гуглов?

А в тысячах контейнеров обычно все-таки свои интерфейсы, в своих неймспейсах. И это очень отдельный бенч, совсем иной ситуации. Но бздшники застрявшие на уровне jails просто не в курсе такой ерунды. Они лучше 65К айпи на один интрерфейс навесят.


"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Andrew Kolchoogin , 29-Июл-15 12:42 
> Да пофигу. Она боясдэ - это достаточно, чтобы желать ей побыстрее сдохнуть.

А мышки будут и дальше плакать и колоться, но продолжать есть кактус.

Linux way, чо...


"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Crazy Alex , 29-Июл-15 13:22 
Ну да, не всем хочется стимулировать пятую колонну, полезную майкрософту, эпплу, сони и прочей подобной сволочи.

А второй нюанс - это "преимцщество" бзды, как обычно, оказалось сомнительным. У меня сейчас этот однострочник закончился - к концу 0.024...0.027 с пиками до 0.036. То есть примерно _на порядок_ шустрее, чем у oops на фре. Никаких ожиданий по пол-часа и близко нет. Причин для такой разницы с результатами amarao может быть валом, но на кактус не слишком похоже :-)


"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено oops , 29-Июл-15 15:41 
> А второй нюанс - это "преимцщество" бзды, как обычно, оказалось сомнительным. У меня сейчас этот однострочник закончился - к концу 0.024...0.027 с пиками до 0.036. То есть примерно _на порядок_ шустрее, чем у oops на фре.

Ну да, это прям честное сравнение и вменяемое тестирование =)


"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Crazy Alex , 29-Июл-15 15:46 
>> А второй нюанс - это "преимцщество" бзды, как обычно, оказалось сомнительным. У меня сейчас этот однострочник закончился - к концу 0.024...0.027 с пиками до 0.036. То есть примерно _на порядок_ шустрее, чем у oops на фре.
> Ну да, это прям честное сравнение и вменяемое тестирование =)

Нормальное сравнение - как и вы прогнал скрипт на первой попавгейся машине. И увидел, почему стонов в интернетах нет - потому что проблема какая-то экзотическая.


"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Аноним , 29-Июл-15 16:48 
У бздюков нормальное сравнение - если побеждает бзда. Иначе это плохое, негодное сравнение.

"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Аноним , 29-Июл-15 16:53 
> Linux way, чо...

Покажи например аналог ipset в бздах. Чтоб файрвол не стал колом при списке на 100500 айпишников.


"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Аноним , 29-Июл-15 15:46 
> Вот вам и боясдэ!

Вот пусть кому надо зачем-то вешать на 1 и-фейс столько айпи и пользуются бояздами.


"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Аноним , 29-Июл-15 16:51 
малый гонит просто... но меня бомбануло, да.. и я тут дурью пострадал:
time for i in {1..254};do for j in {1..254};do time ip addr add 192.168.${i}.${j}/24 dev eth0.50;done;done
...
real    0m0.005s
user    0m0.000s
sys     0m0.000s

real    0m0.005s
user    0m0.000s
sys     0m0.000s

real    3m31.167s
user    0m3.803s
sys     0m24.347s

Linux 3.14.23 #2 SMP Wed Nov 5 19:46:54 MSK 2014 x86_64 Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz GenuineIntel GNU/Linux


"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Аноннн , 28-Июл-15 21:58 
Картинка интересна.

"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Пабло Пикассо , 28-Июл-15 22:57 
В фотошопе рисовали графики?

"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Аноним , 28-Июл-15 22:59 
Нормальные графики чо

"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Пабло Пикассо , 28-Июл-15 23:00 
Слишком недостоверно одинаковые

"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено yukra , 28-Июл-15 23:13 
Люблю графики без подписей по обоим осям.

"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Аноним , 29-Июл-15 12:50 
Ну и так же всё понятно. Наша жизнь скоро станет в 36 раз лучше.

"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Алсла , 28-Июл-15 23:42 
Все равно фейсбукмненедруг . Рф

"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Аноним , 29-Июл-15 03:57 
Это ж насколько всё через задницу сделано было? И как получилось, что настолько кривой код был в ядре? Что-то я не помню новости о матюках Линуса в адрес авторов стека IPv6.

"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Crazy Alex , 29-Июл-15 04:17 
Распространённости пока особой нет - нет и багов в трекере, нет и повода их чинить. Более-менее сложную систему практически нереально протестировать в искусственных условиях, особенно если не на баги, а на производительность. Уж слишком много факторов, о половине которых и не догадаешься, пока о них не побьёшься.

"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Andrew Kolchoogin , 29-Июл-15 12:41 
> Более-менее сложную систему практически нереально протестировать в искусственных условиях

Ну-ну. Скажите это BSD'шникам, написавшим нормальный KAME практически в лабораторных условиях.

Может быть, всё дело в том, что у Линуксоидов руки растут из того места, из которого у нормальных людей растут ноги?


"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Crazy Alex , 29-Июл-15 13:32 
Хм, интересно, как можно оценить "нормальность", если нет широкой эксплуатации. Ванга сказала?

Тебя не смущает, что ты сейчас выглядишь идиотом, споря с трюизмом? Ну да, нет способа сказать, какой трафик будет распространён, какие технологии станут модными через год (и какие ресурсы они потребуют в ядре), какие техники DDOS станут популярными, и так далее. Поэтому либо практика - критерий истины, либо иди писать на каком-нибудь хаскеле красивых сферических коней в вакууме.


"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Аноним , 29-Июл-15 15:12 
> Более-менее сложную систему практически нереально протестировать в искусственных условиях, особенно если не на баги, а на производительность. Уж слишком много факторов, о половине которых и не догадаешься, пока о них не побьёшься.

Можно-можно. Но это чрезвыйчайно трудоемко. Трудоемкость такая что затраты на тестирование сильно перекрывают затраты проектирования и разработки (я занимался подобными делами). Вооруженные силы - это кажется единственный случай когда есть смысл вкладываться в подобные этапы.


"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Crazy Alex , 29-Июл-15 15:42 
Ну да, наль было оговориться, что я коммерческие системы имел с виду. Хоия в вашем соучае, полагаю, условия эксплуатации более контролируемы.

"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено fi , 30-Июл-15 15:04 
> Распространённости пока особой нет

Ничего, сейчас запустят v6 как миленькие :)

зы. пишут что v4 совсем в штатах закончились, теперь будут делать --force v4=>v6


"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Аноним , 29-Июл-15 16:34 
млин, социальные сети - средоточие лучших спецов. дожили.

"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Аноним , 29-Июл-15 17:19 
> млин, социальные сети - средоточие лучших спецов. дожили.

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


"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Crazy Alex , 29-Июл-15 18:02 
Дык, прогресс делается на деньги дураков. Лишь бы дальше распространялся, но с этим, как видим, всё в порядке

"Facebook представил наработки по оптимизации IPv6 в ядре Lin..."
Отправлено Аноним , 30-Июл-15 12:35 
Ничего что в адалте такие нагрузки, что вам и не снились? Или, может, снились, но в мокрых снах? )