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

 
 
> TCP/IP на Альтере (1Гбит/с), Кто-нибудь делал ?
murmel1
сообщение Feb 2 2009, 18:51
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 166
Регистрация: 2-11-08
Из: Ростов-на-Дону
Пользователь №: 41 331



Возникла необходимость сделать на альтере сетевой девайс (1Гбит/с). Основное назначение - прием и передача по сети команд управления и потоков данных (данные поставляет железо, обработка не требуется). Необходим именно TCP/IP, так как устройство будет делить сетевую магистраль с другими. Прошу поделиться у кого есть - опытом, у кого нет - мыслями о том, как это делать.
Есть development board для экспериментов (PCIe с Stratix II GX).
Есть вариант поднять на ниосе приложение simple web server. Но есть и подозрения о том, что ниос не потянет такое приложение. У кого какие мысли, сколько Мбайт/сек можно прокачать через ниос?
Какие еще варианты сделать такую систему? Может есть готовое ядро (возможность покупки есть) ? Применить внешний проц ? Но сильно сложные прожекты отметаются, так как чем делать черезчур сложную новую плату, можно купить небольшую промышленную ЭВМ с 1G Ethernet на борту и подключиться к ней по PCI

Спасибо всем
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Harbour
сообщение Mar 4 2009, 09:28
Сообщение #2


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



имелось ввиду следуещее : если задача стоит обрабатывать и перекачивать один поток на хост - ОС не нужна, если нужно на устройстве перключать задачи - то нужна. Linux + Nios - это непомерные накладные расходы - Nios и так тормоз ...
Go to the top of the page
 
+Quote Post
islavv
сообщение Mar 4 2009, 14:44
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 11-11-08
Пользователь №: 41 522



Цитата(Harbour @ Mar 4 2009, 13:28) *
Linux + Nios - это непомерные накладные расходы - Nios и так тормоз ...

А можно отсюда поподробнее - видимо есть опыт из личной жизни - пытались на Nios и такой то версией Linux сделать то-то - и получили вот такой результат
Оч интересно
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Mar 4 2009, 15:29
Сообщение #4


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



NIOS для этого мучать совсем не обязательно.
Прописная истина, что синтезированные процы сильно медленнее хардварных.
Если ни у кого не получилось на ARM-ах до 400 МГц! занять всю полосу даже 100Base-T вменяемым TCP трафиком, то NIOS может отдыхать.
Тут только десяток или сотня NIOS-ов справится.
Кстати, не ирония. Думаю реально запряч на задачу с десяток NIOS-ов, а TCP потоки поделить. Это будет самое реальное решение.


Цитата(islavv @ Mar 4 2009, 16:44) *
А можно отсюда поподробнее - видимо есть опыт из личной жизни - пытались на Nios и такой то версией Linux сделать то-то - и получили вот такой результат
Оч интересно
Go to the top of the page
 
+Quote Post
Methane
сообщение Mar 4 2009, 16:22
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(AlexandrY @ Mar 4 2009, 17:29) *
NIOS для этого мучать совсем не обязательно.
Прописная истина, что синтезированные процы сильно медленнее хардварных.
Если ни у кого не получилось на ARM-ах до 400 МГц! занять всю полосу даже 100Base-T вменяемым TCP трафиком, то NIOS может отдыхать.
Тут только десяток или сотня NIOS-ов справится.
Кстати, не ирония. Думаю реально запряч на задачу с десяток NIOS-ов, а TCP потоки поделить. Это будет самое реальное решение.

Самое правильное, это будет сборку пакетов, подсчет CRC в плисину вынести. А НИОС пусть получает готовый, и собранный TCP или UDP пакет, с подсчитанной контрольной суммой итд.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Mar 4 2009, 16:34
Сообщение #6


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Не потянет все равно.
В ARM-ах также используется аппаратных CRC на MAC уровне. Суммирование на IP уровне - даст мизер.
При этом еще есть хитрый RISC управляющий отправкой составных IP пакетов на основе дескрипторов и DMA. По сути та самая сборка.
Ниче не помогает.
Масштабирование - единственный выход.

