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

 
 
 
Reply to this topicStart new topic
> Можно ли "распараллелить" Ethernet?, Нужно принимать данные на два ПК
Александр77
сообщение Dec 28 2016, 18:53
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 533
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111



Коллеги, здравствуйте!
Имеется устройство на базе DE0-nano SoC, которое высылает Ethernet пакеты. Прием пакетов производит рабочий ПК, на котором крутится ПО обработки. Во время отладки ПО были выявлены большие потери, которые устранили путем подъема перезапросов (TCP/IP).
Для отладки железа хватало приема по UDP (потерь не было) на несильный тестировочный ПК (соединение точка - точка, поэтому адреса у обоих ПК одинаковые).
Сейчас назрела необходимость проверки правильности работы ПО, что требует наличия "сырых" входных данных. Однако по ряду причин эти данные получить не удается (то мешали, то забыли, то запись не рабочий режим и т.д. Оставим отговорки на совести работников. Главное уходит время, а также нет уникальных данных для последующей работы).
В общем назрела необходимость в некотором устройстве (готовом или в виде демо-платы), которое позволило бы записывать параллельно данные на два ПК.
Была мысль использовать такую плату (перекачивать данные из одного порта в другой, а параллельность обеспечить выводом на GPIO, с последующим забором той же DE0-nano SoC). Но смущает возможный перезапрос, который по словам программистов восстанавливает до 30% потерь, и его придется делать на этой плате.
Что еще можно использовать в качестве целевого устройства?
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Dec 28 2016, 19:06
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 167
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



То есть Вы хотите сделать TCP-соединение в два мастер-компьютера, чтоб со стороны слейва это выглядело как одно(!) TCP-соединение? Или у Вас просто UDP, без TCP соединения?

Или просто подслушку канала хотите сделать?

Почему просто Wireshark не подходит в качестве подслушки? Установить можно хоть на этом же мастере, хоть на любом другом компьютере в этой же сети.
Go to the top of the page
 
+Quote Post
Aner
сообщение Dec 28 2016, 19:33
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 4 361
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



Странное что-то у вас с потерей пакетов твориться, обычно такого не должо быть. А потери не связаны с OC на PC?
А какие скорости гоняете, какие кабеля, расстояния? DE0-nano SoC ну а посылать на два сокета, два потрта с одним IP?
Или роутить поток во внутренней подсети?
Go to the top of the page
 
+Quote Post
Александр77
сообщение Dec 28 2016, 19:38
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 533
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111



В идеале хочется что бы TCP установилось между устройством и рабочим ПК (например врезка устройство-плата с двумя портами-рабочий ПК или нечто подобное). А уже с платы выделить поток и направить в обычный порт, откуда заберем в тестовый ПК.
Наверное что-то типа прослушки.
Цель - иметь возможность независимого набора и записи результатов эксперимента для последующего сравнения работы алгоритмов и поиска ошибок. Эксперименты у нас не частые и зависят от многих факторов, повторять их через 5 минут не всегда есть возможность.
Проводная акула не устраивает именно потому, что крутится она на рабочем ПК, а тот в свою очередь "слишком" занят прикладным ПО.
Go to the top of the page
 
+Quote Post
des333
сообщение Dec 28 2016, 19:42
Сообщение #5


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

Группа: Свой
Сообщений: 1 037
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



Чем не подходит любой свитч с поддержкой мирроринга?


--------------------
Go to the top of the page
 
+Quote Post
Александр77
сообщение Dec 28 2016, 19:49
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 533
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111



Цитата(Aner @ Dec 28 2016, 22:33) *
Странное что-то у вас с потерей пакетов твориться, обычно такого не должо быть. А потери не связаны с OC на PC?

Потери зависят от работы прикладного ПО и возрастают в режиме записи на диск сырых данных.
Цитата(Aner @ Dec 28 2016, 22:33) *
А какие скорости гоняете, какие кабеля, расстояния?

Пиковая скорость до 100 М. Оптика от 50 м до 1 км. У входа в ПК медь.
Цитата(Aner @ Dec 28 2016, 22:33) *
DE0-nano SoC ну а посылать на два сокета, два потрта с одним IP?

Тут сложность с программистами - в один ПК загонять и так хватает проблем, а доступа к крутящемуся ПО в арме у нас нет.
Ну и человеческий фактор - виноваты электроники, у них (т.е. у меня и коллег) там чего-то. Хотя на нашем ПК мы принимаем UDP без потерь (без обработки в процессе набора естественно) и эксперименты проходят на ура.

