Методология проведения высокоточных измерений задержек в современных компьютерных системах
Данная работа описывает современные проблемы в области проведения высокоточных измерений сетевых задержек. Рассматриваются необходимые шаги, возможные методы и проблемы на каждом этапе эксперимента. Приведена оценка службы NTP, как механизма синхронизации времени, при проведении измерений сетевых задержек в высокоточном диапазоне. Предлагается метод проведения высокоточных измерений сетевых задержек, одним из этапов которого является применение математического аппарата основанного на методе линейной интерполяции и Improved GisKan Algorithm(ICA). Описывается метод краткосрочной синхронизации часов современных компьютерных систем с точностью до десятков наносекунд без модификации аппаратной части системы. Описанный метод является модулем инструмента измерения сетевых задержек LTest.
Кроме того, показано влияние аппаратных факторов на точность результатов эксперимента, а именно погрешности измерений, вызванные разностью частот кварцевых осцилляторов двух систем, Ключевые слова, стхрю^ация вршещ а также зависимостью частоты осциллятора от температуры. Стоит заметить, что оценка второй
NTP, LTest, измерения задержек, погрешности становится возможной лишь после применения предлагаемого метода математической
ICA, кварцевый осциллятор,линейная обработки результатов, основанного на применении комбинации метода линейной интерполяции с
интерполяция. алгоритмом ICA. Также проведена оценка разрешающей способности данного метода.
нии источника эталонного времени обеспечивают синхронизацию в пределах одной секунды, что является, в большинстве случаев, достаточным для пользователя, но неприемлемым в высокоточных измерениях. Говоря об источниках эталонного времени, стоит заметить, что наиболее точными, на сегодняшний день, являются атомные часы, обладающие точностью порядка 10-16 с [1], но, в тоже время, являющиеся недоступным решением для большинства компаний в силу своей чрезвычайно высокой стоимости.
Доступной реализацией синхронизации с атомными часами служит методология синхронизации времени с помощью системы глобального позиционирования (GPS). Данный метод базируется на том, что вместе с координатами, спутники GPS передают еще и время атомных часов установленных на них. Таким образом, необходимо лишь установить GPS-приемник и использовать его в качестве источника эталонного времени. Данное решение отличается низкой себестоимостью и относительной простотой реализации. Один из подобных подходов приводится в [2].
Однако получение источника времени является лишь первым этапом процесса синхронизации. Вторая задача состоит в алгоритме, по которому будет проходить синхронизация локальных часов с внешним эталоном. Общепризнанным и широко известным методом является Network Time Protocol (NTP) [3]. В данной работе не будут рассматриваться принципы и алгоритмы синхронизации времени посредством NTF, поскольку это выходит за рамки данной статьи, однако стоит заметить, что точность данного метода лежит в пределах пяти миллисекунд [2], что зачастую недостаточно при измерении сетевых задержек в высокоскоростных сетях. Стоит уточнить, что в данной работе, под высокоточными измерениями понимаются измерения с точностью от единиц микросекунд до сотен наносекунд.
Неприемлемость NTP как механизма синхронизации времени для проведения высокоточных измерений наглядно демонстрируется на рис. 1. Эксперимент состоял из двухчасовой передачи трафика от клиента к серверу. Измерения задержки на передачу каждого отдельного пакета проводились с помощью инструмента LTest [4], который будет подробнее рассмотрен далее. LTest запускался на двух машинах, как сервер на одной, и как клиент на другой. Между машинами находился один коммутатор. Далее велась передача UDP пакетов на скорости 500 Кбит/с. Источником траффика был выбран Constant Bit Rate (CBR). Такое сочетание параметров эксперимента позволяло добиться максимального снижения сетевой
Бахарев А.
Аспирант в Сибирском государственном университете телекоммуникаций и информатике (СибГУТИ)
Кафедра ПДСиМ (передача дискретных сообщений и метрологии) albaharev@gmail. com
Сименс Э.
Профессор в Hochschule Anhalt University of Applied Sciences Fachbereich Ekktrotechnik, Maschinenbau und Wirtschaltsingenieurwesen [email protected]
Шувалов В.
Профессор в Сибирском государственном университете телекоммуникаций и информатике (СибГУТИ)
Кафедра ПДСиМ (передача дискретных сообщений и метрологии) [email protected]
Раздел 1. Проблема высокоточной синхронизации компьютерных систем
Сетевые задержки являются одним из основных параметров QoS (Quality of Service) и оказывают значительное влияние на производительность сети. Оценка и измерение сетевых задержек с высокой точностью является приоритетной задачей при проектировании компьютерных сетей, транспортных протоколов, а также сетевых приложений. Данные о QoS параметрах сети, в частности о сетевых задержках, позволяют провайдерам придерживаться Service Level Agreement (SLA) и предоставлять клиентам сервис в соответствии с договором.
При измерении сетевых задержек, одной из важных проблем является синхронизация времени между двумя оконечными устройствами. Методология измерения задержек предполагает наличие максимально точной синхронизации между локальными часами двух машин, поскольку временные интервалы будут рассчитываться исходя из времени снятого с системных часов на обоих концах линии. В случае высокоточных измерений сетевых задержек необходимо добиваться синхронизации на уровне единиц микросекунд, в то время как существующие механизмы, основанные на использова-
Рис. 1. Временные колебания при использовании 1ЫТР на стороне сервера
О 500 1000 1500 ?000 7500 3000 3500 <1000 lame, S
0 Win ЩПО 1МЮ 20Л0 ?НОО .4000 ЗЬПО 4ЛП0 Hfine, s
Рис. 2. Временные колебания при использовании ЫТР на клиентской и серверной сторонах при двух идентичных экспериментах
задержки за счет более низкой нагрузки на сеть и получить наиболее чистые экспериментальные данные. Служба ЫТР работала только на сервере. Это делалось с целью демонстрации работы алгоритма ЫТР в диапазоне десятков микросекунд. На рисунке явно видна вариация значений задержки, вызванная работой службы ЫТР на стороне сервера. На рисунке видно, как значение времени опускается до определенного порогового значения, после чего ЫТР начинает постепенно выравнивать значение времени. Постепенное выравнивание необходимо во избежание прерывания целостности временной линии.
На рисунке 2 представлена аналогичная зависимость, но для случая с активными службами ЫТР на клиентской и серверной сторонах, что является значительно более близкой к реальности конфигурацией. Показанные на рис. 2 временные колебания не позволяют использовать ЫТР как инструмент синхронизации времени в высокоточных измерениях. При включенных службах ЫТР, невозможно предсказать, как именно поведет себя системное время. На рисунке 2 изображены две зависимости, снятые при одинаковых условиях, но в разное время. Явно видно, что активированная ЫТР синхронизация приводит к непредсказуемости смещения системного времени. В первом случае задержка колеблется на уровне 0-
0.2 мс, во втором 0-0.8 мс Такое поведение неприемлемо при проведении высокоточных измерений, поскольку оно добавляет значительную случайную составляющую времени. Данный факт приводит к необходимости несколько иного подхода к временной синхронизации, который позволил бы проводить измерения в высокоточном диапазоне.
Раздел 2. 1Те$1 — инструмент для проведения высокоточных измерений сетевых задержек
Предлагаемое в данной работе решение происходит в два этапа:
1. Использование высокоточного инструмента измерения сетевых задержек, Пей [4]
2. Последующие математические операции над полученными результатами
Пей является программой для высокоточного измерения сетевых задержек, а также предоставляет пользователю встроенный механизм коррекции полученных значений в соответствии с относительным сдвигом системного времени на машинах. Источником локального времени на каждой машине является ТБС таймер [5], предоставляющий точные значения времени на обеих машинах, базируясь на частоте кварцевого осциллятора процессора. Разрешение ТБС таймера составляет порядка десятков наносекунд и зависит от тактовой частоты процессора. Исследование эффективности и точности ТБС таймера, в сравнении с другими реализациями, рассматривается в работах [6] и [7]. Упомянутые исследования показывают, что стоимость получения информации из ТБС на два порядка меньше, чем у НРЕТ, что, безусловно, играет роль при проведении высокоточных измерений.
В качестве одного из ключевых элементов системы коррекции полученных значений сетевых задержек лежит алгоритм ICA (Improved Cristian's Algirithm) [8], который является модификацией Cristian Algorithm [9]. В целом, идея коррекции может быть отражена в четырех шагах:
1. Клиент производит серию запросов к серверу, на каждый из которых сервер отвечает пакетом, содержащим текущее время системных часов.
2. В моменты отправки и получения каждого пакета клиент запоминает время собственных системных часов
3. Оценивается минимальное время прохождения пакета от клиента к серверу (minF) и обратно(ттВ) независимо друг от друга. Данные замеры производятся в момент наибольшей стабильности получаемых значений. Важно, что упомянутые минимальные значения могут быть получены из различных попыток. Таким образом, суммирование полученных значений дает виртуальное минимальное RTT (Round Trip Time) для данного эксперимента.
4. Полагаясь на то, что сетевая задержка одинакова как на пути от клиента к серверу, так и обратно, получаем, что разбег времени между системным временем двух машин равен:
д minF —minB ^
5. Далее, это коррекционное значение будет применено к, полученным значениям задержки.
Раздел 3. Математическая коррекция полученных результатов
LTest позволяет варьировать параметры трафика, и, что особенно важно, измерять значение сетевой задержки при передаче каждого отдельного пакета LTest. Однако LTest не учитывает одну важную деталь, а именно, несовершенство аппаратной части эксперимента. Теоретически, при использовании полностью идентичных аппаратный составляющих, а именно процессоров, на обоих концах линии, описанный выше алгоритм работал бы с достаточной точностью. На практике результаты существенно ухудшаются. Как уже было упомянуто выше, LTest берет TSC таймер в качестве источника времени. TSC таймер, в свою очередь опирается на кварцевый осциллятор системы. На этом уровне и возникает несоответствие. Невозможно добиться, что бы осцилляторы на двух процессорах работали с одинаковой частотой. Определенный разбег частот всегда присутствует. Это приводит к появлению характерного "наклона" зависимости, что, в свою очередь, значительно затрудняет оценку поведения сетевой задержки, особенно на длительных интервалах времени. Данное явление демонстрируется на рис. 3. Стоит уточнить, что в ходе эксперимента, результаты которого продемонстрированы на рисунке 3, служба NTP была отключена. Остальные условия эксперимента остались неизменными по сравнению с разделом 1 данной работы.
При идеальных условиях, сетевая задержка должна колебаться в очень узком диапазоне. Как уже было показано ранее, в ходе данного эксперимента были предприняты все шаги по снижению значения сетевой задержки, а так же ее вариации. Рисунок 3, в свою очередь, наглядно демонстрирует, как задержка варьирует в пределах от 0.10 до 0.45 миллисекунд в течение 5000 секунд замера, при этом возрастая с приближённой к постоянной скоростью, что явно свидетельствует о наличии посторонней составляющей в результатах эксперимента. Иными словами, системное время одной машины равномерно "убегает" относительно другой. Дополнительные причины разбега системного времени описывалась IBM в [9].
Очевидно, что подобное искажение результатов является неприемлемым и разрушает весь смысл высокоточного измерения. Далее предлагается методика сглаживания данного эффекта, основанная на применении метода линейной интерполяции:
1. Изначально полагается, что скорость расхождения системного времени между двумя машинами, величина, близкая к константе.
2. На начальном и конечном временном интервале эксперимента, локализуются две опорные точки, по которым будет проводиться линейная интерполяция. Стоит заметить, что в связи с разбросом значений, необходимо двукратное применение алгоритма ICA — на начальном и конечном интервалах зависимости.
3. Данные точки подставляем в формулу получения промежуточных усредненных значений задержки:
где:
Dbegin, Dend — значения задержек полученные на шаге 2
'end 'begin — значения времени для Dbegi^ Dend соответственнО
tn — время текущего пакета
4. Далее высчитывается Д между каждым значением задержки на усредненной прямой и идеализированным, ожидаемым значением задержки.
^ideal ~ ^interpolated (3)
5. Последним этапом перед получением окончательного, скорректированного значения задержки, является суммирование Л , посчитанного для каждого пакета, с актуальным значением сетевой задержки для данного пакета. Таким образом, окончательное значение задержки с учетом коррекции разности частот осцилляторов имеет вид:
^веггвсЬнй ^ г г,г г/ Т I ^ г г|:гf f I ^begin I
После применения вышеописанных преобразований, зависимость, показанная на рисунке 3, видоизменяется. На рисунке 4 демонстрируется пример зависимости, скорректированной по вышеописанному алгоритму. Исключение погрешности, вызванной разностью частот осцилляторов, позволяет более детально рассмотреть поведение сетевой задержки во время проведения эксперимента. После исключения линейной составляющей, вызванной разностью в частотах осцилляторов, получаем "чистые" значения сетевых задержек. Однако, легко заметить, что определенный изгиб зависимости все-равно присутствует. Белая линия на графике отражает среднее значение скользящего окна величиной 500 значений при общем количестве значений порядка 400000. Наглядно видно, что линия имеет параболическую форму, что, в свою очередь, обусловлено изменением частоты осцилляторов под влиянием температурных эффектов. Зависимости частотной характеристики осциллятора от температуры, а так же других внешних параметров приведены в [10].
Наклонная прямая от оси ординат до точки А является аппроксимацией участка параболы, соответствующего наиболее интенсивному изменению частоты осциллятора. Таким, образом, оценив наклон данной прямой, получаем скорость изменения частоты осциллятора под влиянием температурных эффектов.
Данное значение является максимальным, поскольку аппроксимированная прямая отражает наиболее крутой участок параболы, в то время как на большей части зависимости, парабола имеет более пологий характер. Однако, в случае оценки погрешности вносимой температурной зависимостью частоты осциллятора, более эффективно иметь данные о максимальной погрешности.
Раздел 4. Выводы
• Для проведения высокоточных измерений сетевых задержек необходимо выключать службу ЫТР на машинах, участвующих в эксперименте, поскольку случайная составляющая вносимая работой службы ЫТР в полученные результаты, делает невозможным их дальнейший анализ в высокоточном диапазоне. Показано, что при активной службе ЫТР, характер вносимой погрешности случайный, что делает невозможным ее фильтрацию. В связи с этим, единственным возможным решением является деактивация ЫТР на обеих машинах.
• Проведение стандартной линейной интерполяции возможно лишь после локализации двух опорных точек. Использование подхода двукратного применения 1СА позволяет найти такие опорные точки и таким образом проводить более точную интерполяцию результатов и получать наиболее достоверные скорректированные значения задержек.
• В качестве демонстрации точности предлагаемого метода была продемонстрирована оценка максимальной погрешности измерений, вносимой зависимостью частоты кварцевого осциллятора от температуры.
• На основе результатов пункта 3, можно сделать вывод, что точность описанного метода измерения сетевых задержек составляет 10-8 с., что является достаточным для проведения измерений в высокоточном диапазоне. Сравнивая со стандартной методологией измерения сетевых задержек (без применения математической обработки результатов), точность измерения будет ограничена погрешностью в разности частот осцилляторов. В разделе 3 было показано, что за 5000 секунд, разбег системного времени, вызванный разными частотами кварцевых осцилляторов на двух машинах, привел к возрастанию полученного значения сетевой задержки с 0.1 мс до 0.45 мс. Таким образом, принимая во внимание описанную погрешность, точность классического метода лежит в пределах 10-3 с., что значительно ниже точности обеспечиваемой предложенным методом.
(4)
О 1000 701)0 3000 >1000 S000
Time, s
Рис. 3. Разбег во времени вызванный различием частот кварцевых осцилляторов
Литература
1. Gibblea K., Szymaniec K., Lia R. Improved accuracy of the NPL-CsF2 primary frequency standard: evaluation of distributed cavity phase and microwave lensing frequency shifts. Frequency Control and the European Frequency and Time Forum (FCS), Joint Conference of the IEEE International San Fransisco, 2011.
2. Ubik S., Smotlacha V. Low-cost Precise QoS Measurement Tool. CES-NET technical report number 7/2001, Tampere University of Technology, 2001.
3. Mills D.L. RFC 1305 Network Time Protocol (Version 3) Specification, Implementation and Analysis., 1992.
4. Siemens E., Piger S., Grimm C., Fromme M. LTest — A Tool for Distributed Network Performance Measurement. IEEE Consumer Communications and Networking Conference Las Vegas, 2004.
5. Wassenberg J. Timing Pitfalls and Solutions. Karlsruhe Institute of tech-nology2007.
6. Orosz P., Skopko T. Performance Evaluation of a High Precision Software-based Timestamping Solution. International Journal on Advances in Software. — 2011. — Vol. 4. — R181-188.
7. Качан Д., Сименс Э., Ху Х. Инструменты высокоточных измерений времени в компьютерных системах.Опубликовано: 6-я отраслевая научно-техническая конференция 'Технологии информационного общества".
М., 2012.
8. Siemens E. Patent Application W02008138850, http://www.wipo.int/patentscope/search/en/W02008138850
9. Cristian F. "Probabilistic clock synchronization". Distributed Computing. — 1989. — P146-158.
10. Техническая документация IBM, версия SA22-7630-22. http://pub-lib.boulder.ibm.com/infocenter/zos/v1r12/indexjsp?topic=%2Fcom.ibm.zos.r 12.ieag200%2Fcputvari.htm
11. Walls F., Gagnepain J.-J. Environmental Sensitivities of Quartz Oscillators. IEEE Transactions on ultrasonics, ferroelectrics and frequency control. — 1992. — Vol.39. - P241-249.