Re: Linux and FreeBSD

From
Constantin Stefanov (2:5020/400)
To
Slawa Olhovchenkov
Date
2005-06-01T15:06:46Z
Area
RU.UNIX.BSD
From: Constantin Stefanov <cstef@mail.ru>

Slawa Olhovchenkov wrote:
>  CS> непринципиально). Итак, мы должны провести пакет по такому пути:
>  CS> 1-5-9-10-11. Предположим, ты реализуешь тор на интеловских
>  CS> четырехголовых картах (в двумерном торе у каждого узла как раз четыре
>  CS> связи). Что надо нашептать карте, чтобы пакет, посланный из узла 1 для
>  CS> узла 11 без вмешательства драйверов (т.е. без прерываний), сам до него
>  CS> долетел? Если угодно, в момент инициализации карты мы можем прописать
>  CS> соответствие между номерами узлов и MAC да и любые другие данные. можно
>  CS> ли потом карту заставить перепихивать пакеты из порта в порт саму, без ЦП?
> 
> Понял. Хороший вопрос. Дальше излагаю некотрые соображения за которые зуба не
> дам, поскольку несколько плаваю.
> Значит на интеловых 100мбит платах есть мини-проц, который на самом деле жрет
> микрокод и по нему обрабатывает принимаемые пакеты и генерит прерывания
> центральномы процессору, общается с шиной. Это стопроцентно. Вроде как даже
> есть проект под линух, который реализует на этой карте роутер и микрокод
> занимается роутингом. Вероятно подобная конструкция есть на гиговых интелях, я
> не сумел разобраться, а глубоко не копался.
Вероятно, это можно сделать. Правда, встанет вопрос о производительности 
этого процессора и его памяти при одновременной коммутации двух потоков 
- это ж такой свитч в миниатюре получится. И, кстати, он вполне может не 
уметь перебросить данные с одного порта на другой - обычно-то он данные 
гоняет между шиной и портом.

>  >> Я не вижу где им тормозить. По спецификации гигабита я тебе могу все
>  >> задержки расписать. Дальше задержка старта карты, задержка прерывания по
>  >> приему и накладные расходы на обработку прерываний и в драйверах-стеке.
>  >> Последним пренебрегаем (оно примерно одинаковое для всех, если не
>  >> использовать кривожопые драйвера), картам я не вижу с чего бы быть
>  >> принципиально медленнее -- все примерно на одном техпроцессе делаются и
>  >> внутренние задержки должны быть примерно одинаковы. Спецификация гигабита
>  >> на full duplex оговаривает минимальные задержки между пакетами -- меньше
>  >> 0.1 мкс.
>  CS> Так чисто формально задержка всегда определяется скоростью
>  CS> распространения сигнала в среде. Однако реально выходит меньше. Поэтому
>  CS> я и прошу либо показать результаты тестов, что я сделал с InfiniBand,
>  CS> либо характеристики, озвученные производителем оборудования (что я
>  CS> сделал для остальных технологий). Тогда эти цифры будут как-то
>  CS> подкреплены. А так - ну слабое доверие.
> 
> Я подумаю что тут можно еально и достоверно померять. Потому что верить
> писюковому таймеру на микросекундных задержках я не могу совсем.
Так что пока сойдемся, что мы не знаем, какие будут задержки на Gigabit 
Ethernet при непосредственном подключении двух машин друг к другу.

>  CS> Кстати, насчет задержек. У того же InfiniBand, если его включить без
>  CS> свитча напрямую узел в узел, время задержки и скорость передачи слабо
>  CS> меняются, что косвенно свидетельствует о том, что там в свитче не
>  CS> sore-and-forward.
> 
> Так это ж изначально постулировалось, разве нет?
Вот цитата из моего ответа тебе же:
==========================================================
Сразу насчет соседнего письма. В Myrinet - точно не store-and-forward,
там на каждое сообщение пробивается что-то типа виртуального канала. А
уж свитч устроен так, чтобы это все блокировалось как можно реже (не
уверен, что там используется схема вообще свободная от блокировок, но
такое может быть).
В InfiniBand - точно не знаю. Вероятно, тоже не store-and-forward. Там
внутри свитча fat-tree, т.е. такая схема, которая может коммутировать
одноверменно любые пары портов без блокировок (то есть скорость обмена
пары узлов не зависит от того, какая нагрузка на остальных парах).
==========================================================
Я не был в этом уверен тогда, не уверен и сейчас, хотя думаю, что так и 
есть - не store-and-forward.

-- 
Константин Стефанов
--- ifmail v.2.15dev5.3
 * Origin: Demos online service (2:5020/400)
SEEN-BY: 46/50 50/203 520 400/814 450/159 186 247 1024 451/30 461/43 132 640
SEEN-BY: 469/999 550/196 4616/3 4625/8 4627/10 4635/4 4652/15 5000/76 5000
SEEN-BY: 5006/1 5007/1 5010/70 5011/13 5015/10 5019/31 5020/52 118 154 175 194
SEEN-BY: 5020/400 545 549 604 715 758 830 937 1057 1523 1604 1630 1922 2020
SEEN-BY: 5020/2142 2238 2450 2590 4441 5021/29 5022/128 5025/3 750 5026/45
SEEN-BY: 5027/16 5029/32 5030/49 115 473 500 556 966 1063 1900 5031/70 72
SEEN-BY: 5034/13 5035/3 38 5036/1 34 5042/13 5049/1 50 97 5051/15 5054/1 4 8 9
SEEN-BY: 5054/28 35 36 37 63 66 67 70 75 81 84 85 5055/95 5057/1 5060/88
SEEN-BY: 5061/15 120 5062/1 10 5063/3 5066/18 5067/2 5069/7 5070/1222 5074/9
SEEN-BY: 5075/5 35 5079/23 5080/80 1003 5081/2 5082/6 5083/21 5085/13 5090/108
SEEN-BY: 5095/20 5096/18 6000/12 254 6001/3 10
PATH: 5020/400 4441 545 5054/1 37