2017-02-07 FOSDEM 2017
by Vasil KolevИ преживяхме FOSDEM 2017.
Бяхме там с Марио, Любо, Маги, neter и zeridon (а Мариян беше там да присъства на конференцията, но се включи към нас) да правим видео/аудио записите и streaming-а. Три дни се ставаше рано и цял ден се дебъгваше (и за доста от хората – тичаше напред-назад, Любо каза, че единия ден е направил 27000 крачки), имаше всякакви странни проблеми и като цяло беше голямо забавление, приключено със ставане в 6:30 в понеделник да си хванем самолета. Като се прибрах спах 12 часа. Справихме се със събитие от 24 зали, два дни, около 600 лекции и 8-9 хиляди посетители (и не знам колко точно дъжд).
Малко снимки има на /pics/201702fosdem/, като на една от тях може да се види колко съм щастлив (това е в петък още, после имах основно уморен вид).
(снимките са от Мариян и Любо, като ще се опитам да намеря и още)
Като статистики не съм събирал кой-знае колко, мога да кажа само че пиковият трафик на restreamer-ите беше 630mbps, далеч под очакванията (това, което бяхме подготвили можеше да издържи спокойно 4gbps и се разширяваше лесно). Някакъв status на видео записите може да се види в review системата, като мога да се похваля, че имахме готови видеа още в събота вечер, а като гледам днес вече са release-нати половината.
И най-интересната част, проблемите, в които се набих (като преди това може да искате да прочетете архитектурата и да видите схема с една зала):
Явно съм забравил какво значи best effort в IP/Ethernet мрежите. При 72та multicast stream-а и при 300pps на всеки в един момент се оказа, че по switch-овете има microburst-ове, които ни ядат пакетите от време на време. Това водеше до примигване на някои stream-ове, до ошашкване на ingest-ващия ffmpeg и вадене на картина с 1fps (като па аудиото си беше добре), артефакти и други гадости.
– Първият опит за решение беше включване на flow control-а. Това доведе до спиране на всичко за 5-10 минути (и липса на stream и видеа в review системата от тоя период, добре, че има записи по кутиите) и желание за по-внимателни fix-ове.
– Последва ровене по switch-овете, забелязване на едни броячи за твърде големи пакети и след това форсиране на 1000 байта горна граница на пакетите във ffmpeg. Не помогна;
– Вдигнахме за всеки случай и MTU-то на switch-овете, пак не помогна;
– Като вариант за pacing на портовете преместихме някакви неща на 100mbps да вкараме изкуствено забавяне, тотално омаза ситуацията;
– В един момент единия от мрежарите откри, че няма контрол в/у буферите на повечето switch-ове и реално ползваме 1/4 от буферите (щото всичкия ни трафик се набива в една опашка от 4те) и че няма свестен начин да използваме и 4те. Само на единия switch бяха пипнати и помогна, но малко;
– Смъкнах и bandwidth-а на входящите stream-ове от 4mbps на 2mbps, не помогна особено.
Решението за догодина е или Reliable Datagram Socket (Мариян обеща да напише support-а за ffmpeg и го държа отговорен), някакъв forward error correction (някакви хора са написали pro-mpeg поддръжка за ffmpeg, но не е merge-ната), или lossless мрежа и по-добри буфери (което казаха, че може и да може да се осигури за догодина). Шегувахме се, че мога да мина на infiniband за видеото.
Интересно е, че всъщност съм се сетил за проблема, но не ни се е видяло достатъчно важно да мислим решение.
Другите проблеми бяха по-малко интересни – утрепахме тока на сървърното (докато включвахме неща в съвсем друго място), хората не знаеха как да ползват микрофони, гърмя хардуер, валя дъжд (но не в залите), хората тичаха, врати се заключваха (автоматично), за малко neter и Мариян заседнаха в един асансьор и куп други неща, дето вече не помня.
(и за разлика от openfest, тук сървърите не бяха в/у тръбите на парното, а в стаята до него…)
Update: Току-що открих, че push-ването на видео извън мрежата е генерирало ~600GB, а системата, която генерира картинките за преглеждане на контролния интерфейс – ~7.1TB (постоянни 300mbps). Май съм бил най-големия генератор на изходящ трафик на FOSDEM 2017. Чудя се да се радвам ли или да се ужасявам.
February 9th, 2017 at 12:06
Здрасти здрасти,
Благодарение на вашата работа, въпреки че бях с плътен график и тичах между сградите което не ми се беше случвало от 7ми клас до сега имам възможността да изгледам останалите 13 лекции които също ми се искаше да видя.
Беше затиснат от задачи и не успях да изкопча информация за техниката която ползвахте на FOSDEM и успях само да ти кажа здрасти пред NOCa :)
Може ли да споделиш малко summary каква техника използвахте/ви беше нужна там? Не е необходимо да бъде супер детайлна презентация както бяхте направили на OpenFesta(въпреки че беше супер добра).
Поздрави
February 9th, 2017 at 12:09
@Eddie, ами … почни с github.com/fosdem/video, аз мисля да напиша нещо, но си почивам малко, щото написах един гигантски writeup за как е минало събитието (който също ще кача тия дни). Още изяснявам и разни работи и какво искам за догодина и по-догодина :)