Каково оптимальное количество узлов в рое BitTorrent? - PullRequest
7 голосов
/ 03 мая 2011

Какое оптимальное количество узлов в рое BitTorrent? Я думаю, что есть математический способ выразить наиболее эффективное количество узлов. Честно говоря, у меня есть проблема только с эмпирическим числом X, без какой-либо строгости, чтобы подтвердить это.

Согласно этой спецификации число составляет 30.

" Примечание для разработчика : даже 30 пиров много , официальный клиент версия 3 ведь только активно создается новые соединения, если он имеет менее 30 сверстников и откажется от соединений, если у него 55. Это значение важно на исполнение . Когда новый кусок имеет завершена загрузка, есть сообщения (см. ниже) нужно будет отправить большинству Активные сверстники. В результате стоимость широковещательный трафик растет напрямую пропорционально количеству сверстников. Свыше 25 новых сверстников очень вряд ли увеличит скорость загрузки. Дизайнеры пользовательского интерфейса настоятельно рекомендуется сделать это неясным и трудно изменить как это редко бывает полезно сделать так ".

Издержки, на которые ссылается эта цитата, имеют сообщения .

Ответы [ 2 ]

3 голосов
/ 19 мая 2011

вы имеете в виду число узлов в рое. Похоже, вы имеете в виду общее количество участников в рое, но ваша цитата относится к числу узлов, к которым вы должны подключиться. Давайте предположим, что вопрос в последнем.

Вы также не указали, какой показатель производительности использовать. Что для вас значит эффективное?

Если оптимальный означает наименьшее количество служебных байтов на каждый байт полезной нагрузки, вам нужно 1 соединение (или, возможно, 0 соединений).

Предположим, вы хотите максимально увеличить скорость загрузки. Ответ на этот вопрос (к скольким пирам я должен подключиться, чтобы максимизировать скорость загрузки):

Наименьшее количество пиров, которые насытят ваш нисходящий канал.

Теперь, что это значит? Ну, это зависит от роя, и от того, сколько у других узлов, и от того, сколько распределенных копий в рое.

Другой вопрос, который также должен быть решен, - сколько пиров вы должны загрузить? Ответ здесь:

Наибольшее число пиров, среди которых вы можете разделить емкость загрузки, чтобы они все еще отвечали взаимностью, или наименьшее число, которое насытит вашу нисходящую ссылку

Обратите внимание, что деление не обязательно должно быть четным, подробности см. В бумаге с битрейтом .

Теперь вам нужно как минимум столько подключений, чтобы отключить.

Хитрость в том, чтобы получить хорошую скорость загрузки, в основном сводится к тому, чтобы посылать достаточно быстро партнерам, чтобы они отвечали взаимностью, но желательно не быстрее Если есть запасная емкость загрузки, она должна быть использована для взаимной взаимной поддержки. Быть подключенным ко многим коллегам означает, что вы сможете найти хороших торговых партнеров немного быстрее, и вы будете меньше подвержены влиянию большого количества роев.

1 голос
/ 26 мая 2011

Если вы имеете в виду оптимальное количество узлов в рое, это, вероятно, где-то около бесконечности.Поскольку каждый загрузчик лучше всего сочетается с 1 сеялкой, скорость загрузки которой равна скорости загрузки загрузчиков.

Если вы ссылаетесь на оптимальное количество узлов, к которым необходимо подключиться в качестве разделителя, это число не может (или являетсяочень трудно) найти, потому что это зависит от слишком большого количества переменных.Переменные, которые необходимо учитывать:

  • количество узлов в рое (1 - 1000)
  • соотношение семян / пиявок каждого узла (0 - 10000%)
  • задержкакаждый узел (1 мс - 1 с)
  • макс. активных соединений каждого узла (0 - 1000)
  • макс. скорость загрузки каждого узла (1 кбит / с - 1000 Мбит / с)
  • максимальная скорость загрузки каждого узла (1 КБ / с - 1000 МБ / с)
  • размер торрента (1 КБ - 1 ТБ)
  • интеллект трекера (трудно определить)
  • Размер фрагмента торрента (1 КБ - 4 МБ)
  • Размер торрента (1 - 10000)

Таким образом, для каждого узла существует не менее миллиона возможных конфигураций, тогда каждый другой узел также имеет эти параметры,Таким образом, существует 1 000 000 ^ 1000 конфигураций для роя с 1000 узлами.

Когда есть много низкоскоростных узлов, вы, вероятно, захотите подключиться к большому количеству узлов.
Когда есть много высокоскоростных узлов, вы, вероятно, захотите подключиться только к 1или 2 узла.

...