10G дома: Infiniband, Windows-SMB
Продолжаю потихоньку упражняться с 10G, вынул Myricom, вставил IB. Все под виндой, до Linux+IB руки только на выходных дойдут.
Для начала - завлекательная картинка:
Под катом: как оно было получено и что было получено еще.
Сетап: две машины под Win 7/x64. Карты Mellanox Infiniband (10G), драйвера OFED 3.0, IPoIB, connected mode.
По вполне разумному совету, поднял Ramdrive еще и на клиенте, чтобы даже быстрый (но недостаточно быстрый) сторадж не замутнял картину.
Подняв его, выяснил, что каталог с Qt на этот ramdrive копируется те же 42 секунды, что и на iSCSI и на быстрый SSD (Qt лежит на медленном Vertex2 SATA2, а еще у меня есть Vertex3 SATA3). То есть в самых быстрых вчерашних тестах меня ограничивал источник.
6-гиговый файл с ramdrive через IB на другой ramdrive улетает со скоростью 0.9-1Gb/sec, то есть со скоростью соединения. Насколько быстрее (чем во вчерашних экспериментах) оно летело бы по Myricom - вопрос открытый, не факт что быстрее чем по IB, потому что Atto benchmark для Win7-SMB over IB намерял для больших блоков заметно побольше:
Короткими же блоками - один фиг по этой бенчмарке, существенной разницы нет.
Берем другую бенчмарку, "копирование Qt по сети", намеряем устойчиво 1:30, что хуже, чем было для той же реализации SMB, но для Myricom-овских карт. Причем эти 1:30 не зависят от источника, что с SSD, что с Ramdrive - один хрен.
Сухой остаток: какие-то чудеса, я ожидал увеличения производительности на мелких транзакциях и, возможно, небольшого падения на длинных (т.к. 8G а не 10), а получил обратный эффект.
Чудес ожидаю от iSCSI и SRP на Linux, но это не сегодня скорее всего.
Comments
BTW, если хватит запала, попробуй померять ещё и с опенсоляр
BTW, если хватит запала, попробуй померять ещё и с опенсолярисом в качестве сервера (NexentaStor Community), как по SMB (он там ядерный, так что может быть интересно), так и с iSCSI
Я если буду собирать сторадж на "новых дисках" т.е. на вновь
Я если буду собирать сторадж на "новых дисках" т.е. на вновь купленных, а не на имеющихся, то поразвлекаюсь и с нексентой. Хотя я туда смотрел пару лет назад и был совершенно не впечатлен.
Там еще дурь с Infiniband: драйвера есть, а subnet manager нету, отчего все мучаются ужасно.
Вот еще вопрос: как правильно собирать массив под Nexenta/FreeBSD, делать ли JBOD+RAIDZ или средствами контроллера делать RAID?
В смысле гемороя при замене дисков мне RAIDZ нравится куда более, а в смысле производительности?
Nexenta за последние пару лет здорово продвинулась. Контрол
Nexenta за последние пару лет здорово продвинулась.
Контроллер какой? Я бы, правда, всё равно делал set of single disks (не JBOD, в этом режиме, как правило, у контроллеров отключается кеш)
На руках есть Adaptec 5805. Но имеется проблема курицы и яйц
На руках есть Adaptec 5805. Но имеется проблема курицы и яйца - если совать его в сторадж, то на чем жить на WS, пока сторадж не поднят...
Скажите, а по какому
Скажите, а по какому протоколу происходило копирование? Я просто не верю что TCP-протокол способен выжать 10 гигабит даже внутри одной локальной машины.
Хотелось бы простейший клиент-сервер на каком-нибудь языке программирования C++, C# или Java
А почему не верите то, что
Это SMB. Сервер - Linux, клиент - Win7.
А почему не верите то, что мешает получить 7-8 гигабит (как на картинках выше)? Задержки у infiniband маленькие, tcp window - наоборот большое, естественных ограничений нет.
Вот в видеокарту улетают 5-6 гигабайт/сек (40-50 Gbit/s) - и никого это не удивляет.
Bandwidth памяти - 20-25 гигабайт/сек, даже без zero copy tcp есть огромный запас.
Ну и надо учитывать, что это Infiniband Connected Mode, пакеты по 64килобайта (минус заголовки), т.е. чтобы получить 1 гигабайт в секунду нужно всего-то 16 тыс. пакетов в секунду.
На гигабите с jumbo frames - при полной загрузке линка получается около 13 тыс пакетов в секунду - и никакой существенной нагрузки это не создает. Чексуммы считаются картой, битые пакеты (которых, впрочем, обычно нет) - тоже дропаются картой, компьютеру вообще ничего почти делать не надо.
А простейших клиент-серверов - навалом. Возьмите netperf, к примеру.
А почему не верите то, что
А почему не верите то, что мешает получить 7-8 гигабит (как на картинках выше)? Задержки у infiniband маленькие, tcp window - наоборот большое, естественных ограничений нет.
- Да я верю. Просто у TCP всё не так хорошо как у infiniband, и где-то читал что для пользования infiniband нужно использовать ихнии протоколы, а не TCP.
На локальном компе делал клиент-сервер на TCP протоколе в Win XP на С++ - получилось около 200 метров в секунду, при этом svchost+system грузили почти полностью одно из ядер процессора.
SMB я прочитал вроде поверх TCP работает, так что по идее быстрее быть не должен чем TCP..
У меня есть три мысли:
1. в Win 7 поправили протокол TCP
2. SMB на самом деле может работать не только с TCP но и с Infibandoвскими протоколами.
3. Не умею я настраивать TCP-соединение.
Вот кажется мне что второе.
У TCP - "плохо" с window.
У TCP - "плохо" с window. Т.е. если вы живете со стандартным TCP-окном в 64k, то больше чем эти самые 64к за RTT - вы не пропустите. Но это давно вылечили через большие окна.
Других принципиальных проблем я не вижу.
В Win7, да, скорее всего в TCP многое поправили.
Проводил аналогичные тесты
Проводил аналогичные тесты Windows - Windows . те же карты Mellanox MHEA28-XTC - 2шт .
2 Сервера на Windows 2012 .
Карты настроены IPoIB . Connected mode не включен .
использовал не SMB а Microsoft iSCSI Target и Microsoft iSCSI initiator .
Скорость упиралась в диски - это и понятно .
Но насторожил меня один момент - при копировании файла в 5 гигов - Respons Time -того диска куда копировался файл (подключенный по ISCSI )уходил за 300 мс ....... .
Повторил все тоже самое с рам дисками - респонс тайм 170 - 240 мс и через пару секунд копирования файла iscsi отваливается ....
Дальнейшие попытки приводили к таким же результатам , что с рам дисками что с обычными ....
не случалось ли у вас подобного ?
2012-го сервера у меня нет. В
2012-го сервера у меня нет.
В остальном
1) каких-то странностей в паре Windows-Linux Server не было
2) я уже довольно долго ( с прошлого лета или начала осени) живу с дисковым массивом вынесенным в отдельный ящик к которому хожу по SRP. Полет совершенно нормальный, никаких проблем вообще (сплевываю три раза...)