Научная статья на тему 'Использование локализации и переполнения для управления параллельными и распределёнными вычислениями'

Использование локализации и переполнения для управления параллельными и распределёнными вычислениями Текст научной статьи по специальности «Математика»

CC BY
85
19
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
DISTRIBUTED COMPUTING / LAYERED DATA / LOCALITY / OVERFLOW / PARALLEL COMPUTING / ЛОКАЛЬНОСТЬ / ПЕРЕПОЛНЕНИЕ / РАССЛОЕНИЕ ВЫЧИСЛЕНИЙ / РАССЛОЕНИЕ ДАННЫХ

Аннотация научной статьи по математике, автор научной работы — Непейвода Николай Николаевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Using overflows to control parallel and distributed computations

An abstract algebraic notion of overflow is introduced and used for problems of parallel and distributed computing. Its applicability is illustrated by some examples. This work is second in the series devoted to memory-free computations and locality. (in Russian).

Текст научной работы на тему «Использование локализации и переполнения для управления параллельными и распределёнными вычислениями»

ISSN 2079-3316 ПРОГРАММНЫЕ СИСТЕМЫ: ТЕОРИЯ И ПРИЛОЖЕНИЯ №3(34), 2017, с. 87-107

УДК 519.713.8+510.644+519.718.2+517.977.1

Н. Н. Непейвода

Использование локализации и переполнения для управления параллельными и распределёнными вычислениями

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

Ключевые слова и фразы: локальность, расслоение вычислений, расслоение данных, переполнение.

Статья является продолжением серии, начатой работой [1]. Определения ограниченности, локальности, прямоточности, введённые в данной работе, используются здесь без модификации.

1. Практические и содержательные мотивировки

Ассоциативные и коммутативные операции играют важнейшую роль при распределённых вычислениях. В частности, в системах типа МарИебисе [2] они служат инструментом «горизонтального» распараллеливания вычислений, когда частичные результаты постепенно собираются на многих независимо и асинхронно работающих процессорах. В данной статье предлагается подход, дополняющий горизонтальное распараллеливание бинарной операции вертикальным, когда на процессорах обрабатываются частичные данные, а соединение в общую информационную структуру производится после конца распределенных вычислений. Это может явиться ещё одним фактором, повышающим безопасность распределённых вычислений: каждый обработчик, кроме двух доверенных в начале и в конце обработки данных, знает лишь частичную информацию об обрабатываемой структуре.

Проект проводится при финансовой поддержке РАН, проект 46П «Сверхвысокопроизводительные базы данных». © Н. Н. Непейвода, 2017

© Институт программных систем имени А. К. Айламазяна РАН, 2017 © Программные системы: теория и приложения, 2017

ЭС1: 10.25209/2079-3316-2017-8-3-87-107

Рис. 1. Пример сети прямоточных вычислений (комбинатор)

Рассматриваемый подход важен для обратимых вычислений. Как заметил Ландауэр [3], они должны быть «баллистическими», что означает: пути вычислений однозначно определены при задании исходных данных. Для физической реализации часто необходимо второе условие: отсутствие запоминания промежуточных данных, сразу же направляемых на следующий обрабатывающий узел. В этом отношении баллистические вычисления схожи с аналоговыми. Такое требование полезно и для распределённых вычислений в сверхбольших базах данных (СВБД), чтобы не было нужды неизвестно сколько хранить частичные данные.

Пример 1. Дополнительной мотивировкой данного исследования явилось то, что структура комбинатора в рис. 1, созданная для реализации частного вида прямоточных оптических вычислений, оказалась работающей и для аналоговых, и для организации распределённых вычислений. Значит, за ней стоит общее теоретическое понятие.

Пример 2. Переход к прямоточным вычислениям часто требует точного подбора преобразователей и представления данных. Показателен в этом от/ношении пример, найденный Червяковым и др. [4, глава 2.3]. Известно, что системы остаточных классов позволяют эффективно реализовывать многие операции, но некоторые, элементарные в позиционных системах, трудны. В частности, таковы операции перевода между системой остаточных классов и позиционной. Но при подходящем подборе представления и элементов для реализации (нейросеть) её можно реализовать как прямоточные

вычисления (нейронная сеть прямого распространения, в терминах школы Галушкина). В частности, показано, что для преобразования 64-разрядных чисел в систему остаточных классов по модулям

5, 7,11,13,17,19, 23, 29, 37,41,43,47, 53, 59, 61

достаточна четырёхслойная прямоточная нейронная сеть и не требуется синхронизации.

2. Алгебраическая и логическая техника

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

Структуры переполнения возникают часто и в самых разных областях. Поэтому целесообразно дать им чисто алгебраическое определение с помощью понятий, модифицирующих общие структуры из книги Мальцева [5]. Напомним, что в алгебраической системе первого порядка может быть несколько исходных множеств (примитивных типов данных), констант, предикатов и функциональных символов. В случае, если система одноосновная (с одним исходным типом данных), типы данных не указываются. Если явно не указано противное, в данной работе алгебраическая система первопорядковая и одноосновная, для всех элементов исходных типов имеются константы. У Мальцева и в других алгебраических работах рассматриваются структуры, где все операции всюду определены. В работах по информатике, наоборот, в последние десятилетия, особенно после работ Д. Скотта [6], стало принято рассматривать ошибки и частично определённые функции как типичный случай.

Алгебраизируем частичность и ошибочность, воспользовавшись заодно результатами современной многозначной логики. Определение сигнатуры оставим классическим, поэтому повторять его не будем.

Напомним, что слабая трёхзначная логика Клини задаётся добавлением к стандартным логическим значениями {истина 1, ложь Г} значения ошибка и. Любая логическая операция, один из аргументов которой есть и, даёт и. Семантику кванторов определим отдельно. Элемент «ошибка» будем обозначать как принято в информатике. Множество X и |±} обозначается Х±.

Определение 1. Пусть задана сигнатура а. Частично определённая алгебраическая система сигнатуры а — непустое множество, называемое носителем V, не содержащее и функция означивания 3 на сигнатуре а, задающая:

(а) для каждой константы с элемент € и;

(б) для каждого п-местного функционального символа / функцию

€ (и±)п ^ (и±), сохраняющую если один из аргументов то и значение функции

(в) для каждого п-местного предикатного символа Р функцию 3[Р\ € (и^)п ^ {¿г, и}, сильно сохраняющую $[Р\ (а^,. .., ап) = и тогда и только тогда, когда хотя бы один из аргументов щ = ±.

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

Лемма 1. Замкнутая пропозициональная формула, в которой значения всех термов не равны не может принимать значение и.

Доказательство. В этом случае значения всех элементарных подформул принадлежат 1}, и таблицы истинности выдают значения из того же множества. □

Введём следующее требование, не ограничивающее общности (любую частично определённую алгебраическую систему можно пополнить константами для его выполнения), позволяющее ввести удобные сокращения.

Требование 1. Любой элемент и является значением замкнутого терма сигнатуры а.

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

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

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

Пример 3. Рассмотрим множество квадратных матриц некоторой размерности над полем действительных чисел К с операциями сложения, вычитания, умножения и взятия обратной. Тогда множество невырожденных матриц можно считать множеством регулярных элементов, но, в частности, операция сложения может вывести за пределы этого множества.

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

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

Определение 3. Пусть К — квантор, Кжх,... ,хп А — замкнутая формула. Тогда её подстановочным примером называется результат подстановки замкнутых термов ... ,Ьп в А.

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

Определение 4 (Справедливость, истинность и ложность замкнутых предварённых формул на непустом X С и).

(а) Бескванторная формула истинна на X, когда она имеет значение Она справедлива, когда имеет значение £ или и.

(б) Формула Ух\, .. . ,хп А истинна на X, когда любой её подстановочный пример со значениями термов ^ € X истинен на X. Она справедлива на X, когда любой её подстановочный пример со значениями термов ^ € X справедлив на X. Она ложна на X, когда некоторый её подстановочный пример со значениями термов Ьг € X ложен на X, а остальные имеют значения из

О, f}.

(в) Формула Зх\,.. . ,хп А истинна на X, когда некоторый её подстановочный пример со значениями термов ^ € X истинен на X и ни один подстановочный пример со значениями термов ^ € X не имеет значение и. Она справедлива на X, когда некоторый её подстановочный пример со значениями термов ^ € X истинен на X, а остальные имеют значения из {^ f, и}. Она ложна на X, когда любой её подстановочный пример со значениями термов ^ € X ложен на X.

Считается, что истинные предварённые формулы имеют на X значение X., ложные — f, справедливые, но не истинные — и.

В последующем тексте данной главы все логические формулы являются предварёнными, если явно не оговорено противное. Итак, справедливость допускает ошибочные значения части примеров, а истинность требует отсутствия ошибок. Заметим, что ложные значения подстановочных примеров могут разрушить справедливость быстрее, чем ошибки. Тождественно ошибочная формула справедлива, если она является П-формулой Ух\,... ,хп А, где А бескванторная.

Лемма 2. Если формула истинна на X, то она справедлива на X.

Доказательство. Непосредственно следует из определения. □

Пример 4. Рассмотрим теорию действительных чисел с операциями а + Ь, а ■ Ь, взятием противоположного —а и обратного а-1. Множество регулярных элементов — все ненулевые, так 'что единственный элемент переполнения 0. Тогда формула Ух (х = —х ^ х ■ х-1 = 1) истинна на множестве регулярных элементов, но всего лишь справедлива на всём М. Посылка х = —х понадобилась, чтобы избежать упоминания 0 в утверждениях о регулярных элементах. Логически следующая из неё формула

Ух Зу (х = —х ^ х ■ у = 1)

истинна на множестве регулярных элементов, но даже не справедлива на всём М.

Формула Зх (х + (— х))-1 = (х + (— х))-1 не имеет истинностного .значения. Формула Ух (х + (—ж))-1 = (х + (—ж))-1 справедлива.

Лемма 3. Пусть X — регулярное множество. Замкнутая формула, в которой все термы являются переменными, константами из X либо имеют вид /(х\,.. ., хп), где х^ — переменные либо константы из X, истинна на X тогда и только тогда, когда она справедлива на нём.

Доказательство. Следствие леммы 1. □

Определение 5. Пусть выделено регулярное подмножество Ш. Будем говорить, что теория ТЬ, аксиомы которой являются предварёнными формулами (в дальнейшем просто теория), справедлива на Ш, если все её аксиомы истинны на Ш и справедливы на и.

Определение 6. Алгебраическая система с переполнением (АСП) это частично определённая алгебраическая система, в которой выделено подмножество регулярных значений Ш и задана справедливая на Ш теория ТЬ. В этом случае множество V\Ш обозначается через О и называется областью переполнений, а его элементы (полными) переполнениями.

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

Лемма 4. Если формула А справедлива на каждой АСП, на которой справедлива теория ТЬ, то она выводима в ТЬ при помощи классической логики предикатов.

Доказательство. Следствие теоремы о полноте классической логики. Если А не выводима в ТЬ, то можно построить алгебраическую систему, в которой истинны все аксиомы ТЬ и ложна А. Эта модель превращается в АСП заданием Ш = и. □

Определение 7. Формулы А(х±,... хп) и В(х\,... хп) равнозначны на X, если при каждых а^,. .., ап € X А(а^,. .. ап) и В(а^, ... ап) одновременно имеют либо не имеют значения и в случае определённости их значения совпадают.

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

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

Определение 9. Однородные кванторы — последовательность одинаковых кванторов с разными переменными. Кванторный префикс формулы является последовательностью однородных кванторов, в которой У и З чередуются. Переменная х впереди переменной у, если она находится в однородном кванторе, предшествующем однородному квантору, в котором находится у Две формулы А, В называются несущественно отличающимися, если они могут быть преобразованы друг в друга последовательностью следующих шагов: Тривиальная перестановка: обмен местами двух переменных в одном и том же однородном кванторе. Существенная перестановка: перестановка двух рядом расположенных независимых переменных из разных однородных кванторов вместе с их кванторами при условии,, что области переменных, связанных всеми последующими кванторами в кванторном префиксе, либо вложены в область одной из переставляемых переменных, либо не пересекаются с обеими.

Пример 5. Формулы

УхУуЗгУиЗу(А(х, г)&В(х, и)&С(х, у)&И(у, V)), УиУуУхЗгЗу(А(х, г)&В(х, и)&С(х, у)&И(у, V)), УхУуЗуЗгУи(А(х, г)&В(х, и)&С(х, у)&И(у, V)) отличаются несущественно.

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

