Самомодификация топологии и развертывания объектов в виртуализированных сетях хранения и обработки даннных (I. темпоральные и пространственные ситуации)

Известия высших учебных заведений. Поволжский регион

УДК 681.324

В. И. Волчихин, С. А. Зинкин

САМОМОДИФИКАЦИЯ ТОПОЛОГИИ И РАЗВЕРТЫВАНИЯ ОБЪЕКТОВ В ВИРТУАЛИЗИРОВАННЫХ СЕТЯХ ХРАНЕНИЯ И ОБРАБОТКИ ДАНННЫХ (I. ТЕМПОРАЛЬНЫЕ И ПРОСТРАНСТВЕННЫЕ СИТУАЦИИ)1

Аннотация.

Актуальность и цели. Объектом исследования являются сети хранения и обработки данных с распределенной архитектурой, в которых обработка перемещаемых данных осуществляется мобильными агентами. Предметом исследования являются процессы развертывания средств обработки данных (мобильных агентов) и самих перемещаемых данных на вычислительной сети. Целью работы является организация гибкого развертывания мобильных объектов (мобильных агентов и перемещаемых данных) в вычислительной сети в целях повышения эффективности последующей обработки данных.

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

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

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

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

V. I. Volchikhin, S. A. Zinkin

TOPOLOGY SELF-MODIFICATION AND OBJECT DEPLOYMENT IN VIRTUALIZED STORAGE AND DATA PROCESSING NETWORKS

1 Статья подготовлена в рамках ФЦП «Исследования и разработки по приоритетным направлениям развития НТК России на 2014-2020 г.» (Соглашение № 14.574.21.0045 от 19.06.2014).

54

University proceedings. Volga region

№ 3 (31), 2014 Технические науки. Информатика, вычислительная техника

Abstract.

Background. The research object is the networks of data storage and processing with distributed architecture, in which the transported data are processed by mobile agents. The research subject is the processes data processing means deployment (mobile agents) and deployment of the transported data themselves on a computer network. The work is aimed at organization of flexible deployment of mobile agents (mobile agents and transported data) in a computer network in order to increase efficiency of further data processing.

Materials and methods. The research of processes of mobile objects deployment in networks is based on the logic-algebraic approach to description of temporal and spatial relations between objects. Nominally, the knowledge on structure, logical links and functioning of the system is suggested to be represented by predicates, functions and formulas that are recorded in some kind of a signature.

Results. The authors determined the algebra of the abstract machine modules and on the basis thereof formalized the modification processes of the data storage and processing systems’ topology. The researchers determined the algebra of situations (variants of mobile objects’ location) and main operations, providing objects’ transportation. The suggested approach can be applied in designing of virtualized systems of data storage and processing, particularly cloud media, grid-systems and selforganizing wireless networks, and allows to implement a simple transition from abstract designing to structural designing of such systems.

Conclusions. The suggested representations of temporal and spatial situations provide unequivocal description of the operational and functional semantics of distributed networks of data storage and processing. The authors obtained expressions for module netwroks of abstract machines that axiomatize the data processing network features in general. The researchers suggested the operators of transportation and formalized the mechanisms of implementation thereof, providing creation of the flexible and scalable architecture of data storage and processing networks.

Key words: data storage, data processing, nominal representations of distributed processes, logic-algebraic approach, networks of abstract machines, temporal operations, deployment operations.

Введение

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

Ранее в работах [1, 2] были определены понятия эволюционирующих семантических сетей с событиями и темпоральными связями (сценариев) и сетей абстрактных машин (СеАМ).

Рассмотрим с позиций данных работ эволюцию (или модификации в процессе работы) сетей хранения и обработки данных. Целью настоящей работы является формальное описание и разработка рекомендаций по реализации механизмов управления модификацией топологии и размещения объектов систем и сетей хранения и обработки данных, основанных на исполняемых спецификациях СеАМ.

Engineering sciences. Computer science, computer engineering and control

55

Известия высших учебных заведений. Поволжский регион

1. Сети абстрактных машин и сценарии

Следуя работе [3], рассмотрим некоторую сигнатуру, или множество Т, представлений с интерпретацией I в множестве S элементов; интерпретация I данному представлению а є Т ставит в соответствие некоторое абстрактное информационное содержание 1(а), т.е. интерпретации соответствует отображение I: Т ^ S . Положим, что Т - множество функциональных и предикатных символов различных арностей, а S - множество конкретных функций и предикатов. Предикаты и функции, реализуемые объектами некоторого информационного пространства, задают структурные связи между понятиями предметной области. Причинно-следственные связи между этими понятиями задаются модулями-процедурами, описанными логико-алгебраическими выражениями.

