LINUX.ORG.RU

Модификация ETHERNET для синжения латентности. Возможно такое?


0

2

Есть возможность организовать на сетевой карте режим только на приём, либо только на передачу.Как? Два узла соеденить двумя линиями, данные по которым передаются только в заданном направлении. Основная проблема ethernet, это латентность, которая выражается в том, что много времени тратится на прослушивание и ожидание свободной линии. Но в этом случае линия всегда будет работать либо на прием, либо на передачу. И значит не чего ждать не надо. То есть теоретичиски таким образом два узла можно связать линией с пропускной способностью 1 Гб/с и которая будет свободна?! Что приблизит ее возможности к Infiniband. Но цена при этом останется божеской. Количество узлов конечно будет ограничено количесвом сетевых карт, но да же 4 узла соедененные между собой линиями с гарантированной скоростью 125 Мбай/сек это уже хорошо.

Скорей всего придется копаться в дровах (linux centos), что бы убрать уменьшить время ожидания для работы со следующим пакетом. Вопрос: если есть опыт, либо информация, либо идеи, то поделитесь, где капать. Возможно даже все уже давно реализовано и мне не придется изобретать велосипед.


Как мне тут намекают кэп и университетские курсы системотехники/сетей/етц: задержки прописаны в драйвере умными дядьками ох как не просто так :)

TERRANZ ★★★★ ()

Задержки все равно будут, ибо контроллер все равно будет дожидаться ответа другой сетевухи о готовности. А так да, копайся в дровах, хотя особого смысла в сабже не вижу.

Zhbert ★★★★★ ()

а далеко данные-то передавать? А то ежели близко, то может не стоит пользовать езернет?

shutty ()

А известно ли вам что такое коммутируемый ethernet ? о том что коммутатор уменьшает коллизионный домен ? о том что технология ethernet CDMA/CD, это ни как не синхронные сети ?

anonymous ()
Ответ на: комментарий от anonymous

> технология ethernet CDMA/CD

А, ещё, стоит заметить, что the release of the IEEE 802.3x standard defined a second mode of operation for Ethernet, called «full-duplex», that bypasses the CSMA/CD protocol.

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

AS ★★★★★ ()
Ответ на: комментарий от AS

> 2cliffy: строй полнодуплексную сеть (интересно, а где сейчас найдёшь хабы, чтобы сделать иначе ? про коаксиал уж совсем молчу...)

и не парься. При полном дуплексе всегда одна пара на приём, другая на передачу.


Тьфу, GE же. Тут вообще не парься: всё оборудование исключительно полнодуплексное и задействованы все 4 пары.

AS ★★★★★ ()

на двух сетевухах можно организовать 2Gbit'а, используя bonding, но даже это никак их не приблизит к Infiniband

Reset ★★★★★ ()

Может всё-таки bonding поможет? По 4 провода на комп и всё в 16-дырковый свич с поддержкой bonding? Там можно выдалить отдельные провода на отправку, вроде...

vitruss ★★★★ ()
Ответ на: комментарий от Reset

> на двух сетевухах можно организовать 2Gbit'а, используя bonding, но даже это никак их не приблизит к Infiniband

Почему же ? Вполне перекроет даже, если 1x. Вот только в скорости коммутации вопрос. Опять же, 10Ge существует уже вполне себе уверенно, уже замахнулись вовсю на 40 и 100...

AS ★★★★★ ()
Ответ на: комментарий от Zhbert

Задержки будут но при этом можно надеится на их существенное уменьшение

Нашел, что минимальное время обращение к контролеру 12.5 мкс. можно надеятся, что минимальная латентность будет 15 мкс.Типичная при полном дуплексе 130-150 мкс. То есть можно уменьшить в 10 раз. Конечно до Infiniband с 2-3 мкс не дотянуть, хардверные ограничения, но все же. А смысл в сабже - улучшить производительность кластера, в котором средой передачи является дешевый, но латентный ethernet. Правда количество узлов в таком кластере будут ограничено количеством сетевых интерфейсов на управляющей машине, так как придется напрямую без свитчей.

cliffy ()

> Правда количество узлов в таком кластере будут ограничено количеством сетевых интерфейсов на управляющей

машине, так как придется напрямую без свитчей.


Зачем без свичей ?!?!? Обязательно со свичами. Я же написал: у GE не может не быть полного дуплекса. Соответственно, это по 2Gb в _каждую_ сторону. Надо просто выбрать хороший коммутатор. Может быть, подумать о 10Ge. А, ещё, есть Ether Channel. Но это если пропускной способности не хватает, латентность так не уменьшишь.

AS ★★★★★ ()
Ответ на: комментарий от AS

> 2Gb в _каждую_ сторону.

Зарапортовался... По 1 конечно.

AS ★★★★★ ()
Ответ на: комментарий от Guest_now

можно еще писать в сокеты в обход ip, используя socket типа raw

anonymous ()
Ответ на: комментарий от Guest_now

> если со свитчами то придется лоадбалансер подымать

Зачем ? Там ноды будут каждая с каждой общаться, а если через хост с кучей сетевых, то ещё и обработка маршрутизации будет ненужная.

AS ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.