Главная » Информационные системы » Операционные системы » Потенциально параллельные системы

Потенциально параллельные системы

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

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

 src=img/10.jpg

Рис.1.2.       Разделение данных на несколько фрагментов.

 

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

 

Рис.1.3.    Трехступенчатый конвейер.

 

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

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

1•Поддержка выполнения раздельных задач.

2•Управление этими задачами, в частности их запуском и остановкой.

3•Представление средств синхронизации задач и передачи между ними данных.

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


Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.

Поделиться
Дисциплины