Цитата(Methane @ Mar 4 2009, 18:22) *
Самое правильное, это будет сборку пакетов, подсчет CRC в плисину вынести. А НИОС пусть получает готовый, и собранный TCP или UDP пакет, с подсчитанной контрольной суммой итд.
Go to the top of the page
 
+Quote Post
Methane
сообщение Mar 4 2009, 16:39
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(AlexandrY @ Mar 4 2009, 18:34) *
Не потянет все равно.
В ARM-ах также используется аппаратных CRC на MAC уровне. Суммирование на IP уровне - даст мизер.
При этом еще есть хитрый RISC управляющий отправкой составных IP пакетов на основе дескрипторов и DMA. По сути та самая сборка.
Ниче не помогает.
Масштабирование - единственный выход.

Недавно гонял UDP на AVR32, дофига даст. Нужно собрать IP пакеты, подсчитать им CRC, собрать UDP пакеты, им посчитать CRC, одновременно нужно выкидывать старые IP пакеты, проводить дефрагментацию IP пакетов итд.

Тот CRC в маке - фигня. Еще много чего есть.

Сообщение отредактировал Methane - Mar 4 2009, 16:40
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Mar 4 2009, 16:50
Сообщение #8


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Меньше 30% даст на коротких пакетах если умудритесь делать аппаратное суммирование всех заголовков,
операции пересылки памяти все равно преобладают.
Да , и называть простое суммирование как CRC немного неточно.

Цитата(Methane @ Mar 4 2009, 18:39) *
Недавно гонял UDP на AVR32, дофига даст. Нужно собрать IP пакеты, подсчитать им CRC, собрать UDP пакеты, им посчитать CRC, одновременно нужно выкидывать старые IP пакеты, проводить дефрагментацию IP пакетов итд.

Тот CRC в маке - фигня. Еще много чего есть.
Go to the top of the page
 
+Quote Post
Methane
сообщение Mar 4 2009, 17:09
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(AlexandrY @ Mar 4 2009, 18:50) *
Меньше 30% даст на коротких пакетах если умудритесь делать аппаратное суммирование всех заголовков,
операции пересылки памяти все равно преобладают.
Да , и называть простое суммирование как CRC немного неточно.

Вот операции с памятью тоже. Можно в общем сделать практически все в FPGA - получаем пакеты и сваливаем в большой циклический буфер это один автомат. Еще один автомат выгребает из буфера и дешает готовые IP пакеты, с дефрагментацией, подсчетом, суммы, выбраковкой старых и итд. Третий автомат - из IP собирает уже готовые UDP, тоже считает что нужно и отдает ниосу. В этом случае НИОС может и успеть, если UDP пакеты будут и они будут достаточно большие. К примеру по 60 килобайт.
Go to the top of the page
 
+Quote Post
islavv
сообщение Mar 4 2009, 18:04
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 11-11-08
Пользователь №: 41 522



Цитата(Methane @ Mar 4 2009, 20:09) *
Вот операции с памятью тоже. Можно в общем сделать практически все в FPGA - получаем пакеты и сваливаем в большой циклический буфер это один автомат. Еще один автомат выгребает из буфера и дешает готовые IP пакеты, с дефрагментацией, подсчетом, суммы, выбраковкой старых и итд. Третий автомат - из IP собирает уже готовые UDP, тоже считает что нужно и отдает ниосу. В этом случае НИОС может и успеть, если UDP пакеты будут и они будут достаточно большие. К примеру по 60 килобайт.

а кто нибудь пробовал NicheStack TCP/IP stack NIOS II edition?
http://www.altera.com/literature/hb/nios2/n2sw_nii52013.pdf
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Mar 5 2009, 13:29
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



Цитата(islavv @ Mar 4 2009, 21:04) *
а кто нибудь пробовал NicheStack TCP/IP stack NIOS II edition?
http://www.altera.com/literature/hb/nios2/n2sw_nii52013.pdf

