УДК 519.68
С. П. Ковалёв
Теоретико-категорный подход к проектированию вычислительных систем
Аннотация. Вычислительная система называется алгебраической, если она содержит дискретные управляемые посткремниевые узлы. Предложен теоретико-категорный подход к проектированию таких систем, нацеленный на эффективное применение математических методов отображения расчетных задач на архитектуру таких систем. Построены категории, объектами которых служат алгебраические модели вычислений узлов и систем, а мор-физмами служат спецификации действий по интеграции узлов в системы. Конечные диаграммы в таких категориях представляют собой формальные архитектурные модели алгебраических вычислительных систем.
Ключевые слова и фразы: алгебраическая вычислительная система, полупримальная алгебра, структурная категория алгебр, отображение расчетных задач на архитектуру систем.
Введение
В посткремниевых компьютерных технологиях вычислением допускается называть любое дискретное управляемое преобразование информационных элементов. Поскольку в математической форме преобразования изучаются в рамках универсальной алгебры, вычислительные средства, реализующие расширенные парадигмы вычисления, называются алгебраическими [1]. В качестве посткремниевых алгебраических вычислителей рассматриваются оптические, молекулярные, полимерные и т.д. Если система содержит много разнообразных нетрадиционных вычислителей, то при решении расчетных задач можно избежать накладных расходов на перевод входных данных в численный вид, выполнение преобразований в форме плохо распараллеливаемых суперпозиций арифметических операций, содержательное истолкование числовых результатов [1]. Вместо редукции к числам в системе ищутся узлы, способные эффективно
© С. П. КОВАЛЕВ, 2015
© Институт проблем управления имени В. А. Трапезникова РАН, 2015 © Программные системы: теория и приложения, 2015
имитировать элементы и их преобразования, составляющие предметную область задачи [2]. Все доступные узлы-имитаторы загружаются согласованной полезной работой. Для системы, состоящей из традиционных арифметических узлов, такая процедура известна как отображение задачи на архитектуру системы [3]. Известны мощные математические методы оптимизации отображения, принимающие на вход в дополнение к задаче формальную модель системы [4]. В этой модели все возможности узлов и каналов связи, составляющих систему, должны быть представлены в форме однотипных алгебраических конструкций, характеризующих их ресурсопотребление. Это позволяет рассчитывать интегральное ресурсопотребление задачи при заданном распределении алгоритмов по узлам и находить наименее ресурсоемкие распределения. Поэтому к числу основных задач проектирования алгебраической вычислительной системы относится построение ее формальной модели указанного вида.
В настоящей работе предложен подход к построению формальных моделей алгебраических вычислительных систем на базе аппарата теории категорий. Выбор аппарата обусловлен его возможностями компактно и строго описывать и верифицировать приемы системной инженерии на базе алгебраического языка [5]. Рассматриваются категории, объектами которых выступают алгебры, описывающие организацию вычислений в узлах и системах, а морфизмы отвечают действиям по интеграции алгебраических вычислительных узлов в системы. Системы описываются конечными диаграммами в категории такого рода, а приемы сборки систем — универсальными диаграммными конструкциями. Сигнатурным операциям алгебраических моделей узлов и морфизмам, увязывающим их в системы, приписываются функции оценки ресурсоемкости. Одним из способов получения этих функций служит мультифизическое моделирование процессов, имитирующих вычисления в конкретных алгебраических узлах и передачу данных между ними.
1. Алгебраические модели вычислений
Формальными моделями алгебраических вычислителей естественным образом служат алгебры над конечными (ввиду ресурсных ограничений) множествами абстрактных элементов, трактуемых согласно постановке задачи (например как изображения, области фазового пространства, программы и др.). Сигнатуры таких алгебр состоят из вычислительных примитивов, отвечающих (в зависимости от
способа реализации вычислений) преобразованиям физических величин, операторам языка (мета)программирования или библиотечным функциям математического пакета программ. Поскольку процесс вычисления сводится к последовательному применению (суперпозиции) примитивов, все вычислительные операции узла образуют клон этой алгебры — совокупность всех ее термальных операций, т.е. интерпретаций термов ее сигнатуры. Чтобы обеспечить управляемость процесса вычисления, в узле должны быть реализованы условные операторы вида if х = a then у else z. Функции, отвечающие всем таким операторам, содержатся в клоне алгебры R тогда и только тогда, когда клон состоит из всех функций, сохраняющих все ее подалгебры [6] (иными словами, когда любая функция f : |R|fc ^ |R| такая, что f (Ак) С А для любой A G Sub R, содержится в клоне алгебры R). Такие алгебры называются полупримальными (semiprimal) [7], они и служат алгебраическими моделями вычислений.
Морфизмы моделей вычислений описывают интеграцию алгебраических вычислительных узлов в системы, которая сводится к кодированию элементов, поддерживаемых узлом — к сопоставлению им кодов элементов, поддерживаемых системой. Формальной спецификацией кодирования служит отображение основных множеств алгебр, под действием которого структура операций, выполняемых узлом в составе системы, не разрушается. Такие отображения задаются путем обобщения конструкции гомоморфизма алгебр [8]:
Определение 1. Пусть L и R — конечные алгебры. Отображение ip : |L| ^ |R| называется структурным, если для любой функции f : |£|fc ^ |L|, содержащейся в клоне алгебры L и сохраняющей отношение эквивалентности ker f, в клоне алгебры R найдется функция g : |R|fc ^ |R| такая, что <pf (х\,..., х^) = g(<pxi,..., ) для любого кортежа (х\,..., Xk) G |£|fc.
Легко проверить, что класс всех структурных отображений алгебр не замкнут относительно композиции отображений. Для целей моделирования процедур сборки алгебраических вычислительных систем требуются замкнутые подклассы в нем, содержащие по крайней мере все инъективные структурные отображения — формальные аналоги разнозначного кодирования, обеспечивающего включение узлов в системы без изменения структуры операций. Такие отображения представляют переходы к подсистемам и надсистемам — важнейшие базовые операции в системной инженерии.
Теорема 1. Существует наибольшая среди категорий, которые состоят из всех полупримальных алгебр и некоторых их структурных отображений и содержат все структурные инъекции.
Мы будем обозначать через CS категорию, существование которой утверждается в теореме 1. Любое структурное отображение алгебр, отвечающее действию по интеграции алгебраических вычислительных систем, должно содержаться в CS.
2. Инженерия алгебраических вычислительных систем
Приемы системной инженерии формализуются как универсальные теоретико-категорные конструкции — (ко)пределы в категориях систем. Например, сборке системы из набора взаимосвязанных единиц (конфигурации) отвечает построение копредела диаграммы, объектам которой соответствуют единицы, а стрелкам — взаимосвязи [5]. Так, разбиение полупримальной алгебры в сумму (копроизведение) подалгебр описывает функциональное распараллеливание: каждая подалгебра может быть реализована самостоятельной вычислительной единицей. Формально, сумма полупримальных алгебр Ri и R2 в категории CS имеет основное множество IR1IHR2I и множество подалгебр {А Ц В | А е Sub R1, В е Sub R2}. Поэтому среди всех разбиений произвольной полупримальной алгебры R в прямую сумму подалгебр существует самое мелкое (многокомпонентное): его компонентами служат пересечения компонентов всех разбиений алгебры R в прямую сумму. Таким образом, можно формально выявлять резерв глубины функционального распараллеливания алгебраических вычислительных систем.
Еще одним классическим приемом сборки систем, которому отвечает копредел, является соединение вычислительных узлов при помощи промежуточного коммутационного узла (интерконнекта), взаимодействующего с каждым из них. Соединение двух узлов описывается диаграммой R1 ^ J ^ R2, где R1 и R2 — модели вычислений соединяемых узлов, J — модель вычислений интерконнекта. (Подчеркнем, что стрелки в диаграммах направлены не вдоль потоков данных, а по системной иерархии от единиц низкого уровня интеграции к единицам более высокого.) Копредел этой диаграммы называется коде-картовым квадратом и действительно представляет комплекс из двух узлов, согласованных по данным через интерконнект. К сожалению, в категории CS такие копределы существуют не всегда, поэтому она
не позволяет формализовать многие практически значимые приемы инженерии алгебраических вычислительных систем.
Вместе с тем заметим, что существует функтор из CS в категорию FinTop всех конечных топологических пространств и всех их непрерывных отображений, имеющий левый сопряженный с тождественной единицей сопряжения и коединицей, состоящей из биекций множеств. Он переводит алгебру R в топологическое пространство с носителем |R| и базой Sub R. Содержательно, он позволяет описывать алгебраические модели вычислений в топологических терминах, например в ключе предложенной в [10] нетрадиционной парадигмы пространственных вычислений (spatial computing). Категории, известные под названием топологических ([9], определение 21.1), естественным образом возникают в задачах моделирования программных систем [5]. Топологические категории обычно обладают широким набором универсальных конструкций. В связи с этим возникает вопрос о нахождении топологической категории, содержащей достаточно большое количество структурных отображений полупримальных алгебр. Такая категория существует и строится следующим образом.
Определение 2. Пусть L и R — конечные алгебры. Отображение ip : |L| ^ |R| называется субнепрерывным, если
^-1(Sub R) С Sub L.
Теорема 2. Все полупримальные алгебры и все субнепрерывные отображения их основных множеств образуют подкатегорию в CS, эквивалентную топологической категории над категорией FinSet всех конечных множеств и всех их отображений.
Мы будем обозначать через CT категорию, существование которой утверждается в теореме 2. Любая конечная диаграмма в CT обладает и пределом, и копределом. Следовательно, любой конечный набор алгебраических вычислительных узлов, взаимосвязи которых описываются CT-морфизмами, образует систему.
3. Частичные алгебраические вычисления
При решении вычислительных задач вполне рядовой является ситуация, когда количество элементов в предметной области задачи потенциально бесконечно или выходит за рамки доступного объема памяти. Поэтому необходимо предусмотреть обнаружение и обработку ошибок, возникающих при выходе результатов процессов,
имитирующих вычисления, за рамки поддерживаемой совокупности элементов. Здесь целесообразно воспользоваться опытом разработки арифметических устройств, где к основному множеству модели вычислений добавляют флаг — специальную константу, возвращаемую при переполнениях и округлениях [11]. При этом следят, чтобы не появилось существенно новых операций, кроме необходимых для обработки флага. При реализации алгебраических узлов флаг позволяет очевидным образом вводить частично определенные вычислительные операции. Также при помощи флага можно задавать частичные структурные отображения, представляющие интеграцию алгебраических вычислительных систем в условиях неполного кодирования данных: незакодированным элементам сопоставляется флаг. Мы будем применять для флага значок *.
Теорема 3. Подкатегория в ОТ, состоящая из всех полупри-мальных алгебр, в которых имеется константа *, и всех ОТ-мор-физмов, сохраняющих эту константу, эквивалентна топологической категории над категорией ЕтБеЬ всех конечных множеств и всех их частичных отображений.
Мы будем обозначать через СГ* категорию, существование которой утверждается в теореме 3. Конечные диаграммы в СГ* выступают моделями архитектуры алгебраических вычислительных систем, пригодных для решения широкого круга практических задач.
Заключение
Главным результатом процесса проектирования алгебраической вычислительной системы является формальная модель ее архитектуры, позволяющая рассчитывать и оптимизировать отображение вычислительных задач на нее. Такую модель целесообразно представить как конечную диаграмму в категории, состоящей из алгебраических моделей вычислительных узлов и правил кодирования данных при их взаимодействии. Система как целое описывается с точки зрения организации вычислений копределом этой диаграммы.
Такой подход позволяет ставить и в перспективе решать разнообразные оптимизационные задачи проектирования. Например, актуальна проблема поиска алгебраического «вычислительного базиса» — небольшой совокупности аксиоматизируемых классов алгебр, из которых можно собрать модели вычислений систем, пригодных для эффективного решения большого количества разнообразных задач [1].
Возникают и многие другие задачи для дальнейшего исследования.
Список литературы
[1] Н. Н. Непейвода, «От численного моделирования к алгебраическому», Тр. междунар. конф. PACO'2012. Т. 1, ИПУ РАН, М., 2012, с. 93-103 t 3, 8.
[2] J.W. Mills, M. Parker, B. Himebaugh, C. Shue, B. Kopecky, C. Weilemann. ""Empty space" computes: the evolution of an unconventional supercomputer", Proc. 3rd Conf. Computing Frontiers (Ischia, 2006), pp. 115-126 t 4.
[3] В. В. Воеводин. «Отображение проблем вычислительной математики на архитектуру вычислительных систем», Вычисл. методы и программирование, 1 (2000), с. 37-44 t 4.
[4] В. В. Топорков. Модели распределенных вычислений, Физматлит, М., 2004 t 4.
[5] J. L. Fiadeiro. Categories for Software Engineering, Springer, BerlinHeidelberg-N.Y., 2005 t 4, 6, 7.
[6] С. П. Ковалёв. «Алгебраический подход к проектированию распределенных вычислительных систем», Сиб. журн. индустр. математики, X:2(30) (2007), с. 70-84 t 5.
[7] A. L. Foster, A. F. Pixley. "Semi-categorical algebras. I: Semi-primal algebras", Math. Z, 83:2 (1964), pp. 147-169 t 5.
[8] С. П. Ковалёв, «Категория вычислительных систем», Междунар. конф. «Алгебра и логика: теория и приложения», Тез. докл., СФУ, Красноярск, 2013, с. 64-66 \ 5.
[9] J. Adamek, H. Herrlich, G. Strecker. Abstract and Concrete Categories, Wiley and Sons, N.Y., 1990 t 7.
[10] J.-L. Giavitto, O. Michel, A. Spicher. "Unconventional and nested computations in spatial computing", Internat. J. Unconventional Computing, 9:1-2 (2013), pp. 71-95 \ 7.
[11] Э. Таненбаум. Архитектура компьютера, 4-е изд., Питер, СПб., 2002 t 8.
Рекомендовал к публикации
д.ф.-м.н. Н. Н. Непейвода
Об авторе:
Сергей Протасович Ковалёв Д.ф.-м.н., с.н.с. Института проблем управления им. В.А. Трапезникова РАН
e-mail: [email protected]
Пример ссылки на эту публикацию:
С. П. Ковалёв. «Теоретико-категорный подход к проектированию вычислительных систем», Программные системы: теория и приложения, 2015, 6:1(24), с. 3-10.
иР1_ http://psta.psn.ras. ru/read/psta2015_1_3- 10.pdf
Sergey Kovalyov. Category-theoretic approach to algebraic computer systems design.
Abstract. A computational system is called algebraic if it contains discrete co ntrolled postsilicon nodes. Category-theoretic approach to design such systems is proposed aiming at efficient employing mathematical methods to map computational problems to such system architecture. Categories are constructed with algebraic computational nodes and systems models as objects and specifications of operations of integrating nodes into systems as morphisms. Finite diagrams in such categories are formal algebraic computational system architecture models. (In Russian).
Key Words and Phrases: algebraic computational system, semi-primal algebra, structural category of algebras, mapping computational problems to system architecture.
Sample citation of this publication
Sergey Kovalyov "Category-theoretic approach to algebraic computer systems design", Program systems: theory and applications, 2015, 6:1(24), pp. 310. (In Russian.)
URL http://psta.psiras.ru/read/psta2015_1_3-10.pdf
© S. P. Kovalyov, 2015 © ICS V. A. Trapeznikov of RAS, 2015 © Program systems: Theory and Applications, 2015