roboforum.ru

Технический форум по робототехнике.
Текущее время: 04 апр 2025, 16:14

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Разработка RoboBrain: - спецификация шины BrainBus
СообщениеДобавлено: 24 ноя 2009, 20:30 
Не в сети
Аватара пользователя

Зарегистрирован: 21 июн 2006, 11:22
Сообщения: 1387
Откуда: г. Омск
Skype: victorkazarinov
прог. языки: почти все понемногу
ФИО: Казаринов Виктор Геннадьевич
Попробую начать разработку шины BrainBus. Ее предназначение - высокоскоростное соединение модулей RoboBrain, расчитанное на параллельные массовые асинхронные вычисления.

Уровни:
1.Физический уровень
Физический уровень описывает среду передачи данных (будь то коаксиальный кабель, витая пара, оптоволокно или радиоканал), физические характеристики такой среды и принцип передачи данных (разделение каналов, модуляцию, амплитуду сигналов, частоту сигналов, способ синхронизации передачи, время ожидания ответа и максимальное расстояние).
2.Канальный уровень
Канальный уровень описывает, каким образом передаются пакеты данных через физический уровень, включая кодирование (то есть специальные последовательности бит, определяющих начало и конец пакета данных). Ethernet, например, в полях заголовка пакета содержит указание того, какой машине или машинам в сети предназначен этот пакет.
3.Сетевой уровень
Сетевой уровень изначально разработан для передачи данных из одной (под)сети в другую.
4. Транспортный уровень
Протоколы транспортного уровня могут решать проблему негарантированной доставки сообщений («дошло ли сообщение до адресата?»), а также гарантировать правильную последовательность прихода данных.
5. Прикладной уровень
На прикладном уровне работает большинство сетевых приложений.
Эти программы имеют свои собственные протоколы обмена информацией.

Это - описание TCP/IP протокола. Но шина BrainBus может быть основана и на ином протоколе.
Первый вопрос - какое соединеие на физ. уровне - двухточечное или многоточечное выбрать. Наиболее скоростное - двухточечное. Но и более затратное по оборудованию. Скорее всего придется комбинировать - внутри одного модуля - многоточечное, между модулями - двухточечное.

_________________
Проект Robosonic RS http://www.aigod.com


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка RoboBrain: - спецификация шины BrainBus
СообщениеДобавлено: 24 ноя 2009, 20:56 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Чтобы ответить на эти вопросы, нужно представлять структуру сети, архитектуру взаимодействий...
Есть ли в сети "главный", происходит ли передача данных "по запросу",
должны ли одни и те данные быть доступными нескольким клиентам (узлам, модулям).

У меня вообще складывается достаточно жесткое ощущение,
что у вас нет постановки задачи, тем не менее вы упорно
в нескольких ветках "выбираете инструменты" для решения...
Поймите, выбор инструментов зависит от задачи прежде всего!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка RoboBrain: - спецификация шины BrainBus
СообщениеДобавлено: 24 ноя 2009, 21:55 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
ИМХО начинать нужно с пункта "n" и по нисходящей выбирать решение для всех пунктов в каждом конкретном случае ("межпроцессорные" соединения это одно, "межмодульные" совершенно другие,... как по скорости/топологии/необходимости гарантированной доставки "пакетов"/... так и по многим другим нюансам). если быть еще точнее, то начинать с понимания архитектуры в целом. :pardon:


Последний раз редактировалось Angel71 24 ноя 2009, 22:04, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка RoboBrain: - спецификация шины BrainBus
СообщениеДобавлено: 24 ноя 2009, 21:57 
Не в сети
Аватара пользователя

Зарегистрирован: 21 июн 2006, 11:22
Сообщения: 1387
Откуда: г. Омск
Skype: victorkazarinov
прог. языки: почти все понемногу
ФИО: Казаринов Виктор Геннадьевич
2Michael_K: Этот вопрос наиважнейший. Буду рассматривать этот вопрос в отдельной теме.

_________________
Проект Robosonic RS http://www.aigod.com


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка RoboBrain: - спецификация шины BrainBus
СообщениеДобавлено: 24 ноя 2009, 23:14 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10990
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
вот такие слова "параллельные массовые асинхронные вычисления" затрагивают в моем мозгу профессиональные струны.
и реагируют абсолютно точно такими технологиями как RDMA и MPI.
первое - протокол обмена информацией по сути копирующий диапазон памяти одного вычислителя напрямую в память другого, это наиболее современная и быстрая технология интерконнекта на транспортном уровне
второе - прикладной уровень, это практически язык программирования позволяющий строить программы изначально параллельной обработки.

теперь о асинхронности - в параллельных вычислениях асинхронность допустима лишь в ряде задач, которые математически разбиваются на независимые фрагменты не требующие коэфициентов или данных с соседних вычислителей. таких задач мало. например в вашем применении скорее всего результаты вычисления блока будут созависимы, и применение асинхронного интерконнекта приведет к большим потерям на этапе ожидания соседей и такие потери будут эспоненциально рости с увеличением размера вычислительной сети.

если говорить о канальном уровне, то в кластерах вычислительных используется Infiniband это 20-40 Gbps пропускной способности при задержках в канале (латентности) порядка 5-8 микросекунд (обращаю внимание не десятки милисек как в Ethernet)

