Перейти к содержанию

FMC122P - PCI Express v3.0 x16

Всем доброго времени суток.

Хочу рассказать о достижениях в области PCI Express.

У нас в разработке находится модуль FMC122P : http://insys.ru/products/fmc/fmc122p
На нём установлен Virtex 7, который имеет два порта PCI Express v3.0 x8; Эти два порта подключены к коммутатору, а коммутатор подключён к разъёму x16.

Есть интересные результаты по измерению скорости:
  • Intel Core i7 3820 P9X79, память DDR3-1866 - 11050 Мбайт/с
  • Intel Core i7 3820 P9X79, память DDR3-1600 - 10900 Мбайт/с
  • Intel Core i7 5820 X99, память DDR4-2400 - 9000 Мбайт/с


Два модуля FMC122P в компьютере P9X79, DDR3-1866 показывают 11000 Мбайт/с каждый. Но если включить проверку данных, то скорость падает до 7500 Мбайт/с.
В компьютере P9X79 DDR3-1600 при включении проверки скорость также падает до 8500 Мбайт/с
В компьютере P9X79 DDR3-1866 при одной плате и включённой проверке данный скорость не уменьшается - 11050 Мбайт/с
Скорость зависит от активности компьютера, видно что скорость падает при увеличении активности. Все измерения проводились под Windows 7 x64 при непрерывном вводе в буфер размером 1 Гбайт. Интервал измерения от нескольких минут до нескольких часов.

Самое интересное - почему такая маленькая скорость на компьютере Intel Core i7 5820 X99 DDR4-2400
Я ожидал прироста скорости до 12000, а получил снижение до 9000.



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


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

Уточненные результаты:
  • Intel Core i7 4820K P9X79, память DDR3-1866 - 11140 Мбайт/с
  • Intel Core i7 5820K X99-A, память DDR4-2400 - 11128 Мбайт/с
  • Intel Core i7 3820 P9X79, память DDR3-1600 - 11120 Мбайт/с


Это средняя скорость при вводе данных без проверки в буфер размером 1 Гбайт в течении 1 часа.



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


Ссылка на сообщение
Поделиться на другие сайты
А на матерях с чипсетом Z97 или Z170 какие показатели?

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


Ссылка на сообщение
Поделиться на другие сайты
Intel Core i7-4790 3.6 GHz Z97-WS, DDR3-1600
Без проверки 11022
С проверкой 9540

На компьтерах с DDR-1600 происходит резкое уменьшение скорости при включении проверки. На компьютере с DDR-1866 снижения не происходит.
Интересная ситуация с DDR-2400, только после некоторой оптимизации программы проверки удалось проверить данные на полной скорости.

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


Ссылка на сообщение
Поделиться на другие сайты
А на матерях с AMD-процессором какие результаты?

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(FLTI @ Mar 5 2016, 20:05) <{POST_SNAPBACK}>
А на матерях с AMD-процессором какие результаты?

К сожалению мне не удалось найти компьютер с AMD.

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(dsmv @ Feb 21 2016, 13:27) <{POST_SNAPBACK}>
Эта ссылка не работает, а так - любопытно какую задачу выполняет плата?

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


Ссылка на сообщение
Поделиться на другие сайты
Вот правильная ссылка: http://insys.ru/fmc/fmc122p

На данный момент главная задача этого модуля - показывать какие мы крутые. За полтора года я не смог найти ни одного покупателя.
С одной стороны модуль явно опередил своё время - никому такие скорости не нужны.
С другой стороны - Virtex 7 уже устарел. Сейчас это уже можно сделать на Kintex Ultrascale.

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


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

Появились новые данные по скорости:

- 13 500 Мбайт/с — ввод в буфер размером 1024 Мбайта в системной области памяти

- 13 310 Мбайт/с — ввод в буфер размером 4096 Мбайт в пользовательской области памяти

 

FMC122P: http://insys.ru/fmc/fmc122p

 

P.S. 1 Мбайт = 1024*1024 байт.

 

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


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

>>После этого командами int_mem_read производится считывание и проверка принятых данных.

 

а это не на физический ли предел натыкаетесь, по сскорости доступа к памяти ?

Проверка тоже происходит по DMA?

 

Тут бы поиграть со скоростю записи, принудительно опуская ее с 11000-13000Мб до уровней когда включение проверки перестанет провоцировать "проседание" приема/записи, и тогда анализировать имеющиеся/достигнутые цифры.

 

ПС: до собственного 10GHz осцилогрофа осталось пол шага? ;)

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

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


Ссылка на сообщение
Поделиться на другие сайты
...На данный момент главная задача этого модуля - показывать какие мы крутые. За полтора года я не смог найти ни одного покупателя.

С одной стороны модуль явно опередил своё время - никому такие скорости не нужны.

С другой стороны - Virtex 7 уже устарел. Сейчас это уже можно сделать на Kintex Ultrascale.

 

Ну, мне такая штуковина могла бы сгодится годика 3..4 назад. М.б. и кому-то ещё. А сейчас - нет.

 

Имха, дело тут не только в специфичности рынка и редко встречающихся соответствующих заказчиках.

Хотя фактор "нужного времени и места" стоит в полный рост.

Так, для наших задач (ЛВС) есть привязка к каналам передачи данных с ёмкостями 10G, 40G и 100G (здесь и далее - гигабиты в сек.).

И ещё желательно иметь кратности 2 или 4. И запас емкости каналов к материнской плате/бэкплейну.

Т.е., не всякая конфигурация годится под задачи ЛВС конкретного класса. Да и в других областях к ёмкостям ЛВС могут привязываться.

Вот и получается, 10G уже многими отработан, 40G уже не актуальны, да и ваша плата скорее вписывается в эти невостребованные 40G.

А для всё ещё горячих(в прямом и переносном) 100G желательно иметь что-нить покруче Virtex 7 и PCI Express v3.0.

 

Но плата красивая, это да. Бу иметь ввиду.

М.б. что-нить когда-нить и понадобится. И м.б. даже в ближайшее.

 

...

ПС: до собственного 10GHz осцилогрофа осталось пол шага? ;)

 

Ну, осциллограф на 10G - это не столь интересно и весело, если речь о ёмкости канала. Таки, штуковина локальная, лучше всё заливать в один флакон.

Но за то, что подняли тему, отдельное спасибо. Иной раз ищешь что-нить такое, и хрен найдёшь, особливо в России.

 

 

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


Ссылка на сообщение
Поделиться на другие сайты
Тут бы поиграть со скоростю записи, принудительно опуская ее с 11000-13000Мб до уровней когда включение проверки перестанет провоцировать "проседание" приема/записи, и тогда анализировать имеющиеся/достигнутые цифры.

Да, здесь я уже столкнулся с ограничением скорости по проверке данных.

Мой алгоритм проверки успевает работать на скорости до 13280 Мбайт/с с системной памятью и 12635 Мбайт/с с пользовательской памятью.

 

В качестве тестовых данных я использую счётчик 64 разряда. Кстати, я обнаружил что компьютер с памятью DDR3-1866 работает быстрее чем DDR4-2133.

 

Следующим этапом я хочу передавать данные непосредственно в память графического процессора NVIDIA. И использовать его возможности для проверки и обработки данных. По отдельности платы уже работают, а вот запустить их вместе всё никак не соберусь.

 

 

А для всё ещё горячих(в прямом и переносном) 100G желательно иметь что-нить покруче Virtex 7 и PCI Express v3.0.

 

PCI Express 3.0 x16 как раз подходит для одного канала 100G. Такая плата у нас есть в разработке, но вот когда она появиться я уже не знаю.

Там будет использоваться Kintex UltraScale+ KU11P. Наработки по PCI Express будут перенесены на новую плату.

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


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

PCI Express 3.0 x16 как раз подходит для одного канала 100G. Такая плата у нас есть в разработке,

...

 

Ну, в части "подходит" не всё так однозначно.

 

С одной стороны, та же обработка пакетов даже для одного 100G - задача серьёзная.

С другой стороны, зачастую предпочтительна кратность 2. И по портам, и по ёмкости каналов на "матерь" или бэкплейн.

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

Например, резервирование разного уровня. Есть и другие моменты, когда эта 2-ка востребована.

 

Но это так, лирическое. Один порт 100G - тоже весьма (самому не довелось, но представление есть). Главное, ч.б. работал.

Однако, если будете допиливать на PCI Express 3.0 x16, таки поставьте на FMC второй разъём под оптический модуль.

Вроде как, и соответствующих трансиверов как раз должно быть 8шт, а разъём много денег не скушает.

 

С ультраскейлами оно конечно интересней. Что там с трансиверами/стандартами, я навскидку не вспомню.

Но если есть возможность, на пару портов под оптику тоже лучше закладываться.

 

Впрочем, это я так, на всякий. Думаю, Вы в курсе.

А удастся ли это продать, будем поглядеть. Надеюсь, что да.

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


Ссылка на сообщение
Поделиться на другие сайты
Ну, в части "подходит" не всё так однозначно.

С одной стороны, та же обработка пакетов даже для одного 100G - задача серьёзная.

С другой стороны, зачастую предпочтительна кратность 2. И по портам, и по ёмкости каналов на "матерь" или бэкплейн.

 

Конечно это всё не просто, PCIe 3.0 x16 и 100G подходит по порядку скоростей ~10Гбайт/с. Обработка пакетов затрудняется маленькими размерами пакетов, но над обработкой я работаю, пока для варианта 10G.

Кратность 2 предусмотрена, у нас есть и FMC субмодуль с двумя QSFP, и другой FMC где восемь SFP. На новой плате также заложено два QSFP. ПЛИС KU11P как раз имеет два аппаратных узла 100G, так что всё совпадает.

 

У конкурентов похожие платы уже есть - там один или два QSFP, PCIe, память.

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти