Оценка производительности контроллеров OpenFlow: что такое надежная оценка?

Контроллеры SDN разнообразны и сложны, но у них общие цели и функции. Важным аспектом выбора контроллера SDN является то, хорошо ли он работает и достаточно ли высоки его узкие места.

В свете мудрости я наткнулся на эту оценочную статью, в которой по существу критикуется производительность OpenFlow, приводя множество убедительных причин того, почему протокол OpenFlow был реализован неоптимально. Самым интересным, на мой взгляд, было сравнение многих контроллеров SDN на аналогичных тестах.

Я использую контроллер OpenDaylight для исследований, и я нашел довольно убийственным то, что в этой статье утверждается, что ODL настолько неэффективен, что предоставление экспериментальных данных бесполезно. Это кажется нереальным утверждением, учитывая, насколько большой и активный ODL.

Хотя в документе приводится множество причин, по которым другие контроллеры OpenFlow могут работать хуже, раздражает то, что об OpenDaylight строго ничего не дается. Дополнительно отмечу, что общая логическая архитектура этих контроллеров SDN не приводится. Это беспокоит меня, потому что программируемость — это название игры с SDN, и поэтому использование в основном поведения по умолчанию (которое, как я предполагаю, и происходит в документе), вероятно, не самый надежный способ сравнить возможности контроллеров SDN. .

Скажем, контроллер A использует метод A для автоматического обнаружения топологии, а контроллер B использует метод B. Если метод B более эффективен, независимо от реализации, это приведет к явному смещению в оценках производительности обоих контроллеров. Если бы оба контроллера использовали метод B (что-то разумное, учитывая широкие возможности настройки SDN), то оценка была бы более справедливой.

Еще один момент, который меня беспокоит, это характеристики, которые оцениваются. На мой взгляд, задержка так же важна, как и производительность узкого места при обработке определенного количества сообщений в секунду на данном аппаратном узле. Для меня это гораздо меньше зависит от реализации, поскольку существует множество различных методов для выполнения аналогичных задач с SDN, но эти методы не имеют такой же «сложности» с точки зрения накладных расходов на обмен сообщениями или пакетов. оценивать.

Имеет ли это смысл? Это правильно, или я что-то упускаю? Следует ли воспринимать выступления, приведенные в газете, с долей скептицизма? Если да, то каков независимый от реализации способ оценки технологии контроллера?


person Tama Yoshi    schedule 15.11.2017    source источник


Ответы (1)


Один из моих друзей, Дэниел Фаррел из RedHat, прислал мне ссылку на ваш вопрос. Даниэль руководил проектом OPNFV CPerf в течение нескольких лет: https://wiki.opnfv.org/display/cperf CPerf — это совместный проект с участниками из ODL Integration/Test, OPNFV и рабочей группы по методологии сравнительного анализа IETF. Мы многому научились благодаря нашим усилиям по тестированию и еженедельным обсуждениям (и, конечно же, вы можете присоединиться к нам).

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

Меня тоже удивило, что авторы исключили результаты ODL из-за низкой производительности. Существует множество результатов тестирования ODL, включая результаты тестирования CI: https://wiki.opendaylight.org/view/CrossProject:Integration_Group:Performance_Test:Results Одно из интересных сравнительных исследований было выполнено членами CPerf несколько лет назад: https://www.linux.com/news/sdn-developers-report-key-lessons-testing-opendaylight-performance

Одним из сюрпризов было то, что постоянное хранилище данных (являющееся важной функцией ODL, обеспечивающей надежность и включенной по умолчанию) снижает производительность, а другие контроллеры не предлагали эту функцию или не включали ее по умолчанию. Постоянное хранилище данных должно быть отключено в ODL, чтобы сделать справедливое сравнение. Также были оценены преимущества использования SSD для хранилища данных. Более свежее тестирование контроллера ODL описано здесь: https://www.opendaylight.org/blog/2017/10/24/how-performance-testing-improved-the-nitrogen-release

Еще одна тема для обсуждения была посвящена «правильному» набору показателей для сравнительного анализа контроллеров. Мысли о проекте CPerf отражены в этой заявке JIRA: https://jira.opnfv.org/projects/CPERF/issues/CPERF-3?filter=allopenissues Один из моментов, с которым мы все согласились, заключался в том, что потеря ответов OpenFlow Packet-IN на ответы Flow-MOD была ключевым показателем для сравнительного анализа. Другими словами, многие тесты пропускной способности контроллера также одновременно измеряют задержку ответа, и пропускная способность, при которой задержка высока для многих ответов, может не представлять полезного рабочего состояния. Это также верно, когда Packet-IN не дают ответа, и CPerf согласился с тем, что измерения пропускной способности должны сообщать об уровне, при котором ответы не теряются. Один из членов нашей команды написал инструмент golang, который развертывается как зонд на контроллере: https://github.com/anastop/latte и измеряет потери и задержки на интерфейсе OF.

Я также упомянул, что рабочая группа IETF Benchmarking Methodology WG работала над спецификациями тестов контроллеров, а ведущий автор этих Internet Drafts также принимал участие в CPerf: https://tools.ietf.org/html/draft-ietf-bmwg-sdn-controller-benchmark-term-06 https://tools.ietf.org/html/draft-ietf-bmwg-sdn-controller-benchmark-meth-06

Я надеюсь, что вы найдете этот материал полезным в ваших исследованиях.

Al

person Al M    schedule 27.12.2017