Формально знания о структуре, логических связях и функционировании системы предлагается представлять предикатами, функциями и формулами, которые записываются в некоторой сигнатуре. При помощи унарных предикатов и функций возможно характеризовать состояния объектов, а при помощи n-арных предикатов и функций (n > 1) возможно задавать структурные связи между объектами. Логические связи между объектами задаются формулами. При подобном традиционном представлении знаний о предметной области за пределами рассмотрения остаются процедурные знания о функционировании системы. Поэтому в модель представления знаний необходимо включить и процедурную (императивную) составляющую. В качестве процедурной модели представления знаний о функционировании системы в данной работе выбраны сети абстрактных машин. Таким образом задаются логические и структурные связи между понятиями предметной области, а также декларативные и процедурные (императивные) знания о ней.

В многоосновном (многосортном) исчислении предикатов первого порядка каждому терму однозначно приписывается сорт данного терма (сорта, например, могут быть определены для таких классов объектов, как агенты, сетевые узлы, наборы данных, передаваемые сообщения). Имеет место следующее правило вывода [4]:

fb t2, ..., tk f (tb ^, ..., tkУ

где t1, t2, ..., ti, ..., tk — термы сортов П1, П2, ..., Пі, ..., nk соответственно,

f — k-арный функциональный символ вида (п1, П2, ., ni,., nk ^ п),f(t1, t2, ., ti, ., tk) — терм сорта п.

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

56

University proceedings. Volga region

№ 3 (31), 2014 Технические науки. Информатика, вычислительная техника

Сети абстрактных машин содержат построенные с применением определенной в работах [2] алгебры абстрактных машин «модули-процедуры» (далее просто модули), которые модифицируют, или «обновляют», интерпретацию I, выполняя сгруппированные в блоки так называемые правила обновления вида I(Oj) ^ s}; oj є X, s}- є S. В алгебре абстрактных машин мы включаем подобные правила обновления в систему образующих. Сеть абстрактных машин функционирует, переходя от одной интерпретации I(xj) к другой интерпретации I(Tj), где Т и Tj - последовательные моменты времени, Tj >Tj.

В модулях используются специальные операции - элементарные обновления функций и предикатов. Элементарное правило обновления функции или предиката записывается в виде правила вывода

t1, t2, tk, tk+1

s(tb t2-’ ..., tk) ^ tk+1

где t1, t2, ..., tk - термы различных сортов; s - функциональный или предикатный символ. В случае, если s - функциональный символ, tk+1 - суть терм любого сорта, а если s - предикатный символ, то tk+1 - булев терм. Здесь «^» - символ операции обновления функции или предиката.

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

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

АМ. Заметим, что чаще удобнее использовать продукционный стиль построения сетей из модулей СеАМ, задавая межмодульные причинно-следственные связи.

2. Алгебра модулей сетей абстрактных машин и сценариев

В основу языка абстрактного описания модулей положены язык многосортного исчисления предикатов первого порядка, расширенный правилами выборки и обновления кортежей информационного пространства, а также язык систем алгоритмических алгебр Глушкова [5].

При определении СеАМ используется понятие блока совместимых (непротиворечивых) обновлений с последовательным выполнением правил обновлений предикатов и функций. В формальной записи блоки ограничиваются фигурными скобками. При построении сетей СеАМ на основе узлов, или модулей, нами будут использоваться обычные для параллельного и распределенного программирования бинарные операции последовательного и параллельного выполнения модулей.

Engineering sciences. Computer science, computer engineering and control

57

Известия высших учебных заведений. Поволжский регион

Бинарные темпоральные операции «;», «,», «:», «||», «||*», «|с» предписывают различные способы выполнения модулей.

Операция «;» предписывает последовательное выполнение модулей, из которых второй модуль может зависеть от первого (в сценариях данная операция может также обозначаться символом «}»).

Операция «,» предписывает выполнение независимых модулей: последовательное в произвольном порядке или асинхронное параллельное в зависимости от числа доступных обрабатывающих узлов (в сценариях данная операция может также обозначаться символом «|»).

Операция «:» предписывает непараллельное выполнение модулей в произвольном порядке (в сценариях данная операция может обозначаться символом «|»).