Сначала хотел, потом отказался: проблема с уже упоминавшейся здесь uCOSII.
Сделал на NiosII свои драйвера для LAN91C111, потом написал под ARP, ICMP и UDP, более раскрывать стек пока не нужно.
Но LAN91C111 работает на Ethernet-100, а требуется уже и Ethernet-1000.
Для последнего у меня есть 88E1111, но проблемы с нормальным описанием: достать его не возможно, из-за политики Marwell.
Может, у кого есть подробное описание 88E1111, то поделитесь или укажите, где все это добро есть. На фирму не ссылаться, там одни футболисты.

Если кому-то интересно, то вычисление контрольных сумм для UDP делал аппаратно, по ходу работы внешней FSM, т.е. ресурс NiosII на это не тратил. А воообще, ускоряться там можно много, хватало бы идей.

Сообщение отредактировал Serhiy_UA - Mar 5 2009, 13:38
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- murmel1   TCP/IP на Альтере (1Гбит/с)   Feb 2 2009, 18:51
- - Methane   Цитата(murmel1 @ Feb 2 2009, 20:51) Возни...   Feb 2 2009, 19:31
- - murmel1   Физ уровень оптика (как его там - 1000BASE-X ?) Во...   Feb 2 2009, 20:41
|- - Methane   Цитата(murmel1 @ Feb 2 2009, 22:41) Физ у...   Feb 2 2009, 20:56
- - des00   Цитата(murmel1 @ Feb 2 2009, 12:51) Есть ...   Feb 3 2009, 04:09
- - islavv   Цитата(murmel1 @ Feb 2 2009, 21:51) Возни...   Feb 26 2009, 05:28
- - Sefo   Сколько Мб/с требуется и в чем именно трудность ап...   Feb 27 2009, 19:21
|- - murmel1   Цитата(Sefo @ Feb 27 2009, 22:21) и в чем...   Feb 27 2009, 19:39
|- - AlexandrY   Для одного соединения по TCP это совершенно дикая ...   Feb 27 2009, 20:32
- - Harbour   Ну как-бы 100 Mb/sec легко дает любой задрыпаный L...   Feb 28 2009, 07:12
|- - AlexandrY   iperf сервис роутинга линукса даже не пытается исп...   Feb 28 2009, 08:30
|- - islavv   Цитата(AlexandrY @ Feb 28 2009, 11:30) ip...   Mar 1 2009, 16:41
- - Harbour   Цитатаiperf сервис роутинга линукса даже не пытает...   Feb 28 2009, 12:25
|- - AlexandrY   Расскажите о реальном маршруте пакетов. Они хоть...   Feb 28 2009, 13:01
- - Harbour   реальный маршрут : eth0 первый комп -> китайск...   Feb 28 2009, 13:49
|- - AlexandrY   Ну не верю я iperf. Я сам компилировал прогу типа...   Feb 28 2009, 14:24
- - Harbour   Ваше дело верить или нет - убеждать мне кого-либо ...   Feb 28 2009, 16:34
|- - AlexandrY   Я конечно дико извиняюсь, но вы что, прокачали 1 г...   Feb 28 2009, 17:12
- - Harbour   Не через, а от, 85.238.113.239 есть ip'шник мо...   Mar 1 2009, 07:46
- - Sefo   Господа! По-моему Линукс (так же как и Д-Линк)...   Mar 1 2009, 22:23
- - Harbour   Все очень зависит от задачи. При подаче, данной в ...   Mar 2 2009, 07:42
|- - islavv   Цитата(Harbour @ Mar 2 2009, 10:42) Все о...   Mar 4 2009, 03:51
|- - AlexandrY   Так к чему вы тогда пудрили всем этим iperf-ом? Li...   Mar 4 2009, 09:59
||- - Harbour   Цитата(AlexandrY @ Mar 4 2009, 11:59) Так...   Mar 5 2009, 04:00
||- - AlexandrY   Если бы не поленились и не ставили целью провоциро...   Mar 5 2009, 06:15
|- - islavv   Цитата(Serhiy_UA @ Mar 5 2009, 17:29) Сна...   Mar 5 2009, 14:12
|- - Serhiy_UA   Цитата(islavv @ Mar 5 2009, 17:12) Так uC...   Mar 5 2009, 14:21
|- - islavv   Цитата(Serhiy_UA @ Mar 5 2009, 18:21) Ось...   Mar 5 2009, 14:54
|- - Serhiy_UA   Цитата(islavv @ Mar 5 2009, 18:54) вам уд...   Mar 5 2009, 19:06
|- - islavv   Цитата(Serhiy_UA @ Mar 5 2009, 23:06) Nic...   Mar 5 2009, 19:56
|- - AlexandrY   Вообще, конечно, впечатляет Взять Stratix II где-т...   Mar 5 2009, 22:12
||- - islavv   Цитата(AlexandrY @ Mar 6 2009, 01:12) Воо...   Mar 5 2009, 23:31
|||- - AlexandrY   Это не смешно, от таких решений пахнет нафталином....   Mar 6 2009, 06:42
||- - Serhiy_UA   Цитата(AlexandrY @ Mar 6 2009, 01:12) Воо...   Mar 6 2009, 06:26
||- - VslavX   Цитата(Serhiy_UA @ Mar 6 2009, 08:26) Но ...   Mar 6 2009, 07:41
||- - Methane   Цитата(VslavX @ Mar 6 2009, 09:41) Я тоже...   Mar 12 2009, 18:29
||- - VslavX   Цитата(Methane @ Mar 12 2009, 20:29) А эт...   Mar 12 2009, 18:49
||- - Methane   Цитата(VslavX @ Mar 12 2009, 20:49) Не зн...   Mar 12 2009, 18:53
||- - cms   добавлю в копилочку: у альтеры есть AN-440 “Accele...   Jul 3 2009, 20:00
|- - islavv   Цитата(Serhiy_UA @ Mar 5 2009, 23:06) У м...   Mar 12 2009, 17:49
- - jojo   Зачем tcp вообще здесь. Плис с синтезированным Gig...   Mar 4 2009, 11:37
|- - Methane   Цитата(jojo @ Mar 4 2009, 13:37) Зачем tc...   Mar 4 2009, 11:52
- - jojo   Да, эт я загнул.   Mar 4 2009, 12:42
- - Harbour   Цитата:Если бы не поленились и не ставили целью пр...   Mar 5 2009, 12:06
- - Koluchiy   Здравствуйте, уважаемые гуру. А кто-нибудь пробов...   Oct 23 2013, 07:55
- - Koluchiy   И еще в догонку. Кто-нибудь пробовал убедить nich...   Oct 23 2013, 12:25
|- - Corner   Мне для решения данной проблемы хватило EP4CE22+MA...   Oct 29 2013, 19:05
- - Koluchiy   UDP?   Oct 30 2013, 11:56
|- - Corner   Цитата(Koluchiy @ Oct 30 2013, 15:56) UDP...   Oct 30 2013, 16:27
- - Koluchiy   UDP делали программно или аппаратно?   Oct 31 2013, 05:16
|- - Corner   Цитата(Koluchiy @ Oct 31 2013, 09:16) UDP...   Nov 6 2013, 17:33
- - Koluchiy   А кто-нибудь пробовал работать с niche stack метод...   Nov 1 2013, 05:50
- - BigBatya   Я получил около 85 Мбайт/сек UDP без jumbo пакет...   Nov 12 2013, 05:03
- - ilyge   Очень давно для сканирующего приемника делалали ре...   Nov 13 2013, 11:53
- - Koluchiy   Кто-нибудь пробовал делать пакеты >1500 байт дл...   Nov 13 2013, 17:37
|- - krux   Цитата(Koluchiy @ Nov 13 2013, 21:37) Кто...   Nov 13 2013, 18:22
- - Koluchiy   Правда работает? Там просто можно передавать длин...   Nov 14 2013, 12:57


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

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 04:22
Рейтинг@Mail.ru


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