Re: Linux and FreeBSD
- From
- Constantin Stefanov (2:5020/400)
- To
- Slawa Olhovchenkov (2:5054/37.63)
- Date
- 2005-05-30T16:15:48Z
- Area
- RU.UNIX.BSD
From: Constantin Stefanov <cstef@mail.ru>
Slawa Olhovchenkov wrote:
> CS> Длина латентность,
> CS> сооб- мкс
> CS> щения,
> CS> байт
> CS> 0 5.7
> CS> 1 5.97
> CS> 10 6.01
> CS> 100 6.35
> CS> 1000 9.82
> CS> 1500 10.27
> CS> 1501 10.26
> CS> 2000 10.88
> CS> 5000 13.27
> CS> 10000 19.44
> CS> 100000 127.48
>
> Не верю. Сам посмотри, 1500 байт и 2000 байт передаются практически одинаковое
> время (10мкс).
> А минимальная задержка (для 1 байта) -- 5мкс. Какая у тебя скорость в канале?
> 1.25Гб/с? 10000 байт должны передаваться 10000*8/(1.25*10^9)*10^6=64мкс, у тебя
> что там, машина времени?
Скорость, как уже было сказано, 10 Гбит/сек. Это InfiniBand через свитч.
Тест прогнан прям перед написанием письма на реальной системе.
> CS> Система не самая лучшая (свитч не фонтан, да и глюк в матери мешает),
> CS> поэтому получается больше 5 мкс. 4 мкс, по утверждению разработчика,
> CS> достигается на PCI Express.
> CS> Теперь жду от тебя аналогичной таблички на гигабитный эзернет, и , в
> CS> идеале, на 10 Gb.
> Я не опущусь до такого позора.
А почему, собственно? Прогнать тест и запостить результаты - сложно?
Потом сравним и увидим разницу. И вот ее уже можно обсуждать. А так -
словоблудие какое-то.
> CS> Сразу насчет соседнего письма. В Myrinet - точно не store-and-forward,
> CS> там на каждое сообщение пробивается что-то типа виртуального канала. А
> CS> уж свитч устроен так, чтобы это все блокировалось как можно реже (не
> CS> уверен, что там используется схема вообще свободная от блокировок, но
> CS> такое может быть).
> Ну щаз. Начинай лапшу с ушей сматывать -- как это будет без блокировок, если
> одновременно две станции захотят передавать сообщение на третью?
Две на одну - с блокировкой. Но если ты все станции на свитче разобьешь
на пары, то каждая пара может друг с другом обмениваться с той же
скоростью, как если бы она была на свитче одна. Покажи мне Ethernet
свитч с такими характеристиками.
> CS> В InfiniBand - точно не знаю. Вероятно, тоже не store-and-forward. Там
> CS> внутри свитча fat-tree, т.е. такая схема, которая может коммутировать
> CS> одноверменно любые пары портов без блокировок (то есть скорость обмена
> CS> пары узлов не зависит от того, какая нагрузка на остальных парах).
> Ой, рокет сайнс, тоже мне.
>
> CS> А теперь объясни, где там ЖОПА в не store-and-forward.
> Гуляющие задержки.
> Когда идет передача на какую-то станцию все остальные желющие ей что-либо
> сказать сосут лапу и не могут отослать желаемое свичу дабы начать пересылать
> пакеты другим адресатам.
> Если есть желание -- могу поискать более детальные исследования. Это не только
> в коммутаторах езернета различного вида обнаружилось, но и в сетях хранения
> данных.
Ну не вопрос. Но на гуляющие задержки идут, дабы сделать среднюю
латенстность поменьше. Плюс см. ниже про разделение типа портов на
уровне карты. Если затык одному адресату - мы пока другому кинем сообщение.
> CS> Теперь насчет драйверов. Во-первых, в этих технологиях нет такого
> CS> маленького ограничения на макс. размер пакета. Я не знаю, где он какой,
> CS> но даже если инкрементировать размер сообщения по единичке, то скачка,
> CS> как на ethernet от 1500 к 1501 ты не получишь, т.е. меньше прерывания.
>
> Я про _GigabitEthernet_ говорю. Не про Ethernet, не про FastEthernet. Ты
> разницу видишь? На GigabitEthernet допустимы jumbo frames, это 9000 байт как
> минимум.
Хорошо. Покажи разницу во времени передачи сообщения на длинах 9000 и
9001 байт.
> CS> Во-вторых, на InfinBand релизована хитрая технология RDMA (Remote
> CS> DMA), которая позволяет дать карточке команду "отслать вот эту область
> CS> данных (ну или принять от того-то туда-то)", после чего весь процесс
> CS> произойдет без прерываний, т.е. опять имеем уменьшение нагрузки.
>
> А теперь без булшита -- чем это круче тривиального busmaster в тривиальныйх
> интелях и броадкомах?
> И почему тебе после отсылки прерывание не нужно?
Нужно. Только ты сможешь сказать ителю "отошли мне вот отсюда 2 МБ"? Я
не знаток устройства PCI, но что-то мне кажется, что все-таки ему нельзя
сказать отсылать такую большую порцию данных.
Кроме того, там можно настроить все это так, чтобы одна машина дает
команду своим драйверам "воон тому хосту можно лить мне в память что ему
надо". А тот уже дает команду драйверу, в какое место адресного
пространства удаленного процесса запихнуть данные. Это не очень секурно
вероятно, но там, где это применяется, другие подходы к безопасности, но
опять-таки позволяет сэкономить.
> CS> На карте стоит достаточно большая своя память (от 128 МБ), так что
> CS> опять часто дергать не приходится.
> Типа экзотика? Не смешно.
Отлично. Назови марку карты Gigabit Ethernet, где хотя бы столько.
> CS> На карте релизована аппаратно что-то вроде схемы портов для TCP, т.е.
> CS> карта сама может разбираться, какой поток для какой программы и
> CS> запихивать его в нужную область ОЗУ без участия драйверов.
>
> Ой сомневаюсь я в практической применимости.
См. выше. Если заблокирован один путь, мы идем по другому.
> >> 10GE уже год как есть.
> CS> Вероятно, это будет альтернативой. Оно слишком недавно появилось, чтобы
> CS> получить широкое распространение. Хотя опять-таки надо смотреть на
> CS> параметры и цены.
> xEthernet -- это майнстрим. Его будет много и дешево.
Когда будет - будет другая ситуация. Сейчас его мало, и я не знаю, что с
ценами.
Слав, ты пойми, это не нужно в обычных сетях. Это нужно именно в
числодробилках, причем не на всех задачах. А там - время счета
уменьшается в разы при переходе от гигабитаного эзернета к тому же
InfiniBand. А это в данном случае и есть критерий истины.
--
Константин Стефанов
--- 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 639 715 758 830 937 1057 1523 1604 1630 1922
SEEN-BY: 5020/2020 2142 2238 2450 2590 4441 5021/29 5022/128 5025/3 750
SEEN-BY: 5026/45 5027/16 5029/32 5030/49 115 473 500 556 966 1063 1900 5031/70
SEEN-BY: 5031/72 5034/13 5035/3 38 5036/1 34 5042/13 5049/1 50 97 5051/15
SEEN-BY: 5054/1 4 8 9 28 35 36 37 63 66 67 70 75 81 84 85 5055/95 5057/1
SEEN-BY: 5060/88 5061/15 5062/1 10 5063/3 5066/18 5067/2 5069/7 5070/1222
SEEN-BY: 5074/9 5075/5 35 5079/23 5080/80 1003 5081/2 5082/6 5083/21 5085/13
SEEN-BY: 5090/108 5095/20 5096/18 6000/12 254 6001/3 10
PATH: 5020/400 4441 545 5054/1 37