004.272.26
Захаров В.Н.1, Мунерман В.И.2
Федеральный исследовательский центр Информатика и управление, г. Москва, Россия 2Смоленский государственньш университет (СмолГУ), г. Смоленск, Россия
АЛГЕБРАИЧЕСКИЙ ПОДХОД К ФОРМАЛИЗАЦИИ ПАРАЛЛЕЛИЗМА ДАННЫХ АННОТАЦИЯ
В статье рассматривается алгебраический подход к формализации параллелизма данных. Дается строгое определение этого понятия на основе теории алгебраических систем. Формулируется критерий параллелизма данных для конкретных типов данных. Приводится пример доказательства параллелизма данных для теоретико-множественной и реляционной моделей данных.
КЛЮЧЕВЫЕ СЛОВА
Параллелизм данных; алгебраические системы; массовая обработка данных.
Захаров В.Н.1, Мунерман В.И.2
Федеральным исследовательскии центр Информатика и управление, г. Москва, Россия 2Смоленскии государственньш университет (СмолГУ), г. Смоленск, Россия
ALGEBRAIC APPROACH TO THE FORMALIZATION OF DATA PARALLELISM
SUMMARY
Algebraic approach to the formalization of data parallelism is considered in the article. Strict definition of this concept on the basis of the theory of algebraic systems is given. Criterion data parallelism for specific types of data is formulated. Example of the proof of data parallelism for set-theoretical and relational data models is given.
КЛЮЧЕВЫЕ СЛОВА
Data parallelism; algebraic systems; mass data processing.
Параллелизм данных (или параллелизм объектов) обычно определяют как обработку по однои и тои же или почти однои и тои же программе некоторои совокупности данных, поступающих в систему одновременно. Обычно считается, что этот вид параллелизма присущ задачам, которые могут быть формализованы средствами векторнои алгебры. Такои взгляд существенно сужает круг задач, сложность которых требует для их решения использование параллельнои обработки данных.
Некоторые авторы указывают на сложность проблемы сопоставления параллельно решаемых задач (подсистем) процессорам (ядрам), которые осуществляют эту параллельную обработку. В качестве выхода предлагается решать проблему назначения элементов данных процессорам на уровне программирования на основе технологии мелкозернистого распараллеливания. Для этого в программе выделяются независимые внутренние циклы, которые могут выполняться параллельно [1].
Вместе с тем, в чисто технологических решениях рассматривается более широкое представление о параллелизме данных [2]. В этом случае предполагается, что параллелизм данных относится к сценариям, в которых одна и та же операция выполняется одновременно (то есть параллельно) для элементов в исходнои коллекции или массиве. В параллельных операциях с данными исходная коллекция секционируются таким образом, чтобы несколько потоков могли одновременно работать в разных сегментах. Это представление позволяет переити от интуитивного взгляда на параллелизм данных к строгому формальному определению.
В основу формального подхода к параллелизму данных положен аппарат алгебраических систем. Пусть обрабатываемые данные представляют собои некоторое множество A, на котором определены функции, реализующие унарные, бинарные и групповые (в том смысле, в котором этот термин используется в языке SQL) операции rai, ..., rap. Для вычисления значении функции, реализующих групповые операции, необходимо разбиение множества A на непересекающиеся подмножества. Это возможно при условии, что на множестве A определены отношения
эквивалентности р1, ..., рд, которые порождают различные разбиения множества А на непересекающиеся классы эквивалентности, тем самым превращая его в различные фактормножества А ,..., А .
р1 рq
Таким образом, задание на множестве А операции Ю1, ..., Юр и предикатов, задающих отношения эквивалентности р1, ..., рд, определяет алгебраическую систему
А=< А; Ю1, ..., Юр; р1, ..., рд >.
В общем случае, если какая-то функция ю отображает множество А в другое множество, то это будет двухосновная или, в общем случае, многоосновная алгебраическая система.
Важное качество алгебраических систем состоит в возможности задания отображения однои алгебраическои системы в другую [3]. Если заданы две алгебраические системы А1=< А1; Ю11, ..., Ю1р; ри, ..., р1д > и А2=< А; Ю21, ..., Ю2р; р21, ..., р2д >, то отображением ф А1 в А2 называется отображение основного множества А1 системы А1 в основное множество А2 системы А2. Если отображение ф взаимно однозначно и сохраняет операции и предикаты, то есть
Ю1/(а1, ..., 01™) ф=Ю2/(а1ф, ..., 01™ф) и рк(01, ..., 01™) ф»р2/(01ф, ..., 01™ф), то ф называется изоморфизмом А1 в А2. Если же отображение основного множества А1 системы А1 в основное множество А2 системы А2 однозначное и/или рк(01, ..., 01™) ф^р2/(01ф, ..., 01™ф), то ф называется гомоморфизмом.
В интуитивном подходе утверждается, что параллелизм данных присущ, например, массивам. Но фактически, он связан не только с множеством массивов, но и с операциями, которые выполняются над этими массивами. Поэтому можно выделить класс алгебраических систем, которым исторически, с момента их создания присущ параллелизм данных. Одна из таких алгебраических систем - алгебра матриц. Деиствительно, когда речь идет об операции сложения матриц, предполагается, что все пары соответствующих друг другу элементов складываются одновременно, а при умножении - все строки однои матрицы одновременно умножаются на столбец другои.
Теорема 1. Если алгебраическая система А1 обладает параллелизмом данных, то любая изоморфная или гомоморфная еи алгебраическая система А2 также обладает параллелизмом данных.
Деиствительно, если алгебраическая система А1 изоморфна или гомоморфна алгебраическои системе А2, то из теоремы о гомоморфизме [3, стр. 63] следует, что, во-первых, сохраняется отношение эквивалентности, и, во-вторых, каждому классу эквивалентности фактормножества основного множества А1 по отношению эквивалентности ри соответствует единственныи класс эквивалентности фактор-множества основного множества А2 по отношению эквивалентности р2/. Поскольку также сохраняются и операции, то из наличия параллелизма данных в алгебраическои системе А1 следует наличие параллелизма данных в алгебраическои системе А2.
Это утверждение констатирует существование параллельных алгоритмов для операции алгебраическои системы А2.
Далее в качестве примера рассматривается доказательство существования параллелизма данных для двух моделеи данных (алгебраических систем): теоретико-множественнои [4] и реляционнои. В качестве алгебраическои системы, которои естественно присущ параллелизм данных, используется алгебра логических многомерных матриц (ЛММ). Это объясняется тем, что рассматривается гомоморфное соответствие алгебраических систем структур данных: таблиц, фаилов, многомерных матриц, а не типов их элементов. Такое упрощение не ограничивает общность, так как при выполнении операции важно знать образуется ли в фаиле (отношении) результате запись (строка) с заданным набором значении ключевых полеи, а значения остальных полеи не представляют интереса. Гомоморфизм алгебраических систем будет доказываться для трех операции, соответствующих свертке, сложению и умножению ЛММ.
Многомерная матрица А = а. . называется логическои многомернои матрицеи, если ее
элементы принадлежат множеству {0, 1} и над ними определены аддитивная операция дизъюнкции и мультипликативная операция конъюнкции. 1. Пусть дано разбиение совокупности индексов матрицы А = \а. . на совокупности /=(/1,...,/*) и
1 ■ ■
с=(с1,..., с^, к+ц= р. Матрица цА = ||а;||, элементы которой связаны с элементами матрицы А = ||а1с|| соотношением Ъ =V а, , называется ^-свернутой матрицей и обозначается В = ЦА. Индексы
' (С) 1с
разбиения /=(/1,...Л) называются свободными индексами, а индексы разбиения с=(с1,..., с^) -кэлиевыми индексами;
2.Сложение: если С=А+В, то с = а V Ь ;
ч..лр ч..лр ч..лр
, р и ^-мерные соответственно. Совокупности
З.Пусть матрицы A =
A = a, i и B =
'i ...'p 'l-'q
индексов этих матриц i1,..., ip и i1,..., iq разбиваются на четыре группы, содержащие соответственно к, X, ц и v индексов (к, X, ц, v> 0). Причем к+Х+ц=р, а X+|a+v=q. Для полученных групп индексов используются обозначения: l = (l1,...,lK), s = ) , С = (е1,...,Сц) и
m = (m1,...,mv). Тогда матрицы A и Вможно представить в виде в виде A = ||йЬс|| и B = ||bsem||.
Индексы групп s и c в матрицах A и В полностью совпадают. Так же как в операции свертки, индексы разбиения c называются кэлиевыми. Индексы разбиения s называются скоттовыми, а индексы
разбиения m, также как и индексы разбиения l, - свободными. Матрица C = ||elsm ||, элементы которой вычисляются по формуле clsm = V alse л b ., называется (X, ц)-свернутым
sm ( c ) se san
произведением матриц A и В.
Пусть X множество однотипных записеи. K = {K1,..., Km },(m < p) - конечное множество
полеи записи R, на множествах значении которых заданы отношения порядка. Множество K называется множеством ключей, а его элементы ключами.
Кортеж K * = {Kl*,..., K*m}, элементы которого значения соответствующих ключеи,
называется экземпляром множества ключеи (K* называется экземпляром ключа).
Две однотипные записи называются эквивалентными, если они содержат одинаковые экземпляры множества ключеи.
Задание множества ключеи K разбивает множество однотипных записеи X на классы эквивалентности, содержащие записи с одинаковыми значениями ключеи - эквивалентные записи. Совокупность всех классов эквивалентности по отношению, заданному множеством ключеи, образует фактор-множество множества однотипных записеи X . Такое фактор-множество
обозначается Xk, составляющие его классы эквивалентности - X ,, или X * X * .... Если
K K(1) ' K(2)
некоторому экземпляру множества ключеи во множестве X не соответствует ни однои записи, считается, что ему соответствует универсальная неопределенная запись ©. Класс эквивалентности, соответствующии экземпляру множества ключеи K и состоящии из единственнои записи ©, будет обозначаться © ,
K
Фаилом Xk называется фактор-множество множества однотипных записеи X по отношению эквивалентности порожденному множеством K. При таком подходе фаил не может быть неупорядоченным. Если каждьш класс эквивалентности фаила Xk содержит единственную запись, то фаил Xk называется строго упорядоченным, если же в каждом классе эквивалентности может быть более однои записи - нестрого упорядоченным. Далее рассматриваются три операции над фаилами.
1. Сжатие (quant). Пусть даны файлы Xk, нестрого упорядоченный по множеству ключей K, и Yk, строго упорядоченный по множеству ключей K. Классы эквивалентности этих файлов связаны соотношением Y * = f (X * ), где f - функция, реализующая групповую операцию (операцию
KK
квантификации). Тогда считается, что файл Yk получен из файла Xk в результате применения операции сжатия;
2. Слияние строго упорядоченных файлов (ms). Пусть даны два файла Xk и Yk строго упорядоченные по одному и тому же множеству ключей K. В результате слияния этих строго упорядоченных файлов образуется файл Zk, классы эквивалентности задаются соотношением Z * = f (X *,Y *). Функция f (X *,Y *), определенная на классах эквивалентности исходных
K K K "KK
файлов, задает характер операции. В качестве примера задания функция f рассматриваются теоретико-множественные операции над файлами:
объединение: f ( Г . 7 *) = Й*, еСЛи ^* 0к*,
J у к ' к ' 1X ., в противном случае;
пересечение: / (Х , 7 ,) = 7 *, если Хк * * 0 к * и 7к * * 0 к *,, у к ' к ' 10 ,, в противном случае;
^•/тл тл \ ., если X , * 7 ,, разность: /(X , 7 ,) = („к к к >
к ' к ' 1©,, в противном случае.
3. Слияние нестрого упорядоченных файлов (тт). Пусть Хь и Ум - файлы, упорядоченные (возможно строго) по множествам ключей Ь и М, причем выполняется условие ЬпМ*0, и пусть К -множество ключей, связанное с множествами Ь и М соотношениями: К с Ьи М, ЬпК*0 и МпК*0. Это означает, что множество ключей К состоит из ключей, входящих в множества Ь и М, причем в К содержится, по крайней мере, по одному ключу из каждого множества. Тогда, по крайней мере, один файл Хкс,ь или УксМ нестрого упорядочен по множеству ключей. Если М £ Ь и Ь £ М, то файлы ХксЬ и УксМ нестрого упорядочены. Слияние файлов производится по множеству ключей К. Пусть К* -фиксированный экземпляр множества ключей К, а (КсЬ)* и (КсМ)* - такие фиксированные экземпляры множеств ключей (КсЬ) и (КсМ), что значения одноименных ключей в них совпадают. Тогда можно задать вычисление класса эквивалентности файла Zк по следующему правилу:
г = ( ®к* , если Х(ксЬ)* = 0(кс^ , ИЛИ 7(ксм)* = 0(ксм)* ,
к* 1 /(Х( кг^,7(к см ).),впротивномслучае.
Функция /(X ,,7 ,) определена на классах эквивалентности X , и 7 ,, а
3 м 7 V (ксЬ) (кпм )* ' ^ м (ксЬ)" (к см )* '
ее значение - класс эквивалентности 7 ,, состоящии из элементов, каждыи из которых
к
вычисляется из пары элементов, принадлежащеи декартову произведению X -,* х 7 л* • Если
(к сЬ~) (к см)
функция /(X *) реализует групповую операцию, то операция слияния нестрого
упорядоченных фаилов включает в себя и операцию сжатия фаила Zк, в результате которои
получается фаил Zк (множество ключеи К есть подмножество множества ключеи К, то есть К'сК).
Теорема 2. Каждому строго упорядоченному фаилу соответствует единственная ЛММ. Пусть Хк - фаил, строго упорядоченньш по множеству ключеи к = {к1,..., кр}. Поскольку
множества значении ключеи конечные, то можно пронумеровать все значения каждого ключа, и те самым поставить в соответствие каждому ключу Ка индекс ia = (1, ..., па). Тогда каждому экземпляру множества ключеи к = {Х1,..., к } соответствует один и только один набор значении индексов
(/'1°,..., /'р ). Это означает, что между совокупностью всех экземпляров множества ключеи К фаила Хк
и совокупностью всех наборов значении индексов (/1, ..., ip) установлено взаимно однозначное соответствие. Пусть экземпляру множества ключеи к * = {к,,..., кр } соответствует набор значении
индексов (/'0,..., ¡р). Тогда классу эквивалентности Xк, можно поставить в соответствие элемент
ЛММ X = |X , ||, значение которого определяется по формуле:
0, если X * =0,
X — ^ к
0 .0 ¡1 .../
1, если X,,* * 0.
'1"'р Ц, л к *
Так как фаил Хк строго упорядочен, каждыи его класс эквивалентности содержит либо единственную определенную запись, либо универсальную неопределенную запись. Следовательно,
при таком методе построения ЛММ каждому строго упорядоченному фаилу соответствует единственная ЛММ. Однако, возможна ситуация, при которои нескольким различным фаилам, содержащим данные из различных предметных областеи, будет соответствовать одна и та же ЛММ. То есть построенное отображение множества строго упорядоченных фаилов на множество ЛММ -однозначное.
Далее рассматривается соответствие операции.
Лемма 1. Пусть Хк - фаил, строго упорядоченныи по множеству ключеи к = {Кл,..., Кр}, А = а . || - соответствующая ему ЛММ (ф(ХК) = А), М = {Кл,..., Кт },(т < р) - подмножество множества ключеи М, по которому фаил ХМ нестрого упорядочен. Тогда фаилу YM = диаШ(ХМ ) соответствует единственная свертка ЛММ А, то есть ф^иаШ( ХМ ))=^А.
В соответствии с определением операции сжатия классы эквивалентности строго упорядоченного фаила quant(ХМ) получаются по формуле ^* = f (Хм*), где /(Хм,) - функция,
реализующая групповую операцию на каждом классе эквивалентности, соответствующем экземпляру множества ключеи М*. То есть, совокупность записеи фаила Хк, в которых ключи К1,..., Кт имеют одни и те же значения, преобразуется в единственную запись фаила Yм. Каждои
записи из этои совокупности соответствует элемент ЛММ А а * * 0 0 = 1. Тогда а * * = V а, , = 1. Следовательно, р(4иап^ХМ ))=МА.
^ т+1''"' р
Лр)
л ...г г Л..л л т т+1 р
Лемма 2. Пусть Хк и Yк - фаилы, строго упорядоченные по множеству ключеи К = {Кл,.., Кр}, А = ||а. л || и В = Ь л || - соответствующие им ЛММ (ф(ХК ) = А и ф(YK ) = В) .
Тогда результату операции слияния строго упорядоченных фаилов Хк и Yк соответствует единственная ЛММ С = ||сл л || такая, что С=А+В.
В зависимости от решаемои задачи, для формирования классов эквивалентности (записеи) фаила - результата слияния строго упорядоченных фаилов Хк и Yк строятся функции, порождающие либо класс эквивалентности, содержащии либо реальную, либо универсальную неопределенную запись. Аналогично, в качестве аддитивнои операции над элементами ЛММ А и В выбирается одна из шестнадцати логических операции, которая формирует элемент ЛММ результата на основе класса эквивалентности фаила-результата и по правилам формирования ЛММ - образа фаила при отображении ф. Таким образом, фаилу-результату операции слияния строго упорядоченных фаилов Хк и Yк соответствует единственная ЛММ, равная сумме ЛММ А и В с аддитивнои операциеи 0 над элементами матриц. То есть, р(ms(ХК, УК)) = А В . Знак операции +(0) читается как операция
сложения ЛММ с аддитивнои операциеи о над их элементами.
Лемма 3. Пусть Хь и Yм - фаилы, нестрого упорядоченные по множествам ключеи L = {Ь1,.., Lp}, и М = {М1,..., М?} причем выполняется условие Ь п М Ф0, и пусть
К = {К1,..., Кг },(г < р + 4) - множество ключеи, связанное с множествами Ь и М соотношениями: к с ЬиМ, ИпЬ^0, кпМ Ф0 (фаилы Хкпь и Yкпм нестрого упорядочены по своим множествам ключеи). А = ||а. ^ ^ ^ л || и В = Ь л || - соответствующие фаилам Хкпь и Yкпм ЛММ (р(ХК) = А и р(УКгМ) = В).
Тогда фаилу Zк - результату операции слияния нестрого упорядоченных по множеству ключеи к фаилов Хк и Yк, соответствует единственная многомерная матрица С = ||сл л ||=А' А х В).
В соответствии с определением операции слияния нестрого упорядоченных фаилов, множество ключеи к состоит из трех подмножеств:
1. Ь' - ключи, принадлежащие только множеству ключей Ь;
2. М ' - ключи, принадлежащие только множеству ключей М;
3. Т - ключи, принадлежащие обоим множествам ключей Ь и М.
При построении операции 2,0(Л х В) можно считать, что ключам подмножеств Ь' и М' соответствуют свободные индексы ЛММ А и В (индексы разбиении 1 и т), а ключам подмножества
Т - скоттовы индексы ЛММ А и В (индексы разбиения s). Класс эквивалентности 7 , * 0 , только
к к
в том случае, когда соответствующие ему классы эквивалентности X * * 0 * и
(Ь'^Т) (Ь'^Т)
7(м'иг)* * 0(м'иг)*. Тогда элементы ЛММ А и В, соответствующие этим классам эквивалентности
имеют значение 1. А значит, результат конъюнкции этих элементов также будет иметь значение 1.
То есть соответствующии этому элементу класс эквивалентности 7 . * 0 .. Если функция
кк
/(X ¿)*,7(£ м)*) реализует групповую операцию, то операция слияния нестрого упорядоченных
фаилов включает в себя и операцию сжатия фаила Zк, в результате которои получается фаил Zк (множество ключеи К есть подмножество множества ключеи К, то есть К'сК). В этом случае, части ключеи подмножества Т соответствуют кэлиевы индексы ЛММ А и В (индексы разбиения с), и операции слияния нестрого упорядоченных фаилов Хь и Ум соответствует операция (2, /)-свернутого произведения соответствующих им матриц. То есть, (р(ш^(XксЬ, 7ксм ))=2, и (Л х В). В таблице 1 приведено соответствие операции над фаилами операциям над ЛММ.
Таблица 1. Соответствие алгебраических операций в теоретико_множественной и многомерно-матричной моделях данных
Теоретико-множественная модель (алгебра фаилов) Многомерно-матричная модель (алгебра многомерных матриц) Тип операции
сжатие свертка унарная
слияние строго упорядоченных фаилов сложение бинарная
слияние нестрого упорядоченных фаилов (2, и)-свернутое произведение бинарная
Таким образом, верно утверждение о том, что множества операции фаиловои и многомерно матричнои моделеи данных находятся во взаимно однозначном соответствии.
Теорема 3. Файловая алгебраическая система гомоморфна алгебре ЛММ и также обладает параллелизмом данных.
Эта теорема есть непосредственное следствие теорем 1, 2 и лемм 1-3.
При рассмотрении моделеи данных уровня проектирования баз данных, выбор был сделан в пользу SQL реляционнои модели, поскольку присущии еи язык манипулирования данными -непроцедурньш язык SQL ориентирован на операции с данными, представленными в виде логически взаимосвязанных совокупностеи таблиц. То есть предложения этого языка ориентированы в большеи степени на конечный результат обработки данных, чем на процедуру этои обработки. Таким образом, их суть в наибольшеи степени соответствуют сути алгебраических выражении в алгебрах фаилов и многомерных матриц. Кроме того, набор операции SQL реляционнои модели достаточно полон для решения задач во многих предметных областях. Остальные современные модели данных, либо имеют не такие полные наборы операции, что приводит к необходимости разработки процедур, реализующих недостающие операции, либо, как объектно-ориентированные модели, наборы операции, дополненные средствами разработки пользовательских АТД.
Выбор SQL реляционнои модели обусловлен также тем, что промежуточные фаиловая и многомерно-матричная модели имеют технологическую направленность. Без этои направленности трудно решить проблемы, связанные с распараллеливанием запросов в целом и составляющих эти запросы операции. Одно из требовании к данным в этих двух моделях состоит в возможности их упорядочивания по ключам (индексам многомерных матриц). В отличие от классическои реляционнои модели SQL реляционная модель допускает возможность упорядочивания данных благодаря наличию в операторе SELECT команды ORDER BY. Хотя при записи выражения запроса упорядоченность входных данных не требуется и не учитывается, в силу непроцедурности языка SQL, в технологических целях, можно считать, что операция сортировки в реляционнои модели SQL определена. Несмотря на то, что это предположение ослабляет модель, главное ее своиство - ориентированность на конечныи результат сохраняется. А в промежуточных моделях, которые являются абстрактными алгебраическими машинами и в которых операции над структурои отделены от операции над ее элементами, это своиство усиливается. Сделанное допущение позволит упростить доказательство соответствия моделеи данных.
SQL реляционная модель рассматривается, в предположении, что все таблицы (отношения),
находятся в третьей нормальной форме. Считается, что третья нормальная форма схем отношений достаточна в большинстве случаев, и приведением к третьей нормальной форме процесс проектирования реляционной базы данных обычно заканчивается. Таблица в третьей нормальной форме, как и строго упорядоченный файл, для каждого определенного значения ключа содержит единственную однозначно определенную строку, неключевые атрибуты которой никаким образом не могут быть определены посредством других атрибутов этой таблицы. Следовательно, можно утверждать, что каждой таблице, находящейся в третьей нормальной форме, соответствует (с точностью до порядка следования записей) единственный строго упорядоченный файл.
Под операциями в SQL реляционной модели будут пониматься запросы, схемы которых представлены в первом столбце таблицы 2. Определения операций над таблицами в реляционной модели SQL аналогичны определениям операций в теоретико-множественной модели. Поэтому можно не прибегая к сложным формальным доказательствам считать установленным следующий факт. Если для соответствующих друг другу операций SQL реляционной модели и алгебры файлов выбраны соответствующие друг другу таблицы и файлы операнды, то и результаты этих операций также будут соответствовать друг другу. Например, теоретико-множественным операциям над строго упорядоченными файлами соответствуют следующие запросы:
объединение: SELECT R.A1, ..., R.An FROM R UNION SELECT S.A1, ..., S.An FROM S; пересечение: SELECT R.A1, ..., R.An FROM R, S WHERE R.Ai=S.Ai AND ... AND R.An=S.An; разность:
SELECT R.A 1, ..., R.An FROM R WHERE NOT EXIST
(SELECT S.A 1,..., S.An FROM S WHERE R.Ai=S.Ai AND ... AND R.An=S.An).
Тогда соответствие операции реляционнои модели SQL и теоретико-множественнои модели может быть установлено так, как это показано в таблице 2.
Таблица 2.3. Соответствие алгебраических операций в реляционной _SQL и теоретико-множественной моделях данных
Реляционная модель SQL Теоретико-множественная модель (алгебра фаилов) Тип операции
SELECT ... GROUP BY сжатие унарная
Теоретико-множественные операции слияние строго упорядоченных фаилов бинарная
SELECT ... FROM JOIN(.) слияние нестрого упорядоченных фаилов бинарная
Таким образом, верно утверждение о том, что множества операции SQL реляционной модели, фаиловои и многомерно-матричнои моделеи данных находятся во взаимно-однозначном соответствии.
При таком построении моделеи, с учетом соответствия операции, можно считать, что между SQL реляционнои моделью и теоретико-множественнои моделью можно установить даже изоморфное соответствие. Из этого следует и гомоморфизм алгебры многомерных матриц и SQL реляционнои модели. Таким образом SQL реляционная модель, рассматриваемая как алгебраическая система также обладает параллелизмом данных и, следовательно, существуют параллельные алгоритмы реализации ее операции. Примеры таких алгоритмов приведены в [5].
Из сказанного следует, что метод, основанньш на построении алгебраических систем, формализующих решение задач в предметных областях, позволяет применять строгие методы для определения возможности повышения производительности вычислительных средств за счет использования параллелизма данных.
Литература
1. Boyd C. Data-parallel computing. - ACM QUEUE AC March/April 2008 www.acmqueue.com. - p. 32-39.
2. Data Parallelism (Task Parallel Library). - https://msdn.microsoft.com/ru-ru/library/ dd537608(v=vs.110).aspx.
3. Мальцев А.И. Алгебраические системы. - М.: "Наука", 1970 г. - 392 с.
4. Мунерман В.И. Построение архитектур программно-аппаратных комплексов для повышения эффективности массовой обработки данных. - Системы высокой доступности. 2014. Т. 10. № 4. - с. 3-16.
5. Мунерман В.И. Опыт массовой обработки данных в облачных системах (на примере WINDOWS AZURE). -Системы высокой доступности. 2014. Т. 10. № 2. С. 8-13.
References
1. Boyd C. Data-parallel computing. - ACM QUEUE AC March/April 2008 www.acmqueue.com. - p. 32-39.
2. Data Parallelism (Task Parallel Library). - https://msdn.microsoft.com/ru-ru/library/ dd537608(v=vs.110).aspx.
3. Мальцев А.И. Алгебраические системы. - М.: "Наука", 1970 г. - 392 с.
4. Мунерман В.И. Построение архитектур программно-аппаратных комплексов для повышения эффективности массовой обработки данных. - Системы высокой доступности. 2014. Т. 10. № 4. - с. 3-16.
5. Мунерман В.И. Опыт массовой обработки данных в облачных системах (на примере WINDOWS AZURE). -Системы высокой доступности. 2014. Т. 10. № 2. С. 8-13.
Поступила: 10.10.2016
Об авторах
Захаров В.Н., ученый секретарь Федерального исследовательского центра "Информатика и управление" РАН, доктор технических наук, [email protected];
Мунерман Виктор Иосифович, доцент кафедры информатики Смоленского государственного университета, кандидат технических наук, [email protected].