На главнуюПользователиНовые сообщенияОбратная связь
DGR.Su - Компьютерный форум [Архив] eDonkey2000 Вет.клиника ослоклуба Ослик IS Mod

Технология Совместных Закачек

MAN 30.07.2005, 23:15
Borschtsch, возможно сделать так чтобы участники из одной подсети, качающие файл из другой подсети, качали разные части, а не одни и теже.
Тоесть, если условно в файле 100 частей, то первый человек из подсети, начавший закачку качает все по порядку, если появляется второй, то он уже будет получать части с 51 по 100, появится третий, соответственно все части уже делятся на три блока и т.д. Соответсвенно в итоге каждый вытягивает свой блок частей из другой подсети, а то что вытянули другие легко скачивается внутри подсети в итоге: чем больше людей из одной подсети качает файл (ну при условии, что на каждого найдется по источнику в других подсетях ), тем быстрее файл оказывается внутри подсети.
Очень интересно ваше мнение по этому поводу.
User 31.07.2005, 18:33
Borschtsch, возможно сделать так чтобы участники из одной подсети, качающие файл из другой подсети, качали разные части, а не одни и теже.

men, я не Borschtsch, но отвечу: это даже не вчерашний день. А как минимум прошлое столетие :) . Эта технология называется Технология Совместных Закачек. Реализована черти когда. Прочитай тему .... (сообщение №4) и сам поймешь, сколько много работы в этом направлении Borschtsch уже сделал.
Borschtsch 01.08.2005, 05:43
Borschtsch, возможно сделать так чтобы участники из одной подсети, качающие файл из другой подсети, качали разные части, а не одни и теже.
Тоесть, если условно в файле 100 частей, то первый человек из подсети, начавший закачку качает все по порядку, если появляется второй, то он уже будет получать части с 51 по 100, появится третий, соответственно все части уже делятся на три блока и т.д. Соответсвенно в итоге каждый вытягивает свой блок частей из другой подсети, а то что вытянули другие легко скачивается внутри подсети в итоге: чем больше людей из одной подсети качает файл (ну при условии, что на каждого найдется по источнику в других подсетях ), тем быстрее файл оказывается внутри подсети.
Очень интересно ваше мнение по этому поводу.
Довольно интересна мысль о выделении блока частей на закачку, а не просто случайный выбор части на закачку из другой подсети, но надо ещё продумать эффект от данной возможности. Спасибо за идею!
ILUIA 03.08.2005, 14:12
men, я не Borschtsch, но отвечу: это даже не вчерашний день. А как минимум прошлое столетие :) . Эта технология называется Технология Совместных Закачек. Реализована черти когда. Прочитай тему .... (сообщение №4) и сам поймешь, сколько много работы в этом направлении Borschtsch уже сделал.