Операция «||» предписывает модулям причинно-следственную связь по крайней мере через единственный предикат либо функцию; при программной реализации применение данной операции требует дальнейшей детализации описания через другие операции, в том числе и операций передачи сообщений или состояний объектов в абстрактном пространстве распределенной памяти СеАМ.

Операция «||*» обозначает выполнение модулей, при котором интервал реализации первого модуля перекрывает интервал реализации второго. Данная операция, например, может указывать на управление одним процессом со стороны другого. Данная операция может быть реализована несколькими каузально связанными модулями СеАМ.

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

Алгебраические свойства данных операций очевидны - например, операции «,», «:» коммутативны и ассоциативны, а операции «;» и «||*» некоммутативны и ассоциативны. Все перечисленные операции распространяются и на векторы модулей (здесь - подсценариев), что упрощает запись сложных сценариев.

В формульной записи имена модулей, сгруппированных в блоки, заключаются в фигурные скобки, а внутри блоков могут использоваться простые скобки для указания на последовательность выполнения операций, например:

{m , m2 , m3}, {mi ; m2} , {(mi ; m2) , m3}, {(mi : m2) ; m3}.

В случае, когда блок содержит лишь один модуль, скобки можно опускать. В настоящей работе алгебра алгоритмов Глушкова используется в основном для записи обычных структурированных (дейкстровских) конструкций - «последовательность операторов», «ветвление», «цикл»; в принципе здесь могла бы использоваться любая другая нотация, также пригодная для записи структурированных программ. Все указанные выше операции мы включаем в состав операций алгебры модулей, что облегчит формирование новых модулей сетей СеАМ. Из алгебры операторов мы выбираем тернарную операцию а-дизъюнкцию и бинарную операцию а-итерацию как основы для формирования модулей СеАМ.

58

University proceedings. Volga region

№ 3 (31), 2014 Технические науки. Информатика, вычислительная техника

Следуя [5], напомним правила выполнения данных операций. При выполнении операции а-дизъюнкции [a](mivm2) при а = true выполняется модуль m1, а при а = false выполняется модуль m2. При реализации операции а-итерации [a]{m} модуль m выполняется циклически, пока а = false, а при а = true происходит выход из цикла (следует отличать итерационные фигурные скобки от блочных).

Вместо имен модулей mi, m2 и m в указанные выше выражения могут подставляться формулы с символами любых из определенных выше операторов, например, возможно построение следующих выражений для модулей:

m6 = M({mi , m2 , m3} v {(m3 ; m4) , m5}), m7 = [а^^Шаэ]^ v m2)}) v ([o^m v m4))).

Элементарный модуль содержит единственное правило обновления предиката или функции. Пустое обновление R эквивалентно тождественному оператору E алгебры алгоритмов Глушкова, не выполняющему никаких действий по модификации информационного пространства. Неопределенное обновление RN соответствует неопределенному оператору N, сигнализирующему, например, об ошибке или сбое. Продукционному программированию соответствует использование модулей (модулей-продукций) следующего вида:

m = [o](L v Re),

где L - непустая последовательность элементарных модулей. При определенных очевидных условиях данный модуль может выполняться так же, как и модуль, описываемый выражением [—o]{L}.

3. Передача информационных объектов и сообщений в сетях абстрактных машин

Рассмотрим детальнее формализацию операций передачи копий информационных объектов и сообщений в сетях хранения и обработки данных. Передача истинного или ложного значения высказывания из одной области абстрактной памяти в другую осуществляется с помощью операции р(х,) *— q(y3), после выполнения которой значение одной атомарной константной формулы q(yj) станет значением другой формулы p(xi). Здесь p и q - унарные предикатные символы, Хі и у - предметные константы. Таким образом, например, процессы или объекты могут обмениваться информацией о своих состояниях или о других свойствах. Предполагается, что предикаты p и q определены в различных областях абстрактной памяти, на которой определена распределенная сеть СеАМ.

Пусть теперь r и z - предикаты одинаковой арности. Путем выполнения операции r ^ z отношение, представленное областью истинности предиката z, станет областью истинности предиката r. Таким образом можно передавать отношения из одной области абстрактной памяти в другую. Принципы реализации данных операций в распределенных вычислительных системах очевидны.

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

Engineering sciences. Computer science, computer engineering and control

59

Известия высших учебных заведений. Поволжский регион

Проиллюстрируем сказанное следующим примером из работ [6, 7] использования сетевого узла хранения информации, построенного на базе накопителя на магнитных дисках. Пусть на нижнем уровне должен быть реализован модуль абстрактной машины, описываемый следующим выражением:

[/i(diski)](/i(diski) ^ false V RE).

Целью действий, выполняемых данным модулем, является проверка незанятости дискового устройства и последующее занятие его. Первый подход предполагает реализацию данного модуля СеАМ физического уровня. Другой подход предполагает рассмотрение данного модуля как абстрактной машины, использующей некоторый протокол взаимодействия одного из сетевых процессов с дисковым модулем. Последовательность команд, передаваемых по сети, имеет в этом случае следующий вид:

send_lock(msg_i, process_i, disk_i) - послать сообщение msg_i процесса process_i, блокирующее ресурс (дисковое устройство) disk_1 от вмешательства всех других процессов;

receive_locked(msg_2, process_1, disk_1) - принять сообщение msg_2 от драйвера сетевого контроллера-маршрутизатора дискового устройства disk_i, свидетельствующее о том, что ресурс disk_i успешно заблокирован; истинное значение логической переменной f1.msg_2 свидетельствует о том, что ресурс disk_i ранее не был заблокирован ни одним другим процессом и не был занят;

if f1.msg_2 send_busy(msg_3, process_1, disk_1) - послать сообщение msg_3 с требованием занятия ресурса disk_i, если fi.msg_2=true;

send_unlock(msg_4, process_1, disk_1) - послать сообщение msg_4 с требованием разблокировать ресурс disk_i.

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

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

Операционная система виртуализированной системы имеет иерархическую структуру, изоморфную структуре абстрактной машины. При этом физическим ресурсам (микропроцессорным модулям, модулям основной, буферной и кэш-памяти, шинам, коммутаторам и маршрутизаторам, сетевым адаптерам, каналам связи) и логическим ресурсам (программам, переменным, массивам данных) соответствуют определенные функции и предикаты из абстрактного пространства памяти. Универсальной структурной единицей информации здесь является абстрактный объект. Данное понятие используется для обозначения любых ресурсов распределенной системы, включая про-

60

University proceedings. Volga region

№ 3 (31), 2014 Технические науки. Информатика, вычислительная техника

граммно, микропрограммно или аппаратно реализованные модули СеАМ и объекты, в которые отображается состояние физических ресурсов системы,

т.е. объектов, представляющих функции и предикаты в информационном пространстве. В целом подобный подход во многом позволяет ликвидировать семантический разрыв между данными и операциями, поддерживаемыми физическими машинами и данными, и операциями, используемыми языками высокого уровня. Последнее утверждение поддерживается еще и тем, что язык формализма СеАМ прямо или косвенно поддерживает императивную, алгебраическую, функциональную и логическую парадигмы, свойственные сразу нескольким языкам высокого уровня типа Пролог, Лисп, Паскаль и программному обеспечению промежуточного уровня, реализованному, например, на языке Java.

Областями истинности предикатов, составляющих абстрактное пространство памяти, представлены операционные и пространственновременные отношения. Пространственно-временные отношения служат для взаимного соотнесения абстрактных объектов в пространстве и времени, что повышает в существенной степени гибкость реализации сложных сетевых виртуализированных облачных и ГРИД-систем.

4. Модификация топологии систем хранения и обработки данных

Топологию вычислительной сети зададим неориентированным графом G, описывающим структуру сетевых виртуальных связей. Данный граф зададим двумя характеристическими функциями, или унарными предикатами вида

V : Y ^ {true, false},

U: X^ {true, false},

где Y - множество «потенциальных» (возможных) вершин, соответствующих узлам сети, |Y| = n; X - множество «потенциальных» (возможных) ребер, представленных двухэлементными множествами пар смежных вершин хгєХ, i = 1, 2, ..., m, m = [n2 - n j/2, xt = {yj^, y^}, yk^Y, y}l)eY, k Ф e . Под «потенциальностью» подразумевается возможность вхождения вершин и ребер в граф. Реальное число вершин и ребер в выбранный момент времени задается характеристическими функциями.

Для упрощения мы будем описывать преобразования графа как результат работы модулей СеАМ.

Операции удаления некоторой вершины yj и инцидентных ей ребер выполняются последовательностью модулей сети абстрактных машин

m = m  m ,nyx ,ny ?,nx ’

где первому из модулей соответствует выражение

m- = [V (yj)] (V (yj) ^ false v RE),

которым описывается удаление вершины yj из графа G путем обновления предиката V. В условной части данного модуля проверяется предварительное

условие V(yj) наличия вершины yj в графе G. Второй модуль mx удаляет все

Engineering sciences. Computer science, computer engineering and control

61

Известия высших учебных заведений. Поволжский регион

ребра, инцидентные удаляемой вершине у-. Возможно несколько семантически эквивалентных вариантов выражений для модуля mx :

1) тХ = [-((3х Є X){U(х) & fiseiem (у-, х))]

{((З!хє X)(U(х) & fiSeiem (у-,х)); U(х) ^ false};

2) m- = [-((3! х є X)(U(х) & fiseiem (у-, х))] {U(х) ^ false};

3) m- = [(Ух є X )(U (х) & fiseiem (У і , х))^ (х) ^ false v RE);

m- = [('Ух є X)(U(х) & fiSeiem (у-, х))] (U(х) ^— false v RE).

В данных выражениях используются квантифицированные операторы выбора 3! и У. Оператор 3! выбирает одно из значений переменной х (что соответствует выбору одного из ребер графа G), при котором истинно условие U^&f^^y х), где fiseiem - бинарный предикат, устанавливающий вхождение элемента у- в двухэлементное множество х. Истинность высказывания fiseiem(yj, х) при связанном вхождении переменной х означает, что вершина у-инцидентна выбранному ребру. Выполнение правила U^^false обновления характеристической функции U соответствует исключению выбранного ребра

х из графа G. Данный процесс, согласно первому выражению для модуля mx , выполняется циклически, пока не станет истинным условие

-((Зх Є X)(U(х) & fiseiem (у-, х)),

т.е. пока не будут исключены все ребра х, инцидентные удаляемой вершине у-.

Во втором выражении использован введенный нами оператор «подчеркивание», ставящий в соответствие подчеркнутому выражению некоторое условие, истинное в том случае, если с помощью квантифицированного оператора выбора 3! удалось сделать указанный выбор. Тогда правило U^^false обновления характеристической функции U будет выполняться до тех пор, пока не станет истинным условие

-((3! х Є X)(U(х) & fiseiem (уi, х)) .

Первые два выражения для модуля mx описывают циклы выбора и удаления ребер, инцидентных выбранной и удаляемой первым модулем my вершине у-. В третьем выражении, «модуле-продукции» СеАМ, используется квантифицированный оператор выбора У, с помощью которого осуществляется выбор всех значений переменной х, для которых истинно условие U^&f^i^ty-, х). Порядок такого выбора здесь не регламентирован. Пра-&

вило Цх) <----false обновления характеристической функции U будет вы-

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

62

University proceedings. Volga region

№ 3 (31), 2014 Технические науки. Информатика, вычислительная техника

ния эквивалентны. Реализация первого выражения приводит к двойному выбору значений переменной x и поэтому неэффективна.

Операции включения в сеть нового узла и создания новых виртуальных

соединений можно реализовать с помощью одного модуля СеАМ m+y, описываемого следующим выражением:

m+x = [—V(Уі)]([(VXє X)Uyj(x)]({V(y) ^ true,Uyj(x)^— true} v RE) v RE),

где Uyj - характеристическая функция, или унарный предикат вида

Uyj : X ^ {true, false}

для подмножества Xyj С X ребер, которые будут инцидентны вершине yj. В условной части данного модуля проверяется условие —V(yj) предварительного отсутствия вершины yj в сети. Символ операции «подчеркивание» можно опустить, так как подчеркнутое выражение с квантифицированным оператором выбора V - единственное в квадратных скобках.

Приведенные построения показывают, что для описания модификации топологии систем и сетей хранения и обработки пригоден такой же формализм, который ранее нами использовался для описания сценариев. Следовательно, для практической реализации топологических операций и распределенных приложений в сетях хранения и обработки данных может быть использована одна и та же технология. Для децентрализованного управления топологией сети необходимо, чтобы программно реализуемые модули, выполняющие модификацию информационных объектов V и U, размещались на каждом узле сети и копировались на каждый вновь подключаемый узел. Копии информационных объектов, представляющих характеристические функции V и U в пространстве функций и предикатов, также должны размещаться на каждом узле сети, но они должны быть активными только на одном из них. В случае отключения данного узла в сети активной должна стать другая произвольно выбранная копия объектов V и U. В один и тот же момент времени только один модуль может модифицировать активные объекты V и U. В случае модификации этих объектов ее результат должен быть передан на все остальные узлы. В организации управления образованием новых конфигураций сети участвуют агенты-серверы и агенты хранения-размещения объектов; данные агенты могут при необходимости реализовывать и другие известные алгоритмы децентрализованного управления ресурсами.

5. Размещение объектов в сетях хранения данных и алгебра ситуаций

Введем далее следующие обозначения для пространственных отношений и соответствующих им одноименных операций между объектами, задействованных в том или ином сценарии:

a CD b - объекты а и b необходимо размещаются на одном и том же узле

сети;

а CD b - объекты а и b возможно размещаются на одном и том же узле сети (но возможно размещение и на разных узлах);

а © b - объекты а и b необходимо размещаются на разных узлах сети;

Engineering sciences. Computer science, computer engineering and control

63

Известия высших учебных заведений. Поволжский регион

а © b - лишь один из объектов должен находиться в сети в заданный момент времени (аналог а-дизъюнкции в алгебре операторов В. М. Глушкова [5]);

а CD ь - возможно размещение на одном или разных узлах одного или обоих объектов;

а © b - необходимо размещение на одном и том же узле обоих объектов либо одного из них;

a О у - объект а размещен на узле у.

Операции (d-операции) связывания объектов данными отношениями необходимы для размещения объектов в сети с учетом определенных рекомендаций и ограничений. Их имена составляют сигнатуру d-алгебры (от deployment - размещение, развертывание). Добавим к сигнатуре унарную операцию уничтожения объекта а на каком-либо узле (© а и операцию уничто-

й CD'

жения всех его копий ку а.

Операция © па позволяет получать копии (клоны) агентов а', а", ..., а(п) от исходного агента а. Ей соответствует следующее обновление RC функции fc, связывающее имя агента-родителя с множеством имен его копий:

Rc = fc (a) ^ {a', a',..., a(n)}.

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

Представляет интерес интеграция методологии построения пространственных сценариев (ситуаций) с методологией сетей абстрактных машин. Рассмотрим следующий пример сложной организации распределенной среды. Пусть А = {al, a2} - множество мобильных агентов, D = {dl, d2, d3} - множество наборов данных, R = {rl, r2} - множество результатов, Y = {уь у2, у3, у4, у5} - множество узлов сети.

Следующее множество d-операций (пространственная ситуация) определяет начальное размещение объектов в сети перед выполнением некоторого сценария обработки данных:

U = (al ©a2, al ©db al ©d2, al ©d3, dl ©d2 ©d3).

Так как агенты а1 и а2 до начала реализации сценария планируется разместить на одном и том же узле, здесь достаточно определить размещение наборов данных относительно одного агента и между собой.

Пусть в процессе реализации некоторого сценария требуется, чтобы агенты aj и a2 размещались на различных узлах, наборы данных dj и d2 - на том же узле, что и агент а1, а набор данных d3 - на любом узле сети, где рас-

64

University proceedings. Volga region

№ 3 (31), 2014 Технические науки. Информатика, вычислительная техника

положен агент a2, кроме такого, на котором размещен агент а1, а результаты r1 и r2 в процессе обработки данных должны сформироваться на различных узлах сети, на которых не находятся наборы данных d1, d2, d3. Такое размещение определяется следующим множеством d-операций:

U2 = (a\ ©a2, a\ CDd1, ai CDd2, ai © d3, ri © d1, a2 CD d3,

ri ©d2, r1 ©d3, r2©d1 r2©d2, r2©d3, r1 ©r2).

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

U3 = (a1 CD a2, a1 CD r1, a1 CD r2, a1 © d1, a1 © d2, a1 © d3, d1 CD d2, d2 CD d3, d1 CD d3).

В общем случае ситуациям U1, U2 и U3 могут соответствовать по нескольку вариантов размещения объектов. Для операций размещения объектов a CD b, а Ф b, а © b, а © b, а CD b, а C! b определим соответственно бинарные предикаты f1, f2, f3, f4, f5, f6 и унарную функцию fz непосредственного, или прямого, размещения объектов. В ряде случаев удобно рассматривать вместо унарной функции fz бинарное отношение О (илиfz) размещения объектов, учитывая его функциональный характер. Множество операций U1 по размещению объектов задается блоками В1 и С1 обновлений функций (здесь и далее в число функций включаются и высказывательные функции, или предикаты):

B = [f\(a\,a2) ^ true, f3(ax,dl) ^ true, f3(ax,d2) ^ true,

f3a,d3) ^ true, f3d,d2) ^ true, f3(d1,d3) ^ true, f3(d2,d3) ^ true},

C1 = [fz(a1) ^ Уl, fz(al) ^ Уl, fz(d1) ^ У3, fz(dl) ^ У4, fz(d3) ^ y5}.

В блоке B1 выполняется конкретизация бинарных пространственных отношений между объектами, а в блоке С1 обновляется унарная функция размещения fz.

Множество операций U2 по размещению объектов задается блоками B2 и С2:

B2 = Щa,a2) ^ false, f3a,d{) ^ false, f3a,d2) ^ false, f3(d1,d3) ^ false, f3(d2,d3) ^ false, f3d,d2) ^ false, f3(a1,d3) ^ false, f3(a1,a2) ^ true, f1 (a1,d{) ^ true,

Л (ai,d3) ^ true, f1 a,d2) ^ true, f3 (a2,d3) ^ true,

f3(r.,d\) ^ true, f3(r,d2) ^ true, f3(rhd3) ^ true,

f3(r2,d\) ^ true, f3(r2,d2) ^ true, f3(r2,d3) ^ true, f3(rhr2) ^ true},

Engineering sciences. Computer science, computer engineering and control

65

Известия высших учебных заведений. Поволжский регион

C2 = {fz(al) ^ Уі> fz(dl) ^ УЪ fz(dl) ^ УЪ fz(d3) ^ y2’ fz(ri) ^ У5, fz(r2) ^ У3},

а множество операций U3 по окончательному размещению объектов задается блоками В3 и С3:

В = f(ai,a2) ^ false, f (ai,di) ^ false, f (ai,d2) ^ false, f3 a, df) ^ false, f3 (r,di) ^ false, f3 (ri,d2) ^ false, fz(rl,d3) ^ false, f3(r2,di) ^ false,/3(^,d2) ^ false, f3(a2,d3) ^ true,f3(2,d3) ^ false, f3(ri,^) ^ false, fi (ai, a^) ^ true, fi (ai, r) ^ true, fi (ai, ^) ^ true, f3(ai,di) ^ true, f3(ai,d{) ^ true, f3(ai,d3) ^ true, fi (di, d2) ^ true, fi (d2, d3) ^ true, fi(di, d3) ^ true},