В общем у меня пока нет виденья сети микроконтроллеров сравнимой производительностью с PC, но это на вскидку, попробую посчитать на досуге.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка RoboBrain: - спецификация шины BrainBus
СообщениеДобавлено: 24 ноя 2009, 23:38 
Не в сети
Аватара пользователя

Зарегистрирован: 21 июн 2006, 11:22
Сообщения: 1387
Откуда: г. Омск
Skype: victorkazarinov
прог. языки: почти все понемногу
ФИО: Казаринов Виктор Геннадьевич
setar писал(а):
первое - протокол обмена информацией по сути копирующий диапазон памяти одного вычислителя напрямую в память другого, это наиболее современная и быстрая технология интерконнекта на транспортном уровне
второе - прикладной уровень, это практически язык программирования позволяющий строить программы изначально параллельной обработки.
Я вас частично понимаю. Частично потому, что сам с параллельными машинами не работал и тем более не проектировал. Но тут несколько другое, чем расчет погоды на планете или ядерный взрыв обсчитать. Тут математики минимум, т.к. задачи другие. Нужны распараллеленные логические выводы. И это не все. Мне не нужны векторные вычисления.
setar писал(а):
теперь о асинхронности - в параллельных вычислениях асинхронность допустима лишь в ряде задач, которые математически разбиваются на независимые фрагменты не требующие коэфициентов или данных с соседних вычислителей.
Я опять о том же - ничего вычислять не придется в традиционном параллельном смысле. У меня по параллельным машинам и процессам есть несколько стареньких книг.
setar писал(а):
если говорить о канальном уровне, то в кластерах вычислительных используется Infiniband это 20-40 Gbps пропускной способности при задержках в канале (латентности) порядка 5-8 микросекунд (обращаю внимание не десятки милисек как в Ethernet)
Тут дело не в скорости, а в динамической структуре сети демонов. Сеть будет перестраиваться на прикладном или около того уровне, образуя социумы демонов. Я немного не в параллельной терминологии пишу. Таковы издержки стыка технологий.
setar писал(а):
В общем у меня пока нет виденья сети микроконтроллеров сравнимой производительностью с PC, но это на вскидку, попробую посчитать на досуге.
Рассмотрим объекты ООП в PC. Пока один метод не выполнится, поток не перейдет к работе с др. методом какого-то объекта. Междупоточное взаимодействие также не очень быстро на уровне ядра ОС. Создание треда также небыстрая операция. Поэтому очень трудно будет соотнести производительности заранее.

_________________
Проект Robosonic RS http://www.aigod.com


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка RoboBrain: - спецификация шины BrainBus
СообщениеДобавлено: 24 ноя 2009, 23:48 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10990
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
Виктор, я частично понял, но не уверен что до конца.
Сложность скорее всего в интерпретации терминологии, было бы хорошо на wiki завести страницу с описанием терминов.
например я не понял что значит потоки и соответственно "Междупоточное взаимодействие"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка RoboBrain: - спецификация шины BrainBus
СообщениеДобавлено: 24 ноя 2009, 23:52 
Не в сети
Аватара пользователя

Зарегистрирован: 21 июн 2006, 11:22
Сообщения: 1387
Откуда: г. Омск
Skype: victorkazarinov
прог. языки: почти все понемногу
ФИО: Казаринов Виктор Геннадьевич
Потоки - обычные треды http://wasm.ru/article.php?article=1021008
Хорошо, что я пока не говорю о фиберах и пайпах.

_________________
Проект Robosonic RS http://www.aigod.com


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка RoboBrain: - спецификация шины BrainBus
СообщениеДобавлено: 25 ноя 2009, 00:00 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10990
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
с тредами и пайпами я врекрасно знаком, ибо линуксоид до корней души.
просто путаница возникает когда речь идет технологиях работы ОС и программного взаиомдействия терминами переведёнными на русский язык и тут же описание некой зарождающей спецификации :)
не понятно как понимать термин - как приведение к уже известным и отработанным вещам или это нужно понимать как описание новых процессов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка RoboBrain: - спецификация шины BrainBus
СообщениеДобавлено: 25 ноя 2009, 13:05 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
2Виктор: По-моему вы ищете решение не объявленной задачи. Сначала должна быть задача, которая очевидно не решается существующими протоколами и интерфейсами, а потом те места, которые не решаются и надо дорабатывать.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка RoboBrain: - спецификация шины BrainBus
СообщениеДобавлено: 25 ноя 2009, 13:09 
Не в сети
Аватара пользователя

Зарегистрирован: 21 июн 2006, 11:22
Сообщения: 1387
Откуда: г. Омск
Skype: victorkazarinov
прог. языки: почти все понемногу
ФИО: Казаринов Виктор Геннадьевич
Сейчас я лишь заявил о наличии задачи. Решать конкретно буду позже, сразу при столкновении с необходимостью ее реализации. А пока можно сюда подсобрать аналитические материалы. Не знаю, м.б. реализация потребуется будет нескоро, а м.б. и скоро.

_________________
Проект Robosonic RS http://www.aigod.com


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка RoboBrain: - спецификация шины BrainBus
СообщениеДобавлено: 25 ноя 2009, 16:49 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Какие материалы добавлять то, если нет требований к интерфейсу? Собирать всё из инета по всем интерфейсам в одну кучу?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO