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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Как повысить скорость работы по сети AT91SAM7X256
defunct
сообщение May 4 2008, 15:33
Сообщение #31


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(prottoss @ May 4 2008, 18:27) *
Я говорю не про не про Ethernet заголовок, который можно копировать и с помощью memcpy - ради бога (+- один попугай), а про то что ссказал Rst7 постом выше - про реку данных (или даже пакетов по 60 байт - их две реки в приличной сети), которые приходится постоянно копировать.

Ну дык на 60-ти байтных пакетах +/- попугай ой как видно.
На коротких пакетах уже и неактуально манипулировать четырьмя блоками, быстрее скопировать и передать одним.

Цитата
Ну в таком случае по вашему копирование двух указателей на данные а не самих данных тожде memcpy?

Нет, я рассматривыаю только копирование частей тела пакета.
Указатели это другой вопрос, который упирается в другую проблему - чем больше блоков и чем короче блоки тем неэффективнее используется DMA. (на кадый пересылаемый блок DMA 4 раза должен обратиться к дескриптору, если блоки сравнимы по длине с дескриптором * 2, то эффективность сильно упадет).
Go to the top of the page
 
+Quote Post
Rst7
сообщение May 4 2008, 15:43
Сообщение #32


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Ну дык на 60-ти байтных пакетах +/- попугай ой как видно.


Так. Стоп. Топикстартер говорил о том, что он льет по 1.5кб. Вот там и надо лишние memcpy убирать.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
prottoss
сообщение May 4 2008, 15:52
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(defunct @ May 4 2008, 22:33) *
Ну дык на 60-ти байтных пакетах +/- попугай ой как видно.На коротких пакетах уже и неактуально манипулировать четырьмя блоками, быстрее скопировать и передать одним.
Спорный вопрос. К тому же тема именно про большие объемы данных между приложениями, а не про скорость обмена ARP, DNS, BOOTP и прочими пакетами. Здесь как раз актуально то, что EMAC эти данные уже поместил в память, и у нас есть выбор - отдать данные приложению через memcpy, или как список указателей на блоки данных.

Во втором случае программа получается намного сложнее и объемнее по коду, но и скорость доставки данных приложению намного выше.


--------------------
Go to the top of the page
 
+Quote Post
blackfin
сообщение May 4 2008, 15:53
Сообщение #34


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(defunct @ May 4 2008, 19:20) *
Может рекой литься и что-то мультимедийное, а там пакеты короткие и их много.
Это с какого перепугу такое заявление? В стандарте RTP ничто не запрещает использовать для передачи мультимедиа длинные пакеты.. smile.gif
Go to the top of the page
 
+Quote Post
defunct
сообщение May 4 2008, 15:58
Сообщение #35


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(blackfin @ May 4 2008, 18:53) *
Это с какого перепугу такое заявление? В стандарте RTP ничто не запрещает использовать для передачи мультимедиа длинные пакеты.. smile.gif

А с чем вы несогласны с заявлением? В подавляющем большинстве аудио потоков, пакеты не превышают 100 байт.
Go to the top of the page
 
+Quote Post
prottoss
сообщение May 4 2008, 16:01
Сообщение #36


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(defunct @ May 4 2008, 22:33) *
Указатели это другой вопрос, который упирается в другую проблему - чем больше блоков и чем короче блоки тем неэффективнее используется DMA. (на кадый пересылаемый блок DMA 4 раза должен обратиться к дескриптору, если блоки сравнимы по длине с дескриптором * 2, то эффективность сильно упадет).
Длина блоков, применительно к SAM7X уже выбрана - 128 байт для принимаемых пакетов - на мой взгляд оптимальна. Кстати, как раз удобно парсить заголовок пакета


--------------------
Go to the top of the page
 
+Quote Post
defunct
сообщение May 4 2008, 16:10
Сообщение #37


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



prottoss
можете привести реальные цифры?
Сколько у вас получилось прокачать трафика через SAM7 списковым способом?
(для трафика 1.5k/пакет и для, скажем 200 байт/пакет).
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 4 2008, 16:33
Сообщение #38


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(prottoss @ May 4 2008, 15:01) *
FreeRTOS не лучшая ОСь для повышения скорости.

Глупость какая sad.gif
Цитата
почему бы не выбрать что-нить (OS) побыстрее и посеръезнее?
Попробуйте перевести проект на ucOS-II.

uCOS-II одна из самых простых и "несерьезных" осей. За счет экстремально примитивного шедулера потециально чуть быстее перепланирует задачи при их малом количестве. Это очень далеко от способностей "ускорить" IP стек.
Цитата
а возможно и исчезнут проблемы при компиляции в ARM-режиме...