C3 = {fz(ai) ^ У2, fz(ri) ^ У2, fz(r2) ^ У2, fz(d3) ^ yi}.

Поэтапное размещение агентов, исходных данных и результатов иллюстрирует рис. 1.

Uy

U2

U3

У

ay az

Уз

dy

/4

d>

Уб

ck

Ч

Ґ

ч.

Ґ

V.

Уз

Гг

Уб

Гу

Рис. 1. Размещение агентов, наборов исходных данных

и результатов в процессе реализации пространственного сценария

Л

J

Л

J

Реализация операций , CD и © предполагает, что для них выполняются свойства ассоциативности, коммутативности, а соответствующие им отношения транзитивны. Операция О некоммутативна, а соответствующее ей отношение асимметрично.

Рисунки 2 и 3 иллюстрируют результаты выполнения действий, предписанных пространственными сценариями (ситуациями) Ui, U2 и U3.

66

University proceedings. Volga region

№ 3 (31), 2014 Технические науки. Информатика, вычислительная техника

Рис. 2. Эволюции пространственных бинарных отношений между объектами

Рис. 3. Эволюции пространственных бинарных отношений между объектами

Определим также возможность установления групповых связей между объектами при их размещении в сети. Например, блок обновления функций

Fa (4) ^ Yai, Fd (А) ^ D Fr (4) ^ %}

задает размещение подмножества мобильных агентов А1, подмножества наборов данных D\ и подмножества результатов Ri (результирующих наборов данных) на соответствующих, возможно пересекающихся, подмножествах

Engineering sciences. Computer science, computer engineering and control

67

Известия высших учебных заведений. Поволжский регион

узлов вычислительной сети). Здесь AjG Р(А), AG P(D), RjG P(R), YajG P(Y), YdiG P(Y), YriG P(Y), Р - символ булеана.

Заключение

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

