ТРУДЫ БГТУ. 2012. № 6. Физико-математические науки и информатика. С. 165-167 165
АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ
УДК 004.3
Н. А. Жиляк, кандидат технических наук, ассистент (БГТУ); А. С. Кобайло, кандидат технических наук, доцент (БГТУ)
ПЛАНИРОВАНИЕ ПРОЦЕДУР СИНТЕЗА ВЫЧИСЛИТЕЛЬНЫХ СТРУКТУР НА ОСНОВЕ ПАКЕТА MICROSOFT OFFICE PROJECT
В статье рассмотрены особенности использования и реализации методов сетевого планирования для решения задач синтеза вычислительных структур на основе пакета Microsoft Office Project 2007; продемонстрированы основные составляющие сетевой модели проекта с точки зрения их использования при проектировании вычислительных структур. В качестве примера рассмотрен синтез вычислительных структур, реализующий алгоритм обработки потоков данных (векторов) в соответствии с определенной математической моделью в условиях жестких временных ограничений.
Specific implementation of scheduling methods for solution of computing structures of synthesis tasks on the basis of Microsoft Office Project 2007 packet are discussed. Principal components of project schedule model are demonstrated with regard to their implementation in compiling the computing structures. As example of using Microsoft Office Project 2007 the algorithm of data flows (vectors) in accordance with definite mathematical models under strict time limitations is realized.
Введение. В рамках теории синтеза вычислительных структур реального времени (ВСРВ) был разработан алгоритм синтеза ВСРВ, реализация которого позволит полностью автоматизировать данный процесс. Однако создание программного продукта на основе предложенного алгоритма потребует значительных материальных и временных затрат [1, 2].
В связи с этим предлагается полуавтоматизированное проектирование вычислительных структур (ВС) с использованием (в качестве вспомогательного инструмента проектировщика) программы управления проектами Microsoft Office Project 2007 (MS Project) [3].
Основная часть. Microsoft Office Project 2007 представляет собой программное средство, реализующее методы сетевого планирования. Предпосылками возможности использования методов сетевого планирования для решения задач синтеза вычислительных структур являются:
- подобие графического представления алгоритмов программ и реализующих их структур вычислительных систем. Так, традиционными способами представления вычислительных процессов и структур реализующих их систем являются граф алгоритма (ГА) и граф вычислительной структуры (ГВС) для алгоритмов и вычислительных систем (ВС) соответственно. Аналогом ГА и ГВС в рамках теории сетевого планирования является сетевой график, также представляющий собой взвешенный ориентированный граф;
- аналогии между некоторыми субъектами сетевого планирования (задачи, ресурсы и др.) и вычислительных систем (операции алгоритма, функциональные устройства (ФУ));
- подобие отображения протекания во времени процессов реализации проектов средствами сетевого планирования (диаграмма Ганта, календарный график и др.) и вычислительных процессов в проектируемой системе (временные диаграммы, вектор временной развертки и т. д.);
- возможность установления аналогии между показателем «стоимость проекта» и любым из технических или экономических параметров системы (надежность, потребляемая мощность, масса, стоимость системы и т. д.).
Рассмотрим основные составляющие сетевой модели проекта с точки зрения их использования при проектировании ВС.
Сетевой график - это ориентированный граф, в котором вершинами обозначены операции алгоритма, а дугами - информационные связи. Сетевой график должен удовлетворять следующим свойствам:
1) каждой операции соответствует одна и только одна вершина. Ни одна операция не может быть представлена на сетевом графике дважды. Любую операцию можно разбить на несколько отдельных подопераций, каждой из которых будет соответствовать отдельная вершина графика;
2) ни одна операция не может быть начата до того, как закончатся все непосредственно предшествующие ей операции. Другими словами, если в некоторую вершину входят дуги, то операция может начаться только после окончания всех операций, из которых выходят эти дуги;
3) ни одна операция, которая непосредственно следует за некоторой операцией, не может начаться до момента ее окончания. Иначе говоря, если из операции выходит несколько дуг, то
166
Н. А. Жиляк, А. С. Кобайло
ни одна из операции, в которые входят эти дуги, не может начаться до окончания этой операции;
4) начало и конец алгоритма будут обозначены операциями с нулевой продолжительностью. Такие операции и называются вехами и обозначают начало или конец наиболее важных операций алгоритма.
Сетевой график позволяет по заданным значениям длительностей операций найти критические операции алгоритма и его критический путь.
Задача как часть работы, необходимая для успешного выполнения проекта, с точки зрения проектирования ВС представляет собой некоторую операцию алгоритма, реализуемого синтезируемой структурой.
Под критическими операциями (аналог критических задач) будем понимать операции алгоритма, реализация которых конкретными ФУ влияет на время выполнения всего алгоритма проектируемой ВС.
Критический путь, определяющий время реализации проекта в рамках метода планирования и управления проектом на основе сетевой модели, при решении задач проектирования ВС представляет информацию о времени реализации алгоритма на конкретном наборе ФУ.
В качестве материальных ресурсов при проектировании ВС выступают ФУ.
Понятие «стоимость ресурса» может быть трактовано буквально как стоимость ФУ или как весовой коэффициент, характеризующий какой-либо из вышеназванных технических параметров, в той же мере это относится и к понятию «стоимость проекта».
В свете приведенных аналогий между элементами сетевой модели структуры проектируемой ВС диаграмма Ганта как один из основных способов представления сетевой модели в пакете MS Project 2007 может рассматриваться как неявное отображение структуры ВС.
После назначения ресурсов (ФУ) и задач (операций алгоритма) на диаграмме, помимо сведений о топологии проектируемой системы, предоставляется информация о времени выполнения операций структурными компонентами ВС и в целом о времени реализации алгоритма данной проектируемой системой.
В такой трактовке диаграмма - это модель системы, в которой функциональные устройства изображены значками, длина которых пропорциональна длительности операций, реализуемых данным устройством, а связи между операциями -стрелками, связывающими эти значки.
Проектируемая система представлена:
- операциями (ФУ);
- вехами (сигнал «пуск», окончание операции или алгоритма);
- фазами (группа взаимосвязанных операций);
- суммарной (сводной) задачей проекта (алгоритм работы системы);
- прерыванием операции (временное хранение данных).
Методы и средства анализа проекта предоставляют проектировщику следующие возможности:
1) вычисление значения и последующий анализ заданных оптимизационных параметров методом параметрического анализа;
2) выравнивание ресурсов путем подбора функциональных устройств;
3) оценка времени реализации алгоритма посредством PERT-анализа;
4) анализ и сокращение времени реализации алгоритма методами анализа критического пути;
5) анализ и оптимизация стоимости проектируемой системы и ее технических параметров;
6) оптимизация структуры системы на основании результатов, полученных при анализе рисков (в первую очередь, ресурсных и бюджетных).
В качестве примера использования пакета MS Project как вспомогательного инструмента разработчика вычислительной структуры рассмотрим синтез ВС, реализующий алгоритм обработки потоков данных (векторов) в соответствии с заданной математической моделью в условиях жестких временных ограничений. Предположим, математическая модель имеет вид
(1)
У1 = Х1 + У2 = (XI + Х2)Хз,
где у1, у2 - потоки данных, формируемые системой (выходные результаты); х1, х2, х3 - входные потоки данных.
Временные ограничения заданы в виде соотношения
^а —
(2)
где (а - время реализации алгоритма проектируемой системой; tзад - заданное ограничение на время выполнения алгоритма.
Сетевой график, соответствующий данной математической модели, представлен на рис. 1.
Рис. 1. Сетевой график алгоритма синтеза вычислительной структуры, заданной моделью (1)
Планирование процедур синтеза вычислительных структур на основе пакета MS Project
167
Рис. 2. Диаграмма Ганта для синтеза вычислительной структуры, заданной математической моделью (1)
На данном графике вершины соответствуют операциям алгоритма реализации модели (после назначения ресурсов - функциональным устройствам):
- 1, 2, 3 - ввод переменных х1, х2, х3 соответственно (устройства ввода);
- 4 - сложение (сумматор);
- 5 - умножение (умножитель);
- 6, 7 - вывод у1 и у2 соответственно (устройства вывода).
Диаграмма Ганта для однократного вычисления элементов векторов приведена на рис. 2.
Шкала времени отражает временные интервалы в некоторых абстрактных единицах (нс, мс, мкс и т. п.), вехи начала и окончания работы системы - поступление на вход сигнала «пуск» и формирование сигнала «окончание».
Предположим, что время однократного вычисления элементов у1 и у2 в соответствии с моделью (1) рассчитывается как = 4ад / N и равно 100 е. в. Здесь (7 - время вычисления 7-го элемента вектора у2; N - размерность входных и выходных векторов. Из анализа критического пути на диаграмме следует, что время реализации алгоритма не удовлетворяет условию (2). Анализ рисков позволяет выявить самую длинную операцию алгоритма - операцию умножения. Замена простого функционального устройства, реализующего эту операцию, на конвейерный умножитель позволит сократить время
формирования результата этой операции в n-маленькое раз, где n - разрядность кодов элементов векторов х и y [4].
Заключение. Проведенные исследования показали возможность применения методов сетевого планирования и реализующего эти методы пакета MS Project при проектировании вычислительных систем. В частности, структура системы может быть отображена сетевым графиком, диаграммой Ганта и другими представлениями; а методы анализа могут использоваться при решении оптимизационных задач.
Литература
1. Кобайло, А. С. Теория синтеза вычислительных систем реального времени / А. С. Кобайло. - Минск: БГТУ, 2010. - 256 с.
2. Жиляк, Н. А. Базовый алгоритм синтеза вычислительных систем реального времени / Н. А. Жиляк, А. С. Кобайло // Труды БГТУ. Сер. VI, Физ.-мат. науки и информатика. -2007. - Вып. XV. - С. 147-150.
3. Куперштейн, В. Microsoft Project 2007 в управлении проектами. Самоучитель / В. Куперштейн. - СПб.: BHV, 2008. - 560 с.
4. Коуги, П. М. Архитектура конвейерных ЭВМ / П. М. Коуги. - М.: Радио и связь, 1985. -С.12-36.
Поступила 02.03.2012