И еще шерсть возможно станет мягкой и щелковистой smile.gif. Ну нет проблем с ARM режимом. Совсем нет.


Цитата(defunct @ May 4 2008, 15:58) *
По объему кода?

По быстродействию, естественно. На объемы кода в подавляющем большинстве случаеев наплевать. Да и по обьему не обещанные 30% а около 15.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
blackfin
сообщение May 4 2008, 16:37
Сообщение #39


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(defunct @ May 4 2008, 19:58) *
А с чем вы несогласны с заявлением? В подавляющем большинстве аудио потоков, пакеты не превышают 100 байт.
Если пакеты маленькие, - их не много. Общий траффик для звука вряд ли больше 64 килобит/сек (G.711). Для G729 бит рейт не больше 11.8 килобит/сек, а для G.723 - он вообще меньше 6.3 килобит/сек. Можно предположить, это не те потоки, для которых нужно "повышать скорость работы по сети". Накладные расходы при передачи мультимедиа - заголовок UDP достаточно небольшой, - 8 байт, так что различие между двумя пакетами по 100 байт + два заголовка и между одним пакетом 200 байт + один заголовок невелико - 4%. Кроме того, RTP позволяет передавать внутри одного UDP-пакета несколько пакетов RTP, так что можно сэкономить и здесь. Ну и, наконец, мультимедиа - это не только "звук", но и "видео", а здесь пакеты отнюдь не маленькие... Вот с этим "всем" я и не согласен.. smile.gif
Go to the top of the page
 
+Quote Post
Rst7
сообщение May 4 2008, 16:37
Сообщение #40


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Длина блоков, применительно к SAM7X уже выбрана - 128 байт для принимаемых пакетов - на мой взгляд оптимальна. Кстати, как раз удобно парсить заголовок пакета


Подождите радоваться. Вот понадобится поднять IPv6, сразу окажется, что весьма погано лезет в 128.

Добавлено позже: это я погорячился. IPv6 еще помещается в 128 байт, но если добавится какой-нибудь дополнительный подзаголовок, возможность которого оговаривает IPv6, то может оказаться, что не влезет.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
prottoss
сообщение May 4 2008, 16:48
Сообщение #41


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(defunct @ May 4 2008, 23:10) *
prottoss
можете привести реальные цифры?
Сколько у вас получилось прокачать трафика через SAM7 списковым способом?
(для трафика 1.5k/пакет и для, скажем 200 байт/пакет).
К сожалению пока не могу - я не измерялsmile.gif У меня не было такой задачи, чтоб выжать из стека все до микросекунды/байта на уровне приложения. Я просто изложил автору топика свои мысли по поводу организации обмена данными EMAC driver <---> TCPIP <---> Application для повышения скорости доставки данных.


--------------------
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 4 2008, 16:52
Сообщение #42


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(blackfin @ May 4 2008, 18:37) *
Если пакеты маленькие, - их не много. Общий траффик для звука вряд ли больше 64 килобит/сек (G.711).

Ага, только их может быть много, например, 30 потоков. Что в общем-то в сумме тоже немного - менее 2 мегабит, но формирование заголовеов начинает напрягать. А еще прием еще 30...


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
prottoss
сообщение May 4 2008, 16:58
Сообщение #43


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(zltigo @ May 4 2008, 23:33) *
Мне следовало добавить ИМХО smile.gif . Так как останусь при своем мнении не смотря на глупости.


--------------------
Go to the top of the page
 
+Quote Post
blackfin
сообщение May 4 2008, 16:59
Сообщение #44


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(zltigo @ May 4 2008, 20:52) *
Ага, только их может быть много, например, 30 потоков. Что в общем-то в сумме тоже немного - менее 2 мегабит, но формирование заголовеов начинает напрягать. А еще прием еще 30...
Начинает напрягать? biggrin.gif
Ставьте BF537-600.. wink.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 4 2008, 17:47
Сообщение #45


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(blackfin @ May 4 2008, 18:59) *
Ставьте BF537-600.. wink.gif

Будет напрягать его BGA и многослойка. С этим вообще справляется и трехсотмегагерцовый BF531..3, если-бы не отсутствие втроенного контроллера. На FPGA приличный тоже в принципе ляжет. Ну поскольку вещь не крупносерийная, то универсальную железку LPC2378+FPGA тоже натянется smile.gif


Цитата(prottoss @ May 4 2008, 18:58) *
Так как останусь при своем мнении...

Да бога ради! smile.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

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

 


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


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