|
Реально Fast Ethernet, Использование RAW-пакетов |
|
|
|
Mar 3 2008, 21:30
|

Местный
  
Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131

|
Периодически вспыхивают дискуссии о реальной скорости передачи данных по Ethernet. У меня именно такая задача - в сенменте Ethernet-100 обеспечить передачу потока данных со скоростью не менее 80 Мbps. Как я уже докладывал, существующие стеки TCP/IP не обеспечивают такой скорости, даже в протоколе UDP. Для известных конструкций на микроконтроллерах, реальная скорость не превышает 20..25 Mbps. Поэтому было решено отойти от стандартов TCP/IP и максимально сократить программное вмешательство процессора в процесс отсылки пакетов. Городить FPGA для ENET-100 тоже не показалось оправданным. В результате, поиск остановился на кристалле STR912FAxx c ARM9 и Ethernet контроллером на борту. Почему именно на нем. Потому, что в нем так организована периферия, AHB шина, контроллер внешней шины и DMA-MAC, что позволяет заполнять FIFO MAC-контроллера внешними данными автономно, минуя шину процессора и минуя шину FLASH и SRAM. Т.е. процессор практически не тормозится, а закачка данных идет на максимальной скорости. Я реализовал простейший вид RAW-пакетов в формате Ethernet-II: <Dst><Src><FrameId><...Data...>. Где FrameId мне любезно предоставил наш уважаемый гуру. Вот первые результаты натурных испытания на модуле MMstr912 от Propox получена максимальная скорость передачи данных- 96 Mbps. Использование 100M сети на 96%. Это скорость, когда процессор ничем не занят. В реале же, я ожидаю незначительного снижения производительности из-за того, что подготовка и отсылка пакетов практически полностью осуществляется аппаратными средствами кристалла. Было проверено также прохождение такого потока данных через свитч. Нареканий нет. Также проверена возможность WinPCAP капчурить поток пакетов такой скорости поступления и записывать их в файл. Работает исправно на Windows XP c обычным пентиумом 800MHz. Сейчас я полон оптимизма и приступаю к реализации WEB-сервера на RAW-пакетах.
|
|
|
|
|
 |
Ответов
|
Mar 9 2008, 18:33
|
Участник

Группа: Участник
Сообщений: 49
Регистрация: 23-11-05
Пользователь №: 11 279

|
Цитата(Aprox @ Mar 4 2008, 01:30)  Периодически вспыхивают дискуссии о реальной скорости передачи данных по Ethernet... Для известных конструкций на микроконтроллерах, реальная скорость не превышает 20..25 Mbps... Мы тоже начали городить что-то подобное, но испугались что нехватит мощности ST912xx процессора и выбрали проц помощенее - iMX27 от freescale ( мощности небывает слишком много  . Цитата(Aprox @ Mar 4 2008, 01:30)  Вот первые результаты натурных испытания на модуле MMstr912 от Propox получена максимальная скорость передачи данных- 96 Mbps Как я понимаю тесты делались со стандартным ST MAC/DMA (ENET) фирмваром? Генерились готовые пакеты (в FPGA?) и передавались в FIFO MAC-контролера? А какой размер был тестовых пакетов? Максимальный? А есть возможность повторить тест, но с маленькими пакетами? Могут в таком тесте возникнуть сложности с пакетами размером до 100Б? Есть узкое место?
|
|
|
|
|
Mar 10 2008, 08:04
|

Местный
  
Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131

|
Цитата(Raimis @ Mar 9 2008, 21:33)  Как я понимаю тесты делались со стандартным ST MAC/DMA (ENET) фирмваром? 91x_enet.c библиотеку переделал, выкинул все лишнее, что было нужно для TCP/IP. Цитата Генерились готовые пакеты (в FPGA?) и передавались в FIFO MAC-контролера? Да, готовый RAW-пакет, кроме CRC, выдает FPGA. ST MAC/DMA читает напрямую из 16-бит внешней шины. Процессор в заполнении пакета данными не задействован. Цитата А какой размер был тестовых пакетов? Максимальный? Да, 1500. Цитата А есть возможность повторить тест, но с маленькими пакетами? Могут в таком тесте возникнуть сложности с пакетами размером до 100Б? Есть узкое место? Я пробовал с пакетами 80 байт. Загрузка сети уменьшалась с 96% до 94%. Узкое место в этом случае предполагаю в большем участии процессора для пересылки. Hо это еще не проверялось. Hе знаю.
|
|
|
|
|
Mar 11 2008, 13:47
|
Участник

Группа: Участник
Сообщений: 49
Регистрация: 23-11-05
Пользователь №: 11 279

|
Цитата(Aprox @ Mar 10 2008, 12:04)  Я пробовал с пакетами 80 байт. Загрузка сети уменьшалась с 96% до 94%. Узкое место в этом случае предполагаю в большем участии процессора для пересылки. Hо это еще не проверялось. Hе знаю. это очень хорошая новость! А невозможно хотябы по косвенными признаками прикинуть насколько загружает процессор поток до потолка 80-ти байтовых пакет?
|
|
|
|
|
Mar 11 2008, 18:39
|

Местный
  
Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131

|
Цитата(Raimis @ Mar 11 2008, 16:47)  это очень хорошая новость! А невозможно хотябы по косвенными признаками прикинуть насколько загружает процессор поток до потолка 80-ти байтовых пакет? Процессор для каждой передачи пакета задействуется на четыре С-строки инициализации дескриптора MAC-DMA, что займет где-то порядка 0,5мкс. Далее передача пакета происходит без участия процессора. Hа пакете в 1500 загрузка процессора составляет 0.5ukc/120ukc=0.5% всего времени. При пакете в 80 байт будет примерно 0.5/6,4= 15% всего времени.
|
|
|
|
Сообщений в этой теме
Aprox Реально Fast Ethernet Mar 3 2008, 21:30 aaarrr Цитата(Aprox @ Mar 4 2008, 00:30) Как я у... Mar 3 2008, 22:10 Aprox Цитата(aaarrr @ Mar 4 2008, 01:10) На ARM... Mar 4 2008, 09:22  aaarrr Цитата(Aprox @ Mar 4 2008, 12:22) Мой выб... Mar 4 2008, 10:18   Aprox Цитата(aaarrr @ Mar 4 2008, 13:18) По сто... Mar 4 2008, 15:06    aaarrr Цитата(Aprox @ Mar 4 2008, 18:06) Если не... Mar 4 2008, 15:29     Aprox Цитата(aaarrr @ Mar 4 2008, 18:29) Скорос... Mar 5 2008, 15:19 aaarrr Понятно. У меня тоже в одной разработке использует... Mar 5 2008, 15:27 AlexandrY Решил я тут проверить эти утверждения.
Картина нем... Mar 13 2008, 21:40  Aprox Цитата(AlexandrY @ Mar 14 2008, 00:40) Ре... Mar 14 2008, 12:14   AlexandrY Нет PAUSE пакетов никаких не было.
Во первых карта... Mar 14 2008, 14:41    Aprox Цитата(AlexandrY @ Mar 14 2008, 17:41) Не... Mar 14 2008, 15:33 GL_basik А как Ваше устройство отреагирует на сеть, где mul... Mar 11 2008, 07:03 Aprox Цитата(GL_basik @ Mar 11 2008, 10:03) А к... Mar 11 2008, 12:36  Aprox Цитата(Aprox @ Mar 11 2008, 15:36) Как ра... Mar 12 2008, 17:00
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|