Определение 10. Формула А(х, у) обладает свойством унифор-мизации по переменным х, у на множестве X, если для каждого логического значения I найдётся такое Ь[ € X, что, если при некоторых а,Ь € X А(а, Ь) имеет значение I, то А(а, Ь{) имеет значение I.

Лемма 5. Если х, у — единственные свободные переменные формулы А(х,у), и она обладает по ним свойством, униформизации, то на любом множестве X в любой частично определённой алгебраической системе формулы УхЗу А(х,у) и ЗуУх А(х,у) равнозначны.

Доказательство. Если формула УхЗу А(х,у) имеет значение ^ то по свойству униформизации найдётся такое Ь € X, что при любом а € X А(а, Ь) истинна, и по определению истинности формула А(х, у) принимает лишь значения f}. Следовательно, истинна ЗуУх А(х,у). В обратную сторону следствие тривиально.

Если формула ЗуУх А(х,у) имеет значение f, то по свойству униформизации найдётся такое а € X, что при любом Ь € X А(а, Ь) ложна, и по определению ложности формула А(х, у) принимает лишь значения {^ f}. Следовательно, ложна УхЗу А(х,у). В обратную сторону следствие тривиально.

Если формула УхЗу А(х,у) имеет значение и, то по определению справедливости для каждого а € X найдётся Ь € X, при котором А(а, Ь) истинна, и применяя свойство униформизации, находим 6о € X, при котором Ух А(х,Ьо) истинна. А поскольку формула справедлива, найдутся такие 01,61 € X, что значение А(а,1,Ь1) есть и. Таким образом, ЗуУх А(х,у) также имеет значение и. В обратную сторону доказательство тривиально.

Оставшийся случай — когда одна из формул не имеет значения. По правилу Шерлока Холмса (единственной оставшейся альтернативы), тогда и вторая его не имеет. □

Лемма 6. Если х, у — единственные свободные переменные пропозициональной формулы А(х,у), и они независимы, то на любом множестве X в любой частично определённой алгебраической системе А(х,у) обладает свойством униформизации по х,у и по у,х.

Доказательство. Доказательство ведётся индукцией по построению формулы А(х,у).

Базис индукции. Пусть формула А(х, у) пропозициональная и получается применением бинарной связки к формулам В(х) и С(у). Достаточно рассмотреть & и V, поскольку ^ представляется в виде —А V В, и за одну из формул можно взять —А.

Б1. Если В(а)&С(Ь) истинна, то обе подформулы истинны, и если истинна В(а,1)&£(Ь1), то истинна также В(а,1)&£(Ь), и в качестве искомого Ъ^ достаточно взять 6.

Если В (а) V £(Ь) истинна, то одна из подформул истинна, и если такова £(Ь), то в качестве искомого Ь^ достаточно взять Ь. Если же £(Ь) ложна, то просматриваем все истинные формулы В(01) V £(61), и если найдётся истинная £(61), то в качестве искомого \ достаточно взять 61. Если же таковой нет, то в таких случаях всегда истинна В(а1)), и в качестве искомого Ь^ достаточно взять Ь.

Б2. Если В(а)&£(Ь) справедлива, то одна из подформул справедлива, и если и если такова £(Ь), то в качестве искомого Ьи достаточно взять Ь. Если же £(Ь) истинна либо ложна, то просматриваем все справедливые формулы В(а1)&£(&1), и если найдётся справедливая £(61), то в качестве искомого Ьи достаточно взять &1. Если же таковой нет, то в таких случаях всегда справедлива В(а1)), и в качестве искомого \ достаточно взять Ь. Случай V разбирается совершенно так же.

Б3. Случай ложности разбирается двойственно к случаю истинности.

Б4. Для пропозициональных формул значение всегда существует, и четвёртый случай отбрасывается.

Б5. Поскольку понятие независимости симметрично, случай перестановки переменных отдельного рассмотрения не заслуживает. □

Заметим, что данная лемма существенно зависит от выбора исходных связок логической системы. В частности, если добавить связку =, она перестаёт быть верной.

Лемма 7. Если

(1)

К1Ж1 ... Кпж„УжЗуКп+1^1 ... Кп+кгк А(х1,... , Хп, Х^у, Х1,.. ., хк)

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

(2)

К1Ж1 ... КпхпЗу'УхКп+1г1... Кп+кгк А(х1,...

Доказательство. Чтобы доказать равнозначность формул (1) и (2), достаточно установить равнозначность всех пар формул

(3) УхЗуКп+1г1 . .. Кп+кгк Я(Ь1,.. . ,Ьп,х,у, гъ .. ., гк) и

(4) ЗуУхКп+1г1... Кп+к гк Я^,... ,гп,х,у, ^ ,...,гк), где ¿1,... ,Ьп € X.

Будем доказывать более сильное утверждение, что в дополнение к сказанному во всех

К„+121 . .. Кп+к гк А(Ь1, ...,гп,х,у,г1,..., гк)

х, у обладают свойством униформизации. Доказательство ведётся индукцией по длине кванторного префикса К„+1^1 ... гк.

Базис индукции. Если кванторный префикс отсутствует, то равнозначность и униформизация следуют из лемм 6, 5.

Допущение индукции. Пусть доказана равнозначность всех пар формул

(5) УхЗу А(г1,...,гп,х,у,з) и

(6) ЗуУх А(Ь1,... ,гп,х,у, в),

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

где Ь1,... ,Ьп, в € X ив формуле А(х1,..., хп, х, у, г) переменные х, у и х,г независимы, х,у и х,г обладают свойством униформизации.

Рассмотрим формулу (5) и разберём случаи её возможных значений.

