|
|
|
Задача про торренты
|
|||
|---|---|---|---|
|
#18+
"N процессов, соединенных между собой (peered network), ширина канала ограничена сверху для каждого соединения. Существует набор файлов различного размера (относительно ширины канала), каждый процесс может иметь в своем распоряжении часть файлов, но известно что все файлы есть в сети. Любой из процессов имеет возможность запросить недостающий файл из набора у других процессов. Необходимо провести анализ возможных сценариев работы, предложить варианты алгоритмов определения оптимального источника (ов) , включая возможное скачивание файла по частям из разных источников. Критерий оптимальности – время отклика от запроса на получение файла, до возможности работать с данными, находящимися в файле." Я думаю так: Пометка: ничего не сказано про пинг, поэтому весь алгоритм строится на основании ширины канала. Да и пинг имеет значение только для очень маленьких кусков. А качать нежелательно по маленьким кускам. варианты - 1.файл уже тута, тогда качать не нада. Файл (полностью или частично не тута) - тогда нада качать. Определяем источники так: 1.берем список серверов на которых есть части необходимого файла (либо все, либо первые скажем сто или десять). 2.Находим из них с максимальной скоростью отдачи. 3.Находим у этого сервака куски которых у нас нет (опять же либо сразу все либо первые скажем 10). 4.Начинаем качать. 5. Если канал забит, то расслабляемся и ждем пока скачаем часть (или динамически проверяем степень загрузки канала и переходим к пункту 6). 6.Если еще есть скорость то рекурсивно вызываем пункты 2-5 пока не забьем канал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 17:13:15 |
|
||
|
Задача про торренты
|
|||
|---|---|---|---|
|
#18+
Просто в тему-подумалось, что было бы хорошо, если бы источники анализировали распространность имеющегося у них файла и выдавали бы ему приоритет обратный при раздаче. Т.е. если записи "Дома 2" есть у всех, то не стоит отдавать весь канал, а вот если Ник Кейв есть только на этом компе, то ему можно будет дать приоритет повыше. Заодно думаю стоит анализировать и объем скачиваний, чтобы не вышло так, что этот файл у всех есть, но отдают его плохо, а качать хотят много. Думаю должен быть какой-то лимит раздача/скачивание 1.2/1, который должны поддерживать пиры. Еще стоит сделать какой-то приоритет кусков при скачивании имхо-чем больше скачан кусок, тем меньший у него приоритет отдачи, Т.е. в идеале первый раз пир отдает по одному куску файла, не смотря на то, что качающих может бы больше. А то бывают случаи, когда в сети больше 100 пиров с почти полным файлом, но без одного куска. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 17:55:54 |
|
||
|
Задача про торренты
|
|||
|---|---|---|---|
|
#18+
Несколько мыслей. Гусар Я думаю так: Пометка: ничего не сказано про пинг, поэтому весь алгоритм строится на основании ширины канала. Да и пинг имеет значение только для очень маленьких кусков. А качать нежелательно по маленьким кускам. 1) Ping имеет мало общего с шириной канала. Отклик - тоже. Сети передачи телевизионного сигнала могут работать на гигабитных скоростях но иметь лаг в 1-2 секунды. 2) Вообще, для таких задач характерно остуствтвие общей формулы или закона. Можно просто говорить что есть сеть агентов, которая образует некий ИИ. Каждый агент сам по себе предельно прост но в совокупности они все обеспечивают работу сети. 5. Если канал забит, то расслабляемся и ждем пока скачаем часть (или динамически проверяем степень загрузки канала и переходим к пункту 6). 6.Если еще есть скорость то рекурсивно вызываем пункты 2-5 пока не забьем канал. 3) Для балансировки скорости я-бы использовал только ограничение в количестве одновременно открытых сокетов для каждого Peer чтобы предовратить флуд сокетов. Рекурсию тоже надо включить в ограничение. Иначе мы можем получить несколько тысяч простаивающих без дела сокетов, хотя ширина канала будет еще не вычерпана. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 18:49:53 |
|
||
|
Задача про торренты
|
|||
|---|---|---|---|
|
#18+
ну я предположил что всетаки ширина канала забьется 1-10 пирами, хотя конечно замечание имеет место быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 19:10:24 |
|
||
|
Задача про торренты
|
|||
|---|---|---|---|
|
#18+
mayton 1) Ping имеет мало общего с шириной канала. Отклик - тоже. Сети передачи телевизионного сигнала могут работать на гигабитных скоростях но иметь лаг в 1-2 секунды. я и не писал что пинг и ширина это синонимы, но если пинг здоровый то возможно будет быстрее стянуть с пира у которого пинг меньше хотя и ширина канала меньше. mayton 2) Вообще, для таких задач характерно остуствтвие общей формулы или закона. Можно просто говорить что есть сеть агентов, которая образует некий ИИ. Каждый агент сам по себе предельно прост но в совокупности они все обеспечивают работу сети. ну так идею ИИ и надо предложить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2010, 19:12:05 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=36418940&tid=1343942]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
188ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 484ms |

| 0 / 0 |
