Известия высших учебных заведений. Поволжский регион
УДК 681.324
В. И. Волчихин, С. А. Зинкин
САМОМОДИФИКАЦИЯ ТОПОЛОГИИ И РАЗВЕРТЫВАНИЯ ОБЪЕКТОВ В ВИРТУАЛИЗИРОВАННЫХ СЕТЯХ ХРАНЕНИЯ И ОБРАБОТКИ ДАННЫХ (II. ОПЕРАЦИОННАЯ
СЕМАНТИКА И ИСПОЛНИТЕЛЬНЫЕ МЕХАНИЗМЫ)2
Аннотация.
Актуальность и цели. Объектом исследования являются сети хранения и обработки данных с распределенной архитектурой, в которых обработка перемещаемых данных осуществляется мобильными агентами. Предметом исследования является операционная семантика и исполнительные механизмы развертывания средств обработки данных (мобильных агентов) и самих перемещаемых данных на вычислительной сети. Целью работы является разработка нового подхода к виртуализации ресурсов в условиях, когда программные модули и информационные объекты могут перемещаться по сети, создавая улучшенные условия для собственного выполнения и обработки, а также для выполнения соседних процессов. Главным образом это улучшение должно происходить за счет естественного распараллеливания процессов обработки данных.
Материалы и методы. Исследование и формализация процессов развертывания мобильных объектов базируется на введении модифицированного и расширенного перечня рекомендуемых к реализации в распределенных системах и сетях хранения и обработки данных пространственных операций (deployment-операций, или d-операций).
Результаты. Определены абстрактный и конкретный механизмы развертывания компонент, а также даны правила, позволяющие распараллелить процессы обработки данных в распределенной операционной среде. Предлагаемый подход применим к проектированию виртуализированных систем хранения и обработки данных, в частности, облачных сред, грид-систем и систем обработки данных на базе самоорганизующихся беспроводных сетей.
Выводы. Предложены принципы реализации методов и средств проектирования распределенных систем хранения и обработки данных, основанные на использовании непосредственно исполняемых формальных спецификаций и обеспечивающих построение масштабируемых систем с автоматизацией процессов реконфигурации структуры и миграции данных. Эти спецификации адекватно описывают процессы управления путями доступа к ресурсам, поиска и выборки данных, копирования и репликации данных.
Ключевые слова: хранение данных, обработка данных, формальное определение распределенных процессов, логико-алгебраический подход, сети абстрактных машин, темпоральные операции, операции развертывания.
V. I. Volchikhin, S. A. Zinkin
TOPOLOGY SELF-MODIFICATION AND DEPLOYMENT OF OBJECTS IN VIRTUALIZED DATA STORAGE AND PROCESSING NETWORKS (II. OPERATIONAL SEMANTICS AND ACTUATORS)
2 Статья подготовлена в рамках ФЦП «Исследования и разработки по приоритетным направлениям развития НТК России на 2014-2020 гг.» (Соглашение № 14.574.21.0045 от 19.06.2014).
18
University proceedings. Volga region
№ 4 (32), 2014 Технические науки. Информатика, вычислительная техника
Abstract.
Background. The research object is the data storage and processing networks with distributed architecture, where the data to be transferred are processed by mobile agents. The research subject is the operational semantics and actuators of deployment of data processing means (mobile agents) and the transferred data themselves in a computer network. The aim of the work is to develop a new approach to virtualization of resources in such conditions when program modules and information objects are capable of moving in a network creating improved conditions for self-execution and processing, as well as for execution of nearby processes. Essentially, the said improvement should take place due to natural paralleling of data processing processes.
Materials and methods. Research and formalization of mobile objects’ deployment are based on introduction of the modified and extended list of preferred spatial operation to be realized in distributed systems of data storage and processing (deployment-operations, or d-operations).
Results. The authors determined an abstract and a concrete mechanism of content deployment, as well as established the rules allowing to parallelize data processing processes in a distributed operational medium. The suggested approach can be used in designing virtualized data storage and processing systems, particularly, cloud media, grid-systems and data processing systems on the basis of selforganizing wireless networks.
Conclusions. The authors suggested realization principles for methods and means of designing distributed data storage and processing systems, based on the use of directly executable formal specifications and providing formation of scalable systems with automatic processes of structure reconfiguration and migration of data. The said specifications adequately describe the processes of management of access roots to resources, search and sorting of data, coping and replication of data.
Key words: data storage, data processing, formal representations of distributed processes, logical-algebraic approach, networks of abstract machines, temporal operations, deployment operations.
Введение
В предыдущей работе [1] рассмотрены принципы формализации операций развертывания объектов в вычислительной сети и предложены способы визуализации возникающих ситуаций. Необходимость в таких действиях возникает при разработке облачных вычислительных сред, грид-систем, распределенных систем хранения данных, т.е. при организации таких систем, где на передний план выступают проблемы виртуализации и консолидации ресурсов хранения и обработки данных. В отличие от общепринятого определения виртуализации как абстракции вычислительных ресурсов, скрывающей от пользователя собственную реализацию, в настоящей работе поставлена задача использования виртуализации и одной из ее разновидностей - консолидации ресурсов для повышения производительности распределенной вычислительной системы за счет рационального размещения программных и информационных компонентов.
Согласно новой трактовке виртуализации ресурсов программные модули и информационные объекты могут перемещаться по сети, создавая улучшенные условия для собственного выполнения и обработки, а также для выполнения соседних процессов. Главным образом это улучшение происходит за счет естественного распараллеливания процессов обработки данных.
Engineering sciences. Computer science, computer engineering and control
19
Известия высших учебных заведений. Поволжский регион
Наиболее показательным примером для виртуализации такого рода является обработка данных в агентно-ориентированных системах и сетях, при которой программные агенты могут перемещаться по запросу на нужный вычислительный ресурс, а другие программные агенты отвечают за хранение и перемещение обрабатываемых данных. В таких системах трудно обеспечить рациональное развертывание программных компонент и данных, поэтому в настоящей работе предлагается при размещении объектов в сети использовать элементы самоорганизации, при которой программные агенты могут проверять наличие той или иной ситуации в сети и в зависимости от результатов проверки выполнять те или иные действия по изменению этой ситуации.
1. Абстрактный конструктор развертывания объектов
Определим абстрактный механизм, или конструктор, развертывания компонент в распределенной среде как кортеж
K = (A, Y, S, S*, Fs, Ps, R, M, P, F), (1)
где A - множество объектов, или компонентов; Y - множество узлов сети; S - множество ситуаций, возникающих в сети при развертывании объектов; S* - множество элементарных или начальных ситуаций, составляющих систему образующих для алгебры ситуаций; Fs - множество операций развертывания; Ps - множество отношений развертывания; R - множество правил, которые должны соблюдаться при начальных или конечных ситуациях; M - множество процедур, осуществляющих смену ситуаций развертывания (процедуры реализуются модулями сетей абстрактных машин (СеАМ), определенными в работе [1]); P и F - множества исходных и результирующих отношений и функций (рассматриваемых в качестве функциональных отношений) развертывания, им соответствуют одноименные предикаты и функции.
При помощи множества S* зафиксирована система образующих, включающая множество элементарных ситуаций (начальное размещение агентов, менеджеров, данных, результатов на узлах сети). Пусть система операций, принимающих значения в множестве ситуаций - вариантов пространственных размещений объектов, содержит перечисленные в работе [1] ^-операции, реализуемые на абстрактном уровне элементами из множества Fs. Посредством суперпозиции данных операций и системы образующих S* в множестве S порождаются новые ситуации пространственного размещения объектов. Таким образом, нами был сформулирован подход к определению J-алгебры размещения объектов, или алгебры пространственных ситуаций. Собственно J-алгебра определена в абстрактном конструкторе K как тройка
(S, S*, Fs), где множество ситуаций S является носителем алгебры.
Исходные и результирующие ситуации удобно задавать не только в виде сложных выражений для описания ситуаций, но и в виде интерпретации обычной сигнатуры Е = P u F, т.е. в виде отношений, связывающих объекты из множества A с узлами из множества Y. Дальнейшие свойства абстрактного конструктора K поясним на примерах и последующих описаниях выполняемых операций.
20
University proceedings. Volga region
№ 4 (32), 2014 Технические науки. Информатика, вычислительная техника
2. Логико-алгебраические спецификации и операционная семантика пространственных операций
2.1. d-операции размещения мобильных объектов в сети
Рассмотрим модифицированный и расширенный перечень рекомендуемых к реализации в распределенных системах и сетях хранения и обработки данных пространственных операций (deployment-операций, или d-операций):
1. A,© nj - размещение объекта A, на узле nj сети; A,©x - вари-
ант: размещение объекта A, на произвольном узле сети.
2. A,®Aj - размещение объектов A, и Aj на одном и том же узле; (Ю(Ai, A2,..., An) - обобщение данной операции на случай вектора объектов.
3. Л,®A - размещение объектов A, и Aj на различных узлах; ©(Ai, A2,..., An) - обобщение данной операции на случай вектора объектов.
4. 4® A - произвольное размещение объектов A, и Aj в сети; ©(Ai, A2,..., An) - обобщение данной операции на случай вектора объектов.
5. Aj ©А' - создание копии A' объекта A, на одном и том же узле;
Aj©(Aj,Aj,...,Ajn^) -обобщение операции на случай вектора копий.
6. Aj © А' - создание копии А' объекта Aj и размещение ее на другом узле; Aj©(A',Aj,...,Ajn-*) - обобщение операции на случай вектора копий: все созданные копии размещаются на разных узлах.
7. Aj ©А' - создание копии A' объекта A, и размещение ее на произвольном узле сети; A, ©(A',Aj,...,A(n)) - обобщение операции на случай вектора копий: все созданные копии размещаются на произвольных узлах.
8. ©А, - уничтожение объекта^-; @(А^, А2, Ап) - обобщение операции на случай вектора объектов.
9. ©4 - из множества, содержащего исходный объект A и все его копии, выбирается и сохраняется в сети произвольный объект, а остальные уничтожаются.
ю. ®4- - в сети сохраняется исходный (родительский) объект, а все его копии уничтожаются.
11. A,Ч©nj - перемещение объекта A с узла щ на узел nj ; вариант операции Aj©nj - перемещение объекта Aна узел nj в случае, если
достоверно известно, что он находится в сети.
12. Aj®Aj - в сети остается либо объект A , либо объект A j
в зависимости от выполнения условия х (операция «Х'-дизъюнкция»); [xi, Х2, ..., xn](Ai v A2 v ... v An) - обобщение операции «х-дизъюнкция» на
случай вектора объектов: при выполнении операции лишь одно из условий должно принимать значение true, в противном случае результатом операции
будет неопределенный объект AN .
Engineering sciences. Computer science, computer engineering and control
21
Известия высших учебных заведений. Поволжский регион
13. AjSAj - вспомогательная операция ^-конкатенации объектов: объекты Aj и Aj «сосуществуют» в одной и той же сети; ®(А\. Aj. .... Ап) -обобщение данной операции на случай вектора объектов.
2.2. Реализация и некоторые свойства space-операций
Размещение объектов в сети может быть выполнено на основе непосредственно исполняемых формальных спецификаций. Рассмотрим некоторые СеАМ-спецификации данных операций и некоторые их свойства. Следующие выражения (2)-(31) описывают важные свойства d-операций и реализующие их СеАМ-модули.
1. Выполнение d-операции Aj®nj описывается следующим СеАМ-выражением:
[fN(nj)] [fd (A) ^ nj v RE). (2)
Здесь и далее используются следующие обозначения: N - множество узлов; А - множество объектов; fd : A ^ N U {undef} - функция размещения объектов в сети (в случае fd (Aj) = undef будем считать, что объект Аi не размещен или, что в данном случае то же самое, отсутствует в сети); fN : N ^ {true, false} - характеристическая функция множества узлов сети. При интерпретации данного выражения сначала осуществляется проверка значения высказывательной функции fN (n) при n = nj (n - предметная переменная, пробегающая по множеству N узлов сети), что эквивалентно проверке наличия узла nj в сети. Затем в случае, если fN (nj) = true, осуществляется обновление функции fd (Aj) ^ nj , что соответствует размещению объекта Aj на узле nj . При fN (nj) = false (узел nj отсутствует в сети) модуль выполняет тождественное обновление R , и результатом такой операции является неопределенный объект AN .
Другой вариант операции Aj @ x размещения объекта на произвольно выбираемом узле описывается следующим СеАМ-выражением:
[(3!n є N) fN(n)](fd (Aj) ^ n v Re). (3)
Здесь квантифицированный оператор 3! «выбирает» произвольный узел из области истинности характеристической функции fN , а затем обновляется функция fd . Результатом обновления является кортеж < Aj, щ >, связывающий объект A с произвольно выбранным узлом nk.
2. d-операция © коммутативна и ассоциативна:
Ai®Aj = Aj®Aj; (4)
(A® A) ©Ak = Aj® (Aj®Ak). (5)
Бинарная операция © за счет ее ассоциативности и транзитивности соответствующего отношения обобщается на случай вектора объектов:
22
University proceedings. Volga region
№ 4 (32), 2014 Технические науки. Информатика, вычислительная техника
® (4,4,лп). (6)
Рассмотрим СеАМ-спецификации выполнения данной операции. Предположим, что все объекты множества Л = {Л[, Л^, ..., Лп} уже размещены в сети на произвольных узлах, т.е. имеет место следующее высказывание:
(Va є Л)(УЬ є Л)(Уп є N)(Vm є N)(( fd (a) = п)&
&( fd (Ь) = m) з (n = m) v (n Ф m)). (7)
После выполнения операции CD все объекты размещаются на одном узле, при этом должно быть истинно новое высказывание:
(Va є Л)(УЬ є Л)(Уп є N)(Vm є N)((fd (а) = п)& (fd (Ь) = m) з (п = m)). (8)
Для данной операции размещения объектов рассмотрим два варианта СеАМ-спецификации. Первый вариант соответствует случаю, когда все объекты размещаются на произвольно выбранном новом узле:
[(3!п є N)/n(п)]([('Vaє Л)(|(fd (а) Ф uMef)&fop(a))]
(fd (a) ^ п v RE) v RE). (9)
Здесь f0p : Л ^ {true, false} - характеристическая функция множества
Л объектов, участвующих в выполнении операции CD.
Квантифицированные операторы выбора 3! и 'V в выражении (9) независимы, поэтому данное выражение можно представить в семантически эквивалентном виде:
(3 !п є N )fN (п)&(У a є Л)(((fd (a) Ф uMef )&fop (a))
(fd(a) ^ п v RE). (10)
Второй вариант реализации d-операции CD соответствует случаю, когда все объекты размещаются на том узле, на котором уже был размещен один из них, выбираемый произвольно. Два семантически эквивалентных СеАМ-выражения представлены ниже:
[3!(a є Л, п є N)((fd (a) = п)& fN (п)& fop (a))]
([(УЬ є Л)(( fd (Ь) Ф urdef) & fo^p (b))]( fd (b) ^ fd (a) v RE) v RE); (11)
[3! (a є Л, п є N)((fd (a) = п)& fN (п)& fop (a)) &
(УЬ є Л)(( fd (Ь) Ф undef) & fop (Ь))]( fd (Ь) ^ fd (a) v RE). (12)
При выполнении модуля, реализующего последнее выражение, сначала выбирается некоторый кортеж < Лі> , для которого истинно высказыва-
Engineering sciences. Computer science, computer engineering and control
23
Известия высших учебных заведений. Поволжский регион
ние (fd (Aj) = nj )& fN (nj )& fop (Aj), затем выбирается некоторое подмножество множества А, для каждого элемента b которого истинно высказывание (fd (b) Ф undef) & f0p (b), и, наконец, выполняются обновления функции
fd (bk1 ) ^ fd (Ai), fd (bk2 ) ^ fd (Ai), •••, fd (bkm ) ^ fd (Ai) , причем fd (Ai) = nj •
3. d-операция © коммутативна и ассоциативна:
Ai®Aj = A^Ai; (13)
(At®Aj) ©Ak = ^® (Aj®Ak). (14)
Как и предыдущая d-операция, бинарная операция © за счет ее ассоциативности и транзитивности (по построению, или реализации) соответствующего отношения обобщается на случай вектора объектов:
© (Ai, A2,..., An). (15)
Предположим, что объекты множества A = {Ai, A2,..., An} размещены на произвольных узлах сети, причем возможно размещение некоторых или всех объектов на одном и том же узле. Свойства текущего размещения отражает высказывание (7). После выполнения операции © должно иметь место новое высказывание:
(Va є A)(Vb є A)(Vn є N)(Vm є N)(( fd (a) = n) &( fd (b) = m) з (n Ф m)). (16)
СеАМ-выражение, описывающее выполнение операции ©, имеет следующий вид:
[(3 !a є A)((fd (a) ф undef)&f0p (a))]([((3 !n є N) fN (n)]
({fd (a) ^ n, f0p (a) ^ false, fN(n) ^ false} v RE) v RE). (17)
Семантически эквивалентное выражение для операции © имеет вид (3!a є A)(( fd(a) ф undef) & fQp (a))&(3!nє N) fN (n)
({fd (a) ^ n, f0p (a) ^ false, fN(n) ^ false} v RE). (18)
В обоих выражениях используются копии f0p и fN исходных выска-зывательных функций fop и fN . В процессе выполнения данных выражений
соответствующими модулями выбираются объекты и узлы сети, которые затем связываются путем обновления функции fd . Для предотвращения повторного выбора объектов выполняются обновления вспомогательных функций f0p (a) ^ false и fN (n) ^ false . Выражения (17) и (18) должны выполняться многократно до тех пор, пока не будет выполнено условие (Va є A)—f0p(a) = true , т.е. пока не будут размещены все объекты, участвую-
24
University proceedings. Volga region
№ 4 (32), 2014 Технические науки. Информатика, вычислительная техника
щие в операции. Многократное выполнение указанных выражений обеспечивается агентами-серверами, которые продолжают интерпретировать СеАМ-выражения до тех пор, пока истинны охранные условия.
4. Реализация d-операции О осуществляется следующим образом. В случае, когда объекты A\, Л^,..., An уже размещены в сети, в выполнении
операции ® нет необходимости, если только не требуется повторное перераспределение объектов. Выражение, описывающее повторное перераспределение объектов, представим в следующем виде:
[(З\а є Л)(( fd (а) Ф undef) & fop (а))&(З!n є N) fN (n)]
({fd (a) ^ n, fOp (а) ^ false} v RE). (19)
Данное выражение построено на основе выражения (18) и отличается от него тем, что вместо обновляемой высказывательной функции fN в охранном условии (a-выражении) используется остающаяся неизменной высказывательная функция (унарный предикат) fN . Поскольку функция fN не обновляется, объекты Лі, Л2, ..., An размещаются на произвольно выбираемых узлах. Выражение (19) интерпретируется агентом-сервером до тех пор, пока не будут перераспределены все объекты.
5. Рассмотрим реализацию d-операции ©. Пусть А(.А('.....А-"- - копии
объекта Aj. тогда запись Aj © А'. А"..... А^‘ 1 означает, что в сети создается п копий объекта Aj, которые размещаются на том же узле, на котором размещен и объект Aj. Пусть AC = {Aj, Aj',..., A(n)} - множество копий объекта Aj,
размещенных в сети, и A' = AC U {A} - множество объектов, участвующих в выполнении операции. Выражение для модуля СеАМ, реализующего данную операцию, представим в следующем виде:
[fd (A) Ф undef ]([(V а є A') fop (a)]( fd (a) ^ fd (A) v RE) v RE), (20)
где значением функции fd является номер узла, на котором размещен исходный объект.
6. При выполнении d-операции © Aj©A',A",...,Ajn'> создаются и размещаются на различных узлах сети n копий A',Aj',...,A(n) объекта A . Выражение для модуля СеАМ, реализующего данную операцию, представим в следующем виде:
[(З\ає A'\{A})fOQp(а)]([(З\nє N\{fd(A)})fN(n)]
({fd (а) ^ n, fOp (а) ^ fiilse, fN (n) ^ false} v RE) v RE), (21)
где fOp(а) - характеристическая функция множества копий {Aj,A',...,A(n)} объекта A ; fN (n) - характеристическая функция множества узлов, на кото-
Engineering sciences. Computer science, computer engineering and control
25
Известия высших учебных заведений. Поволжский регион
рых могут размещаться копии объекта Aj. Данное выражение выполняется циклически до тех пор, пока все копии объекта Aj не будут размещены в сети. После каждого выполнения блока обновления из рассмотрения исключаются очередная копия объекта и узел, на котором она размещена, путем обновления функций fOp (a) ^ false и ff (n) ^ false соответственно. Обновление fd (a) ^ n связывает объект а с узлом п, на котором он будет размещен.
7. СеАМ-выражение, описывающее выполнение ^-операции ©, представим в следующем виде:
[(3!aє A'\{Aj})fOp(a)]([(3!nє N)fN(n)]
E. . nE>
({fd (a) ^ n, fOp (a) ^ false} v RE) v RE),
(22)
Данное выражение похоже на выражение (21), описывающее выполнение операции ©. Отличие состоит в том, что номер очередного узла выбирается из области истинности унарного предиката ff (n), для которого здесь не выполняется правило обновления ff (n) ^ false . Поэтому копии объекта размещаются произвольно на узлах сети.
8. Выражение для модуля СеАМ, реализующего ^-операцию @ Aj. имеет следующий вид:
[true]( fd (Aj) ^ undef v Re ).
(23)
Пусть к началу выполнения данной операции имеет место равенство fd (Aj) = nfc, nfc є N, Aj є A, что соответствует размещению объекта Aj на узле щ . После выполнения модуля СеАМ, реализующего данную операцию, будет выполняться равенство fd (Aj) = undef . Последнее означает, что местонахождение объекта Aj не определено, что в контексте данной предметной области равносильно его отсутствию в сети.
9. ^-операция © Aj реализуется модулем СеАМ, который описывается следующим выражением:
[(Vaє A')f0p(a)]([3!bє A,nє N)(fd(b) = n)]
({fd (a) ^ undef; fd (b) ^ n} v RE) v RE), (24)
где f0p - характеристическая функция множества A'.
10. СеАМ-выражение для модуля, реализующего операцию ®Aj, может быть представлено в следующем виде:
[('Va є A' \{Aj})f'p](fd (a) ^ undef v RE). (25)
До выполнения данного модуля истинно высказывание
(Va є A' \ {Aj})(fd (a) Ф undef) & (fd (Aj) = nk), (26)
26
University proceedings. Volga region
№ 4 (32), 2014 Технические науки. Информатика, вычислительная техника
а после выполнения станет истинным высказывание
(Vaє A'\{Ai})(fd(a) = undef)&(fd(A) = nk), (27)
11. Реализация d-операции Ai,Щ®nj и ее варианта Ai®nj может быть описана следующими выражениями для модулей СеАМ:
[fd (А) = nk](fd (Ai) ^ nj v RE), (28)
[ fd (Ai) * undef ](fd (Ai) ^ nj v RE), (29)
[(fd (Ai) * undef) & (fd (Ai) * nj)] (fd (Ai) ^ nj v RE). (30)
Первое выражение соответствует операции Ai,nj , когда опреде-
лено текущее местонахождение nk объекта Ai и он перемещается на другой узел nj . Второе выражение соответствует ситуации, когда известно лишь то, что объект Ai размещен в сети; в этом случае он либо попадает на новый
узел (nk * nj), либо остается на прежнем месте (nk = nj). В третьем случае (операция A^® nj) объект Ai перемещается на новый узел после проверки
факта его нахождения в сети на узле, отличном от того узла, на который он должен быть перемещен. В зависимости от цели выполнения операции © реализуется тот или иной вариант.
12. Выполнение б/-опсрации /I, © Aj похоже на выполнение операции
a-дизъюнкции, однако здесь она определена не над операторами, а над размещаемыми в сети объектами. Используя аналогию с интерпретацией a-дизъюнкции в работе [2], запишем для х-дизъюнкции следующее выражение:
[х](Aj v АА = х® Ai v —ос (Daі
l jv г j / u і і____і ]
(31)
где « » - операция фильтрации (по аналогии с операцией фильтрации в [2]):
х = AE,
і і 7
если х
= true и х =
*N
если х = false,
EN
где A - тождественный объект; A - неопределенный объект (по аналогии с тождественным и неопределенным операторами в алгебре алгоритмов В. М. Глушкова). Сохранив прежнее название для символа операции «х » -
«фильтрация», введем для операции © название «^-конкатенация». Введенная операция обладает следующими свойствами:
At © Aj = Aj © At, Аі®АЕ=АЕ®Аі = Аі, Aj® AN = AN ® At = AN,
Ae v AN = AN v AE = AE , At v AN = AN v Ai = Ai.
Наличие в сети неопределенного объекта не влияет на существование других объектов, не связанных с ним операцией ©.
Engineering sciences. Computer science, computer engineering and control
27
Известия высших учебных заведений. Поволжский регион
В результате выполнения операции х-дизъюнкции в сети остается один из объектов - Aj или Aj .
Так, например, при x = true
[х] (4 v Aj) = true® 4 v false © Aj = AE © 4 v AN © Aj = 4
v An = A,
а при x = false
[х](Д- v Aj) = false®4 v true^ ®Aj = AN®4 v AE®Aj = Aj v/= Aj .
Достоинством предлагаемого подхода к размещению (или развертыванию) объектов в сети является то, что d-операции реализуются в рамках одной и той же технологии согласования процессов и объектов. Допускается и интеграция данной технологии с другими объектно ориентированными технологиями, например, с мультиагентными и с технологией классной доски.
3. Использование свойств пространственно-временных отношений для перехода от функциональной архитектуры систем хранения и обработки данных к их системной архитектуре
Сложность и эффективность тех или иных структурных решений во многом зависит от временного совмещения работы функциональных модулей (ФМ). Ранее [3] нами было рассмотрено применение алгебры сценариев и пространственных ситуаций (алгебры развертывания, или размещения, объектов) к проектированию интеллектуальных систем управления внешней памятью. Темпоральные операторы, используемые в алгебре сценариев, позволяют получать новые ФМ, а операторы развертывания позволяют получать новые варианты пространственных ситуаций. Например, применяя темпоральные операторы «|» (выполнить неодновременно), «|» (выполнить возможно одновременно), «||» (причинно обусловленное пересечение интервалов реализации сценариев) и «||'» (причинно обусловленное перекрытие интервала реализации одного сценария интервалом реализации другого сценария), можно порождать новые сценарии из определенных изначально сценариев x и у, составляющих систему образующих в алгебре сценариев:
zi = x I у; Z2 = x | у; Z3 = x || у; Z4 = x ||' у,
где x, у - некоторые сценарии і-го уровня; а zi, Z2, Z3, Z4 - сценарии (i + 1)-го уровня, или составные ФМ. Решая задачу покрытия базовых функциональных структур, или сети функциональных модулей, физическими узлами вычислительной сети, будем рассматривать сами ФМ как разновидности сценариев.
Применяя операторы развертывания «©» (размещение различных ФМ на одном и том же физическом узле), «©» (размещение различных ФМ на различных физических узлах), «©» (произвольно допустимое размещение ФМ), получаем в результате новые пространственные сценарии, или ситуации. Например, в результате применения операторов развертывания
Zi' = x © у, Z2 = x © у, z3 = x © у
28
University proceedings. Volga region
№ 4 (32), 2014 Технические науки. Информатика, вычислительная техника
над ФМ х и у формируются новые ситуации z\, z2 и z3 , соответствующие не противоречащему семантике конкретной операции развертывания сценарию размещения ФМ на сети физических узлов. Данным ситуациям соответствуют составные ФМ. Для одноименных темпоральных операций «|», «|», «|», «||», «||‘» и операций «®», «©», «©» развертывания (размещения) бинарных предикатов сформулируем правила размещения базовых функциональных структур на физических узлах. Так, правило
(Vx)(Vy)[ |(х,у) D®(х,у)],
при выполнении которого «возможно (потенциально) одновременно» выполняемые ФМ х и у размещаются на одном и том же физическом узле и тем самым теряют возможность параллельного выполнения, соответствует критерию минимума аппаратурных затрат, а правило
(Vx)(Vy)[ |(х, у) 3©(х, у)],
при реализации которого «возможно одновременно» выполняемые ФМ х и у размещаются на различных физических узлах (тем самым обеспечивается возможность их параллельного выполнения), соответствует критерию возможной максимальной производительности за счет параллельного выполнения функциональных модулей.
В проектируемых системах хранения и обработки данных обычно учитываются ограничения объема памяти физических узлов и реальные выгоды от параллельного выполнения некоторых из них невелики, поэтому для многих проектируемых систем нередко достаточно выполнения следующего более общего правила:
^х)С^у)[ |(х, у) з ©(х, у)] ~
~ (3х)(3у)[ |(х, у) =»©х, у)] & (3х)(3у)[ |(х, у) з ©(х, у)] V
V ^х)С^у)[ |(х, у) з ®(х, у)] V (Vх)(Vy)[ |(х, у) з©(х, у)],
при реализации которого «возможно одновременно» выполняемые ФМ размещаются либо на одном и том же физическом узле, либо на разных узлах.
Аналогично, для темпорального отношения «|» в реализованных системах хранения и обработки данных может соблюдаться правило
С^х)С^у)[ |(х, у) з ©(х, у)] ~
~ (3х)(3у)[ |(х, у) з Ф(х, у)] & (3х)(3у)[ |(х, у) з ©(х, у)] V
V (Vх)(Vy)[ |(х,у) з ®(х,у)] V (Vх)(Vy)[ |(х, у) з ®(х, у)],
означающее возможность размещения выполняемых разновременно ФМ как на одних и тех же, так и на различных физических узлах.
Для темпоральных отношений «||‘», «||» и <ф> размещение ФМ х и у связано с выполнением следующих правил:
С^х)фу)[ ||'(х,у) з ©(х,у)],
(Vх)(Vy)[ ||(х, у) з ©(х, у)],
(Vх)(Vy)[ |(х, у) з ©(х, у)] ~
Engineering sciences. Computer science, computer engineering and control 29
Известия высших учебных заведений. Поволжский регион
~ (3x)(3y)[ t(x, y) 3©(x, y)] & (3x)(3y)[ t(x, y) з ®(x, y)] V V (Vx)(Vy)[ t(x,у) з ®(x,у)] V (Vx)(Vy)[ t(x,у) 3®(x,y)].
Проиллюстрируем использование свойств пространственно-временных отношений для перехода от функциональной архитектуры систем хранения и обработки данных к системной архитектуре. В работе [3] приведен пример СеАМ-реализации следующего сценария обработки данных в сетевой системе хранения данных:
Fo = Fit((F4F3)|(F4t[a](F5 V,4s)tF6))t(F7|fFs)tFk.
Не вдаваясь в детали выполнения указанных операций, опишем на основе приведенных выше правил ситуацию развертывания используемых ФМ в сети физических узлов:
Fo = Fi © ((F2 ©F3) © (®(F4, F5, F6))) © (F7 © Fs) © Fk.
Данное выражение соответствует ситуации развертывания, обеспечивающей реализацию параллелизма при повышенных аппаратных затратах. Если же при реализации необходима некоторая экономия физических узлов в ущерб производительности, то возможно модифицировать последнее выражение следующим образом:
F'o = (Fi ® ((F2 ®F3) ® (®(F4, F5, F6)))) © (F7 © Fs) © Fk.
Заключение
Предложены принципы реализации методов и средств проектирования распределенных систем хранения и обработки данных, основанные на использовании непосредственно исполняемых формальных спецификаций и обеспечивающих построение масштабируемых систем с автоматизацией процессов реконфигурации структуры и миграции данных. Эти спецификации адекватно описывают процессы управления путями доступа к ресурсам, поиска и выборки данных, копирования и репликации данных.
Список литературы
1. Волчихин, В. И. Самомодификация топологии и развертывания объектов в виртуализированных сетях хранения и обработки данных (I. Темпоральные и пространственные операции) / В. И. Волчихин, С. А. Зинкин // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2014. - № 3 (31). -С. 54-69.
2. Многоуровневое структурное проектирование программ. Теоретические основы, инструментарий / Е. Л. Ющенко, Г. Е. Цейтлин, В. П. Грицай, Т. К. Терзян. - М. : Финансы и статистика, 1989. - 208 с.
3. Зинкин, С. А. Функционально-структурная реализация интеллектуальных систем управления внешней памятью ЭВМ и систем / С. А. Зинкин // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2008. -№ 1 (5). - С. 14-24.
References
1. Volchikhin V. I., Zinkin S. A. Izvestiya vysshikh uchebnykh zavedeniy. Povolzhskiy region. Tekhnicheskie nauki [University proceedings. Volga region. Engineering sciences]. 2014, no. 3 (31), pp. 54-69.
30
University proceedings. Volga region
№ 4 (32), 2014 Технические науки. Информатика, вычислительная техника
3. Yushchenko E. L., Tseytlin G. E., Gritsay V. P., Terzyan T. K. Mnogourovnevoe strukturnoe proektirovanie programm. Teoreticheskie osnovy, instrumentariy [Multilevel structural software engineering. Theoretical base, instruments]. Moscow: Finansy i statistika, 1989, 208 p.
4. Zinkin S. A. Izvestiya vysshikh uchebnykh zavedeniy. Povolzhskiy region. Tekhniches-kie nauki [University proceedings. Volga region. Engineering sciences]. 2008, no. 1 (5), pp. 14-24.
Волчихин Владимир Иванович доктор технических наук, профессор, президент Пензенского государственного университета (Россия, г. Пенза, ул. Красная, 40)
E-mail: rectorat@pnzgu.ru
Зинкин Сергей Александрович доктор технических наук, профессор, кафедра вычислительной техники, Пензенский государственный университет (Россия, г. Пенза, ул. Красная, 40)
E-mail: zsa49@yandex.ru
Volchikhin Vladimir Ivanovich Doctor of engineering sciences, professor, President of Penza State University (40 Krasnaya street, Penza, Russia)
Zinkin Sergey Aleksandrovich Doctor of engineering sciences, professor, sub-department of computer engineering, Penza State University (40 Krasnaya street, Penza, Russia)
УДК 681.324 Волчихин, В. И.
Самомодификация топологии и развертывания объектов в виртуа-лизированных сетях хранения и обработки данных (II. Операционная семантика и исполнительные механизмы) / В. И. Волчихин, С. А. Зинкин // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2014. - № 4 (32). - С. 18-31.
Engineering sciences. Computer science, computer engineering and control
31