Цитата(des333 @ Dec 28 2016, 22:42) *
Чем не подходит любой свитч с поддержкой мирроринга?

Наверное подходит - просто не знал о существовании таковых (может это то что ищу и не надо писать доп ПО)
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Dec 28 2016, 21:05
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 167
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(Александр77 @ Dec 28 2016, 21:49) *
Наверное подходит - просто не знал о существовании таковых (может это то что ищу и не надо писать доп ПО)

Ага, я тоже не знал. Похоже то что Вам нужно, судя по картинке sm.gif
https://www.miarec.com/faq/what-is-port-mirroring
Go to the top of the page
 
+Quote Post
krux
сообщение Dec 28 2016, 21:42
Сообщение #8


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

Группа: Свой
Сообщений: 1 436
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



свитч с поддержкой мирроринга вам подходит 100%

----------------
второй вариант - запасной.
вместо TCP для FPGA есть замечательная альтернатива - UDT4.
Go to the top of the page
 
+Quote Post
Александр77
сообщение Dec 29 2016, 03:10
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 533
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111



Спасибо всем неравнодушным!
Теперь есть направление поиска и выбора.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jan 4 2017, 09:16
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 3 213
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Александр77 @ Dec 28 2016, 22:49) *
Тут сложность с программистами - в один ПК загонять и так хватает проблем, а доступа к крутящемуся ПО в арме у нас нет.
Ну и человеческий фактор - виноваты электроники, у них (т.е. у меня и коллег) там чего-то. Хотя на нашем ПК мы принимаем UDP без потерь (без обработки в процессе набора естественно) и эксперименты проходят на ура.

Странно, что явно программистские ошибки (раз без записи на диск - потерь нет, а с записью - есть) у вас ищет схемотехник.
А проблемы с ЭМС наверное программисты решают? wink.gif
Go to the top of the page
 
+Quote Post
Raven
сообщение Jan 4 2017, 17:14
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 432
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987



Не совсем понял: вам распаралелливание на 2 машины для чего нужно? Для создания дублирующего проверочного канала (1), или для разгрузки TCP/IP соединения, чтобы тем самым уменьшить потери и гарантировать референс-данные (2)?
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jan 5 2017, 12:23
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 3 213
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Raven @ Jan 4 2017, 20:14) *
Не совсем понял: вам распаралелливание на 2 машины для чего нужно? Для создания дублирующего проверочного канала (1), или для разгрузки TCP/IP соединения, чтобы тем самым уменьшить потери и гарантировать референс-данные (2)?

Я так понял: UDP-кадры теряются из-за программных багов. Вот и пытаются костыли приспособить. Причём почему-то схемотехники.....
Go to the top of the page
 
+Quote Post
Александр77
сообщение Jan 12 2017, 19:11
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 533
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111



Цитата(jcxz @ Jan 4 2017, 12:16) *
Странно, что явно программистские ошибки (раз без записи на диск - потерь нет, а с записью - есть) у вас ищет схемотехник.

Программисты отлаживают свою часть, но для отладки им уже (по их заверению) нужны "натурные" эксперименты. Прогон записанных тестировочных данных для отладки ПО по словам программистов уже проводился и он исправен и по существу им не интересен.
Сами эксперименты нестационарны: мы работаем не в условиях безэховости - в среде присутствуют посторонние составляющие и их вклад случаен.
Что касается поиска - это уже наболело. Пока отлаживали прибор - было не до проверки программных реализаций. Сейчас прибор работает, но возникают сложности с руководителем группы, который считает что запись исходных результатов не входит в основной режим работы устройства и ПО в целом. Ну а дальше - мы все правильно делаем, не лезьте к нам, делайте без нас. В общем обычная истерика вызванная особенностями душевной организации.
Цитата(jcxz @ Jan 4 2017, 12:16) *
А проблемы с ЭМС наверное программисты решают? wink.gif

Ну есть у некоторых чсв и они удовлетворяют его "умничая" в то время, когда другие по-уши в работеsm.gif
Цитата(Raven @ Jan 4 2017, 20:14) *
Не совсем понял: вам распаралелливание на 2 машины для чего нужно? Для создания дублирующего проверочного канала (1), или для разгрузки TCP/IP соединения, чтобы тем самым уменьшить потери и гарантировать референс-данные (2)?

