Децентрализованной управление...
(Децентрализованное управление, извините опечатался
)
При децентрализованном подходе управление системой осуществляется коллективно элементами (модулями, узлами) системы.
Нет выделенного центра, нет необходимости в мощном (с высокими требованиями к отказоустойчивости) узле.Т.к. информация не обязанна стекаться в одну точку, нет необходимости в мощном комутаторе.
К такого рода системам помоему относятся следующие - мультиагентные системы, системы ориентированные на службы, grid-системы.
Эти системы, как мне кажется, базируются на понятии "поведение".
Из подходов создания можно выделить 3:
1) делиберативный;
2) реактивный;
3) гибридный.
Реактивные системы самые простые по архитектуре - отсутствует четкое представление об онтологии (плане решения задачи, текущем расположении ресурсов) и основываются на принципе "ситуация-действие". Это простейшее поведение стайных животных. Когда элемент стяи ориентируется максимум на своих собратьев. Была даже такая игра "Жизнь", может кто помнит, основанная на таком же подходе.
Делиберативный наоборот, использует точное представление онтологии (представлении картины среды существования). Для таких систем характерно наличие целей, плана выполнения и рассуждений при принятии тех или иных решений.
Гибридный подход пытается объединить два вышеизложенных.
Вообщем-то все подходы находят свое применение и отстояли право на существование, наличием реальных работающих систем каждого из типов.
Основная проблема, как мне кажется, заключается в большем разнообразии таких систем без наличия стандартов их взаимодействия. Так они превращаются в вертикальные silo-системы, без возможности расширения.
Если рассматривать вычислительные мощности сети , то зачастую можно встретить мощные сервера работающие лишь 10% своей мощности, остальные 90% - запас на пиковую нагрузку, возникающую с определенной периодичностью, но не постоянную. При наличии стандартизованных, с открытым интерфейсом служб, они могли бы использовать свободные мощности на благое дело. Тоже вообщем-то касается и обычных персоналок.
Да интерес к данной области порадил кучу разных проектов от @Home до таких монсторв как Globus. Но проекты специализированны под специальные задачи.
Вопрос следующий. Какие требования должны ложится на такую систему, возможно ли вообще организовать единый компьютер из текущей гетерогенной вычислительной среды, возьмется ли за это всемогущий Google создавая свою Google OS (релиз вроде в этом году=))?
Да и вообще с удовольствием почитаю любое мнение по данной теме.
Навскидку - отказоустойчивость (в смысле устойчивости к отказам отдельных узлов), расширяемость (независимость от числа узлов) и гибкость (разным узлам - разные задачи).
Возможно. Насколько помню, есть OpenMosix.
О! уже интересно.=) Спасибо.
Независимость "чего" от числа узлов? Наверное имелось ввиду КПД? Свойство линейной расширяемости/мощности дейстует лишь для определенного числа узлов. С ростом количества узлов, растет число сообщений между ними (падает трафик), растет количество возможных вариантов решения прикладных задач, а значит растет время принятия решения. !Все это относиться к автономным системам.
Во избежание таких проблем принято узлы кластеризовывать. Появляются задачи связи кластеров... Но помоему линейная расширяемость для сколь угодно большего числа узлов никому ненужна.
Гибкость. Разным узлам - разные задачи. В последнее время стремятся использовать следующий подход. Узел содержит набор сервисов - что то типа набора команд шелла (только с поддержкой распределенной работы), и набор автономных систем ("агентов"). Каждая узел имеет свой набор сервисов (служб), в зависимости от имеющихся ресурсов, а агенты в ходе решения их используют.
OpenMosix? Странно, не слыхал. Посмотрю сегодня, завтра. Спасибо.
наверно в таких распределённых системах тоже можно использовать что то подобное .
наверно в таких распределённых системах тоже можно использовать что то подобное .
Я так понял это онтносится к расширяемости системы? Не очень силен в термодинамике =).В предельном случае химический потенциал можно рассматривать как Потенциал Гибса деленный на количество частиц, где потенциал Гибса суть полная енергия системы.
А что можно рассматривать к качестве параметров описания "полной энергии" системы.
Есть узлы, для них не плохо бы выделить основные парметры (ну к примеру частота процессора как физическая единица и операционнка как логическая =))
Есть сама система, определяемая топологией, мощностью каналов.
Какие основные характеристики вы могли бы выделить для них? Или может объект можно (нужно?) рассматривать другими абстракциями?
Для понятии абстрактоно рассмотрения систем есть абсолютные понятия схожие на периодческую систему. Т.е. у примитивов есть своя неизменная иерархия. Так и не иначе. Основывается на том что дугие, более сложные примитивы есть конструктивные усложнения простых. И как ни выкручивай (а в жизни это повсеместно сопровождется примерами) чем проще тем быстрее и выгоднее.
Главное в системе это ее мост, хозяин. Без моста система лишь сетка, база данных, остов. Живление же системы правильно основывается на распаде. То есть дабы вывести нужное значение система разлагается на снимки (фильтровые). Т.е. любая система есть ожидание к обработке.
Где важное место это удаление не нужных елементов. На сей день такая способность (в мире информации) есть только! у человека. Так или иначе всегда есть конечный контролер. И здесь я указал на то что все компьютерные системы есть лишь остова но не системы обработки информации. Что бы обработать нужен механизм постоянно переоценивающий ценности. А это есть механизм симпатии и чувств.
Пристой пример Сознание и Подсознание. Сознание пытается запоминать временный материал, а подсознание пытается все забыть и уснуть.
Говоря о приземленных системах управления данными, не стоит забегать далее базы данных. Как видно из примеров поисковиков инета. Как ни популярны, находят много не того что нужно. Точнее воспринимают лишь долю желания в запросе.
Т.е. систему управления надо затавить понимать происходящее.
И есть краеугольный концепт по этому поводу (мой аналог моего интелека).
Система основана на разрушении информации. Поиск быстрейшего метода. Тогда проявляются ступенчатые визуализационые экраны на которых отображается процес (конструкция природы и органики - все распадается и разлагается).
Экраны образно смазывают во времени то что изменяется.
Таким образом появляются стабильные элементы, то есть вход (куча) есть набор элементов, для простоты первого этапа понимания однородные элементы с двумя депозитами, грань которых есть мост. Суть моста переместить все элементы из источника (туда куда смотрит) в применик ("за спину". "съесть их"). Система есть учет времени, в котором она делает обратное. А точне в просто варианта есть обратны перенос елемента пока скажем мост не активен. (здесь крутите как хотите суть изложена, можно думать два моста, можно думать мост различает два циак по очереди) все сводится к тому что контакт к внешеней схеме (большеой куче, миру) является таковым, что подающийся кадр, если он неизменен, анализируется системой как набор рычагов и весов, в котором изменения приводят к изменению симпатий. Т.е. основано на вибрации и механизму гашения колебаний.
В кадр же, включается управляющая структура и информация для обработки. Т.е конроль там где кадр не изменяется, а точнее изменяется иногда для придания направления, влечения, стиля мысшления системы. А информация подается соответственная. Тогда на выходе кадра подается ответ, который межет выражать "давление" на упрвляющие рычаги, т.е. система сама попытаестя изменять все рычаги для получения нейтрального положения, таким образом ей ставят задачу, ответом на которую будет лента вариантов ответов соответсвующих вопросу, сортированых по адаптивности, соответствию минимальных затрат системы для приобретения покоя, состояния сна и небытия. Т.е. она приобретает вид жителя програмы, со своими мечтами, которые выражаются как "дай полный доступ к кадру управления", за которым последует полное исчезание какой-либо структуры. (принцип лени, любви, симпатии и влечения к образу путем запоминания его антипода)
Важное: нутро же програмы, "2 кадр" таков что система имеет уже полный доступ к возбудителю, и на грани 1-2 кадров происходит осмысление потока. Т.е. уходя в недра элемент предоставляет программе веяние, предчувствие того как было бы удобне для нее, что есть собственно выводом.
Собствеено в реальности, это разрес системы для котроля есть сознание а ядро подсознание. А также аналоги где двое есть ярдрами поочередно обрабатывающими один и тот же остов.
(камастура короче, Д'явольские рукописи в итоге, тексты оригиналов библий и писаний, открытия за которыми следует разочарование во всем чем только можно)...
У такой системы есть много преимуществ, (пока не реализована и недостатки неизвестны) Она сразу видит циклическое повторение и интуитивно понимает его суть (анализ кода). Она симпатизирует укорам, так как видит в ошибках суть (причины) своего бытия, и здесь остается только сформулировать вход, и она сама сформулирует "если бы. ... было бы ....".. и много другое благоприятствующее решению ИИ.
Надеюсь вас это интересует. Пишите что иммено.
Децентрализованная система, действительно, мне кажется, значительно повышает отказоустойчивость. Как таковая политика распределения центра очень популярна в наши дни. К сожалению или счастью, ее придумали еще очень давно :).
Как яркий пример, Интернет является распределенной паутиной, где каждый поинт по сути своей равноправен. Очень отказоустойчивая система, хотя бы потому, что если один нод откажет, то весь остальной мир жить останется.
Также вспоминается язык LISP в своих началах. Программа может чуть ли не дописывать себя, если ей правильно задать политику. Некоторые элементы программы могут вплоть до перестать зависеть от остальной программы. Какие это дает возможности? Широчайшие! Например, закладывает автоматизацию решения задач, в том числе программирования.
В чем-то могу ошибаться, чур сильно не бить.:)
Очень поэтичное изложением материала =). Собственно речь шла, не о новом этапе интелектуальных систем, а об одном из текущих направлений. А именно о децентрализованных распределенных системах, и в частности подветви объединения grid и агент структур на основе "сервисов". (Популярным языком это изложено здесь, правда изложение со стороны grid-систем, каждый тянет одеяло на себя =)). Естественно дальнейшее развитие отрасли, напрямую зависит от ее парадигм и фундаментальных аксиом. Что то новое на старых дрожах приживается плохо и обычно вырастает во что то обособленное.
По поводу вами изложенного, могу лишь заметитиь схожесть (насколько мне позволяет мой кругозор) с синегетикой - Хакен, Пригожин, профессор Колесников(чья кафедра этажом выше нашего НИИ =) ) и иже с ними. Ничего реально работающего по данной тематике ИМХО не сделанно, но отрасль развивается довольно бурно.
Если есть определенный взгляд на автономные системы с вашей позиции, прошу вас высказать его, мне было бы интересно.
to Dolonet
Ну здесь сокрее p2p сети наверно, выход поинта-Сервер конечно неведет к потери работоспособности всей сети, но к может и значительный сегемент ее затронуть =).
Вообще интересен вопрос жесткого "равноправия" таких узлов. В Grid-терминалогии ИМХО такое вообще невозможно. Система ориентированно на поддержку распределенных ресурсов. Здесь ключевым словом является "ресурс". Даже тот продвигаемый ими образ вычислительной сети как электростанции, говорит о наличии неравноправных узлов.
В мультиагентных системах все по другому.
Агентная технология предлагаемая Sun и IBM предлагает специализированных агентов, на определенной программной базе (библиотеке). Очень интересная статья на сайте IBM, про Web-агентов.
В идеале ИМХО "равноправие" агетнов должно определятся наличием у него определенных "сервисов". Исходя из контента своих "сервисов" он может играть ту или иную "роль".
Естественно агенты при общении делятся на заказчиков работы и исполнителей. Но это другая сторона вопроса. И иногда в таком распределение обязанностей нет необходимости.
Это довольно редкий подход, хотя идейно правильный =). На практике зачастую довольно проще реализовать набор подстыковываемых модулей, причем как модулей реализации распределенного алгоритма, там и модулей выполнения локальных задач (предать блок данных, оченить текущю производительность узла и т.д.).