ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ
УДК 681.324
В. И. Волчихин, С. А. Зинкин
АБСТРАКТНОЕ И СТРУКТУРНОЕ МОДЕЛИРОВАНИЕ СЕТЕЙ ХРАНЕНИЯ И ОБРАБОТКИ ДАННЫХ
Аннотация. Рассматриваются проблемы использования формальных представлений распределенных процессов и объектов, взаимодействующих через общее структурированное пространство памяти. Использован алгебраический подход к определению операционной семантики распределенных систем хранения и обработки данных, основанный на определении данных систем сетями абстрактных машин. Решение поставленных задач основано на интеграции методов искусственного интеллекта с методами формально определенного распределенного поведенческого моделирования. На формальном уровне описан переход от централизованных систем внешнего хранения и обработки данных к функционально и топологически децентрализованным сетям.
Ключевые слова: хранение данных, обработка данных, формальное определение распределенных процессов, алгебраический подход, сети абстрактных машин, распределенные поведенческие модели, топологически децентрализованные сети.
Abstract. The paper considers the use of formal representations of distributed processes and objects that interact through a common structured memory space. The authors resort to an algebraic approach to the definition of an operating semantics of distributed systems, data storage and processing, based on the definition of data networks with systems of abstract machines. The solution of these problems is based on integration of artificial intelligence techniques with formally defined distributed behavioral model. At the formal level the researchers describe the transition from centralized systems of external data storage and processing to functionally and topologically decentralized networks.
Key words: data storage, data processing, formal representations of distributed processes, algebraic approach, networks of abstract machines, distributed behavioral models, topologically decentralized networks.
Введение
В сетях внешних запоминающих устройств (ВЗУ) совокупность сетевых дисковых модулей может быть представлена некоторым коллективно используемым распределенным ресурсом. Доступ к подобному ресурсу с несколькими единицами осуществляется с помощью запросов различных видов. Различие запросов характерно, например, для распределенных RAID-массивов и реплицированных распределенных баз данных, реализуемых на базе сетей ВЗУ.
Вопросы физической реализации систем и сетей хранения и обработки данных были рассмотрены, например, в [1, 2], однако в этих и других работах рассматривались в основном технические аспекты построения систем и сетей хранения данных и практически не затрагивались вопросы связи процессов абстрактного и структурного проектирования.
Логико-алгебраические модели в форме сетей абстрактных машин (СеАМ) [3-5] являются удобным средством для построения имитационных поведенческих моделей систем и сетей внешнего хранения и обработки данных. Формальная определенность данных моделей позволяет получить исполняемые спецификации, необходимые для практической реализации систем.
1. Выбор необходимого уровня абстракции при моделировании распределенного ресурса - многофункциональной системы внешней памяти, подключаемой к вычислительной сети
В качестве примера ресурса Я с несколькими единицами рассмотрим многофункциональную систему внешней памяти, подключаемую к вычислительной сети. Данная система может выполнять функции КАГО-массива или хранить реплицированные или различные базы данных. Актуальной является также решаемая при этом задача функционально-топологической децентрализации систем и сетей хранения и обработки данных. Каждый центр обслуживания представляет собой локальную подсистему хранения и обработки данных. В качестве характерного примера подобного центра обслуживания выберем ВЗУ на магнитных дисках со встроенной распределенной кэшпамятью и модулями распределенного процессора базы данных [3].
Построение логико-алгебраических моделей многофункциональной системы внешней памяти основано на принципах, изложенных в работах [4, 5]. В отличие от перечисленных работ, в настоящей работе решается задача функционально-топологической децентрализации архитектуры системы хранения и обработки данных на основе преобразования формально определенных имитационных поведенческих моделей.
При проектировании систем и сетей хранения и обработки данных представляет интерес построение выражений для модулей сетей СеАМ как с
использованием квантифицированных операторов выбора 3!, 3!!, V и V !! [4, 5], так и без них. Применение квантифицированных операторов, а также дополнительных «связывающих» предикатов может привести к существенному уменьшению необходимого числа применяемых модулей СеАМ и упрощению описывающих выражений. Учитывая, что формализмы сетей абстрактных машин мы предлагаем использовать в качестве непосредственно интерпретируемых спецификаций при создании нового аппаратного, микропрограммного и программного обеспечения систем хранения и обработки данных, следует рассмотреть различные формы записи выражений в алгебре модулей СеАМ.
Дополнительно отметим, что все квантифицированные операторы выбора являются блокирующими, т.е. при несоблюдении условий их выполнения работа агента-сервера по реализации модуля блокируется. Так, работа
модуля блокируется, если при попытке выполнения оператора 3! (оператора выборки произвольного кортежа из области истинности предиката) в области
истинности предиката, описываемого выражением справа, нет ни одного кортежа. Работа модуля, использующего оператор 3!!, блокируется, если имеющийся в области истинности предиката кортеж не является единственным
или эта область вообще не содержит ни одного кортежа. Оператор V выборки всех кортежей из области истинности предиката блокирует работу модуля, если область истинности предиката пуста, т.е. не содержит ни одного кортежа, а оператор V !! также блокирует работу модуля, если в момент проверки область определения предиката не совпадает с областью его истинности. Во всех случаях подразумевается, что предикат описывается выражением, стоящим справа от символа квантифицированного оператора.
2. Абстрактная и структурная модели топологически централизованной системы хранения и обработки данных
Рассмотрим абстрактный распределенный ресурс Я со многими единицами. Определим данный ресурс сетью абстрактных машин, формализующей процессы, происходящие в многофункциональной системе ВЗУ, структура которой представлена на рис. 1. Здесь приведена система коммутаций, подключаемая через серверы А, В и С к глобальной сети системы ВЗУ, где СА -сетевые адаптеры; УУ - устройства управления сетевой дисковой памятью; УУОИ - устройства управления обменом информации; УМ - управляющие модули; УУКП - устройства управления кэш-памятью; МКП - модуль кэшпамяти; МПБД - модули, выполняющие некоторые функции ячеек процессора базы данных, встроенных в систему ВЗУ; УУМПБД - устройства управления для МПБД. Система включает также четыре коммутатора, или коммуникационные сети, способные соединять порты по принципу «каждый -с каждым».
Многофункциональная система ВЗУ содержит пять коммуникационных сетей, или коммутаторов, посредством которых устанавливаются соединения между группами устройств. Для удобства свяжем наименования основных групп устройств с предметными переменными I, V, у, с и г, принимающими значения в множествах Т = ^1, ^, ..., tn}, V = v2, ..., vq}, У = {у1,у2, ...,ут}, С = {с1, с2, с3} и X = {г1, г2, ..., гр} соответственно.
Каждой единице распределенного ресурса Я поставим в соответствие процесс обращения к модулю дисковой памяти или накопителю на магнитных дисках (НМД). Определим предметную переменную t, пробегающую по элементам множества «жетонов» Т = ^1, ^, ..., tn}, обладание которыми позволяет запросам различных типов воспользоваться единицами ресурса Я.
В сети абстрактных машин множество Т будет соответствовать также и множеству НМД. Таким образом, при построении логико-алгебраической модели для функционально-централизованной системы хранения данных за основу построения сети абстрактных машин взяты процессы устройств хранения данных - модулей ВЗУ на магнитных дисках. В модели дисковые модули ВЗУ будут представлены значениями предметной переменной t, пробегающей по множеству Т = ^1, ^, ..., tn}. Тогда верхний индекс / при имени каждого модуля будет свидетельствовать о причастности данного модуля к процессу /-го модуля ВЗУ, в выполнении которого участвуют все остальные устройства.
К глобальной сети
Управляющие модули абстрактных машин, составляющие общую сеть СеАМ, связываются с модулями, которые будут приведены далее, посредством унарного предиката fwork(t). При реализации сети СеАМ сетью виртуальных машин предикат fwork(t) представляется информационным объектом в виртуальном FS-пространстве функций и предикатов.
Модули СеАМ miz)apkp_begin и miz)apkp_end реализуют начальную и к°-
нечную фазы операции записи данных в кэш-память МКП(у), у е Y, через сети коммуникаций 1, 2, 3, 4, сетевые адаптеры CA(v), v е V, устройства управления УУ(у), устройства управления обменом информации УУИО(у), устройства управления кэш-памятью УУКП(у):
m%kp _ begin = [fk (cj )]([ fwork (ti )&( foper (ti) = w)& fst (ti )]([(3!v е V) fsa (v)]
([(3!y е Y) fuu (y)]([ fuuoi (y)]([ fuukp (y)]([ fmkp (y)]
({fk (cj) ^ false, fst (ti) ^ false, fsa (v) ^ false, fuu (y) ^ false,
fuuoi(y) ^ false, fuukp (y) ^ false, fmkp (y) ^ false, fzapkp (ti) ^ true,
fuusa (ti, y, v) ^ true} v RE) v RE) v RE) v RE) v RE) v RE) v RE);
m^zOpkp_end = [fzapkp (ti)]([3!(ti е T,y е Y, vе V)fuusa &У,v)]
({fk (cj ) ^ true, fsa (v) ^ true, fuu (y) ^ true, fuuoi(y) ^ true, fuukp (y) ^ true, fmkp (y) ^ true, fzapkp (ti) ^ false,
fpoisk (ti) ^ true} v RE ) v RE ).
D ~ (i) (i)
В выражениях для модулей mZ^pkp _ begin и mzapkp _ end используются следующие предикаты и функция foper:
fwork(t) - предикат, определяющий связь сети, представляющей ресурс R, с управляющей сетью абстрактных машин;
foper(t) - функция, область значений которой составляют две константы w и r, определяющие в модели операции записи и чтения данных;
fst(t) - предикат, определяющий готовность процессов обращения к дисковым модулям;
fsa(v) - предикат, определяющий готовность согласующих СА;
fuu(y) - предикат, определяющий готовность УУ;
fuuio(y) - предикат, определяющий готовность УУОИ;
fuukp(y) - предикат, определяющий готовность УУКП;
fmkp(y) - предикат, определяющий готовность МКП;
fk(c) - предикат, определяющий готовность серверных СА;
fzapkp(t) - каузальный предикат модуля;
fuusa(t, y, v) - предикат, связывающий процесс запроса с УУ и СА; fpoisk(t) - каузальный предикат модуля.
Модули mplisk _ begin и mplisk _ end реализуют операцию установки-поиска нужного цилиндра, дорожки и сектора в дисковом модуле сети ВЗУ:
mpoisk _ begin = [fpoisk(ti)]([3!(ti е T,yе Y,vе V)fuUsa (t,y,v)]
([ fu (y)]([ fuuoi (y)]([(3! z е Z) fum (z)]([ fd (ti)]
({fd (ti) ^ false, fpoisk (ti) ^ false,
fp (ti) ^ true} v RE) v RE) v RE) v RE) v RE) v RE);
m%sk _ end = [ fp (ti )]({fp (ti) ^ false, fpered (ti) ^true} v rE ).
В выражении для данных модулей дополнительно используются следующие предикаты:
fum(z) - предикат, определяющий готовность УМ;
f(t) - предикат, определяющий готовность дискового модуля НМД;
fp(t) - каузальный предикат модуля;
fpered(t) - каузальный предикат модуля.
С помощью модулей m^red _ begin и m[pered _ end в системе ВЗУ реализуется операция переписи данных из МКП в дисковый модуль сети ВЗУ, после чего сервер, выдавший запрос на запись, извещается об окончании операции. Выражения для модулей mfered _ begin и m[pered _ end имеют следующий вид:
mpered _ begin ~ [fpered (ti )]([З I(ti Є T, У Є Y, v Є V) fuusa (t, У, v)]
([ fuu (У)]([ fuuoi (У)]([ fuukp (У)]([ fmkp (У)]([(ЗI z Є Z) fum (z)]
({fpered (ti) ^ false
, /uu (У) ^ false
, fuuoi (y) ^ false, fuukp (y) ^ false, fmkp (У) ^ false, fum (z) ^ false, fuuum (ti, У, z) ^ true,
fper (ti) ^ true} v RE) v RE) v RE) v RE) v RE) v RE) v RE);
m pered _ end
= [fper (ti )]([З I(ti Є T, У Є Y, v Є V) fuusa (t, У, v)]
([ЗI (ti Є T, У Є Y, z Є Z) fuuum (t, У, z)]
({fper (ti) ^ false, fuu (У) ^ true, fuuoi(У) ^ true, fuukp (У) ^ true, fmkp (У) ^ true, fum (z) ^ true, fuusa (ti, У, v) ^ false, fuuum (ti, У, z) ^ false, fd (ti) ^ true, fst (ti) ^ true,
fwork (ti) ^ false} v RE) v RE) v RE).
В данных выражениях дополнительно используются следующие предикаты:
fuuum(t, У, z) - предикат, связывающий процесс запроса с УУ и УМ; fper(t) - каузальный предикат.
п “ (i) (i)
С помощью модулей manaiiz _ begin и manaliz _ end производится анализ содержимого таблиц модулей кэш-памяти сети ВЗУ:
^analiz _ begin = [fk (cj )]([fwork (ti )&(foper (ti) = r )& fst (ti)]
([З Iv Є V) fsa (v)]([(31У Є Y) fuu (y)]([ fuuoi (У)]([ fuukp (y)]([fmkp (У)]
({fuu (У) ^ false, fuuoi (У) ^ false, fuukp (У) ^ false, fmkp (У) ^ false, fst (ti) ^ false, fanaliz (ti) ^ true, fk (cj ) ^ false,
fuutv (tti, y,v) ^ true} v RE) v RE) v RE) v RE) v RE) v RE) v RE) v RE);
manaliz _ end [fanaliz (ti)]([ЗI(ti Є T,y Є Y,vЄ V)(t,У,v)]
([(ЗIhЄ {true, false})fdkp(h)]
в
({fuu (У) ^ true> fanaliz (ti) ^ false, fuuoi (У) ^ true>
fuukp (У) ^ true, fmkp (У) ^ true, falpha (ti) ^ К fk (cj ) ^ true,
fan (ti) ^ true} V RE ) V RE ) V RE ).
Здесь дополнительно используются следующие предикаты: fanaiiz(t) - каузальный предикат;
fuutv(t, У, v) - предикат, связывающий процесс запроса с МКП и СА; fdkp(h) - предикат, используемый для выбора признака успешного поиска в кэш-памяти;
falpha(t) - предикат, используемый для сохранения признака поиска в кэш-памяти;
fan(t) - каузальный предикат.
Модули _ kp _ begin и miread _ kp _ end управляют процессом чтения
данных из кэш-памяти, если сведения о наличии необходимых данных получены при анализе справочных таблиц:
mread _ kp _ begin = [ fan (ti)]([ falpha iU )]([fk (Cj )]([3 !(t,- 6 T, y 6 Y, ve V) f^ (t, У, v)] ([ fsa (v)]([ fuuoi(У)]([ fuukp (У)]([ fmkp (У)]
({fk (cj ) ^ false, fsa (v) ^ false, fuu (У) ^ false, fuuoi(У) ^ false, fuukp (У) ^ false, fmkp (У) ^ false, fan (ti) ^ false,
fread_kp (ti) ^ true} v RE) v RE) v RE) v RE) v RE) v RE) v RE) v RE);
mread _ kp _ end = [fread_kp(ti)](P!(ti 6 T,У 6 Y,v6 V) fuutv(t,У,v)]
({ fread _ kp (ti) ^ false, fk (cj ) ^ true, fsa (v) ^ true, fuu (У) ^ false, fuuoi (У) ^ false, fuukp (У) ^ false, ^(У) ^ false,
fuutv (ti, У,v) ^ false, fwork (ti) ^ false, fst (ti) ^ true} V rE ) V rE X где fread_kP(t) - каузальный предикат.
Модули b и m(i) выполняют начальную и конечную фазы
ust _ begln ust_ end
операции установки головок записи-считывания и выбора сектора в дисковом модуле сети ВЗУ:
mit begin = [ fan (h )]([fpha (ti)]([ fk (c j )]([(3! У 6 Y ) fm (У)]
([ fuuoi (У)]([0! Z 6 Z) fum (z)]([ fd (ti)]
(1fd (ti) ^ false, fust (ti) ^ true, fan (ti) ^ false, fk (cj ) ^ false} V
v RE) v RE) v RE) v RE) v RE) v RE) v RE);
m(i) л = [fust (ti )]({fust got (ti) ^ true, fust (ti) ^ false, fk (cj ) ^ true} V rE X
ust _ end J
где fust(t), fust_got(t) - каузальные предикаты.
Модули ^1) he. и m(l) выполняют начальную и конечную фазы
dkp _ begln dkp _ end
операции копирования данных из дискового модуля в кэш-память:
mOdkp _ begin = [fust _ got (ti )]([(З IУ Є Y) fuu (У )]([(З I z Є Z) fum (z)]
([ fuuoi(У)]([ fuukp (У)]([ fmkp (y)]
({fuu (y) ^ false, fuuoi(y) ^ false, fum (z) ^ false, fuukp (У) ^ false, fmkp (y) ^ false, fust_ got (ti) ^ false, fdkp _ copy (ti) ^ true, fuuum (ti, У, z) ^ true} v RE) v RE) v RE) v RE) v RE) v RE);
m dkp end ~ [ fdkp _ copy (ti)]([ЗI(ti Є T,У Є Y, z Є Z) fuuum (t,У, z)]
({fuu (У) ^ true, fuuoi(У) ^ true, fum (z) ^ true, fuukp (У) ^ true, fmkp (У) ^ true, fdkp _ copy (ti) ^ false,
fdkp _ got (ti) ^ true, fd (ti) ^ true} v RE ) v RE ).
Здесь fkrcopyd), fdkpgotO - каузальные предикаты.
Модули m^ begin и mk)c end управляют передачей данных из кэшпамяти в сервер cj, сделавший запрос на чтение данных из сети ВЗУ:
m% _ begin = [fdkp _ got (ti )]([fk (cj )]([З I(ti Є T, y Є Y, z Є Z) fmum (t, У, z)]
([ fuuoi(У)]([ fuukp (У)]([ fmkp (У)]([(З Iv Є V) fsa (v)]({fk (cj ) ^ false,
fsa (v) ^ false, fuu (У) ^ false, fuuoi(У) ^ false, fuusa (ti , У, v) ^ true, fuukp (У) ^ false, fmkp (У) ^ false, fdkp _got (ti) ^ false,
fkpc (4) ^ true} v RE) v RE) v RE) v RE) v RE) v RE) v RE); mpcc end = [fkpc (ti )]([З I(ti Є T, У Є Y, z Є Z) fuuum (t, У, z)]
([ЗI(ti Є T, У Є Y, v Є V) fuusa (ti ,У, v)]
({fk (cj ) ^ true, fuu (У) ^ true, fuuoi(У) ^ true, fsa (v) ^ true, fuukp (У) ^ true, fmkp (У) ^ true, fkpc (ti) ^ false,
fwork (ti) ^ fst (ti) ^ true , fuusa (1і , У,v) ^ false,
fuuum (ti, У, z) ^ false} v RE) v RE) v RE), где fkpc(t) - каузальный предикат.
З. Промежуточный этап построения сети абстрактных машин для децентрализованной системы хранения данных
При описании сети абстрактных машин в разд. 2 использовались предметные переменные t, v, y, z, пробегающие по множествам T = {t1, t2, ..., tn},
V = {vi, V2, ..., Vq}, Y ={У1, У2, ..., Уm} и Z = {zi, Z2, ..., Zp} соответственно. Для перехода к сетевой архитектуре многофункциональной системы ВЗУ на промежуточном этапе заменим в указанной сети вхождения предметных переменных v, У и z на переменную t, а затем удалим все тернарные предикаты. В выражении для каждого i-го модуля будем использовать соответственно единственное значение ti предметной переменной t, что будет соответствовать тому факту, что каждому модулю дисковой памяти Д^') будут соответствовать устройства УМ(/), МКП(0, УУКП(0, УУОИ(0, УУМПБДО), МПБД(1), УУ(0, CA(i), представленные на рис. 1. При этом коммутаторы 2, 3, 4 и 5 утрачивают свое значение и могут быть заменены непосредственными связями соответствующих устройств с одинаковыми значениями индекса i. Данное преобразование абстрактной сети СеАМ, построенной в разд. 2, в новую сеть не будет эквивалентным, так как здесь мы намеренно отказываемся от коммутации типа «каждый - с каждым» и используем ограниченные топологически децентрализованной сетевой архитектурой связи. Новая сеть абстрактных машин будет содержать одноименные предыдущей сети модули, описываемые следующими выражениями:
mzapkp _ begin
= [fk (cj )]([ fwork (ti) & (foper (ti) = w) & fst (ti )]
([ fsa (ti)]([ fuu (ti)]([ fuuoi (ti)]([ fuukp (ti)]([ fmkp (4)]
({fk (cj) ^ false, fst (ti) ^ false, fsa (ti) ^ false, fuu (ti) ^ false, fuuoi (ti) ^ false, fuukp (ti) ^ false, fmkp (ti) ^ false, fzapkp (ti) ^ true} V
v RE) v RE) v RE) v RE) v RE) v RE) v RE);
mZlpkp _ end = [ fzapkp (ti Wxh (cj ) ^ true, fsa (ti) ^ true,
fuu (ti) ^ true, fuuoi (ti) ^ true, fuukp (ti) ^ true,
fmkp (ti) ^ true, fzapkp (ti) ^ false, fpoisk (ti) ^ true} V rE X
m poisk _ begin = [ fpoisk (ti)]([ fuu (ti)]([ fuuoi (ti)]([ fum (ti)]([ fd (ti)]
({fd (ti) ^ false, fpoisk (ti) ^ false,
fp (ti) ^ true} v RE) v RE) v RE) v RE) v RE);
m(poisk _ end = [ fp (ti )]({fp (ti) ^ false, fpered (ti) ^ true} V rE );
mpered begin = [ fpered (ti)]([ fuu (ti)]([ fuuoi (ti)]([ fuukp (ti)]([ fmkp (ti)]([ fum (ti)]
({fpered (ti) ^ false, fuu (ti) ^ false, fuuoi (ti) ^ false, fuukp (ti) ^ false,
fmkp (ti) ^ false, fum (ti) ^ false, fper (ti) ^ true} V rE ) V rE ) V rE ) V
VRE ) V RE ) V RE );
mplred _end = [ fper (t, )]({fper (t,) ^ fuu (t,) ^ true,
fuuoi
(ti ) ^ true, fuukp (ti) ^ true, fmkp (ti ) ^ true,
fum (li) ^ lrue, fd (li ) ^ lrue, fst (li ) ^ lrue, fwork (li) ^ false} v rE );
mmaliz _ begin = [fk (cj )]([fwork (ti )&(foper (ti) = r )& fsl (ti)]
([fsa (U )]([ fuu (U )]([ fuuoi (U )]([ fuukp (ti)]([ fmkp (U )]
( {fuu (ti) ^ false, fuuoi (ti) ^ false, fuukp (ti) ^ false, fmkp (ti) ^ false, fsl (ti) ^ false, fanaliz (ti) ^ true, fk (cj ) ^ false} v
v RE) v RE) v RE) v RE) v RE) v RE) v RE);
manaliz _ end = [fanaliz (ti)]([(З Ih Є {true, false}) fdkp (h)]
({fuu (ti) ^ true, fanaliz (ti) ^ false, fuuoi (ti) ^ true,
fuukp (ti) ^ true, fmkp (ti) ^ true, falpha (ti) ^ h, fk (cj ) ^ true,
fan (ti) ^ true} v RE) v RE);
mread _ kp _ begin _ [fan (ti)]([ falpha (ti)]([ fk (cj )]
([ fsa (ti)]([ fuuoi (ti)]([ fuukp (ti)]([ fmkp (U )]
( {fk (cj ) ^ false, fsa (ti) ^ false, fuu (ti) ^ false, fuuoi (ti) ^ false, fuukp (ti) ^ false, fmkp (ti) ^ false, fan (ti) ^ false,
fread_kp (tti) ^ true} v RE) v RE) v RE) v RE) v RE) v RE) v RE); mread _ kp _ end _ [fread _ kp (ti)]
( {fread _ kp (li) ^ false, fk (cj ) ^ true, fsa (li) ^ true, fuu (li) ^ false, fuuoi (ti) ^ false, fuukp (ti) ^ false, fmkp (ti) ^ false,
fwork (ti) ^ false, fsl (ti) ^true} v rE );
m0) b . = [ fan (tiy\°~'falpha (ti )]([fk (cj )]([fuu (ti )]([fuuoi (ti)]
ust _ begin r J
([ fum (ti)]([ fd (ti )]({fd (ti) ^ false, fusl (ti) ^ true,
fan (U) ^ false, fk (cj) ^ false} v RE) v RE) v RE) v RE) v
v RE) v RE) v RE);
miust_end = [ fusl (ti)]({fusl_gol (ti) ^ true, fusl (ti) ^ false, fk (cj) ^ true} v rE );
^ begin _ [fusl_gol(ti)]([fuu (ti)]([fum (ti)]([fuuoi (ti)]
([fuukp (ti )]([fmkp (ti )]({fuu (ti) ^ false, fuuoi (ti) ^ false, fum (ti) ^ false, fuukp (ti) ^ false, fmkp (ti) ^ false,
Just _ got (ti) ^ false, fdkp _ cop,У (ti) ^ true} V rE ) V rE ) V
v RE) v RE) v RE) v RE);
mend = [ fdkp_copy (ti )]({fuu (ti) ^ true, fuuoi (ti) ^ true, fum (ti
) ^ true, fuukp (ti) ^ true, fmkp (ti) ^ true,
fdkp _ cop/У (ti) ^ false, fdkp _ got (ti) ^ true, fd (ti) ^ true'} V R );
mkpC begin = l-^kp _got (ti )]([f (cj )]([ fuuoi (ti)]([fuukp (ti )]([fmkp (ti)]
({fk (cj ) ^ false, fsa (ti ) ^ false, fuu (ti) ^ false, fuuoi (ti) ^ false,
fuukp (ti) ^ false, fmkp (ti) ^ false, fdkp _ got (ti) ^ false,
fkpc (ti) ^ true} v RE) v RE) v RE) v RE) v RE);
^c _ end = [ fkpc (ti )]({fk (cj ) ^ true,
fuu (ti) ^ true, fuuoi (ti) ^ true, fsa (ti ) ^ true,
fuukp (ti) ^ true, fmkp (ti) ^ true, fkpc (ti) ^ false,
fwork (ti) ^ false, fst (ti) ^ true} V RE ).
4. Сеть абстрактных машин для топологически-децентрализованной (сетевой) системы хранения данных
Проведем дальнейшее преобразование сети абстрактных машин, построенной в разд. 2 и подвергшейся промежуточному преобразованию в разд. 3. В выражениях для модулей абстрактной сети, полученной в разд. 3, использованы предикаты и функции, которым соответствуют информационные объекты в виртуальном FS-пространстве. Недостатком организации данной сети СеАМ является то, что при ее реализации сетью виртуальных машин многие модули обращаются к предикатам и функциям, конкурируя между собой. Для снижения данных издержек проведем декомпозицию основных предикатов и функций, введя для новых предикатов и функций символы, снабженные верхними индексами, соответствующими индексу i каждого модуля:
mZapkp _ begin = [fk (cj )]([f£k (ti )&(fp)er (ti) = w)& fst )(ti)]([ fs(i)(ti)]
([fu(u)(ti)]([ fuli (ti)]([fu(ukp (ti)]([ fmkp (ti)]({fk (cj) ^ false,
fst) (ti) ^ false, fa (ti) ^ false, fuu (ti) ^ false, fuuoi (ti) ^ false,
fHp (ti) ^ false, fmkp (ti) ^ false, f<Spkp (ti) ^ true} V RE ) V RE ) V
v RE) v RE) v RE) v RE) v RE);
m<zc!pkp _ end = [fZallp (ti )]({fk (cj ) ^ true, fsa(ti) ^ true,
/М( ) (Ч) ^ *гие, /ЦО (^) ^ Кие, /Цр ) ^ Кие,
/ткр ({>) ^{гие, Ааркр ({>) ^ /аке, /р1к ({>) ^{гие} у яЕ);
трО.к_Ьеёгп = [/%к (<г)]([/Мк^г)]([/ЦОг (Ц)]([)]([$)]
({/]%) ^ /alse, 4^к ({г) ^ /alse,
/(г)(^) ^ ггие} V ЯЕ) V ЯЕ) V ЯЕ) V ЯЕ) V ЯЕ);
тРо,к_«** = [/?^.)](/%) ^ №е, /%*(^) ^ Ьтме} V ЯЕ);
_ ы., = [ /Р 1)егеа «.)]([/$(*)]([ /(МО. (4)]([ /Икр &)]([/ткр (ц)]([/(..(^)]
({/р,Г«*(и) ^ /alse, /((и(ч) ^ /alse, &(и) ^ /alse, /!1-икР (и) ^ /alse,
/ткр ('.-) ^ №е, /$&) ^ /alse, /РЦ (^..) ^ Ьтие} V ЯЕ) V ЯЕ) V ЯЕ) V
V ЯЕ) V ЯЕ) V ЯЕ);
тре1е^_е«^ = [/{рег (Ч )]({/рег (Ч) ^ /alse, /Ми)(ьг) ^Ьгие,
Л(иО.'(^) ^ЛмАр ({1) ^^ /^кр ({1) ^^
/Мя (ь) ^ *тме, /^) (Ь.-) ^ Ьтие, /() (Г.) ^ Кие,
/1Ок «г) ^ ме V яЕ );
т^, _ Ьеёт = [/к С)]([ 4О-к (Ь.) & (/О%г (Ч) = т )& /^)]
([/2!,')(Ь.- )]([/М^)]([/(г ('.-)]([/(р (<г)]([/Икр «г )]
({/Мк (Ч) ^ /alse, АшОг (Ч) ^ /alse, Ашкр ((г) ^ /alse, /ткр ((г) ^ /alse,
/£ \*г) ^ /alse, АНаИ* ((г ) ^ true, /к (с] ) ^ V яЕ ) V яЕ ) V
V ЯЕ) V ЯЕ) V ЯЕ) V ЯЕ) V ЯЕ);
_е„^ = [/^(Ь. )]([(5!Л 6 /al.se})/^^(Л)]
({/„и> (Ьг) ^ true, /analiz (Ьг) ^ /alse, /(Мо1 (Ч ) ^ true,
/Микр (ьг) ^Ьтие, /{ткр (ьг) ^Ьтие, /фи, (ьг) ^ Л,
/к (С]) ^ Ьтие, /ОПП $) ^ Ьтие} V ЯЕ) V ЯЕ);
т(ггаа_кр_Ье&п = [/(^)(Ьг )]([/а(и!иа (Ь.)]([/к (с] )]
([ /^(ь-)]([ /((о. (ь.)]([ /Мм „кр (ь.)]([ /ткр (Ч )]
({/к (с і) ^ Мы, Аа)(Ь) ^ №&, ((к) ^ /аЬе, (оі(Ч) ^ ІаЬе’
(кр ((і) ^ /alse, /ткр ((і) ^ /alse, ( (к ) ^ /alse,
(а _кР ((і) ^ (гие} V ЯЕ) V ЯЕ) V ЯЕ) V Xе ) V *Е) V ЯЕ) V Xе );
т2а _ кр _ епа = [ /£, а _ кр (^' )]({/2а _ кр (^') ^ /аі!іе,
/к (сі ) ^ true, /(Іа) (Ч ) ^ /(^) (Ч ) ^ /alse,
(оі (*і) ^ /alse, (кр (Ь) ^ /alse, /ткр ^і) ^ /alse,
(л (^) ^ /alse, АР^і) ^ ^е}V яЕ);
т(г) ъ . = [/ІП^і)]([ з/с(1іРла (ti)]([/к (Сі)]([/і^і)]([/(1 (и)]
ust _Ье%т Міутл J
([(їі)]([/а\ч)]({/]%) ^ /аЬе, (}(!і) ^ *ие,
/ОП,(/і) ^ Ме /к (Сі) ^ ме V ЯЕ) V ЯЕ) V ЯЕ) V Xе ) V V ЯЕ) V ЯЕ) V Xе );
т(г) . = [/2в)]({/и^ ^(ti)^true,((і)^/alse,/к (сі)^true}VяЕ);
и^ _ епа
такр_Ъеёт = [(_#А^і)]([/и(и)(^')]([Уи(т)(^)]([(оі (ti)]
([ /((кр (п)]([/% (и жиііїь) ^ а*е, /иии^ ^ ^
/ит ) ^ (кр (tг■) ^/alse, (р ) ^/alse,
(_#А ^і) ^ /alse, (_сору (ti) ^ ^е} V хЕ ) V хЕ ) V
V Xе ) V ЯЕ) V ЯЕ) V Xе );
т(кр _ епа = [/акр _ сору(Ь )](^-/u(г()(ti) ^ *ие, .( ^ (ti) ^ true,
( (ti) ^true, /Щр (Ч) ^true, /{ткр (ti) ^true, /акр _ сору ^і) ^ /alse,
/акр_яо?(и) ^true, /а)(^-) ^true} VяЕ);
ткрс_ьеяіп = [/акр_яоГ (ti)]([/к (сі)]([(ог(^)]([(кр (ti )]([/ткр(^)]
({/к (с і) ^ /alse, /£«і) ^ /alse, і) ^ /alse, (і (ti) ^ /alse,
(кр (^ ) ^ /аЬе, (р (ti) ^ /аЬе, (р _ яоГ (ti) ^ М™,
/крс (ti) ^ ^ие} V ЯЕ) V ЯЕ) V ЯЕ) V ЯЕ) V ЯЕ);
^ епй = І/кІЇС (ti)]({/к (сі ) ^true, ((ti) ^true,
fuuoi (ti) ^ true, ftt (ti ) ^ true, (ip (ti) ^ true,
4p (ti) ^true, zgs (ti) ^ false, fWlrk (ti) ^ false,
fs(P(ti) ^ true} v RE).
Преобразования сетей абстрактных машин, проведенные в разд. 3 и 4, не являются эквивалентными, так как при переходе от централизованной к сетевой децентрализованной архитектуре многофункциональной системы ВЗУ целенаправленно упрощены связи между устройствами.
Полученная система выражений для модулей сети СеАМ соответствует сетевой архитектуре, представленной на рис. 2. Сеть хранения и обработки данных построена на основе коммутатора сети МФВЗУ (многофункциональных внешних запоминающих устройств). Выражения для модулей СеАМ позволяют не только построить имитационную поведенческую модель данной сети, но и могут быть положены в основу построения программного и микропрограммного обеспечения сети ВЗУ.
Заключение
1. Обоснована необходимость разработки новых методов и средств поддержки функционально-структурной и функционально-топологической декомпозиции архитектурных моделей систем и сетей хранения и обработки данных. Данные модели и методы должны соответствовать современной технологической инфраструктуре параллельных и распределенных баз данных, кластерных и мультипроцессорных систем, сетевых соединений, интеллектуальных контроллеров и накопителей информации. Показано, что сети абстрактных машин и сценарные представления, формализуемые логико-алгебраическими моделями, удобны для описания и реализации декомпозиционно-композиционных методов проектирования систем и сетей хранения и обработки данных.
2. Разработаны новые формальные модели организации функционирования распределенного ресурса - многофункциональной системы внешней памяти, подключаемой к вычислительной сети. В отличие от известных, в данных моделях эффективно реализуются взаимодействия компонент, что позволяет разработчику модифицировать сложные модели, получая новые качественные результаты. Рассмотрены подобные трансформации формальных моделей, позволившие перейти от централизованной архитектуры систем хранения и обработки данных к децентрализованной (сетевой).
3. Предложены принципы построения систем управления применительно к объектам, функционирование которых представимо в классе сетей абстрактных машин. На основе логико-алгебраического подхода, формальных и неформальных моделей и методов искусственного интеллекта, теории иерархически структурированных абстрактных машин и сценарных представлений предложена методология построения виртуализированных систем и сетей внешнего хранения и обработки данных, узлы которых сочетают функции виртуализации с функциями обработки структурированных данных.
4. Реализация предлагаемых принципов позволяет создавать новые архитектуры систем и сетей хранения и обработки данных и соответствующее программное обеспечение на основе подходов, существенно отличных от фон-неймановских [6] и определенных парадигмой согласования процессов и
объектов, которая в большой степени соответствует принципам решения задач в основном невычислительного характера: информационного поиска, обработки структурированных данных, управления данными и знаниями в экспертных системах.
Рис. 2. Результирующая сеть многофункциональных ВЗУ Список литературы
1. Фарли, М. Сети хранения данных / М. Фарли. - М. : Лори, 2003. - 550 с.
2. Наик, Д. Системы хранения данных в Windows / Д. Наик. - М. : Вильямс, 2005. - 432 с.
3. Зинкин, С. А. Сетевая Р8-архитектура машин баз данных и исполняемые формальные спецификации / С. А. Зинкин // Вестник Пермского государственного университета. Серия «Математика. Механика. Информатика». - 2008. - № 4 (20). -С. 169-181.
4. Зинкин, С. А. Сети абстрактных машин высших порядков в проектировании систем и сетей хранения и обработки данных (базовый формализм и его расширения) / С. А. Зинкин // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2007. - № 3. - С. 13-22.
5. Зинкин, С. А. Сети абстрактных машин высших порядков в проектировании систем и сетей хранения и обработки данных (механизмы интерпретации и варианты использования) / С. А. Зинкин // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2007. - № 4. - С. 37-51.
6. Волчихин, В. И. Развитие нефоннеймановских концепций в компьютерной и сетевой архитектуре / В. И. Волчихин, С. А. Зинкин // Новые информационные технологии и системы : труды IX Международной научно-технической конференции. - Пенза, 2010. - Ч. 2. - С. 48-63.
Волчихин Владимир Иванович доктор технических наук, профессор, ректор Пензенского государственного университета
E-mail: rectorat@pnzgu.ru
Зинкин Сергей Александрович доктор технических наук, профессор, кафедра вычислительной техники, Пензенский государственный университет
E-mail: zsa49@yandex.ru
Volchikhin Vladimir Ivanovich Doctor of engineering sciences, professor, rector of Penza State University
Zinkin Sergey Alexandrovich Doctor of engineering sciences, professor, sub-department of computer engineering, Penza State University
УДК 681.324 Волчихин, В. И.
Абстрактное и структурное моделирование сетей хранения и обработки данных / В. И. Волчихин, С. А. Зинкин // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2011. - № 4 (20). -
С. 3-18.