Да нужно создать проверочный канал, по которому будут собраны данные двумя устройствами: нашим тестировочным ПК и рабочим ПК. Собранные (при отсутствии потерь) данные планируется использовать для качественной оценки правильности работы ПО рабочего ПК.
Цитата(jcxz @ Jan 5 2017, 15:23) *
Я так понял: UDP-кадры теряются из-за программных багов. Вот и пытаются костыли приспособить. Причём почему-то схемотехники.....

Не схемотехники костыли добавляют. А искалось решение, посредством которого можно было бы сделать одновременный набор данных с одного устройства на два ПК во время одного эксперимента.
Рано или поздно, но программисты найдут у себя вилы и исправят их, а вот каждый эксперимент не повторить.
Делать ПО с сохранением промежуточных результатов, для их интерпретации, программисты считают ресурсоемким делом, при том не гарантирующим правильность работы ПО в целом.
Вот и получается такая "вещь в себе" от которой хочется избавиться.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jan 13 2017, 06:23
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 3 213
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Александр77 @ Jan 12 2017, 22:11) *
Делать ПО с сохранением промежуточных результатов, для их интерпретации, программисты считают ресурсоемким делом, при том не гарантирующим правильность работы ПО в целом.
Вот и получается такая "вещь в себе" от которой хочется избавиться.

То что Вы тут описываете - это организационные проблемы Вашей конторы. И соответственно их и нужно решать в первую очередь.
А попытки сделать что-то, чтобы как-то обойти проблему - это всегда называлось "делать костыли". Когда решают не саму проблему.
Я бы на Вашем месте действовал так:
Если подозрение на кривую работу ПО на компе, то:
Пишете своё приложение, принимающее пакеты. Без всякой обработки, просто для контроля целостности приёма и отсутствия потерь. Контролируете работу встроенного ПО Ваших программистов с помощью этого тестового.
Если подозрение на кривую работу встроенного ПО, то:
Пишете свою прошивку, которая просто генерит поток тестовых данных в нужном формате с заданной скоростью и с помощью неё контролируете работу ПО на компе.
Полученные результаты показываете программистам, получаете их согласие, что баги есть и что они будут решать проблему. Если они не согласны - идёте с результатами тестов к руководству конторы.
Go to the top of the page
 
+Quote Post
Александр77
сообщение Jan 13 2017, 10:30
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 533
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111



Цитата(jcxz @ Jan 13 2017, 09:23) *
Если подозрение на кривую работу ПО на компе, то:
Пишете своё приложение, принимающее пакеты. Без всякой обработки, просто для контроля целостности приёма и отсутствия потерь.

Это уже сделано. ПО на тестовом ПК принимает данные без ошибок. Результаты работы - обрабатываются на другом ПК (у алгоритмистов).
Цитата(jcxz @ Jan 13 2017, 09:23) *
Контролируете работу встроенного ПО Ваших программистов с помощью этого тестового.

Вот тут начинается весь фокус - программисты не дают ни исходных данных, ни промежуточных результатов. Просьбы и указания руководителя проекта были неоднократно проигнорированы (ссылки на всё и вся)
Цитата(jcxz @ Jan 13 2017, 09:23) *
Пишете свою прошивку, которая просто генерит поток тестовых данных в нужном формате с заданной скоростью и с помощью неё контролируете работу ПО на компе.

Есть определенные трудности в реализации.
Для подтверждения делались тесты с формированием тональных сигналов (в аппаратной части). Ими была показана исправная работа узлов сбора данных и их передачи до тестового ПК.
Кроме того, по утверждению самих программистов ими были проведены подобные работы.
Основной режим работы проверяется с живым сигналом, а создание тестовой прошивки, точнее эталонного имитатора - долгая работа не гарантирующая учета всех факторов. (для справки, общий объем набираемых данных более 3 ГБайт).
Были работы, когда наши данные с тестовых режимов прогонялись в рабочем ПК (чтение файла без приема по сети) и якобы все прекрасно работало.
Предложение записать полученные нашим тестовым ПО данные на носитель и их транслировать было отвергнуто.
Цитата(jcxz @ Jan 13 2017, 09:23) *
Если они не согласны...

Они согласны, но им нужно время для отладки и несколько экспериментов.
Только пока они возятся и не дают данные, алгоритмисты не могут дальше развить свои наработки.
Цитата(jcxz @ Jan 13 2017, 09:23) *
...идёте с результатами тестов к руководству конторы.

Круг замкнётся - руководитель проекта уже не раз приходил по поводу выкрутасов программистов. smile3009.gif
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 28th April 2017 - 14:10
Рейтинг@Mail.ru


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