1. Истина.Тогда при каждом а € X существуют Ь,с € X, такое, что А(р1,..., Ьп, а, Ь, с) истинна. По предположению индукции (униформизации) тогда есть такие Ь, с, единые для всех а, и истинна ЗуУх Зг ^(¿1, .. . ,Ьп,х, у, г)

2. Справедлива. Доказательство совершенно аналогично.

3. Ложна. Тогда по правилам классической логики ложна и формула ЗуУх Зг А(Ь1, .. ., Ьп, х, у, г).

4. Нет значения. Тогда возможны следующие случаи.

4.1. При некоторых а,Ь € X Зг А(Ь1,... ,Ьп, а, Ь, г) не имеет значения. Тогда и обе более сложные формулы не имеют значения.

4.2. Случай 4.1. не выполнен, но при некотором а € X формула Зу Зг А(Ь1,... ,Ьп,а, у, г) не имеет значения. Тогда при любых Ь € X справедлива или ложна Зг &(£1,... ,Ьп,а,Ь, г) и где-то выполнены оба этих случая. Но тогда по свойству униформизации по х, г, есть такое с € X, что при всех а € X &(£1,..., Ьп, а, Ь, с) справедлива, и справедлива УхЗг ... ,Ьп,х,Ъ, г). Аналогично находим значение, при котором УхЗг &(£1,... ,Ьп,х, Ь, г) ложна. При этом не может быть значения, при котором она истинна. Значит, по определению ЗуУхЗг &(£1,... ,Ьп,х, у, г) не имеет значения.

5. Если (6) истинна, ложна или справедлива, то по определению логических значений такова же (5). И по правилу Шерлока Холмса тогда из того, что (6) не имеет значений, следует, что и (5) не имеет значения.

Теорема 1. Если х, у —независимые в предварённой формуле Щх, у) и единственные в ней свободные переменные, то на любом множестве X в любой частично определённой алгебраической системе формулы УхЗу A(x,y) и ЗуУх A(x,y) равнозначны.

Непосредственное следствие из предыдущих лемм.

Следствие. Две несущественно отличающиеся формулы А, В равнозначны.

Любая тривиальная или существенная перестановка покрывается предыдущими леммами и теоремой.

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

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

3. Локализация

3.1. Горизонтальное разбиение и соединение

Пусть имеется тип данных Т и бинарная операция на нём ф, обладающая единичным элементом е и, возможно, нулевым элементом 0. Пусть задано также конечное число п типов данных Ti, называемых локалами данных, являющихся системами с переполнением, на каждом из которых задана частичная операция Фi, обладающая единицей (и нулём, если он есть у исходной). Элементы Ti называются локальными данными.

Пусть задана операция сборки ASSEMBLE, принимающая на вход n-ку элементов Ti и выдающая элемент Т. Если

ASSEMBLER, ■■■ ,хп))= X,

то кортеж (х\, ■ ■ ■ ,хп) называется разбиением X. Эта операция сюръ-ективна. Через х ф* у обозначим бинарную операцию на прямом произведении ПГ=1 определяемую как кортеж всех Xi Фi yi.

Поскольку понадобится вкладывать элементы Ti в Т, обозначим {xi) результат применения ASSEMBLE к вектору, г-тая компонента которого Xi, а остальные — единичные элементы соответствующих Ti. Обобщая, через ((xi)iej) обозначим результат сборки вектора, все неединичные компоненты которого принадлежат подмножеству J С [1 : п].

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

(7) ASSEMBLE (SPLIT (X)) = X. Операции разбиения и ф согласованы друг с другом:

(8) ASSEMBLE (SPLIT (х) ф* SPLIT (у)) = х ф у,

то есть SPLIT является гомоморфизмом коммутативных полугрупп, если операции всюду определены.

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

Пример 7. Пусть заданы два векторных поля на замкнутой связной области векторного пространства S и линейный коммутативный оператор над ними, обладающий свойством локальности: значения результата в точке зависят лишь от значений аргументов в некоторой окрестности этой точки. Простейшим примером, такого оператора является

(а ф@)(х)= ■ ■■ а(у) + ¡3(y)dy.

J JS(r(x),x)

Здесь S(а, х) — сфера радиуса a c центром х, г(х) — непрерывный оператор из фазового пространства в R+.

Разбиением для этой операции может служить любая система открытых подобластей S Di, обладающая следующим свойством: любая точка х содержится, в одной из областей вместе со своей окрестностью S(r(х),х), каждое из подполей а обращается в ноль вне Di и

а(х) ^^ ai(x).

