Научная статья на тему 'Использование технологии параллельных и распределенных вычислений в САПР РЭА'

Использование технологии параллельных и распределенных вычислений в САПР РЭА Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Текст научной работы на тему «Использование технологии параллельных и распределенных вычислений в САПР РЭА»

Абрамов О.В., Некрас Д.А. ИСПОЛЬЗОВАНИЕ ТЕХНОЛОГИИ ПАРАЛЛЕЛЬНЫХ И РАСПРЕДЕЛЕННЫХ ВЫЧИСЛЕНИЙ В САПР РЭА

ВВЕДЕНИЕ

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

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

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

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

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

СХЕМА ПРОЦЕССА ПРОЕКТИРОВАНИЯ

Известно, что задачи, решаемые в процессе проектирования, делятся на задачи анализа и синтеза.

Задачи синтеза связаны с получением проектных вариантов, а задачи анализа - с их оценкой. Различают синтез структурный и параметрический.

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

Цель параметрического синтеза - определение числовых значений параметров элементов.

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

Фигурирующие в математических моделях проектируемых схем величины называют параметрами. Различают параметры, характеризующие свойства элементов - внутренние параметры х = (х-^хп) , параметры, характеризующие свойства схемы, - выходные параметры у = ,..., ут) и параметры внешней по отношению к рас-

сматриваемой схеме среды - внешние параметры Q .

Очевидно, что выходные параметры связаны определенными соотношениями с х и Q . Если эта связь

может быть представлена в явной форме

у = Р(х,0), (1)

то (1) называют аналитической моделью.

В задачах проектирования РЭА чаще всего не удается построить аналитические модели. Поэтому обычно используются алгоритмические модели, в которых отображение (1) задается в виде алгоритма.

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

К задачам одновариантного анализа относится анализ статических состояний, переходных процессов, устойчивости. Многовариантный анализ может быть детерминированным или статистическим (вероятностным) в зависимости от того, какие характеристики являются результатом его реализации. Названия «одно и многовариантный анализ» подчеркивают то обстоятельство, что для их выполнения обычно требуется соответственно один или много вариантов решения уравнений математической модели.

Исходные данные для проектирования зафиксированы в техническом задании (ТЗ), включающем перечисление функций объекта, технические требования (ограничения) на выходные параметры и допустимые пределы изменения внешних параметров. Требуемые соотношения между выходными параметрами у и техническими требованиями называют условиями работоспособности:

aj < у(х)< Ь], ]=1,т, (2)

где у={у]}т]=1 - вектор выходных параметров устройства, причем у]=¥](х1, хп ), а ¥](»)- известный оператор, зависящий

от топологии исследуемого устройства.

Процесс проектирования носит итерационный характер и состоит из нескольких этапов. Синтезируется исходный вариант структуры, для него составляется математическая модель и выбираются исходные параметры элементов. Проводится расчет выходных параметров и анализ работоспособности выбранного варианта проектируемого объекта. Если получена приемлемая степень выполнения условий работоспособности, то синтезируемый вариант считается на данном этапе проектирования окончательным. Если удовлетворительный вариант не достигнут, то принимается решение о путях дальнейшего улучшения объекта. Для обеспечения требуемой или наибольшей степени выполнения условий работоспособности при заданной структуре объекта необходимо решить задачу оптимального параметрического синтеза [1].

ЗАДАЧА ОПТИМАЛЬНОГО ПАРАМЕТРИЧЕСКОГО СИНТЕЗА

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

работы) в течение заданного времени:

Хном= агд тах Р{Х(Хном , ^ еБ*, Vt е[0,Т]}, (3)

где Х(*ном , ^ - случайный процесс изменения параметров; Б* - область работоспособности; Т - заданное время эксплуатации

устройства.

Область допустимых вариаций внутренних параметров Б* , как правило, неизвестна, поэтому условия работоспособности обычно задаются системой неравенств (2).

Обычная процедура получения оценок вероятности безотказной работы (3) связана с статистическим моделированием процессов изменения параметров Х(Ь) и вычислением методом Монте-Карло вероятности

Рг(Ы=Р{ Х(1)еВх V 1е[0,Т]}, (4)

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

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

Задаем исходный вектор номиналов параметров X ^ .

Исходя из заданных законов распределения параметров х1, ..., хп, генерируем реализацию случайного вектора параметров х(к>.

Для заданной реализации значений параметров вычисляем выходные параметры.

У]=¥ (х(к)), 0 = 1, т

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

Проверяются условия работоспособности

уеВу,

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

Выполнение пункта 4 позволяет отнести данную реализацию х{к) к числу «хороших» (обеспечивающих работоспособное состояние системы) или «плохих».

Этой операцией завершается первый внутренний цикл и происходит возврат к пункту 2.

Генерируем следующую реализацию х(к+1), проходим пункты 3 и 4 и т.д до тех пор, пока число реализаций не станет равным заданному числу N.

5. Вычисляем вероятность выполнения условий работоспособности (4) при выбранном векторе номиналов внутренних параметров

т(1)

^ ,а точнее, оценку этой вероятности .

Общее число итераций N определяется необходимой точностью оценки вероятности нахождения параметров в области работоспособности:

= Ъх N '

где Пх - число «хороших», принадлежащих области работоспособности, реализаций из общего числа N испытаний.

Не останавливаясь на известных процедурах определения числа испытаний Ы, обеспечивающих требуемую точность оценки вероятности Р, отметим только, что обычно N>100.

Отметим также, что для вычисления оценки вероятности безотказной работы в течение определенного времени Р(Ь) указанная выше процедура 2-4 осуществляется несколько раз, определяемых необходимым числом временных сечений случайного процесса Х^), так называемых t -сечений [1].

6. Сравниваем полученное значение Р(1) с требуемым. Если оно меньше требуемого, возвращаемся к пункту 1 и проводим все необходимые расчеты для нового вектора номиналов.

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

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

ОРГАНИЗАЦИЯ ПРОЦЕССА РАСПРЕДЕЛЕННЫХ (ПАРАЛЛЕЛЬНЫХ) ВЫЧИСЛЕНИЙ

Эффективным средством преодоления вычислительной трудоемкости (временных затрат) задач оптимального параметрического синтеза (ОПС) может стать использование современных технологий параллельных и распределенных вычислений.

Представим программную среду для решения задач ОПС в виде набора взаимосвязанных программноалгоритмических модулей.

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

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

Модуль детерминированного анализа. Для выбранной структуры (топологии) и заданных значений внутренних параметров Хном=(х1ном , ..., хпном) здесь происходит вычисление значений выходных параметров си-

стемы у={у]}то=1, уо=¥](х1, хп ). Этот этап, по сути, состоит в решении систем уравнений, при этом может возникнуть необходимость выбора метода решения и параметров вычислительного алгоритма (шага интегрирования, параметров остановки, и т.д.). Поскольку обращение к этому модулю производится многократно, здесь уместен диалоговый (интерактивный) режим организации вычислительного процесса на стадии настройки и организация параллельного процесса вычислений, что особенно важно для последующих

этапов статистического анализа и оптимизации.

Модуль статистического анализа. Он включает в себя алгоритмические и программные средства генерации случайных процессов изменения внутренних параметров Х(1) и вычисления целевой функции (4) методом статистических испытаний (Монте-Карло). Высокая вычислительная трудоемкость этого метода, а также необходимость многократного вычисления значений целевой функции в процессе поисковой оптимизации вызывает необходимость разработки параллельного аналога метода Монте-Карло. Один из вариантов парал-

лельного алгоритма статистических испытаний приведен в работе [2].

Модуль оптимизации. Он включает в себя набор алгоритмических и программных средств для решения задачи (3).

Современные САПР развивается в двух основных направлениях: с одной стороны, широко используются

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

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

Используя многопроцессорные системы, распараллеливание можно организовать следующим образом:

- программирование на стандартных и широко распространенных языках программирования с использованием высокоуровневых коммуникационных библиотек и интерфейсов (API) для организации межпроцессного взаимодействия. Например, Gala - библиотека параллельного программирования для Delphi (Windows 95/98/NT). Модель взаимодействия параллельных процессов - асимметричное рандеву (как в языке Ada). Взаимодействие выполняется с помощью объектов-каналов, которыми владеют процессы. Кроме этого, в библиотеку включена поддержка всех синхронизирующих примитивов Win32.

- введение специальных "распараллеливающих" конструкций в язык программирования. При этом могут

создаваться оригинальные параллельные языки или параллельные расширения существующих языков (с сохранением преемственности). Например, НОРМА - язык непроцедурной спецификации вычислительных задач, ABCL (An object-Based Concurrent Language) - параллельный язык, сочетающий в себе элементы объектноориентированного программирования и средства посылки сообщений.

- использование средств автоматического распараллеливания последовательных программ. Например, KAP (Kuck Accelerator Package) - оптимизирующий препроцессор Fortran/C-программ с обнаружением параллелизма.

- программирование на стандартных языках. Использование в качестве конструктивных элементов зара-

нее распараллеленных процедур из специализированных библиотек. Например, ATLAS (Automatically Tuned Linear Algebra Software) - библиотека, позволяющая автоматически генерировать и оптимизировать численное программное обеспечение для процессоров с многоуровневой организацией памяти и конвейерными функциональными устройствами. Базируется на BLAS 3-го уровня (Level 3) . ATLAS требует некоторого

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

