Технология решения систем линейных алгебраических уравнений в распределенной вычислительной среде




Скачать 48.45 Kb.
НазваниеТехнология решения систем линейных алгебраических уравнений в распределенной вычислительной среде
Дата20.12.2012
Размер48.45 Kb.
ТипЗадача
ТЕХНОЛОГИЯ РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ В

РАСПРЕДЕЛЕННОЙ ВЫЧИСЛИТЕЛЬНОЙ СРЕДЕ


П. Е. Горб, Ю. В. Ладыженский

Донецкий национальный технический университет


Рассматривается технология решения больших систем линейных алгебраических уравнений вида:

Ax = b (1)

где A – невырожденная матрица порядка n*n, b – вектор свободных членов, x – вектор неизвестных. Решение системы осуществляется итерационными методами.

Задача решения систем уравнений вида (1) достаточно распространена. Она возникает при описании нескольких процессов, каждый из которых описывается линейным уравнением. Сюда относится изучение процессов, протекающих в линейных электрических схемах, аппроксимация систем дифференциальных уравнений, в частности, описывающих процессы теплопроводности.

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

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

Предлагается строить взаимодействие между процессами по следующему принципу. Есть некоторый процесс, который получает данные от пользователя. Он проводит предварительную обработку этих данных. Затем процесс формирует сообщения и рассылает их требуемому числу вспомогательных процессов, которые выполняют непосредственные вычисления. Ответ возвращается первому процессу в виде сообщений от вспомогательных процессов. Здесь происходит анализ результатов вычислений и, при необходимости, процедура повторяется. Такой принцип взаимодействия процессов носит название «управляющий-рабочие». Первый процесс является управляющим, вспомогательные процессы – это рабочие.

Существует несколько технологий построения распределенных вычислительных систем. Одна из первых, технология RPC (Remote Procedure Call), основана на удаленных вызовах процедур. Процессу разрешается вызывать процедуры, реализованные на другой, удаленной машине. При этом параметры процедуры передаются на удаленную машину, там осуществляется выполнение процедуры и результаты возвращаются в точку вызова.

Технология COM (Component Object Model) – это объектная модель компонентов. Она применяется для связи между компонентами и приложениями, а также при описании API и взаимодействии различных языков и сред программирования. Одним из главных аспектов технологии COM является реализация клиент-серверных приложений при помощи интерфейсов. В COM-приложение входят COM-сервер, COM-клиент и COM-интерфейс.

COM-сервер – приложение или библиотека, которая предоставляет некоторые службы приложению-клиенту. COM-сервер содержит один или несколько COM-объектов. Каждый COM-объект реализует одну или несколько служб. Каждая служба описывается интерфейсом.

COM-клиент – приложение, которое использует службы COM-сервера, запрашивая при этом описанные интерфейсы.

COM-интерфейс – абстрактный класс, описывающий свойства и методы COM-объекта. Клиент через интерфейс объекта может использовать его методы и свойства как свои собственные.

Существует также технология CORBA (Common Object Request Broker Architecture) – обобщенная архитектура брокера объектных запросов. Данная технология также основана на ключевом понятии интерфейса. Объект предоставляет службу. Клиент обращается к ней, используя интерфейс.

В технологиях COM и CORBA реализована идея распределенных объектов (distributed objects). При этом интерфейс служит универсальным средством взаимодействия. Распределенные объекты размещаются на разных машинах. Когда процесс вызывает метод, реализация интерфейса на машине с процессом преобразует вызов метода в сообщение передаваемое объекту. Объект выполняет запрос и возвращает результаты. Реализация интерфейса преобразует ответное сообщение в возвращаемое значение, которое передается вызвавшему процессу.

Реализация распределенной системы, решающей систему уравнений вида (1), возможна средствами технологии COM, в качестве инструмента взята среда разработки Delphi. Перенос модели «управляющий-рабочие» на COM подразумевает следующее. Управляющий процесс должен быть реализован как COM-клиент, рабочие процессы, выполняющие вычисления, реализуются как COM-сервера, предоставляющие свои услуги через интерфейсы. COM-клиент принимает исходную систему от пользователя, выполняет преобразование к виду, удобному для итерации, делит систему на блоки, рассылает части исходных данных COM-серверам, используя их интерфейсы. Когда ответ получен, клиент выполняет сборку результатов и анализ точности полученного решения. При достижении заданной точности процесс вычислений прекращается. Важно, что в данном случае COM-клиент реализуется как одиночное приложение, использующее услуги нескольких удаленных COM-серверов.

В свою очередь, COM-сервера содержат COM-объекты, которые и реализуют функциональность, обеспечивающую решение систем вида (1) итерационными методами.

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

Литература

  1. Ортега Дж. Введение в параллельные и векторные методы решения линейных систем: Пер. с англ. – М.: Мир, 1991.

  2. Валях Е. Последовательно-параллельные вычисления. – М.: Мир, 1985.

  3. Таненбаум Э., Ван Стеен М. Распределенные системы. Принципы и парадигмы. – СПб.: Питер, 2003.

Похожие:

Технология решения систем линейных алгебраических уравнений в распределенной вычислительной среде iconПрямые методы решения систем линейных алгебраических уравнений

Технология решения систем линейных алгебраических уравнений в распределенной вычислительной среде iconПрограмма вступительных испытаний в магистратуру по направлению 010100. 68 Математика Программа обсуждена на заседании кафедры ит
Системы линейных уравнений. Метод Гаусса решения систем линейных уравнений. Определитель матрицы. Свойства определителя. Метод Крамера...
Технология решения систем линейных алгебраических уравнений в распределенной вычислительной среде iconВопросы к вступительному экзамену в аспирантуру по специальности
Однородные системы линейных алгебраических уравнений. Решение систем линейных уравнений с помощью метода Гаусса
Технология решения систем линейных алгебраических уравнений в распределенной вычислительной среде iconТематический план изучения дисциплины
Задачи линейной алгебры. Прямые и итерационные методы решения систем линейных алгебраических уравнений
Технология решения систем линейных алгебраических уравнений в распределенной вычислительной среде iconНаучных и учебно-методических работ
Специализированный процессор для решения систем линейных алгебраических уравнений в реальном масштабе времени
Технология решения систем линейных алгебраических уравнений в распределенной вычислительной среде iconТическое моделирование”
Точные методы численного решения систем линейных алгебраических уравнений (слау). Метод исключения Гаусса и lu-разложение. Вычисление...
Технология решения систем линейных алгебраических уравнений в распределенной вычислительной среде iconОбразования российской федерации
Прямые методы решения систем линейных алгебраических уравнений. Лабораторная работа для студентов дневного отделения. Специальность:...
Технология решения систем линейных алгебраических уравнений в распределенной вычислительной среде iconОбласть применения компьютеров для решения разнообразных задач по обработке информации быстро расширяется. Можно выделить три вида информации и соответственно
Вычислительные задачи, связанные с обработкой числовой информации, например, решение систем линейных алгебраических уравнений
Технология решения систем линейных алгебраических уравнений в распределенной вычислительной среде iconРадиофизический факультет
Ип в различных системах. Также содержание дисциплины направлено на обучение студентов основам решения задач линейной алгебры, решения...
Технология решения систем линейных алгебраических уравнений в распределенной вычислительной среде iconТике. На тему
I: методы решения систем линейных уравнений стр. 3-7
Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib.znate.ru 2014
обратиться к администрации
Библиотека
Главная страница