Такое разбиение назовём локализованным. Очевидно, что в локализованном разбиении области пересекаются, если их больше одной и пространство связно.

В этом случае регулярными элементами Т.\ целесообразно считать векторные поля, обращающиеся в ноль на точках х, окрестности Б(г(х),х) которых не вложены в И^. Но результат операции скорее всего будет переполнением, поскольку ненулевыми будут лишь значения вне И^.

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

3.2. Вертикальная локализация

Рассмотрим пример, идейно базирующийся на 7, но показывающий необходимость ещё одного вида локализации.

Пример 8. Пусть мы вычисляем непрерывный оператор над векторным полем,, обладающий свойствами, близким к линейности:

^ (аХ + У ) = у>(а)Р (X) + ^ (?); ^ (0) = 0.

Пусть в разных подобластях замкнутой связной области векторного пространства 2 значения поля х и значения оператора /(х) имеют различный порядок, а наши вычислительные элементы могут работать лишь в ограниченном диапазоне изменений аргумента и результата. Пусть, подобно примеру 8, оператор обладает свойством локальности: значения результата в точке зависят лишь от значений аргументов в некоторой окрестности этой точки. Зададим локализованное разбиение таким образом, чтобы значения оператора в каждой подобласти были ограничены по норме константой щ. Обозначим через верхнюю грань расстояний точек области от начала координат. Выберем в каждой подобласти точку Ог, расстояние от которой до любой точки области не больше Л^!'!: центр области. Зададим преобразование векторного поля,

Х^х) = X(0.5с]^ ■ х + Ог).

На каждой подобласти зададим оператор

