ESTIMATION OF SCALABILITY OF SDN CONTROLLER`S LATENCY ON PARALLEL COMPUTING SYSTEM


Cite item

Full Text

Abstract

In this article, we present a study of software-defined network`s controller latency scaling on parallel computing system. Metrics of parallel computing, such as speedup and efficiency, were determined. Amdahl`s law for multicore processors with thread-level parallelism has been considered. The range of applicability for Amdahl`s law has been established. The test bed and the methodology of experiments has been discussed in detail. Latency of OpenDaylight controller, which has been run on server with Intel Xeon central processor, has been measured by Cbench utility. As a result, the sequential fraction of OpenDaylight code, as well as speedup and efficiency has been calculated. It is concluded that the sequential fraction of code is increasing during experiment with a growth of number of processor core and it is necessary that a more thorough study of the phenomenon should be performed. The findings also indicates that Hyper-Threading technology is allow to reduce a latency of software-defined network`s controller and improve of efficiency of central processor usage.

Full Text

Внедрение в эксплуатацию сетей, реализующих идеологию разделения уровня управления трафиком от уровня передачи данных, получившей название программно-конфигурируемые сети (ПКС), порождает вопросы соблюдения оператором установленных норм функционирования IP-сетей [1-4]. Существует ряд работ [5-9], показывающих наличие зависимости параметров производительности сети в целом от производительности единого центра управления сетью, называемого в рамках данной концепции ПКС-контроллером и представляющего собой программно-аппаратную платформу на базе сервера общего назначения, использующего центральные процессоры (ЦП) архитектуры x86. В архитектуру современных ЦП положена идея параллельных вычислений: процессоры снабжаются несколькими вычислительными ядрами, а каждое ядро может обеспечить параллелизм на уровнях инструкций, обработки данных и потоков [10]. В случае необходимости увеличения производительности аппаратной платформы эксплуатируемого ПКС-контроллера, системный администратор может активировать технологию распараллеливания на уровне потоков, которая в случае процессоров Intel именуется Hyper-Threading, либо осуществить замену ЦП на модель с большим числом вычислительных ядер. Однако перед принятием таким мер необходимо убедиться в том, что эффект будет положительный для конкретного приложения [11-12]. В рамках данной статьи авторами рассматривается задача по выявлению закономерностей, позволяющих оценить масштабирование задержки ПКС-контроллера на параллельной вычислительной системе. Метрики и закономерности параллельных вычислений Для оценки работы программы на параллельной вычислительной системе часто используют такие метрики параллелизма, как ускорение и эффективность. Рассмотрим каждую из этих метрик. Ускорение - это отношение времени, затрачиваемого на выполнение задачи однопроцессорной системой ко времени выполнения этой же задачи - процессорной системой. Обозначим через количество процессоров в вычислительной системе; - объем вычислительных операций;- скорость вычислений одним процессором; - время выполнения задачи на процессорах. Тогда время выполнения вычислений на однопроцессорной системе может быть определено по формуле На практике ни одну из задач невозможно распараллелить полностью, поскольку существуют фрагменты задачи, выполнить которые можно только последовательно, например, ввод/вывод данных. Следовательно, любая задача, выполняемая на многопроцессорной системе, имеет последовательную и параллельную части. Пусть - время выполнения последовательной части решаемой задачи, тогда - время выполнения параллельно части. Очевидно, что . Тогда время выполнения вычислений на - процессорной системе можно определить: Тогда, согласно данному выше определению, ускорение определяется как (2) Подставляя и в , получим Выражение является математической записью закона [13-14], полученного Дж. Амдалом, известным архитектором компьютерных систем. Отметим, что данный закон имеет ряд ограничений. Считается, что объем решаемой задачи фиксирован (), а выигрыш от дополнительных процессоров заключается в снижении времени вычисления. В законе Амдала не учитывается работа с памятью и издержки коммуникации между процессорами, а также он применим для равночастотных ЦП одинаковой архитектуры [13-14]. В 2008 г. М. Хилл и М. Марти в работе [15] предложили математическую запись закона Амдала для многоядерных процессоров и собственную методику классификации конфигурации ЦП. Они ввели понятие «основной ядерный эквивалент» (Base Core Equivalent - далее BCE), в состав которого входят все ресурсы процессора, которые можно отнести собственно к ядрам (общие для ядер ресурсы в состав BCE не включаются). В зависимости от способа группировки BCE на чипе, можно выделить процессоры симметричной (гомогенной), асимметричной (гетерогенной) и динамической конфигурации. Наиболее популярные серверные процессоры Intel Xeon можно отнести к процессорам с симметричной конфигурацией, при которой каждое ядро состоит из одного BCE [16]. Рассмотрим математическую запись закона Амдала для многоядерных симметричных процессоров. Пусть - общее число BCE, из которых могут быть скомпонованы ядра; - число BCE, составляющих ядро ЦП; - число ядер ЦП; - условная производительность одного BCE; - доли последовательной и параллельной части программы. Закон Амдала в записи Хилла-Марти имеет следующий вид: Стоит сказать, что ограничения закона Амдала распространяются и на его запись, предложенную Хиллом и Марти: в математическом выражении не учитывается работа с памятью и издержки коммуникаций между ядрами, а также разница тактовых частот ядер ЦП. Для определения линейной доли кода программы преобразуется к виду Расчет линейной доли кода имеет смысл осуществлять при , так как в случае использования одноядерного процессора значение ускорения . При использовании многоядерных процессоров симметричной конфигурации с ядрами, состоящими из одного BCE каждое, коэффициент . Для учета в записи закона Амдала технологии Hyper-Threading добавим коэффициент, описывающий ускорение от распараллеливания на уровне потоков, рассчитываемый как отношение времени выполнения задачи на ЦП без Hyper-Threading ко времени выполнения этой же задачи на ЦП с Hyper-Threading при равном числе ядер: Подставляя в , получим запись закона Амдала для многоядерных процессоров с Hyper-Threading: Исходя из такой записи закона Амдала будем в дальнейшем понимать под линейной долей кода ту часть программы, которую можно выполнить параллельно на физических ядрах ЦП, не учитывая распараллеливание потоков. Тогда технология Hyper-Threading рассматривается как способ оптимизации выполнения кода на одном ядре ЦП. Помимо ускорения, для оценки качества параллелизма весьма полезной метрикой является эффективность использования ядер процессора, определяемая как отношение ускорения к числу ядер: B идеальном случае ускорение зависит только от числа ядер , то есть зависимость имеет линейный вид. Эффективность же должна стремиться к единице , однако в случае использования Hyper-Threading может и превысить это значение. Однако данные показатели качества параллельных вычислений в некоторой степени противоречат друг другу, поскольку с увеличением числа ядер ЦП можно получить прирост ускорения при, как правило, снижении эффективности. Методика эксперимента и обоснование применимости закона Амдала Одной из ключевых метрик производительности ПКС-контроллера, описанной в проекте Рекомендации Инженерного совета Internet (IETF) [17], является задержка (latency). Задержка есть время, необходимое контроллеру на обработку одного асинхронного сообщения, отправляемого для установки нового потока на коммутаторе. Единицами измерения являются миллисекунды. Чем меньше задержка, тем выше производительность контроллера [17]. При экспериментальном исследовании задержки для повышения точности получаемых результатов рекомендуется повторять каждый тест 10 раз, после чего высчитывать среднее из полученных значений [17]. На данный момент существует весьма ограниченное число утилит для тестирования производительности ПКС-контроллеров, находящихся в свободном доступе [18]. Для экспериментального исследования масштабирования задержки ПКС-контроллера была выбрана утилита Cbench, поскольку её возможностей достаточно для требуемой задачи. Принцип действия Cbench заключается в эмуляции OpenFlow-коммутаторов, генерирующих асинхронные OpenFlow-сообщений packet_in. Данный тип сообщений, отправляется коммутатором в качестве запроса на установку нового правила в таблицу потоков. Cbench позволяет задавать длительность одного теста, количество тестов за один запуск, количество оконечных узлов, подключенных к коммутатору и количество коммутаторов в сети. Для измерения задержки контроллера предназначен режим latency, при котором каждый коммутатор отправляет контроллеру сообщение packet_in и дожидается ответа flow_mod на отправленный запрос, прежде чем отправить следующий. Таким образом, режим latency позволяет определить время обработки одного сообщения, или задержку. Исходя из условий применимости закона Амдала, можно предположить, что данный закон может использоваться для теоретической оценки максимально достижимого ускорения задержки ПКС-контроллера, поскольку при использовании утилиты Cbench в режиме latency объем задачи зафиксирован: и включает в себя последовательность действий контроллера по обработке единичного запроса типа packet_in от OpenFlow-коммутатора. Сценарий тестирования и описание тестового стенда С использованием утилиты Cbench был разработан следующий сценарий тестирования задержки ПКС-контроллера. Cbench запускался в режиме latency, при этом в ходе теста количество эмулируемых оконечных узлов и коммутаторов оставалось постоянным и равнялось 105 и 16 шт. соответственно. Таблица 1. Аппаратная конфигурация тестового стенда Компонент ЦП Объем ОЗУ, Гб Операционная система ПКС-контроллер Intel Xeon CPU E3-1241 v3 3,5 ГГц (4 ядра, 8 потоков) 16 Ubuntu Server 14.04 Сервер-нагрузчик Intel Core i5 4590 3,3 ГГц (4 ядра) 32 Windows 7 Professional x64 Длительность одного теста составляла 10 с, осуществлялось 10 запусков утилиты и выполнялось 10 тестов за каждый запуск. Переменным параметром являлось число активных ядер ЦП. Аппаратная конфигурация тестового стенда приведена в таблице 1. Рис. 1. Логическая схема экспериментального стенда В роли ПКС-контроллера выступал OpenDaylight версии Beryllium-SR1. Контроллером использовалась версия Java 8.0 (платформа Java SE 1.8.0_101-b13). Нагрузочная утилита Cbench запускалась в виртуальной машине Oracle Virtual Box 5.0.20 в среде операционной системы Ubuntu 14.04. Виртуальной машине были выделены 4 ядра процессора и 24 Гб оперативной памяти сервера-нагрузчика. Оба сервера соединены каналом с пропускной способностью 1 Гбит/с. Для соблюдения условий выполнения закона Амдала технологию динамического повышения тактовой частоты ЦП Intel TurboBoost следует отключить в BIOS. Схема тестового стенда приведена на рис. 1. Анализ результатов эксперимента По результатам проведенного эксперимента были получены средние численные значения задержки обработки одного packet_in-запроса от каждого из 16 OpenFlow-коммутаторов. На основании значений задержки были рассчитаны ускорение, доля линейного кода OpenDaylight и эффективность. Результаты приведены в таблице 2 и на рис. 2-4. Как видно из рис. 2, увеличение числа ядер ЦП приводит к снижению задержки, кроме того, активация технологии Hyper-threading позволяет дополнительно снизить значение задержки ПКС-контроллера. Характер зависимости ускорения от числа ядер, в соответствии с рис. 3, далек от идеальной линейной функции, что обусловлено наличием весьма существенной доли нераспараллеливаемого кода. Рис. 2. Масштабирование задержки OpenDaylight с ростом числа ядер ЦП Рис. 3. Ускорение OpenDaylight с ростом числа ядер ЦП Рис. 4. Эффективность использования процессора контроллером OpenDaylight Кроме того, как видно из таблицы 2, линейная доля кода OpenDaylight не является величиной постоянной, и при масштабировании числа ядер центрального процессора наблюдается ее рост. Объяснить данное явление можно возникновением накладных расходов [19], порождаемых как самой операционных системой, так и процессами взаимодействия между ядрами, синхронизацией параллельных потоков [20]. Если же говорить об эффективности, то она, как видно из рис. 4, снижается с ростом числа ядер, однако активация технологии Hyper-Threading позволяет повысить эффективность использования ЦП. Таблица 2. Результаты эксперимента Количество ядер ЦП, шт. 1 2 3 4 Использование Hyper-Threading - + - + - + - + Задержка, мс 0,089 0,079 0,0685 0,064 0,064 0,055 0,062 0,053 Ускорение, раз 1 1,130 1,303 1,393 1,398 1,608 1,4385 1,675 Доля линейного кода 1 0,535 0,573 0,5935 Эффективность 1 1,1302 0,6515 0,6965 0,4661 0,5361 0,3596 0,4187 Выводы Проведенное на примере OpenDaylight исследование позволило показать применимость закона Амдала для описания масштабирования на многоядерной и многопоточной аппаратной платформе такой метрики производительности ПКС-контроллера, как задержка. Выявлено, что рост ускорения ограничивается долей линейного кода, которая к тому же имеет тенденцию к росту. Также интерес представляет изменение характера зависимости доли линейного кода от числа ядер при увеличении количества управляемых ПКС-контроллером OpenFlow-коммутаторов. Таким образом, для прогнозирования масштабирования задержки при увеличении числа ядер центрального процессора необходимо ввести гипотезу о характере функциональной зависимости между линейной долей кода и количеством ядер ЦП, то есть решить задачу аппроксимации с помощью аналитического выражения. Это потребует изменения конфигурации тестового стенда, а именно смены ЦП на модель с большим числом ядер, что и будет являться направлением дальнейших исследований. Кроме того, исследование показало, что активация технологии распараллеливания потоков Hyper-Threading способна снизить задержку контроллера и повысить эффективность использования имеющихся аппаратных мощностей. Результаты исследования могут быть полезны сетевым инженерам и администраторам программно-конфигурируемых сетей, а также разработчикам программного обеспечения для контроллера OpenDaylight.
×

About the authors

Viacheslav Grigorevich Kartashevskii

Povolzhskiy State University of Telecommunications and Informatics

Email: kartash@psati.ru

Sergey Vladimirovich Galich

Volgograd State University

Email: sergeygali4@gmail.com

Evgenii Sergeevich Semenov

Volgograd State University

Email: essemenov@mail.ru

Nina Ivanovna Kirianova

Volgograd State University

Email: volsu.tks@mail.ru

References

  1. ITU-Т Recommendation Y.1540. IP Packet Transfer and Availability Performance Parameters // ITU, 2016. - 57 p.
  2. ITU-Т Recommendation Y.1541. Network Performance Objectives for IP-Based Services // ITU, 2011. - 66 p.
  3. ITU-Т Recommendation Y.1291. An Architectural Framework for Support of Quality of Service in Packet Networks // ITU, 2004. - 30 p.
  4. Об утверждении требований к организационно-техническому обеспечению устойчивого функционирования сети связи общего пользования // Приказ Минкомсвязи России № 113 от 27.09.2007.
  5. Владыко А.Г., Матвиенко Н.А., Новиков М.И. и др. В. Тестирование SDN-контроллеров на базе модельной сети // Информационные технологии и телекоммуникации. Т. 4. № 1, 2016. - С. 17-28.
  6. Владыко А.Г., Киричек Р.В., Великоречин М.А. и др. Комплексная методика тестирования фрагмента программно-конфигурируемой сети // Информационные технологии и телекоммуникации. № 2(10), 2015. - С. 20-29.
  7. Семенов Е.С., Галич С.В., Тюхтяев Д.А. Анализ и классификация задержек, возникающих при работе протокола ARP в программно-конфигурируемых сетях // Вестник ГУ морского и речного флота им. С.О. Макарова. №5 (33), 2015. - С. 217-228.
  8. Галич С.В., Деогенов М.С., Карташевский В.Г. и др. Исследование производительности ПКС-контроллера OpenDaylight на сетях разных масштабов // Известия ЮФУ. Технические науки. №9, 2016. - С. 121-133.
  9. Azizi M., Benaini R., Mamoun M.B. Delay Measument in OpenFlow-enabled MPLS-TP Network // Modern Applied Science. Vol. 9, №3, 2015. - P. 90-101.
  10. Горшенин А.К., Замковец С.В., Захаров В.Н. Параллелизм в микропроцессорах // Системы и средства информатики. Т.24, №1, 2014. - С. 46-60.
  11. Guerin X., Tan W., Liu Y. е.а. Evaluation of Multi-core Scalability Bottlenecks in Enterprise Java Workloads // Proceedings of the 2012 IEEE 20th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems, August 07-09, 2012. - P. 308-317.
  12. Chen K.-Y., Chag J. M., Hou T.-W. Multithreading in Java: Performance and Scalability on MultiCore Systems // IEEE Transactions on Computers, December 02, 2010. - P. 1521-1534.
  13. Amdahl G.M. Validity of the single processor approach to achieving large scale computing capabilities // AFIPS'67 (Spring) Proceedings of the April 18-20, 1967, Spring Joint Computer Conference. New York: ACM, 1967. - P. 483-485.
  14. Амдал Дж. Компьютерная архитектура и закон Амдала // Открытые системы. №2. 2014. - С. 46-50.
  15. Hill M.D., Marty M.R. Amdahl's Law in the Multicore Era // Computer. Vol. 41 Issue 7, 2008. - P. 33-38.
  16. Martin C. Multicore processors: challenges, opportunities, emerging trends // Proc. Embedded World Conference 2014. Nuremberg, Germany. - P. 1-9.
  17. Vengainathan B., Basil A., Tassinari M. e.a. Internet-Draft Benchmarking Methodology for SDN Controller Performance / URL: https://tools.ietf.org/html/draft-ietf-bmwg-sdn-controller-benchmark-meth-01 (д.o. 16.03.2016).
  18. Колечкин А.О., Владыко А.Г. Программное обеспечение для тестирования контроллеров программно-конфигурируемых сетей // Распределенные компьютерные и телекоммуникационные сети: управление, вычисление, связь (DCCN-2016). Москва, ноябрь 2016.
  19. Багдасаров Г.А., Дьяченко С.В., Ольховская О.Г. Измерение производительности и масштабируемости программного комплекса MARPLE3D // Препринты ИПМ им. М.В.Келдыша. №37, 2012. - 22 с. / URL: http://library.keldysh.ru/preprint.asp?id=2012-37 (д.о. 16.03.2016).
  20. Akhter S., Roberts J. Multi-Core Programming. Increasing Performance through Software Multi-threading. Intel Press, 2006. - 336 p.

Supplementary files

Supplementary Files
Action
1. JATS XML

Copyright (c) 2017 Kartashevskii V.G., Galich S.V., Semenov E.S., Kirianova N.I.

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

This website uses cookies

You consent to our cookies if you continue to use our website.

About Cookies