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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Скорость одиночных транзакций
aosp
сообщение May 6 2011, 18:01
Сообщение #1


к.т.н.
***

Группа: Модераторы
Сообщений: 242
Регистрация: 21-06-04
Из: Санкт–Петербург, Россия
Пользователь №: 75



Имеется Arria 2GX и связанный с нею модуль на базе NanoETX Intel Antom под LINUX
Наблюдается скорость следования одиночных транзакций
- по записи период следования примерно 120нс
- по чтению период следования примерно 1800нс

реальная задержка ответа на запрос чтения составляет менее 50нс...
Вопрос, это нормально что по чтению так медленно или где то что то не так?
Подскажите, можно ли ускорить темп одиночных транзакций чтения?
Go to the top of the page
 
+Quote Post
Andrew Su
сообщение May 6 2011, 18:43
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 301
Регистрация: 18-09-07
Из: Украина
Пользователь №: 30 647



Цитата(aosp @ May 6 2011, 21:01) *
Имеется Arria 2GX и связанный с нею модуль на базе NanoETX Intel Antom под LINUX
Наблюдается скорость следования одиночных транзакций
- по записи период следования примерно 120нс
- по чтению период следования примерно 1800нс

реальная задержка ответа на запрос чтения составляет менее 50нс...
Вопрос, это нормально что по чтению так медленно или где то что то не так?
Подскажите, можно ли ускорить темп одиночных транзакций чтения?


Приветствую.
Не буду расспрашивать об особенностях вашей реализации, тем более, что работаю на Xilinx.
Посоветую лишь http://www.4shared.com/file/05UAB2jM/PCI_E...rchitectur.html
Очень неплохая книга. Все, что и в стандарте, но более понятно.
А по времянкам на одиночных транзакциях у меня приблизительно так-же.
Удачи вам.
Go to the top of the page
 
+Quote Post
dmitry-tomsk
сообщение May 7 2011, 09:26
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741



Цитата(aosp @ May 6 2011, 21:01) *
Имеется Arria 2GX и связанный с нею модуль на базе NanoETX Intel Antom под LINUX
Наблюдается скорость следования одиночных транзакций
- по записи период следования примерно 120нс
- по чтению период следования примерно 1800нс

реальная задержка ответа на запрос чтения составляет менее 50нс...
Вопрос, это нормально что по чтению так медленно или где то что то не так?
Подскажите, можно ли ускорить темп одиночных транзакций чтения?

Нельзя, светлый путь - только dma.
Go to the top of the page
 
+Quote Post
aosp
сообщение May 9 2011, 10:43
Сообщение #4


к.т.н.
***

Группа: Модераторы
Сообщений: 242
Регистрация: 21-06-04
Из: Санкт–Петербург, Россия
Пользователь №: 75



Цитата(dmitry-tomsk @ May 7 2011, 13:26) *
Нельзя, светлый путь - только dma.

Просто очень странно что разница между циклами почти в десять раз. Dma конечно здорово но если в приложении не используются блочные пересылки смысла от него тоже нет.
Go to the top of the page
 
+Quote Post
dmitry-tomsk
сообщение May 9 2011, 16:34
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741



Цитата(aosp @ May 9 2011, 14:43) *
Просто очень странно что разница между циклами почти в десять раз. Dma конечно здорово но если в приложении не используются блочные пересылки смысла от него тоже нет.

А что странного? Для записи цпу выполняет команды записи в память одну за другой, а для чтения - нужно ждать ответа перед выполнением следующей команды, а задержка в pcie очень большая.
Go to the top of the page
 
+Quote Post
aosp
сообщение May 10 2011, 02:53
Сообщение #6


к.т.н.
***

Группа: Модераторы
Сообщений: 242
Регистрация: 21-06-04
Из: Санкт–Петербург, Россия
Пользователь №: 75



Какая же латентность у канала? Получается примерно 800-900нс в одну сторону.
Go to the top of the page
 
+Quote Post
novartis
сообщение Jun 7 2011, 17:16
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



По работе использую плату Stratix IV GX Dev. Kit, включена в режиме х8 в ПК под Fedore. Интервалы между запросами на запись порядка 40 нс, на чтение - 400 нс.
Go to the top of the page
 
+Quote Post
aosp
сообщение Jun 22 2011, 18:21
Сообщение #8


к.т.н.
***

Группа: Модераторы
Сообщений: 242
Регистрация: 21-06-04
Из: Санкт–Петербург, Россия
Пользователь №: 75



если я все правильно понимаю скорость следования одиночных транзакций не зависит от количества лэйнов.
а вот с чем связана моя латентность я уже ума не приложу... всеж 400нс это не 1800нс...
хотя может много зависит от руткомплекса, надо будет поэкспериментировать еще где нить
Go to the top of the page
 