Ъ(Х1)(х)) = ^ (X )(х)/а{.

Это подобно операции масштабирования при аналоговых либо других вычислениях на физической основе. В этом случае при разбиении поля части значений поля, идущие в разные области, умножаются на константы. А при обратной сборке используется другая совокупность констант: массив значений ^(щ). В данном случае операцией сборки является АББЕМВЬЕ(х + 2у).

Пример показывает, что при физической реализации часто важно локализовать вычисления не только по подобластям пространства (что зачастую делается и ныне), но и по диапазонам значений аргумента. Этот второй вид локализации менее изучен (хотя автору неизвестна также столь общая и абстрактная математическая формулировка локализации по горизонтали, как приведённая в данной работе; все известные ему примеры, в частности [7,9], под неё подпадают.)

4. Управление параллельными и распределёнными вычислениями

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

Определение 11. Граф переполнений для операции ф —это ориентированный граф на [1 : п], где п — число локалов, обладающей следующими свойствами:

(1) Для каждого г имеется петля с началом и концом в г.

(2) Если х, у элементы г — х ф^ у, то г мо^юно представить в виде вектора ((г^(вектор нормализованных переполнений). При этом (х) ф {у) = ^(г^

Здесь Соп(г) — множество вершин, в которые ведут дуги из г. х^ называется регулярной частью результата, переполнение считается ассоциированным с дугой графа (г, ]). Переполнение имеется, если хоть одно из = е, ] = г.

Таким образом, переполнение можно представить как совокупность регулярных данных из локалов, непосредственно связанных с исходным. Если переполнение = е, ] = г, оно считается несуществующим и игнорируется.

Рис. 2. Граф переполнений для сложения в позиционной системе

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

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

Алгоритм организации вычислительного процесса

Пусть каждый локал вычисляется отдельным «процессором», а операция ассоциативна и коммутативна.

(A) Вычислить результат операции на каждом локале независимо. (Б) Преобразовать его в вектор нормализованных переполнений и

послать каждое существующее переполнение в соответствующий процессор.

(B) По мере получения переполнений от других, каждый процессор обрабатывает их в произвольном порядке, применяя команды (А) и (Б). Необработанные переполнения хранятся в очереди.

(Г) Процесс завершается, когда не остаётся имеющихся переполнений.

Конец алгоритма

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

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

Рис. 3. Граф переполнений для схемы комбинатора

Если граф переполнений без циклов, в общем случае число итераций не меньше (максимального числа переполнений на пути без петель)+1. В случае графа (2) это число вершин. Поэтому целесообразно рассмотреть методы оптимизации обработки переполнений.

Пример 11. В частности, в большинстве реальных приложений переполнения «малы» по сравнению с регулярными элементами, и несколько операций над переполнениями могут давать регулярный результат. Например, в десятичной системе при сложении переполнение равно 1, и девять переполнений можно сложить без дополнительного переполнения. Таким образом, простейшая стратегия оптимизации количества итераций: вначале действовать с переполнениями, и лишь затем корректировать регулярную часть.

5. Корректность комбинатора

В качестве приложения данных теоретических рассмотрений рассмотрим условия корректности схемы на рис. 1 для общего случая. Непосредственным анализом схемы выделяются три условия:

(A) Операция ассоциативна и коммутативна.

(Б) Регулярная часть операции, имеющей переполнение, даёт регулярный результат при добавлении одного переполнения.

(B) Граф переполнений показан на рис. 3 (петли опускаем).

При этом переполнения можно организовать так, что по каждой паре дуг а^, Ъ^ идёт максимум одно переполнение.

Таким образом, мы установили, что схема почти не зависит от конкретного представления данных, лишь бы каждый третий слой «дублировал» следующий. Заметим, что требование Б выполняется для обычных позиционных систем счисления: для десятичной, например, максимум при переполнении 18, 8 +1 = 9. В любом таком случае организация передачи данных между «процессорами», выполняющими операцию, может быть прямоточной: данные без запоминания в промежуточных хранилищах передаются для обработки в следующий «процессор».

6. Дополнительные замечания

Данная работа показывает, как могут быть конкретизированы во многих случаях реальных вычислений понятия локальности и ограниченности из [1]. Рассмотрим некоторые возможности развития и приложений рассматриваемой теории.

Сразу видно, что работа в потенциале обогащает возможности систем типа MAPREDUCE [2]. Они соответствуют работе без переполнений, а здесь появляется возможность организовать частичную обработку, а затем доработку результатов.

Возникает задача дисциплины передачи и обработки переполнений, которая должна решаться в каждом отдельном случае применительно к его особенностям. Частично мы её затронули в примере 11 и в §5, когда было поставлено условие нетривиальности лишь одного переполнения из двух.

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

Важным понятием при обработке переполнений является влияние переполнений данной вершины: множество вершин, результат в которых может измениться при изменении обрабатываемых значений в данной вершине (можно рассматривать как частный случай понятия влияния из [1]). Заметим, что влияние зависит не только от графа, но и от способа разбиения результата на регулярную часть и переполнения.

Ситуация, если операция с переполнениями некоммутативна или неассоциативна, видимо, может решаться лишь в частных случаях. Обратим внимание на один из возможных. Часто переполнения обрабатываются другой операцией, и она может быть ассоциативна и коммутативна. Скажем, переполнения при умножении октав Кэ-ли [11] (некоммутативно и неассоциативно) могут обрабатываться при помощи сложения векторов действительных чисел.

Касательно терминологии. При горизонтальном разбиении локалы имеют сходство с клетками многообразий в топологии, при вертикальном — со слоями в расслоённом пространстве. Но в каждом случае есть и существенные отличия. Поэтому использован новый термин.

Автор благодарен рецензенту за многочисленные предложения по

улучшению изложения.

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

[1] Н. Н. Непейвода. «О некоторых возможностях локальных вычислений в теории систем и базах данных», Программные системы: теория и приложения, 7:4(31) (2016), с. 145-160, URL: http: //psta.psiras.ru/read/psta2016_4_145-160.pdf t 87,104

[2] J. Dean, S. Ghemawat. "MapReduce: simplified data processing on large clusters", OSDI'04: Sixth Symposium on Operating System Design and Implementation (San Francisco, CA, December, 2004), pp. 13. t 87,104

[3] Рольф Ландауэр. «Необратимость и выделение тепла в процессе вычислений», Квантовый компьютер и квантовые вычисления. Том 2, 1999, с. 9-32, ISBN: ISBN 5-7029-0338-2. \ 88

[4] Н. И. Червяков, П. А. Сахнюк, А. В. Шапошников, А. Н. Макоха, Нейрокомпьютеры в остаточных классах, Нейрокомпьютеры и их применение, т. 11, Радиотехника, М., 2003, 270 с. t 88

[5] А. И. Мальцев. Алгебраические системы, Наука, М., 1970, 392 с. t 89

[6] Christopher Strachey. Toward a mathematical semantics for computer-languages Oxford Programming Research Group Technical Monograph. PRG-6, Oxford, 1971. t 89

[7] И. М. Соболь, С. В. Картышов, И. А. Кульчицкая, Ю. Л. Левитан. «О многокритериальной оптимизации математических моделей», Математическое моделирование, 6:6 (1994), с. 85-93. t 101

[8] Н. Н. Непейвода, И. Н. Григоревский, Е. П. Лилитко. «О представлении действительных чисел», Программные системы: 'теория и приложения, 5:4 (2014), с. 105-121, URL: http://psta.psiras.ru/read/psta2014_4_ 105-121.pdf t 102

[9] А. Е. Бондарев. «Локализация пространственно-временных структур в пространстве определяющих параметров с применением параллельных вычислений», Известия ЮФУ. Технические науки, 2012, №6, с. 100105. t 101

[10] А. Б. Шворин. «Параллельное сложение вещественных чисел в системах счисления с перекрытием», Программные системы: теория и приложения, 6:2 (2015), с. 101-117, URL: http: //psta.psiras.ru/read/psta2015_2_101-117.pdf t 102

[11] Дж. С. Баэс. «Октонионы», Гиперкомплексные числа в геометрии и физике, 3:5-1 (2006), с. 120-176. t 104

Рекомендовал к публикации д.ф.-м.н. С. В. Знаменский

Пример ссылки на эту публикацию:

Н. Н. Непейвода. «Использование локализации и переполнения для управления параллельными и распределёнными вычислениями», Программные системы: теория и приложения, 2017, 8:3(34), с. 87-107. URL: http://psta.psiras.ru/read/psta2017_3_87-107.pdf

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Об авторе:

Николай Николаевич Непейвода

Главный научный сотрудник ИПС РАН, научный руководитель работ. Более 200 публикаций по конструктивной математике, логике, информатике

e-mail: nepejvodann@gmail.com

Nikolai Nepejvoda. Using overflows to control parallel and distributed computations. Abstract. An abstract algebraic notion of overflow is introduced and used for problems of parallel and distributed computing. Its applicability is illustrated by some examples. This work is second in the series devoted to memory-free computations and locality. (in Russian).

Key words and phrases: locality, parallel computing, distributed computing, overflow, layered data.

References

[1] N. N. Nepeyvoda. "Local computations in system theory and VLDB", Program Systems: Theory and Applications, 7:4(31) (2016), pp. 145-160 (in Russian), URL: http://psta.psiras.ru/read/psta2016_4_145-160.pdf

[2] J. Dean, S. Ghemawat. "MapReduce: simplified data processing on large clusters", OSDI'04: Sixth Symposium on Operating System Design and Implementation (San Francisco, CA, December, 2004), pp. 13.

[3] Rolf Landauer. "Irreversibility and heat generation in the computing process»", IBM Journal of Research and Development, 5 (1961), pp. 183-191.

[4] N.I. Chervyakov, P. A. Sakhnyuk, A. V. Shaposhnikov, A.N. Makokha, Neurocomputers in residual classes, Neurocomputers and their applications, vol. 11, Radiotekhnika, M., 2003 (in Russian), 270 p.

Supported by RAS (project 46P).. © N. N. Nepejvoda, 2017

© Ailamazyan Program Systems Institute of RAS, 2017 © Program systems: Theory and Applications, 2017

DOI: 10.25209/2079-3316-2017-8-3-87-107

[5] A.I. Mal'tsev. Algebraicheskiye sistemy, Nauka, M., 1970, 392 p.

[6] Christopher Strachey. Toward a mathematical semantics for computer languages Oxford Programming Research Group Technical Monograph. PRG-6, Oxford, 1971.

[7] I. M. Sobol', S.V. Kartyshov, I. A. Kul'chitskaya, Yu. L. Levitan. "Multicriteria optimization of the mathematical models", Matematicheskoye modelirovaniye, 6:6 (1994), pp. 85-93 (in Russian).

[8] N. N. Nepeyvoda, I. N. Grigorevskiy, Ye. P. Lilitko. "New representation of real numbers", Program, Systems: Theory and Applications, 5:4 (2014), pp. 105-121 (in Russian), URL: http://psta.psiras.ru/read/psta2014_4_105-121.pdf

[9] A. Ye. Bondarev. "Space-time structures localization in the space of character parameters by parallel computations", Izvestiya YuFU. Tekhnicheskiye nauki, 2012, no.6, pp. 100-105 (in Russian).

[10] A. B. Shvorin. "Parallel addition of real numbers in overlaying numeration systems", Program Systems: Theory and Applications, 6:2 (2015), pp. 101-117 (in Russian), URL: http://psta.psiras.ru/read/psta2015_2_101-117.pdf

[11] Dzh. S. Baes. "The octonions", Giperkompleksnyye chisla v geometrii i fizike, 3:5-1 (2006), pp. 120-176 (in Russian).

Sample citation of this publication:

Nikolai Nepejvoda. "Using overflows to control parallel and distributed computations", Program systems: Theory and applications, 2017, 8:3(34), pp. 87-107. (In Russian).

URL: http: //psta.psiras . ru/read/psta2017_3_87-107.pdf

i Надоели баннеры? Вы всегда можете отключить рекламу.