Используемые для представления сценариев СеАМ допускают недвусмысленное описание операционной и функциональной семантик. Кроме того, представлены выражения для модулей, или узлов СеАМ, представляющих собой логические формулы, которые аксиоматизируют определенные свойства сети в целом. Предложены операторы размещения объектов в сетях хранения и обработки данных и формализованы механизмы их выполнения.

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

Список литературы

1. Зинкин, С. А. Самомодифицируемые сценарные модели функционирования систем и сетей хранения и обработки данных (реализация и свойства сценарных моделей) / С. А. Зинкин // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2007. - № 2. - С. 13-21.

2. Зинкин, С. А. Сети абстрактных машин высших порядков в проектировании систем и сетей хранения и обработки данных (базовый формализм и его расширения) / С. А. Зинкин // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2007. - № 3. - С. 13-22.

3. Брой, М. Информатика. Основополагающее введение / М. Брой. - М. : Диалог-МИФИ, 1996. - 299 с.

4. Колмогоров, А. Н. Математическая логика / А. Н. Колмогоров, А. Г. Драга-лин. - М.: Едиториал УРСС, 2005. - 240 с.

5. Многоуровневое структурное проектирование программ. Теоретические основы, инструментарий / Е. Л. Ющенко, Г. Е. Цейтлин, В. П. Грицай, Т. К. Терзян. - М. : Финансы и статистика, 1989. - 208 с.

6. Волчихин, В. И. Логико-алгебраические модели и методы в проектировании функциональной архитектуры распределенных систем хранения и обработки данных / В. И. Волчихин, С. А. Зинкин // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2012. - № 2 (22). - С. 3-16.

7. Зинкин, С. А. Функционально-структурная реализация интеллектуальных систем управления внешней памятью ЭВМ и систем / С. А. Зинкин // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2008. -№ 1 (5). - С. 14-24.

68

University proceedings. Volga region

№ 3 (31), 2014 Технические науки. Информатика, вычислительная техника

References

1. Zinkin S. A. Izvestiya vysshikh uchebnykh zavedeniy. Povolzhskiy region. Tekhniches-kie nauki [University proceedings. Volga region. Engineering sciences]. 2007, no. 2, pp. 13-21.

2. Zinkin S. A. Izvestiya vysshikh uchebnykh zavedeniy. Povolzhskiy region. Tekhniches-kie nauki [University proceedings. Volga region. Engineering sciences]. 2007, no. 3, pp. 13-22.

3. Broy M. Informatika. Osnovopolagayushchee vvedenie [Informatics. Fundamental introduction]. Moscow: Dialog-MIFI, 1996, 299 p.

4. Kolmogorov A. N., Dragalin A. G. Matematicheskaya logika [Mathematical logic]. Moscow: Editorial URSS, 2005, 240 p.

5. Yushchenko E. L., Tseytlin G. E., Gritsay V. P., Terzyan T. K. Mnogourovnevoe strukturnoe proektirovanie programm. Teoreticheskie osnovy, instrumentariy [Multilevel structural design programs. Theoretical basics, instruments]. Moscow: Finansy i statistika, 1989, 208 p.

6. Volchikhin V. I., Zinkin S. A. Izvestiya vysshikh uchebnykh zavedeniy. Povolzhskiy region. Tekhnicheskie nauki [University proceedings. Volga region. Engineering sciences]. 2012, no. 2 (22), pp. 3-16.

7. Zinkin S. A. Izvestiya vysshikh uchebnykh zavedeniy. Povolzhskiy region. Tekhnicheskie nauki [University proceedings. Volga region. Engineering sciences]. 2008, no. 1 (5), pp. 14-24.

Волчихин Владимир Иванович доктор технических наук, профессор, президент Пензенского государственного университета

E-mail: rectorat@pnzgu.ru

Зинкин Сергей Александрович доктор технических наук, профессор, кафедра вычислительной техники, Пензенский государственный университет

E-mail: zsa49@yandex.ru

Volchikhin Vladimir Ivanovich Doctor of engineering sciences, professor, President of Penza State University

Zinkin Sergey Aleksandrovich Doctor of engineering sciences, professor, sub-department of computer engineering, Penza State University

УДК 681.324 Волчихин, В. И.

Самомодификация топологии и развертывания объектов в виртуа-лизированных сетях хранения и обработки данных (I. Темпоральные и пространственные ситуации) / В. И. Волчихин, С. А. Зинкин // Известия высших учебных заведений. Поволжский регион. Технические науки. -2014. - № 3 (31). - С. 54-69.

Engineering sciences. Computer science, computer engineering and control

69