![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
всем привет.
имеется сеть вычислительных единиц состоящая из равноправных узлов/нодов. каждый нод сети представляет собой вычислительную единицу предоставляющую некоторые элементарные операции. сервис - группа нодов объединенных по предназначению. так, к примеру, математические функции: add, sub, div, mul, образуют математический сервис. каждый нод сети может одновременно являться пользователем других сервисов/нодов. к примеру, нод предоставляющий операцию mul может реализовывать ее при помощи нода предоставляющего операцию add. все ноды сети "знают" о всех остальных нодах/сервисах. к примеру, если пользователь сети хочет работать с сервисом предоставляющим add, ему необходимо знать "контактные" данные математического сервиса. в сети, может быть более одного нода предоставляющего одинаковые функции. в сети не может быть одинаковых сервисов. вопрос: как в такой сети распределять нагрузку между нодами если имеются одинаковые ноды? в сети сервера нет. все ноды равноправны. к примеру, есть два нода предоставляющих операцию add. и есть два пользователя математического сервиса активно использующие add. кто и как должен распределять запросы пользователей? спасибо. Это сообщение отредактировал(а) boostcoder - 13.10.2011, 03:25 |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
лучшей, мне кажется идея, изменить архитектуру сети так, чтоб была возможность назначать супернод, при конфигурации сети. в таком случае, юзер будет подключаться именно к нему, и он(супернод) будет выполнять своего рода роль сервера.
возможно есть еще какие-то предложения? |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: нет Всего: 43 |
И если супернод "умирает", то его обязанности переходят к другому ноду. Так работает вычислительный grid.
|
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
||||
|
||||
| fish9370 |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
тогда уже лучше чтобы супернод назначался не при конфигурации, а путем переговоров/голосования.. в случае смерти супернода, просто запускается повторный процесс выбора супернода.. Это сообщение отредактировал(а) fish9370 - 13.10.2011, 09:59 -------------------- undefined |
||||
|
|||||
| Artemon |
|
|||
|
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 1 Всего: 20 |
А сеть какого типа ? Если физическая архитектура сети не сложная, то можно сделать чтобы каждый нод широковещательными UDP пакетами рассылал свою нагрузку. И соответствено перед тем как подключиться к одному из двух одинаковых нодов, выбирается нод с меньшей нагрузкой. В этом случае надобность в суперноде отпадает.
-------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
| boostcoder |
|
||||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
какими данными предлагаешь обмениваться? пропускной способностью сети? временем пинга? конфигурацией железа?
это понятно. не понятно то, каким образом пользователи сети узнаю о том что супернод изменился. Добавлено через 1 минуту и 19 секунд
не получится. ноды могут располагаться в других сетях/подсетях, и просто в интернете. |
||||||
|
|||||||
| bsa |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Кстати, если у супернода все соединения с остальными нодами рвутся, то он должен стать обычным нодом. Возможен альтернативный вариант: 1. каждый нод считает себя супернодом, если не имеет связей с другими нодами 2. при установке связи одного нода с другим они обмениваются информацией о супернодах. Если суперноды разные, то каждый нод посылает (если, конечно, он сам не является супер) своему суперноду информацию, что обнаружен другой супернод. В итоге суперноды сами между собой проводят перевыборы и о результатах сообщают все заинтересованным нодам. |
||||
|
|||||
| fish9370 |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
ну поскольку каждый нод должен что-то считать, то я бы начал с выбора самой производительной железки (процессор, память, дисковая подсистема), затем по пропускной способности сети, по количеству хопов, по временым задержкам, по доступности (статистические данные).. сюда же можно включить выбор по ОС, предположим, что тесты показывают большую производительность в линуксе при одинаковом железе.. по географическому признаку.. по старшенству ip-адреса (если речь о локалке, при прочих равных) и т.д.
в централизованой системе, без возможности широковещательного сообщения - никак.. -------------------- undefined |
||||
|
|||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
у меня есть две мысли по этому поводу: 1. при архитектуре сети без супернода(так как сейчас), пользователи подключаются к любому одному ноду. 2. при архитектуре сети с супернодом, пользователи подключаются именно к нему. осталось понять все моменты второго пункта.
логично. вроде как это лучший вариант... Добавлено через 2 минуты и 3 секунды uptime нужно обязательно учесть. ибо супернодом может стать нод, который только что появился в сети. и который так же внезапно может пропасть. какой смысл его назначать супернодом. |
|||
|
||||
| fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
нехватает описания процедуры поиска нодов в сети.. широковещалка в интернете не работает.. могут потребоваться дополнительные корневые (опорные) ноды..
-------------------- undefined |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
ноды не ищут себеподобных. нод, для того чтоб стать частью сервиса, знает о расположении любого одного нода того сервиса. при подключении к нему, происходит рассылка его данных по остальным нодам этого сервиса. |
|||
|
||||
| fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
это многое упрощает, но возникает вопрос надежности..
будет ли эта цепь замкнутой? что будет в случае утраты одного из нодов? как будут передоваться уведомления, от нода к ноду или через супернод? при такой схеме желательно, чтобы нод знал как минимум двух нодов, образуя двунаправленный список.. Это сообщение отредактировал(а) fish9370 - 13.10.2011, 13:36 -------------------- undefined |
|||
|
||||
| boostcoder |
|
||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
что конкретно имеется ввиду? как только один из нодов опознает пропажу какого-либо нода, он изымет информацию о нем из своей базы, и сообщит об этом всем остальным нодам.
от нода к ноду.
на данный момент, каждый нод знает все обо всех нодах. возможно, это является избыточным... но пока не устоялась структура и принципы организации сети, эта информация не мешает. |
||||
|
|||||
| fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
тогда вопросов больше нет.. -------------------- undefined |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |