Ключевые слова: жидкостная модель, одноранговая сеть, Р2Р-сеть, файлообменная сеть, личер, сид, время загрузки файла.
Простейшая жидкостная модель файлообменной P2P-сети
Основным показателем качества обслуживания файлообменных одноранговых сетей (P2P сетей) является время загрузки файла (англ. Latency), т.е. время от момента начала и до момента окончания загрузки пользователем всех без исключения частей файла. В статье в виде системы дифференциальных уравнений исследована "жидкостная" модель сети, описывающая динамику изменения числа личеров (англ. Leecher) и сидов (англ. Seeder) в сети в зависимости от скорости загрузки файла. Модель учитывает, что не все личеры остаются в сети до окончания загрузки файла, а также то, что личер, став сидом, некоторое время не покидает сеть и может раздавать части уже загруженного им файла другим пользователям. Исследовано решение системы дифференциальных уравнений и получены формулы для вычисления среднего времени загрузки файла.
Самуйлов К. Е.,
заведующий кафедрой систем телекоммуникаций РУДН, [email protected]
Бобрикова Е.В.,
старший преподаватель кафедры систем телекоммуникаций РУДН, [email protected]
Введение
Peer-to-Peer (P2P) технология в последнее время стала перспективным подходом к посфоению распределенных и масштабируемых сетевых приложений, используемых для доставки контента пользователям. Пользователи в одноранговых сетях, как еще называют Р2Р-сети, выступают одновременно в роли клиента и в роли сервера, и в этом случае пользователь называется “пиром” (англ. Peer). В дальнейшем также будем использовать русскоязычные термины “загрузка” (англ. download), когда речь идет о скачивании данных пользователем из сети, и “раздача” (англ. upload) для случая отправки пользователем данных в сеть. В Р2Р-сетях пользователи не только загружают данные от других пользователей, но и раздают загруженные ранее данные другим пользователям, требующим эти данные. Это позволяет эффективно использовать ресурсы конечных пользователей для того, чтобы уменьшить нагрузку на серверы. Информация, передаваемая по Р2Р-сети, делится на небольшие порции данных (англ. chunk), которыми пользователи обмениваются друг с другом. Каждый пользователь загружает недостающие порции данных от других пользователей, которые уже загрузили эти порции.
Р2Р-сети можно разделить на файлообменные и потоковые. В файлообменных сетях распространяются файлы конечного объема, для которых не требуется доставка в режиме реального времени, например, видеоролики, фильмы, компьютерные программы, электронные книги и т.п. Порядок, в котором пользователь загружает порции данных в файлообменной сети, не важен, а уже загруженные порции хранятся в памяти оборудования * Работа выполнена при поддержке РФФИ (грант 10-07-00487-а).
пользователя и могут быть использованы для раздачи другим пользователям. До начала использования файла пользователю необходимо загрузить его целиком. Поскольку обмен файлами не является услугой в режиме реального времени, ограничений на время загрузки частей файла нет. В потоковых Р2Р-сетях пользователи одновременно загружают и воспроизводят чувствительные к задержкам по времени данные, например, видеопотоки телевизионных каналов. Временные ограничения имеют решающее значение для потоковых услуг, так как порция данных, прибывающая после окончания срока ее воспроизведения, не будет участвовать в воспроизведении.
Основным показателем качества обслуживания файлообменных сетей является время загрузки файла (англ. Latency), т.е. время, за которое пользователь сможет загрузить все без исключения части файла. В потоковых сетях основными показателями качества обслуживания являются задержка начала воспроизведения (англ. Startup Delay), вероятность просмотра видео без перерывов воспроизведения (англ. Playback Continuity) и вероятность состояния всеобщей передачи (англ. Universal Streaming) [1-3].
Данная статья посвящена исследованию файлообменных Р2Р-сетей. Для анализа показателей качества обслуживания таких сетей применяются так называемые “жидкостные” модели (англ. Fluid Model) [4, 5].
В разделе 1 построена “жидкостная” модель функционирования файлообменной одноранговой сети [4], в разделе 2 исследуются основные характеристики системы, и приводится численный пример, в разделе 3 обсуждается состоятельность выбранной модели.
1. Построение простейшей жидкостной модели функционирования файлообменной одноранговой сети
Рассмотрим более подробно механизм получения файла пользователем файлообменной Р2Р-сети. В сети имеется трекер-сервер, который хранит информацию, например, IP адреса, обо всех подключенных к сети пользователях, а также информацию об имеющихся у них файлах. Пользователь, желающий загрузить файл, сначала обращается к трекер-серверу для получения адресов пользователей, загружающих или уже загрузивших требуемый файл, после этого устанавливает с ними соединение и начинает загружать от них и тут же
А:-пользователь
/-пользователь
у-пользователь
1 т м., мп т____________1
тгппт rmm пгтп
Рис. 1. Обмен порциями в файлообменных Р2Р-сетях
раздавать другим пользователям порции данных указанного файла (рис.1).В файлообменных сетях различают два вида пользователей: так называемые “личеры” (англ. Leecher) и “сиды” (англ. Seeder). Здесь и в дальнейшем ввиду отсутствия русскоязычных терминов мы будем использовать обозначения, полученные транслитерацией на русский язык англоязычных терминов. Пользователь, который пока не имеет всех частей файла и продолжает загружать их от других пользователей, одновременно раздавая другим пользователям имеющиеся у него части файла, называется личером. Например, /пользователь и ^'-пользователь на рис. I являются личе-рами. Сид - это пользователь, который имеет весь файл целиком, присутствует в сети, и только раздает порции данных другим пользователям. Например, £-поль-зователь на рис. 1 является сидом. В некоторых файлообменных сетях предусмотрен механизм, который поощряет пользователей оставаться в сети как можно дольше, поскольку присутствие в сети сидов улучшает показатели качества обслуживания сети.
Введем следующие параметры. Пусть х(7) - число личеров в сети и y{t) - число сидов в сети в момент
времени / > О, А — интенсивность поступления личеров в сеть и // - интенсивность раздачи данных пользователем любого типа (личером или сидом). Будем считать, что все пользователи сети имеют одинаковую интенсивность раздачи, и обозначим С > fJ - интенсивность загрузки данных пользователем любого типа.
Личеры могут прервать или отменить процесс загрузки файла, например, если файл долго загружается, и пользователь не хочет ждать завершения загрузки. Пусть 0 — интенсивность отмены личером процесса загрузки. Личер, который успешно загрузил все части файла, может сразу покинуть сеть или остаться в ней в качестве сида на некоторое случайное время. Пусть у -интенсивность ухода сидов из сети. Кроме тог о, учтем, что не все личеры участвуют в процессе раздачи данных - некоторые только закачивают данные и не раздают их. Введем параметр г] — эффективность обмена файлами, которая соответствует доле личеров, участвующих в процессе раздачи данных, Г/ € [0,1].
Предположим, что размер файла равен некоторой условной единице. Нормируем интенсивность раздачи и загрузки относительно размера файла для того, чтобы параметры сети имели одинаковую размерность. Все введенные выше обозначения сведены в табл. 1.
Обозначения Таблица I
Название Описание Размерность
X(t) число личеров в сети в момент времени / -
число сидов в сети в момент времени / ”
Л интенсивность поступления личеров в сеть с-1
ц интенсивность раздачи данных пользователем любого типа с~'
с интенсивность загрузки данных пользователем любого типа с"1
в интенсивность отмены личером процесса загрузки с~[
У интенсивность ухода сидов из сети с■'
п эффективность обмена файлами -
Опишем процесс функционирования сети с помощыс введенных параметров. Если нет никаких ограничении на интенсивность загрузки, общая суммарная интенсивность раздачи в системе может быть выражена формулой //(/7л:(/) + >>(/)) • Если // = 0, то личеры не раздают
данные друг другу, а только загружают их от сидов. Когда интенсивность загрузки ограничена, общая интенсивность раздачи определяется формулой
пип
Личер может покинуть систему, не дожидаясь завершения процесса загрузки всего файла, например, если сочтет, что файл загружается слишком долго. Предположим, что личер независимо от других пользователей сам прерывает процесс загрузки через некоторое время, которое распределено экспоненциально со средним в ' . Таким образом, в - интенсивность, с которой личеры прерывают процесс загрузки и покидают систе му. В жидкостной модели интенсивность измененш числа личеров определяется формулой
тт<Сх(/),//(/7л-(/) + >’(/))} + 0.т(/). Здесь первое ела-
гаемое соответствует изменению состояния из-за того что загрузка файла была успешно завершена, и личерь стали силами, а второе слагаемое - изменению состояния, происходящему вследствие того, что нетерпеливы* личеры покинули систему до окончания загрузки файла.
1ІП ]Сх(/),//(77х(0+.К0)}
/у (О
Рис. 2. Диаграмма изменения состояния пользователя сети
Предположим, что сид остается в системе на некоторое случайное время, распределенное по экспоненциальному закону со средним / . Очевидно, что значение параметра у окажет влияние на производительность системы: чем меньше у, тем больше в системе сидов и, следовательно, тем меньше время загрузки файла пользователем.
Процесс функционирования системы и введенные выше параметры проиллюстрированы на рис. 2.
Итак, мы пришли к следующему утверждению, в котором модель функционирования файлообменной Р2Р-сети представлена в виде системы дифференциальных уравнений.
Утверждение 1. Изменение числа пользователей л:(/) и .у(^) файлообменной Р2Р-сети описывается системой дифференциальных уравнений:
= Л —|тіп [Сх (/), // (пх (() + у (/))} + вх (/)), = тт{Сх(і),іі{гіх{і)+у(і)))-уу{і).
(її
М*)
(О
Эту модель будем называть простейшей жидкостной моделью.
2. Анализ характеристик системы
Предположим, что в некоторый момент времени в сети установилось постоянное число пользователей, т.е.
выполняются условия
(2)
сЛ с//
имеем, что
10 = А-вх -т\п\Сх,[/(г]х +у)},
0 = тт{0\//(/д + ;у)}-;%
где (х,- точка покоя [6] или положение равновесия
[7] системы (1).
Пусть Г/ > 0 и рассмотрим случай, когда суммарная интенсивность загрузки не превосходит суммарной интенсивности раздачи, т.е.
Сх<^(г]х+у). (3)
Тогда из (2) получаем
Л
х =
СП+р’
(4)
У = -
НЇ
Теперь с учетом (4) предположение (3) эквивалентно неравенству
с У,
В случае, когда суммарная интенсивность раздачи не превосходит суммарной интенсивности загрузки, т.е.
Сх >^(г]х+у), (5)
получаем
_ я
X — С,
л
У
у ы
(6)
где 1 = 1 V П
ем
і<і=і С V і]
Гі-ІЇ.
,м г)
Из неравенства (5) с учетом (6) име-
I 1
\
(7)
ц у Введем параметр
1_1 М У
• ч /-
и теперь равенства (4) и (6) можно объединить следую щим образом:
Л
1 11
— := тах <—
Р \С П
- = 0* Тогда из (1)
х =
р\ 1+4
Р (8)
У = —-----XV
■V
Напомним, что Я - интенсивность поступления ли-черов в систему. Тогда вх - интенсивность ухода “нетерпеливых” личеров из системы, а разность Л-вх представляет собой интенсивность успешного окончания загрузки, или, что то же самое, число личеров, которые останутся в системе до полной загрузки файла (чис-
/) — ЙЧ
ло “терпеливых” личеров). Отметим также, что -
Л
доля личеров, которые станут сидами.
Теперь с помощью формулы Литтла найдем среднее время загрузки файла в стационарном режиме
^Р^х =(Л-0х)Т, (9)
где Т - среднее время загрузки файла. Из (9) с учетом
(8) получаем _ л _ 1 . Таким образом,
яр
(
«**
р + в
доказано следующее утверждение.
Утверждение 2. Среднее время загрузки файла определяется формулой
Т=——, (Ю)
в+р
где р определяется в (7).
Из утверждения 2 можно сделать следующие выводы. Среднее время загрузки Т не зависит от интенсивности А поступления личеров, поэтому файлообменные сети имеют хорошую масштабируемость.
При увеличении доли I] раздающих личеров время
Т загрузки файла уменьшается. Действительно, чем больше раздающих пользователей, тем большую скорость раздачи они обеспечивают, и тем меньше время Т загрузки файла.
При увеличении интенсивности у ухода сидов время
Т загрузки файла увеличивается, поскольку уменьшается число раздающих пользователей и, как следствие, обеспечиваемая ими скорость раздачи.
Очевидно, при увеличении интенсивности С загрузки время Т загрузки уменьшается. Однако с достижением интенсивностью С значения, при котором выполняется неравенство _!_<_!_[ J_L |, дальнейшее увеличе-
С У)
ние интенсивности С не приводит к уменьшению времени Т , время Т остается постоянным. Это объясняется тем, что интенсивность С загрузки перестает быть «узким местом», им становится интенсивность /и раздачи с учетом интенсивности ухода сидов из сети и доли личеров V , участвующих в процессе раздачи данных.
Рассмотрим часто встречающийся случай, когда интенсивность С загрузки пользователей больше, чем интенсивность раздачи /и, примером которого является асимметричная технология DSL. Из формулы (7) следует, что если интенсивность у ухода сидов из системы меньше интенсивности раздачи ц , то интенсивность С за-ірузки определяет производительность сети, Т.е. р = с • Прокомментируем случай г/ = 0, когда личеры не участвуют в процессе раздачи данных, а только загружают данные от сидов. Если у < Iі, выше сделанные
выводы для случая Г] > 0 остаются в силе, и Т = . В
противном случае, если у> /и , из системы (1) следует,
что — <(// — /) у(/). Это означает, что число сидов
y(t) уменьшается, по крайней мере, экспоненциально. Таким образом, при у>ц, число сидов будет экспоненциально стремиться к нулю, и система прекратит функционирование. Отметим, что при rj>0, система достигнет стационарного состояния независимо от значения интенсивности у ухода сидов из системы. Поэто-
му в файлообменных Р2Р-сетях важно, чтобы личеры раздавали друг другу данные. Даже, если файлообмен не является эффективным (т.е. /7 0), участие личеров в
процессе раздачи играет важную роль в поддержании функционирования системы.
Для подтверждения выводов из утверждения 2 проведен численный анализ. Предположим, что загружаемый файл имеет размер 530 Мб, а средняя скорость раздачи данных в сети равна 100 кбит/с. Нормируя данную скорость размером файла, получим, что интенсивность раздачи равна //=0,0014 с. Из графика на рис. 3 видно, что первоначальное увеличение интенсивности загрузки С ведет к уменьшению времени загрузки Т . Однако после того, как интенсивность загрузки становится достаточно большой, ее дальнейшее увеличение не приводит к уменьшению времени Т , так как интенсивность загрузки перестает быть «узким местом» сети.
0.001
0.005
Скорость такачки данных С
0.01
Рис. 3. Время и интенсивность загрузки файла при у = 0,002 И (9 = 0,001.
3. Анализ устойчивости точки покоя системы
Математическая модель из утверждения 1 адекватно отражает физическую суть задачи, т.к. точка покоя
системы (1) устойчива. Покажем это, положив
fi.il г)
------, т.е. предположив, что интен-
сначала 1 < —
с п
сивность раздачи ограничена. Тогда система (1) принимает следующий вид:
t/д-(г)
dt
dy(t)
dt
= A-ex(t)-f/(nx(t)+y(t)), = ju(t]x(t)+y(t))-yy(t).
Характеристическое уравнение для соответствующей линейной однородной системы дифференциальных уравнении имеет ВИД + (/л] + 0+у-р')1// + /цг]у+0(у-р') = О.
Так как О _П, имеем у> ц. При ц>0 оба кос п\и г)
эффициента 1Л1 + 6+у-ц и цг!у+в(у-у) больше
нуля. Поэтому корни характеристического уравнения имеют огрицательные действительные части, и, следовательно, точка покоя (х,у) вида (6) асимптотически
устойчива.
Пусть теперь I
1 1(!_1> те-c>n[t' г)
предполагаем, что ин-
тенсивность загрузки ограничена, тогда система (1) принимает следующий вид:
А(/)
Л
Ф(')
dt
= A-0x(t)-Cx(i), = Cx(t)-yy(t).
В этом случае характеристическое уравнение для соответствующей линейной однородной системы дифференциальных уравнений имеет вид
!//■ +(е+у+С)1// + у(е + С) = 0. Корни этого уравнения имеют отрицательные действительные части, и, следовательно, точка покоя (X, ) вида (4) асимптотически
устойчива.
Заключение
Таким образом, в данной статье на основании [4] проведено посгроение модели процесса изменения числа личеров и сидов в файлообменной Р2Р-сети в зависимости от интенсивности загрузки файлов с целью анализа среднего времени загрузки файла. Модель построена в виде линейной неоднородной системы дифференциальных уравнений с постоянными коэффициентами, для нее найдена в аналитическом виде точка покоя системы и показана ее асимптотическая устойчивость. Задачей
дальнейших исследовании является построение модели процесса изменения числа пользователей в файлообменной Р2Р-сети с учетом расстояния между пользователями, влияющего на скорость загрузки каждого пользователя.
Литература
1. Kleinrock L. and Tewari S. Analytical model for bit-torrent-based live video streaming // Proc. of the IEEE CCNC, 2007. - P.976-980.
2. Адаму А., Гайдамака Ю.В. Анализ вероятности непрерывного воспроизведения видеопотока в Р2Р-сети // «Вестник РУДН. Серия “Математика. Физика”. - М.: Изд-во РУДН. -2011.-№4. С.38-46.
3. Адаму А., Гайдамака Ю.В. Аппроксимация вероятностных характеристик модели сети P2P // T-Comm - Телекоммуникации и Транспорт. 2011. №7. - С. 4-7.
4. Srikant R., and Qiu D. Modeling and perfomiance analysis of BitTorrent-like peer-to-peer networks // Proc. of the ACM SIGCOMM Computer Communication Review, 2004. - P. 367-378.
5. Ross K.W., Liu Y., and YVu D. Modeling and analysis of multi-channel P2P live video systems // Proc. of the IEEE/ACM Transactions on Networking, 2010. - P. 1063-6692.
6. Эльсгольц Л.Э. Дифференциальные уравнения и вариационное исчисление. — М.: Наука, Физматлит, 1969.-424 с.
7. Демидович Б.П. Лекции по математической теории устойчивости. - М.: Наука, Физматлит, 1967. -472 с.
A simple fluid model of P2P file sharing network Samouylov Konstantin E., head of telecommunication systems department of PFUR, [email protected],
Bobrikova Ekaterina V., Senior teacher, Telecommunication Systems Department, Peoples' Friendship University of Russia, [email protected].
Abstract: The main characteristics of the quality of service of file sharing streaming networks (P2P networks) is a latency, i.e. the time from the beginning moment till the finishing moment of downloading of all the chunks of the file. In this paper, in the form of the system of differential equations "fluid" model of the network is studied. This model describes the evolution of the number of leechers and seeds in the network, depending on the downloading bandwidth. This model takes into account that not all of the leechers stay in the system till they completely download the file, and also that a leecher after becoming a seeder does not leave the system for some time and can upload the pieces of a just downloading file to the other downloaded. The solution of the system of differential equations is analyzed and formulas for the calculation of the average downloading time of a file are obtained.
Keywords: fluid model, streaming network, P2P network, file sharing network, leecher, seeder, latency.