УДК 519.673
РЕКОНФИГУРИРОВАНИЕ ОДНОРОДНОЙ ВЫЧИСЛИТЕЛЬНОЙ СТРУКТУРЫ С НЕПРОГРАММИРУЕМЫМИ ЯЧЕЙКАМИ ДЛЯ РЕШЕНИЯ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ В ЧАСТНЫХ ПРОИЗВОДНЫХ
А.А. Хамухин
Томский политехнический университет E-mail: [email protected]
Представлены возможности непрограммируемой ячейки однородной структуры для решения дифференциальных уравнений в частных производных, которые позволяют реализовать различные области решения без каких-либо аппаратных добавлений в схему ячейки, что обеспечивает реконфигурирование созданной из таких ячеек однородной вычислительной структуры в рамках заданного класса задач.
Ключевые слова:
Ячейка однородной вычислительной структуры, реконфигурирование, параллельные вычисления, дифференциальное уравнение в частных производных, разностная сетка, приращение переменной.
Key words:
The cell of homogeneous computing structure, reconfiguration, parallel computation, partial differential equations, finite-differential meshes, increment of variable.
Введение
Понятие «однородные вычислительные структуры» введено Э.В. Евреиновым в 60-е гг. прошлого века, теория которых затем была отражена в целом ряде его работ с соавторами и наиболее ёмко изложена в [1]. Вычислительная система на основе однородной вычислительной структуры (ОВС) может быть представлена как совокупность неограниченного числа одинаковых ячеек, однотипно связанных между собой и выполняющих синхронные параллельные вычисления. Такая однородная вычислительная система должна решать задачи неограниченной сложности и объема при высокой надежности и производительности, что обеспечивается избыточностью ячеек, фиксированностью связей между ними и параллельностью вычислений.
Несмотря на давность этих идей, интерес к подобным структурам, получившим название многоядерных, начал проявляться в последнее время в связи технологическими достижениями в наноэлектронике и возможностью реализации множества ячеек на одном кристалле. В работах [2, 3] подробно рассматриваются структуры на программируемых ячейках, что обеспечивает достаточно простую реконфигурацию структуры в соответствии со спецификой решаемой задачи.
Известно, что ячейки с аппаратно реализованным алгоритмом вычисления обладают более высоким быстродействием по сравнению с программируемыми устройствами [4, 5]. Такие устройства находят применение, когда требуется высокое быстродействие, недостижимое на универсальных микропрограммных вычислителях. Также известно, что при реализации ОВС на таких непрограммируемых ячейках появляется проблема реконфигурирования при переходе от решения одной задачи к другой, требующей изменения, например, области решения.
Учитывая, что непрограммируемые ячейки не являются универсальными и применяются для решения ограниченного класса задач, проблему реконфигурирования также следует рассматривать не в общем, а на отдельных классах задач.
Целью настоящей публикации является представление возможностей непрограммируемой ячейки однородной структуры для решения дифференциальных уравнений в частных производных, которые позволяют реализовать различные области решения без каких-либо аппаратных добавлений в схему ячейки, что обеспечивает реконфигурирование ОВС в рамках заданного класса задач.
Объект исследования
Ячейки однородной структуры достаточно давно использовались в цифровых интегрирующих структурах для решения дифференциальных уравнений в частных производных [6]. Но с появлением микропроцессоров аппаратный принцип решения был полностью вытеснен микропрограммным, что стимулировалось легкостью реконфигурирования в ущерб быстродействию. Нашим объектом исследования является непрограммируемая ячейка однородной структуры для решения дифференциальных уравнений в частных производных, защищенная патентом РФ [5].
Функциональная схема ячейки приведена на рис. 1.
Ячейка предназначена для решения конечноразностного уравнения, аппроксимирующего дифференциальное уравнение для одного узла разностной сетки. Например, для одномерного уравнения параболического типа с коэффициентами а(х)
Ж г ^и ^ ч /П
— = а( х) + ¥ (X о (1)
с начальными и граничными условиями
Рис. 1. Функциональная схема ячейки однородной структуры для решения дифференциальных уравнений в частных производных: 1) блок масштабных интеграторов (БМИ); 2) сумматор приращений (СП); 3) следящий интегратор (СИ); 4) интегратор (И); 5) блок формирования приращений с предыдущих шагов по времени (БФПВ); 6) ключевой элемент (КЭ)
U|t=0 U0(x); UU=Fg (t ),
оно имеет вид:
Un+16+1 = Un+1,e + A6
и1-® - (i+2 k u16 +
+kU-l6 + AtF”+1 + U"
(2)
(3)
(4)
где U- искомая переменная; t - время; x - вектор пространственных координат; a(x) - коэффициенты уравнения; U0(x) - начальные значения искомой переменной; G - граница области решения; F(x,t) - функция источника внутри области решения; FG(t) - функция источника на границе области решения; At - шаг по времени; h - шаг по пространственной координате; n и 6 - номер шага по времени и фиктивному времени; i - номер шага по пространственной координате; kj=At- a/h2.
В соответствии с [5] вычисления производятся в последовательном коде над приращениями переменных
AU"
= AU"
+A6
i+i - (i+2k)au;
+
+k, AU", + AtAF + AU
(5)
которые передаются через выход СИ соседним ячейкам на вход БМИ, не дожидаясь окончания полноразрядной итерации, что существенно ускоряет процесс решения во всей структуре.
Такие ячейки, также как и программируемые ячейки, объединятся в однородную вычислительную структуру, рис. 2.
Циклы вычислений в таких структурах состоят из двух этапов: на первом производится обмен данными между управляющим микропроцессором и всеми ячейками (загрузка в ячейки коэффициентов уравнений, считывание из ячеек накопленных результатов расчета), а на втором - производится сам процесс решения по ур. (5) с обменом данными только между соседними ячейками.
Двойной линией на рисунке показана схема обмена данными на первом этапе цикла вычислений. Одинарными линиями со стрелками показаны фиксированные связи между ячейками для обмена рассчитываемыми приращениями во время второго этапа цикла вычислений.
Реконфигурирование структуры
по пространственной области
Для произвольного изменения конфигурации области решения каждая ячейка ОВС должна выполнять функции не только внутренней, но и граничной ячейки. Для этого в состав аппаратуры ячейки обычно вводят функциональный блок граничных условий [2]. Это значительно увеличивает количество активных элементов в ячейке и снижает эффективность. В статье предлагается другой подход, позволяющий использовать ячейку как в качестве внутренней, так и в качестве граничной для типовых граничных условий 1-го, 2-го и 3-го рода.
Сам процесс построения разностных сеток является достаточно сложным, требует отдельных исследований и в настоящей статье не рассматривается [7]. Отметим только, что каждая рассматрива-
емая здесь ячейка соответствует одному узлу разностной сетки. В качестве примера рассмотрим конфигурацию, рис. 3, которая предназначена для расчета магнитного поля в установках типа Тока-мак [7].
На рисунке для упрощения представлена ОВС размером 1бх 16. Для реальных расчетов это количество должно быть существенно больше, что вполне достижимо с учетом темпа развития современной наноэлектроники.
Черным цветом залиты внутренние ячейки расчетной области, формирующие сигналы на выходе по ур. (4). Штриховкой показаны граничные ячейки, которые на выходе должны давать сигналы в соответствии с ур. (1-3) и без заливки показаны ячейки ОВС, которые при решении этой конкретной задачи должны быть неактивными и на их выходах не должно быть сигналов.
Таким образом, даже при фиксированной схеме соединения ячеек в матрицу достаточно большого размера, можно задавать произвольную геометрию пространственной области решения, если количество узлов разностной сетки не превосходит количества ячеек по каждой координате.
Для того, чтобы сделать ячейку неактивной, достаточно на этапе загрузки записать 0 во все регистры блока масштабных интеграторов, регистр интегратора и регистр блока формирования приращений с предыдущих шагов по времени, рис. 1. В этом случае на выходе ячейки во время этапа вычислений будет постоянный нулевой сигнал.
Для того, чтобы сделать ячейку граничной, в эти регистры необходимо загрузить определенные значения, вытекающие из вида граничных условий.
Граничные условия 1-го рода в физической интерпретации означают, что на границе области решения искомая переменная и задана в виде некоторой константы и для каждогоу-го граничного узла разностной сетки и имеют вид:
и\хо=и.
Для того, чтобы у-я ячейка выполняла функцию граничной с условием 1-го рода, достаточно на этапе загрузки записать значение иу в регистр функции источника блока масштабных интеграторов, а во все остальные регистры ячейки записать 0. В этом случае на выходе ячейки во время этапа вычислений будет постоянный поток приращений, соответствующих значению иу. Причем, выходной сигнал ячейки не зависит от входных сигналов, так как они все будут умножаться на нулевые коэффициенты, записанные в регистрах БМИ.
Граничные условия 2-го рода в физической интерпретации означают, что на границе области решения искомая переменная задана в виде некоторой константы Су для своей первой производной и имеют вид:
— и\
дх
хеО С] .
(6)
Применяя конечно-разностную аппроксимацию выражения (6), ограничиваясь первой конечной разностью, получим:
п^—г>—п-
Рис. 3. Конфигурирование ячеек однородной вычислительной структуры для заданной области (показана контуром) решения дифференциальных уравнений в частных производных
V, = и] +АхС]. (7)
Как видно из этого уравнения, сигнал на выходе граничной ячейки должен зависеть от решения в ближайшей внутренней ячейки и_1. Поэтому в регистр соответствующего масштабного интегратора, подключенному в выходу (/—1)-й ячейки блока БМИ, необходимо занести 1. Второе слагаемое правой части уравнения (7) является постоянным для каждой ячейки во время одного цикла вычислений и его значение необходимо занести в регистр функции источника блока масштабных интеграторов — 1. Таким образом, на выходе у-й ячейки будет сигнал, соответствующий выражению (7).
Граничные условия 3-го рода в физической интерпретации означают, что на границе области решения задана линейная комбинация искомой переменной и ее первой производной:
ди + аи| =00^. (8)
дх )хеО
Применяя конечно-разностную аппроксимацию выражения (8), ограничиваясь первой конечной разностью, получим:
и1 = + С2,, (9)
где С1у и С2у — постоянные значения для каждой граничной ячейки во время одного цикла вычислений. Поэтому в регистр соответствующего масштабного интегратора, подключенному в выходу (у— 1)-й ячейки блока БМИ, необходимо занести значение С1у, а в регистр функции источника блока масштабных интеграторов занести С2у. Таким образом, на выходеу-ой ячейки будет сигнал, соответствующий выражению (9).
Во всех трех случаях в регистр блока формирования приращений с предыдущих шагов по времени необходимо занести 0, чтобы результаты, которые накапливаются в интеграторе, не искажали формирование граничных условий.
Рассмотренные выше структуры могут быть реализованы уже в настоящее время на основе базовых матричных кристаллов [8].
Выводы
Реконфигурирование однородной вычислительной структуры для решения дифференциаль-
ных уравнений в частных производных в произвольных геометрических областях, составленной из непрограммируемых ячеек с фиксированными связями, возможно без добавления в состав каждой ячейки функционального блока граничных условий. Настройка на область решения достигается
путем задания специальных коэффициентов в регистры ячейки, рассчитываемых из вида граничных условий. За счет этого аппаратные затраты на реализацию каждой ячейки снижаются и появляется возможность увеличения их количества в одной микросхеме.
СПИСОК ЛИТЕРАТУРЫ
1. Евреинов Э.В. Однородные вычислительные системы, структуры и среды. - М.: Радио и связь, 1981. - 208 с.
2. Каляев И.А., Левин И.И., Семерников Е.А., Шмойлов В.И. Реконфигурируемые мультиконвейерные вычислительные структуры. - Ростов на Дону: ЮНЦ рАн, 2008. - 393 с. URL: http://parallel.ru/FPGA/papers/rmvs.pdf (дата обращения: 31.03.2010).
3. Giefers H., Platzner M. A Many-Core Implementation Based on the Reconfigurable Mesh Model // IEEE Xplore DIGITAL LIBRARY 2010. URL: http://ieeexplore.ieee.org/Xplore/defdeny.jsp?url= http://ieeexplore.ieee.org/stamp/stamp.jsp%3Ftp%3D%26arnum-ber%3D4380623&denyReason=-134&arnumber=4380623&pro-ductsMatched=null (дата обращения: 31.03.2010).
4. Ячейка однородной структуры для решения дифференциальных уравнений в частных производных: а.с. 783811 СССР № 2727694/18-24; заявл. 21.02.1979; опубл. 30.11.1980, Бюл. № 44. - 2 с.
5. Ячейка однородной структуры для решения дифференциальных уравнений в частных производных: пат. 2359322 Рос. Федерация. № 2007141832/09; заявл. 12.11.07; опубл. 20.06.09, Бюл. № 17. — 6 с.
6. Каляев А.В. Теория цифровых интегрирующих машин и структур. — М.: Советское радио, 1970. — 472 с.
7. Лисейкин В.Д. Передовые технологии построения разностных сеток // РФФИ. 2010. ИЯк http://www.rfbr.ru/de-fault.asp?doc_id=17662 (дата обращения: 31.03.2010).
8. Цифровые базовые матричные кристаллы. ОАО «Ангстрем» //
2010. иЯк http://www.angstrem.ru/catalogue/ele-
ment.php?IBLOCKJD=2&SECTЮNJD = 5&ELE-МЕ№Г_ГО=120 (дата обращения: 31.03.2010).
Поступила 31.03.2010 г.
УДК 004.032.6;004.357
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ OLAP-КУБА В КОНТЕКСТЕ АГРЕГИРОВАНИЯ ПРОСТЫХ И ИЕРАРХИЧЕСКИХ ИЗМЕРЕНИЙ
В.П. Кулагин, В.Т. Матчин*
Государственный научно-исследовательский институт информационных технологий и телекоммуникаций, г. Москва
E-mail: [email protected]
*Московский государственный институт радиотехники, электроники и автоматики (технический университет)
E-mail: [email protected]
Статья посвящена исследованию агрегации данных в многомерном OLAP-кубе в простом и иерархическом случае построения измерений. Получены формулы для расчета количества агрегатов и количества сочетаний агрегатов в простом и иерархическом случае построения измерений.
Ключевые слова:
Хранилище данных, база знаний, агрегирование данных, онтология, многомерный куб, иерархическое измерение.
Key words:
Databank, knowledge base, data aggregation, ontology, multidimensional cube, hierarchical measurement.
Известно, что основная цель управления знаниями — сделать знания доступными и повторно используемыми.
Чем больше накапливается информации, тем сложнее становится хранить ее на бумажных носителях или запоминать. И доступ к бумажным документам весьма ограничен. А если из организации уходит высококвалифицированный специалист, потеря ценных знаний и опыта зачастую оказывается невосполнимой. Поэтому целесообразным является осуществлять переход к использованию хра-
нилищ данных, чтобы использовать накопленные знания.
Как правило, одним из первых инструментариев управления знаниями на начальном этапе внедрения корпоративных систем являются хранилища данных, которые работают по принципу центрального склада. Хранилища данных отличаются от традиционных баз данных тем, что они проектируются для поддержки процессов принятия решений, а не просто для эффективного сбора и обработки данных. Как правило, хранилище содержит