Насколько я понимаю в данный момент осел качает одни и теже части из другой подсети. А совместность в том что все качают одну часть. А про сообщения от men`a это уже обсуждалось вышенемного по другому выражено но мысль таже.
здесь
SINtez 03.08.2005, 15:34
Насколько я понимаю в данный момент осел качает одни и теже части из другой подсети. А совместность в том что все качают одну часть.
Зачем качать одну и ту же часть из другой подсети? Лучше скачать разные части, а потом обменяться. Если бы ТСЗ действовала в пределах всей ослосети, то скорость скачивания точно бы повысилась. Но Borschtsch думает по другому.
Borschtsch 03.08.2005, 16:38
Я понял о чём говорит men, хотя он частично заблуждался, но вы видимо подумали, что то, о чём он говорит на самом деле происходит.
Насколько я понимаю в данный момент осел качает одни и теже части из другой подсети. А совместность в том что все качают одну часть.
Совсем не так. Каждый клиент в одной подсети выбирает на закачку только одну и уникальную часть для закачки из других подсетей. Если есть 10 клиентов в одной подсети, качающих один и тот же файл, то будет выбрано на закачку 10 уникальных частей, в зависимости от доступности этих самых частей на закачку.
Это легко увидеть, когда разворачивается список источников для популярного файла и у источников, находящихся в вашей подсети, приписывается (если это возможно) номер выбранной части и её процент завершения. Ваш номер выбранной части и её процент завершения указан в круглых скобках на прогресс-баре.
Зачем качать одну и ту же часть из другой подсети? Лучше скачать разные части, а потом обменяться.Если бы ТСЗ действовала в пределах всей ослосети, то скорость скачивания точно бы повысилась. Но Borschtsch думает по другому.
Опять заблуждение. Всё происходит сейчас именно так, как ты предлагаешь.
SINtez 03.08.2005, 21:21
Опять заблуждение. Всё происходит сейчас именно так, как ты предлагаешь.
Я говорю про расширение ТСЗ из своей подсети во всю сеть, а также про закачку наименее доступных частей. Это уже несколько раз предлогалось.
Borschtsch 04.08.2005, 07:46
Я говорю про расширение ТСЗ из своей подсети во всю сеть, а также про закачку наименее доступных частей. Это уже несколько раз предлогалось.
Ты хотя бы примерно представляешь как работает ТСЗ и для чего она нужна? Расширение ТСЗ на всю сеть будет означать конец технологии. Нужно чётко себе представлять, что наша сеть - это не интернет. Выбор части ГЛОБАЛЬНО должен осуществляться совсем по другим законам. Разработчики программы и девелоперы разных модов всё сделали, чтобы увеличить скорость распространения файлов в ИНТЕРНЕТЕ. Но в p2p и Интернете нет никаких понятий о подсетях и т.д. В случае нашей сети всё упирается в экономию каналов между подсетями, но не в ущерб скорости доставки файлов.

До последнего времени скорость между подсетями была очень низкой и приходилось руководствоваться определёнными соображениями при решении проблемы обмена крупными файлами. Когда во всей сети ситуация поменяется (а не только в отдельных подсетях, как сейчас), тогда критерии выбора частей на закачку из другой подсети будут изменены. Об этом я тоже уже говорил.
SINtez 04.08.2005, 10:15
Ты хотя бы примерно представляешь как работает ТСЗ и для чего она нужна? Расширение ТСЗ на всю сеть будет означать конец технологии. Нужно чётко себе представлять, что наша сеть - это не интернет
Недостатки проявляются когда один источник и много качающих. Допустим, кто-то полностью скачал одну часть, тогда в каждой подсети хотя бы 1 пользователь начинает качать эту же часть у первоисточника, потому что она "более доступна". но её можно скачать у пользователя, у которого она уже есть, а у источника - менее доступную часть, потом обменяться. Когда источник один, самое узкое место - это канал между источником и всеми остальными подсетками, поэтому его надо экономно использовать.

При расширении ТСЗ на всю сеть основной принцип не меняется - если все пользователи будут качать разные части, то в каждой подсети и подавно будут качаться разные части, как сейчас. Другие принципы менять не надо.
Borschtsch 04.08.2005, 11:22
Недостатки проявляются когда один источник и много качающих. Допустим, кто-то полностью скачал одну часть, тогда в каждой подсети хотя бы 1 пользователь начинает качать эту же часть у первоисточника, потому что она "более доступна". но её можно скачать у пользователя, у которого она уже есть, а у источника - менее доступную часть, потом обменяться. Когда источник один, самое узкое место - это канал между источником и всеми остальными подсетками, поэтому его надо экономно использовать.
Ты всё верно говоришь, только для нас это несправедливо - это справедливо для Интернета, когда ограничена скорость отдачи пользователя его каналом. То есть узкое место в нашем случае - не ограничение скорости исходящего трафика между источником и подсетями. Как показывает практика, программно скорость отдачи подсети не ограничена. Узкое место - это ограничение скорости входящего трафика в подсеть. Поэтому, в таких условиях, важно максимально быстро наполнять качаемую часть, чтобы поделиться ею с другими клиентами и подсетями, а не следить за равномерностью распространения всех частей одного файла по сети.

К примеру об одном источнике.
1. До сих пор считаем, что скорость входящего трафика низкая, следовательно, скорость наполнения части также будет низкой.
2. Каждый качающий один и тот же файл выберет только одну часть файла на закачку и будет её качать независимо от того, сколько других доступных частей файла будет у других пользователей. Так задумано в ТСЗ. В случае одного источника все качающие в самом начале выберут по одной самой непопулярной части.
3. По мере завершения части, будет выбрана другая часть, но предпочтение будет отдано более популярной части, чтобы как можно быстрее доставить эту часть в свою подсеть и потом поделиться ею с другими.

При расширении ТСЗ на всю сеть основной принцип не меняется - если все пользователи будут качать разные части, то в каждой подсети и подавно будут качаться разные части, как сейчас. Другие принципы менять не надо.
Опять же - это справедливо пока только для Интернета. Для клиентов eMule моддерами была придумана технология ICS (Intelligent Chunk Selection), цель которой заключается именно в реализации того, о чём ты говоришь.
ТСЗ - это технология реализующая совсем другой подход в распространении файлов, она учитывает особенности реальной сети.
Чем отличается подключение p2p клиента к Интернет, от подключения p2p клиента к локальной сети ИС?
Интернет, грубо говоря - это подключение клиентов отдельными ограниченными каналами в хаб с неограниченной скоростью обработки информации. Тебе, думаю, это объяснять не надо.
Наша сеть - это, опять же грубо говоря, неограниченное по скорости подключение к сети, сегменты которой разделены ограниченными по скорости каналами. Поэтому подходы должны быть разными. Не забывай, что скорости между подсетями, когда всё это задумывалось, были ОЧЕНЬ низкими.
Исходя из этих соображений я ничего менять в ТСЗ не буду, пока не выровняется скорость между всеми подсетями.

Если же у тебя всё равно есть что возразить, то сначала приведи свои мысли по поводу того, как работает ТСЗ реализованная в IS Mod. Потом можешь детально описать что и как, по твоему, должно работать и почему так, а то я пишу-пишу - обосновываю свои действия, а реального уровня твоей подкованности в этом вопросе и знать не знаю. idontno
SINtez 04.08.2005, 12:48
Ты всё верно говоришь, только для нас это несправедливо - это справедливо для Интернета, когда ограничена скорость отдачи пользователя его каналом. То есть узкое место в нашем случае - не ограничение скорости исходящего трафика между источником и подсетями. Как показывает практика, программно скорость отдачи подсети не ограничена.
Если бы она была неограничена, то файлы с одним источником и многими качающими скачивались бы быстро, но они копируются очень медленно. Примеров этому много, например сейчас качается LineAge2 C3. Получается, что у всех пользователей скачаны одни и те же части, а другие части находятся только у 1 источника.Узкое место - это ограничение скорости входящего трафика в подсеть.
Это правда, когда качающих мало. Когда много, то похоже ограничение - подсеть источника (особенно если она не подключена к гигабитке).
в таких условиях, важно максимально быстро наполнять качаемую часть, чтобы поделиться ею с другими клиентами и подсетями, а не следить за равномерностью распространения всех частей одного файла по сети.
Важно быстро скачать весь файл, а не 1 часть.
При равномерном распределении частей появляются 2 плюса:
- больше вероятность скачать нужную часть, если основной источник отключится.
-даже если он не отключится, проще скачать часть с нескольких источников, чем с одного.
Это всё наш случай, не инет.К примеру об одном источнике. 1. До сих пор считаем, что скорость входящего трафика низкая, следовательно, скорость наполнения части также будет низкой.
это будет верно только для частей, скачанных с основного источника, а если бы все качали разные части, то таких частей было бы немного, примерно общее число частей, делённое на число качающих. Другие части находились бы не только у источника и, следовательно, копировались бы быстрее.2. Каждый качающий один и тот же файл выберет только одну часть файла на закачку и будет её качать независимо от того, сколько других доступных частей файла будет у других пользователей. Так задумано в ТСЗ. В случае одного источника все качающие в самом начале выберут по одной самой непопулярной части.
Это правиьно, только надо следить чтобы выбранные части были разными (в пределах всей ослосети)3. По мере завершения части, будет выбрана другая часть, но предпочтение будет отдано более популярной части, чтобы как можно быстрее доставить эту часть в свою подсеть и потом поделиться ею с другими.
лучше выбрать непопулярную часть, и начать качать её с источника. популярные и так скачаются - с других пользователей, потому что у них нет непопулярных частей (непопулярные только у первоисточника)
есть большая вероятность выбрать на скачивание с основного источника часть, которая есть уже у других. Это лишняя трата трафика. Повторяюсь, что надо оценивать время, за сколько скачается весь файл, а не отдельная часть
Если же у тебя всё равно есть что возразить, то сначала приведи свои мысли по поводу того, как работает ТСЗ реализованная в IS Mod. Потом можешь детально описать что и как, по твоему, должно работать и почему так, а то я пишу-пишу - обосновываю свои действия, а реального уровня твоей подкованности в этом вопросе и знать не знаю.
Как устроена ТСЗ я не знаю. Смотрю по тому, как скачиваются файлы и по твоим словам.
я ничего не имею против. Только хочу увеличить скорость. Где можно больше узнать о ТСЗ?
SINtez 04.08.2005, 13:47
И ещё, как я понимаю, когда у другого пользователя нет части, которая "официально" качается (её номер отображается в прогрессе), то выбирается другая часть на скачивание у этого пользователя. Это так или нет?
Borschtsch 04.08.2005, 14:49
Опять 25 :). Ещё раз повторюсь - забудь пока слова гигабит, ограничие исходящего канала и т.д. На протяжении всего нашего разговора я подразумеваю исключительно то состояние вещей, когда никакого гигабита для отдельных подсетей не было. Текущая версия ТСЗ "затачивалась" только для определённого случая и для определённой сети. Ситуация до сих пор в корне не изменилась.
Если бы она была неограничена, то файлы с одним источником и многими качающими скачивались бы быстро, но они копируются очень медленно.
Я же говорил, что программно ограничен только входящий трафик. Ограничение исходящего трафика источника в общем случае налагается свойствами самого канала передачи, но это ограничение заведомо выше, чем ограничение входящего трафика в подсеть.
Важно быстро скачать весь файл, а не 1 часть.
При равномерном распределении частей появляются 2 плюса:
- больше вероятность скачать нужную часть, если основной источник отключится.
-даже если он не отключится, проще скачать часть с нескольких источников, чем с одного.

Я это более чем хорошо понимаю, но это всё пока не для нашего случая. Ещё раз говорю - скорости на момент создания ТСЗ были просто никакими, поэтому скорость наполнения частей по твоему сценарию была бы катастрофически низкой. Сам подумай - скачать 9,28 мегабайта со скоростью 2******0 байт в сек, сколько нужно времени? А ведь не все держат компьютер постоянно включённым. А если учитывать, что клиенты, медленно качающие части ещё и выключаются, а эти части потом медленно начинают качать другие из той же подсети? Вот где перерасход трафика! А ТСЗ создавалась для того, чтобы линеаризовать отношение размер файла/потраченный трафик на закачку файла, поэтому избавление сети от дублирующихся данных было самой первоочередной задачей.
Понимаешь о чём я? Чем быстрее одна часть файла в такой сети окажется полностью закачанной, тем быстрее сеть освободится от этой части, уступая место другим частям или закачкам. Важна оптимальная загрузка межсетевых каналов действительно полезными данными и скорость закачки файла в подсеть, чтобы подсеть выступала донором других подсетей. Только это могло в то время обеспечить довольно быстрое распространение файлов во всей сети при большом количестве пользователей. Только так и никак иначе.

Как устроена ТСЗ я не знаю. Смотрю по тому, как скачиваются файлы и по твоим словам.
я ничего не имею против. Только хочу увеличить скорость. Где можно больше узнать о ТСЗ?
Разрозненную информацию ищи по этим ссылкам .... и ....
Можешь также поизучать исходный код ;)
И ещё, как я понимаю, когда у другого пользователя нет части, которая "официально" качается (её номер отображается в прогрессе), то выбирается другая часть на скачивание у этого пользователя. Это так или нет?
Нет. Если пользователь находится в твоей подсети, то ты с него качаешь то, что доступно. Выбор части на закачку, в таком случае, происходит по стандартным критериям, которые придуманы для Интернета. Когда пишет ННЧ - значит качать с него нечего, если только он не готов поделиться куском недокачанной части, номер которой отображается у него в прогрессе.
SINtez 04.08.2005, 18:56
Опять 25 :). Ещё раз повторюсь - забудь пока слова гигабит, ограничие исходящего канала и т.д. На протяжении всего нашего разговора я подразумеваю исключительно то состояние вещей, когда никакого гигабита для отдельных подсетей не было. Текущая версия ТСЗ "затачивалась" только для определённого случая и для определённой сети. Ситуация до сих пор в корне не изменилась. я рассматриваю случай низких скоростей.Я же говорил, что программно ограничен только входящий трафик. Ограничение исходящего трафика источника в общем случае налагается свойствами самого канала передачи, но это ограничение заведомо выше, чем ограничение входящего трафика в подсеть.Ты же сам говоришь, что есть ограничение исходящего трафика. По ужасно низкой скорости скачивания видно, что это ограничение существенное. Не важно какое оно - программное или аппаратное.Я это более чем хорошо понимаю, но это всё пока не для нашего случая. Ещё раз говорю - скорости на момент создания ТСЗ были просто никакими, поэтому скорость наполнения частей по твоему сценарию была бы катастрофически низкой. Сам подумай - скачать 9,28 мегабайта со скоростью 2******0 байт в сек, сколько нужно времени? Не понимаю, как сейчас быстро наполняются, если внутри подсети качаются разные части, а между подсетями обмена недокаченными частями нет. Или ты про части, которые уже кто-то скачал? А ведь не все держат компьютер постоянно включённым. А если учитывать, что клиенты, медленно качающие части ещё и выключаются, а эти части потом медленно начинают качать другие из той же подсети? Выход - обмен недокаченными частями внутри подсети ТСЗ создавалась для того, чтобы линеаризовать отношение размер файла/потраченный трафик на закачку файла и избавление сети от дублирующихся данных было самой первоочередной задачей. чтобы линеаризовать отношение размер файла/потраченный трафик на закачку файла достаточно простого условия: не качать то, что уже есть в своей подсети
В моём сценарии трафик между качающими больше. Между источником и остальными - меньше, а общий трафик - такой же.
Со всех пользователей надо качать все доступные целые части, а не только из своей подсети. При этом важно сообщить своей подсети, что ты качаешь эту часть. Тогда другие пользователи не будут копировать тоже самое.

Теперь понятно: следует увеличить число одновременно качаемых частей из других подсетей с одного, как сейчас, до переменного количества (достаточно 3-4). Одна из этих частей скачивается с полных источников (непопулярная), другие слоты распространяли бы популярные части, которые уже кем-то скачаны с основных источников.
Не хочу дальше спорить. Думаю, что предложенный варриант лучше, чем тот, что сейчас работает, независимо от скорости между подсетями.
Похожие темы
Анонсы закачек
Анонс закачек.
Анонсы закачек HD-видео
Технология
Технология сайта