Главная
»
Информационные системы
»
Операционные системы
»
Потенциально параллельные системы
Потенциально параллельные системы
Потенциально параллельными могут быть программы, где производится большой объем вычислений либо обрабатываются значительные массивы данных и при этом результат должен быть получен в реальном времени.
Для того чтобы превратить последовательную задачу в параллельную, проще всего сохранить последовательную структуру алгоритма, но разделить данные на несколько одновременно обрабатываемых фрагментов, как это показано на Рис.1.2. В этом случае выполнение ускоряется во столько раз, на сколько частей удается разбить данные.
Рис.1.2. Разделение данных на несколько фрагментов.
Еще одним решением является конвейеризация. Если выполнение некоторой задачи, связанной с обработкой данных, может производиться в несколько этапов, определяемых как самостоятельные функции, данные будут передаваться от функции к функции. Примером может служить компилятор, последовательно выполняющий лексический анализ программы, проверку типов, генерацию кода (Рис.1.3).
Рис.1.3. Трехступенчатый конвейер.
Параллельные алгоритмы применяются для выполнения следующих задач: численная алгоритмическая обработка, моделирование физических систем. Применяемые при этом численные методы, основанные на решении дифференциальных уравнений, быстрое преобразование Фурье, преобразования других типов хорошо поддаются декомпозиции в целях параллельного выполнения.
Системы, поддерживающие параллельные приложения, должны удовлетворять следующим требованиям:
1•Поддержка выполнения раздельных задач.
2•Управление этими задачами, в частности их запуском и остановкой.
3•Представление средств синхронизации задач и передачи между ними данных.
4•Реализация двух альтернативных возможностей: строгого разделения данных, с которыми работают задачи, и их совместного использования.
Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.