+Quote Post
nicvic
сообщение Feb 15 2012, 06:33
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 15-01-09
Пользователь №: 43 406



Цитата(novartis @ Jun 7 2011, 21:16) *
По работе использую плату Stratix IV GX Dev. Kit, включена в режиме х8 в ПК под Fedore. Интервалы между запросами на запись порядка 40 нс, на чтение - 400 нс.

Сам использую Stratix IV GX Dev. Kit, но не могу получить такие же результаты. Смотрел времена на МБ с Intel P55 (160/1800) и с Intel 5500 (180/780). Использую PCIE Core от Altera для QSys (PCI 1.0 x8). Может кто что посоветует для уменьшения задержек? Может ядро какое другое (PLDA например)?


--------------------
Ищем FPGA программиста на постоянную работу в Москве (http://quantstellation.ru/job.html#fpgaprog)
Go to the top of the page
 
+Quote Post
syoma
сообщение Mar 2 2012, 08:13
Сообщение #10


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

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



Цитата(aosp @ May 6 2011, 21:01) *
Наблюдается скорость следования одиночных транзакций
- по записи период следования примерно 120нс
- по чтению период следования примерно 1800нс

Можно спросить - чем Вы меряете скорость транзакций?

Go to the top of the page
 
+Quote Post
syoma
сообщение Apr 19 2012, 10:14
Сообщение #11


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

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



Еще раз в тему. Мы настроили обмен между SP605 и ML605 через PCIe свич. SP605 постоянно записывает данные в память ML605. Настроили пины на платах так, что SP605 меняет состояние пина, когда пакет отправляется, а ML605 - когда пакет принимается. На пины смотрим осциллографом.
В итоге реальная задержка - 1700+-50нс. Пробовали делать двухсторонний обмен - т.е. SP605 читает данные из памяти ML605 - получили 3400нс.
Вопрос - почему у меня ваши тайминги не получаются?
Ведь хост в этих делах, вроде как, участие не принимает? Или принимает?
Go to the top of the page
 
+Quote Post
gerber
сообщение Jun 19 2012, 13:29
Сообщение #12


Знающий
****

Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088



Цитата(aosp @ May 6 2011, 22:01) *
Имеется Arria 2GX и связанный с нею модуль на базе NanoETX Intel Antom под LINUX
Наблюдается скорость следования одиночных транзакций
- по записи период следования примерно 120нс
- по чтению период следования примерно 1800нс

реальная задержка ответа на запрос чтения составляет менее 50нс...
Вопрос, это нормально что по чтению так медленно или где то что то не так?
Подскажите, можно ли ускорить темп одиночных транзакций чтения?

Всё абсолютно правильно, одиночные транзакции записи на порядок быстрее транзакций чтения. Это характерно для шин PCI/PCIe и связано с механизмом кэширования записи, т. н. Posted Write (отложенная запись). Когда вы записываете данные в плату - устройство (возможно, мост) может и "не торопиться" выполнять физическую запись, поэтому только запоминает в кэше и отпускает процессор, так как на дальнейшее выполнение программы это не влияет, а вот когда происходит чтение - устройство обязано сначала отработать все предыдущие posted-транзакции записи и только потом физическое чтение, которое невозможно отложить в принципе. Пока всё это не будет выполнено - процессор висит и ждёт, так как прочитанные данные влияют на дальнейший ход программы.


--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
Go to the top of the page
 
+Quote Post
dsmv
сообщение Jun 20 2012, 12:56
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 451
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 284



Цитата(gerber @ Jun 19 2012, 16:29) *
Всё абсолютно правильно, одиночные транзакции записи на порядок быстрее транзакций чтения. Это характерно для шин PCI/PCIe и связано с механизмом кэширования записи,


Не совсем так. Транзакция записи идёт только в одну сторону, а транзакция чтения - туда и обратно. Вот и получается в два раза больше по времени.




Go to the top of the page
 
+Quote Post
gerber
сообщение Jun 21 2012, 14:24
Сообщение #14


Знающий
****

Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088



Цитата(dsmv @ Jun 20 2012, 16:56) *
Не совсем так. Транзакция записи идёт только в одну сторону, а транзакция чтения - туда и обратно. Вот и получается в два раза больше по времени.

biggrin.gif
Смайлик забыли поставить.
Вообще-то, у топикстартера разница времён на порядок.


--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
Go to the top of the page
 
+Quote Post
novartis
сообщение Feb 5 2014, 11:06
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



Подниму старую тему, так как уже на протяжении 3 лет меня терроризирует начальник, почему время на чтение по PCIE составляет 400нс. Сейчас собрал новый проект на Arria V, на ней получилось 700нс на одиночное чтение и опять этот вопрос всплыл. Может кто расписать на пальцах, желательно с сылками на литературу, почему такая латентность?
Go to the top of the page
 
+Quote Post

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

 


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


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