параметров получает "оптимальный" код.

- использование инструментальных систем, облегчающих создание и проектирование параллельных программ. Например, CODE - графическая система создания параллельных программ. Параллельная программа представляется в виде графа, вершинами которого являются последовательные участки, а дуги соответствуют пересылкам данных. Последовательные участки могут быть написаны на любом языке, для пересылок используется PVM или MPI. Полезным может быть исследовательский проект HeNCE - HEterogeneous Network Computing Environment. Графическая среда (UNIX/X-Window), разработанна для помощи в создании параллельных программ, работающих на сети рабочих станций (в модели PVM), и предназначена для желающих эффективно использовать имеющуюся сеть рабочих станций, не вдаваясь в подробности параллельного программирования. HeNCE включает графические средства построения, компиляции, запуска и анализа HeNCE-программ (программист сам не пишет в терминах PVM). Обеспечивает высокий уровень абстракции для спецификации параллелизма. Программа описывается в виде направленного ациклического графа (DAG), в котором вершины соответствуют процедурам, а дуги - зависимостям (зависимости расставляет пользователь). Включает средства графического конфигурирования гетерогенного PVM-кластера для запуска программы.

При реализации распределенного режима вычислений, основанного на использовании возможностей локальных вычислительных сетей (ЛВС), необходима разработка модуля с клиент-серверной архитектурой, контролирующего вычислительные мощности существующей ЛВС, передающего параметры расчета и собирающего результаты. Сервер будет раздавать задания каждой клиентской машине, после выполнения которых машина будет передавать результат обратно серверу. Сервер должен предоставлять удобную систему ввода электронной схемы, с богатым набором компонентов радиоэлементов и осуществлять контроль над существующими клиентскими станциями. Клиентские станции с установленной системой моделирования и системой алгоритмов детерминированного, статистического анализа и оптимизации, принимают задания от сервера, выполняют их и отсылают результат по сети серверу. После того, как схема собрана и готова к расчетам, параметры передаются моделирующей программе. Основу моделирующей системы в большинстве САПР на сегодняшний день составляет программа PSpice. Первая версия программы PSpice для IBM PC создана в 1984 г. корпорацией MicroSim. Pspice является наиболее известной модификацией программы схемотехнического моделирования SPICE (Simulation Program with Integrated Circuit Emphasis), разработанной в начале 70-х годов в Калифорнийском университете г. Беркли. Она после усовершенствования стала эталонной программой моделирования аналоговых устройств. Математические модели полупроводниковых приборов используются во многих аналогичных программах, а списки соединений схемы в формате SPICE составляются большинством пакетов САПР (Micro-Cap, Dr.Spice, OrCAD, P-CAD, ACCEL EDA, Viewlogic, COMPASS, Design Architect и др.) . Это и последующие версии используют те же алгоритмы, что и SPICE, тот же формат представления входных данных.

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

сторы, арсенид-галлиевые транзисторы, МОП-транзисторы.

Необходимо отметить, что многие из алгоритмов анализа и оптимизации поддаются распараллеливанию. Например, алгоритм анализа работоспособности РЭА базируется на расчете выходных параметров схемы. Как правило, число выходных параметров невелико. Параллельную обработку таких вычислений легко организовать. Каждая рабочая станция будет обрабатывать свой уникальный выходной параметр, а сервер -осуществлять проверку заданных в ТЗ условий работоспособности.

Наиболее сложно распараллелить процесс моделирования (расчета выходных параметров) РЭА. Во всех SPICE-подобных системах моделирования организация вычислительного процесса носит последовательный характер. Возможными путями реализации режима распределенных вычислений в таких системах могут быть автоматическое распараллеливание последовательных программ (программная декомпозиция), либо использование декомпозиции структуры самой схемы. В этом случае каждый отдельный узел (модуль) схемы будет обрабатываться своей рабочей станцией.

Схема работы подобной системы представлена на рис. 1.

Детерменированный, с татис тичес кий анализ и оптимизация

Результат

Результат

<

Результат

Рис. 1.

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

Работа выполнена при финансовой поддержке грантов ДВО РАН рамках программы фундаментальных иссле-

дований Президиума РАН № 17 и программы №16 ОЭММПУ РАН.

Литература

1. Абрамов О.В. Параметрический синтез стохастических систем с учетом требований надежности. -М.: Наука, 1992.

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

2. Абрамов О.В., Катуева Я.В. Технология параллельных вычислений в задачах анализа и оптимизации.

// Проблемы управления, №4, 2003. С. 11-15.

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