Материалы || Новости || СИРИУС || Конференция || Голосование || Ресурсы || Блог
Модуль - совокупность нейронов, размещенных на одном компьютере
Ведение базы "Идентификационный номер нейрона (ИНН)-IP адрес модуля ":
регистрация нейронов (присвоение им уникального номера и сохранение его IP адреса). При первом подключении нейрона в сеть он посылает запрос в РЦ на регистрацию. В ответ РЦ присваивает ему номер (ИНН) и сохраняет его IP адрес
актуальность IP адресов РЦ: при повторном включении нейрона в сеть он посылает РЦ свой текущий IP адрес (при изменении последнего)
актуальность IP адресов нейрона: каждый нейрон хранит ИНН и IP адрес нейронов, с которыми он связан. Данная таблица должна поддерживаться в актуальной форме (т.е. IP адреса должны соответствовать таблице РЦ)
???Как оптимальнее обновлять адреса???
Хранение и обновление всех глобальных констант нейронов: каждый нейрон имеет набор глобальных констант (параметры механизмов), которые в процессе работы сети могут искусственно изменяться. Данная функция обеспечивает изменение констант на всех нейронах (модулях).
Upgrade модулей/нейронов - контролирование версий модулей и обязательное автоматическое обновление последних.
Глобальное управление сетью:
запуск/останов сети
сброс сети: сброс возбуждения всех нейронов
инициализация: восстановление всех исходных значений переменных нейронов
полное обнуление: + удаление всех связей
рандомизация: полное обнуление с последующим установлением n выходящих связей для каждого нейрона с некоторой проводимостью (постоянной или случайной)
Для выполнения вышеперечисленных функций используется UDP пакет. Первый байт пакета расположен в адресной области -127..-1 и означает собственно функцию пакета. Остальные байты пакета хранят аргументы функции (номера ячеек, IP адреса и пр.)
При большом числе нейронов в сети РЦ может быть перегружен потоками информации, поэтому логично будет разбить адресное пространство ИНН на k частей и распределить его между k РЦ, каждый из которых обслуживает свою область. При этом встает вопрос о необходимости главного РЦ (ГРЦ), через который осуществляется ввод информации для пунктов 2-4 - некоторого абстрактного пульта управления.
Замечания.
Здесь голубым цветом показаны целые числа (int), а зеленым - вещественные (float). Длинна и тех и других составляет 4 байта
ИНН - идентификационный номер ячейки
IP-адрес источника содержится в служебной части пакета
Конечно же, это только пример будущего протокола, который неразрывно связан со структурой системы. Но свою цель - показать общий принцип работы, он выполняет.
1 |
Наименование пакета | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
Пакет ячейка - ячейка | |||||||||||||
1 | Передача возбуждения | ИНН | Возбуждение нейрона | ||||||||||
2 | Запрос на установление связи | ИНН | Возбуждение нейрона | ||||||||||
3 | ИНН | ||||||||||||
4 | ИНН | ||||||||||||
5 | ИНН | ||||||||||||
6 | ИНН | ||||||||||||
7 | ИНН | ||||||||||||
8 | ИНН | ||||||||||||
9 | ИНН | ||||||||||||
10 | ИНН | ||||||||||||
11 | ИНН | ||||||||||||
12 | ИНН | ||||||||||||
Пакет ячейка - регистрационный центр - ячейка | |||||||||||||
1 | Запрос на регистрацию ячеек | Число ячеек | |||||||||||
2 | Присвоение ИНН ячейки | ИНН1 | ИНН2 | и т.д. | |||||||||
3 | Обновление IP-адреса ячейки | ИНН | |||||||||||
4 | Изменение входного порта |
Новый номер порта |
|||||||||||
5 | Изменение выходного порта |
Новый номер порта |
|||||||||||
6 | Изменение скорости дрейфа | Новое значение | |||||||||||
7 | Изменение граничного возбуждения | Новое значение | |||||||||||
8 | Изменение левой границы КТ | Новое значение | |||||||||||
9 | Изменение правой границы КТ | Новое значение | |||||||||||
10 | Изменение скорости затухания КВП | Новое значение | |||||||||||
11 | Изменение начального усиления СУВ | Новое значение | |||||||||||
12 | Изменение скорости изменения НК | Новое значение | |||||||||||
13 | Изменение базового значения НК | Новое значение | |||||||||||
14 | Изменение порогового значения тока | Новое значение | |||||||||||
15 | Установление исходящей связи | IP-адрес ячейки | ИНН |
Программная реализация является, с одной стороны, завершающим этапом проекта, с другой - она открывает двери в новый мир - мир экспериментов, проб и ошибок, радостей и разочарований. Мы находимся только в начале пути, и сегодня я пока могу предоставить только черновые наброски проекта на языке Java, включающие базовую структуру ячейки, модуля и регистрационного центра. Под большим вопросом пока остается интерфейс с пользователем и множество других моментов. Если у Вас есть какие-то идеи, соображения, мысли или просто пожелания, пишите нам на neural@fromru.com
А архив с базовыми иходниками Вы можете загрузить отсюда.
ПРОЕКТ "СИРИУС" | ||
(c) redstar
Дата обновления: