реклама на сайте
подробности

 
 
> PCI Express Peer-to-peer., Вопросики.
Victor®
сообщение Nov 14 2011, 08:13
Сообщение #1


Lazy
******

Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76



Приветствую.
Как "широко известно в узких кругах" sm.gif
PCIe допускает 2 модели использования a) HOST-centric и б) Peer-to-Peer.

Если с вариантом a) (весь траффик гоняется через root-complex в HOST CPU) все как-бы прозрачно и понятно?
то с вариантом б) (устройства на PCIe обмениваются без вмешательства и загрузки хоста) не все так гладко, как мне кажется.

Есть у кого опыт реализации P2P на PCI Express? С какими сложностями столкнулись? По всей видимости,
основная заморочка будет с драйверами под это дело.

Зачем мне это надо? Есть задача в которой надо как можно быстрее получать данные с одного PCIe устройства и записывать в другое.
Обработки никакой нет. Вот показалось, что P2P даст максимальную скорость.


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 5)
Shivers
сообщение Dec 9 2011, 14:28
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



Цитата(Victor® @ Nov 14 2011, 11:13) *
Приветствую.
Как "широко известно в узких кругах" sm.gif
PCIe допускает 2 модели использования a) HOST-centric и б) Peer-to-Peer.

Если с вариантом a) (весь траффик гоняется через root-complex в HOST CPU) все как-бы прозрачно и понятно?
то с вариантом б) (устройства на PCIe обмениваются без вмешательства и загрузки хоста) не все так гладко, как мне кажется.

Есть у кого опыт реализации P2P на PCI Express? С какими сложностями столкнулись? По всей видимости,
основная заморочка будет с драйверами под это дело.

Зачем мне это надо? Есть задача в которой надо как можно быстрее получать данные с одного PCIe устройства и записывать в другое.
Обработки никакой нет. Вот показалось, что P2P даст максимальную скорость.

Я так понимаю, две модели, это - процессорный ввод/вывод и использование dma? )
На модели процессорный ввод/вывод вообще ни о чем, скорость ниже плинтуса, так что дма обязательно. Другое дело, куда его вставлять? Разные конторы делают по разному: одни встравивают dma контроллер в RC, другие на внутреннюю шину, на которой RC сидит вместе с другими системными устройствами (к примеру, dram контроллер). Второй вариант мне кажется предпочтительнее, поскольку он более универсален, да и RC может быть не единственным в системе (часто делают несколько штук из связки RC-RP, вместо того чтобы сделать один RC с несколькими RP).
В общем, в любом случае, использование DMA обязательно. Процессорной ввод/вывод нужен только для CFG, PM/MSG и прочего
Go to the top of the page
 
+Quote Post
Fast
сообщение Dec 9 2011, 15:08
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



б) данные гонятся из EndPoint в EndPoint, но через root
чтобы миновать хостпамять, нужен соотв драйвер писать, который управлял бы двумя железяками и настраивал адреса ввода-вывода крест-накрест
это если ОС позволит

вообще без root, имхо, невозможно
Go to the top of the page
 
+Quote Post
Victor®
сообщение Dec 17 2011, 19:49
Сообщение #4


Lazy
******

Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76



Цитата(Fast @ Dec 9 2011, 18:08) *
б) данные гонятся из EndPoint в EndPoint, но через root
чтобы миновать хостпамять, нужен соотв драйвер писать, который управлял бы двумя железяками и настраивал адреса ввода-вывода крест-накрест
это если ОС позволит

вообще без root, имхо, невозможно


Естественно без рута это не получится.
Должен же кто-то настраивать эндпойнты.
А они потом между собой гоняют данные минуя хост.
DMA реализованное в свичах тоже бывает, например в некоторых PLX.
Можно применять его для p2p также.


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post
syoma
сообщение Apr 19 2012, 10:30
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Привет.
Мы сейчас как раз прорабатываем такую задачу. У нас будет хост и несколько плат на FPGA с PCIe. Некоторые платы на Spartan-6 будут собирать аналоговые данные и отправлять их в одну большую Virtex-6 ПЛИСину для ЦОС обработки. Время реакции является критичным, поэтому все хотим делать Peer-to-peer. PCIe эндпоинты мы настроили на крест-накрест. В итоге пока добились, что Spartan-6 самостоятельно запихивает данные в память Virtex-6 с весьма высокой скоростью и, вроде как - напрямую, но задержка составляет около 1700нс. Хотим сделать быстрее, но пока не понятно где задержка происходит. Свичи - IDT.
Go to the top of the page
 
+Quote Post
Victor®
сообщение Jun 7 2012, 10:11
Сообщение #6


Lazy
******

Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76



Цитата(syoma @ Apr 19 2012, 13:30) *
Привет.
Мы сейчас как раз прорабатываем такую задачу. У нас будет хост и несколько плат на FPGA с PCIe. Некоторые платы на Spartan-6 будут собирать аналоговые данные и отправлять их в одну большую Virtex-6 ПЛИСину для ЦОС обработки. Время реакции является критичным, поэтому все хотим делать Peer-to-peer. PCIe эндпоинты мы настроили на крест-накрест. В итоге пока добились, что Spartan-6 самостоятельно запихивает данные в память Virtex-6 с весьма высокой скоростью и, вроде как - напрямую, но задержка составляет около 1700нс. Хотим сделать быстрее, но пока не понятно где задержка происходит. Свичи - IDT.


Да как-то долго выходит.
Вряд-ли из-зи латентности свича - она на порядок меньше.
Или все таки не P2P....

Или удалось побороть?


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 14:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.01421 секунд с 7
ELECTRONIX ©2004-2016