Перейти к содержимому
Format.C^

Компьютерная программа сделала то, что человек не может понять.

Рекомендуемые сообщения

Компьютер сгенерировал эффективные, но непонятные человеку алгоритмы ускорения TCP.

TCP (Transmission Control Protocol) — основной протокол интернета. Одна из его главных задач — бороться с перегрузками в сети (network congestion), когда возникают заторы из пакетов. Регулирование осуществляется путём взаимной подстройки скорости отправки запросов, причём для этого существует множество хитрых методов. Например, в Linux используется алгоритм под названием TCP Cubic, а под Windows — Compound TCP. Кроме них, существуют ещё TCP Tahoe, Reno, NewReno, Vegas, FAST, BIC и др.

Специалисты из Массачусетского технологического института разработали программу Remy, которая методом проб и ошибок пыталась улучшить существующие алгоритмы подавления заторов TCP. Результат превзошёл все ожидания. Эффективность алгоритмов RemyCC превзошла и TCP Cubic, и Compound TCP, и остальных «конкурентов» в различных сетевых условиях. Проблема только в том, что учёные не совсем понимают, за счёт чего именно Remy удалось показать такой феноменальный результат.

 

post-3105-0-05626800-1374419578_thumb.png

 

Remy был протестирован в различных сетевых окружениях и везде превзошёл алгоритмы, созданные человеком. Например, в конфигурации, где восемь пользователей делят канал 15 Мбит/с (см. схему вверху), алгоритм Remy обеспечил более чем вдвое превосходящую среднюю по медиане скорость передачи данных с задержкой запросов менее чем вполовину от той, которую обеспечивают Compound TCP и TCP NewReno. По сравнению со стандартным TCP Cubic, пропускная способность выросла на 70%, а задержка запросов уменьшилась более чем втрое.

Тесты проводились в популярном симуляторе ns-2. Если внедрить Remy на реальных компьютерах, то мы увидим резкое увеличение скорости скачивания, уменьшение задержек в видеочатах и гораздо более грамотное распределение сетевых ресурсов.

Программа Remy работает на конкретном компьютере несколько часов, анализируя сетевой трафик, после чего вырабатывает конкретную реализацию алгоритма, наиболее эффективную для данного ПК.

 

post-3105-0-32665300-1374419607_thumb.png

 

«Мы точно не знаем, почему сгенерированные компьютером алгоритмы демонстрируют такой результат, — пишут разработчики. — Алгоритмы Remy создаются с учётом более 150 правил, и нужно осуществить реверс-инжиниринг, чтобы понять, как и почему они работают».

В любом случае, если доверить компьютеру оптимизацию сетевого протокола, то можно получить более высокие скорости и меньший пинг. Жаль, но причины этого мы можем и не понять.

 

Первоисточник

Исходники на гитхабе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

там какой-то подвох  :lol:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(изменено)

.

Изменено пользователем temrus63

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@mine777, какой такой подвох? я дал ссылку на исходники, скачай - проверь. Всё честно.

@temrus63:biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я в восторге! (намеренно сдержанный камент)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Компьютер сгенерировал эффективные, но непонятные человеку алгоритмы ускорения TCP.

То есть "ускорители интернета" реально существуют? и я зря не поставил себе эту программу? :huh:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@workprog, ничто в мире не совершенно, и интернет-протоколы тоже, поэтому эту прогу можно рассматривать как эффективный оптимизатор запросов протокола TCP.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Format.C^, мы сюда весь Хабр перетащим?  :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@kr1z1s, конечно нет, только самое интересное и не обязательно с Хабра. :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Действительно интересно

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Обычный случай использования принципа естественного отбора в разработке. Я еще 10 лет назад читал, как разрабатывали микросхему, различавшую 2 сигнала и получили нечто, которое работало быстро, экономично, но непонятно как (например, в ней были изолированные нерабочие логические блоки, но при их удалении микросхема переставала работать).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Provok, я не думаю, что это "обычный принцип". Исходный алгоритм работы программы известен, а сгенерированный ею алгоритм непонятен даже разрабам, и результат непредсказуем...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Только я непонял из присутствующих тут кто-то пробовал эту прогу?)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

я не думаю, что это "обычный принцип"

в чем принципиальное отличие именно этого случая?

Имеется исходная ситуация, указан критерий отбора и путем мутаций и естественного отбора выбирается наиболее подходящий потомок. Результат-то как раз предсказуем: это - наиболее эффективное выполнение поставленной задачи. А то, что непонятно, как именно задача выполняется - так это часто встречающаяся ситуация при разработке естественным отбором.

 

Кстати, было бы неплохо сделать программу, настраивающую ферму естественным отбором (для начала хотя бы подбором параметров CGMiner для лайтов)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

А то, что непонятно, как именно задача выполняется - так это часто встречающаяся ситуация при разработке естественным отбором.

Вот именно этого я и не знал, тогда похоже вы правы.

 

 

Кстати, было бы неплохо сделать программу, настраивающую ферму естественным отбором (для начала хотя бы подбором параметров CGMiner для лайтов)

Да, было бы неплохо, вот только кто возьмется её делать? Разве что попробовать предложить это IGHOR ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

офигеть! генетические алгоритмы не всесильны, но потрясны по результатам!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×