Организация вычислительного процесса в параллельной вычислительной машине
Общие положения. Работа процессора (микропроцессора) в ПВМ заключается в выполнении команд, каждая из которых содержит следующую информацию:
а) какая операция из данного набора операций должна быть выполнена;
б) из каких ячеек памяти должны быть взяты данные (аргументы операции);
в) в какие ячейки памяти должен быть помещен результат.
По функциональному признаку каждую команду можно разложить на сегменты:
- выборку команд (операндов) из памяти для обработки в решающем поле,
- дешифровку (декодирование) команд;
- формирование (генерирование) адресов;
- выбор базового и индексного регистров;
- посылка приказа для исполнения команды;
- передача результатов операций в память.
Основными способами обработки данных (слов) в ПВМ являются:
- пословная обработка, при которой все разряды каждого слова обрабатываются процессором последовательно слово за словом;
- поразрядная обработка, при которой одноименные разряды большого числа слов обрабатываются одним процессором параллельно.
Параллельная обработка информации в ПВМ совершается в двух режимах.
а) В статическом режиме заранее составляется план использования ресурсов (процессоров) ПВМ при решении конкретного класса задач. Характеристики алгоритма решения задачи и ресурсов ПВМ считаются заданными, что исключает необходимость и возможность корректировки плана.
б) В современных ПВМ используется, в основном, динамический режим распараллеливания потока информации между ресурсами ПВМ с использованием средств диспетчеризации процесса вычислений (раздел 6.3).
Распараллеливание вычислений в ПВМ. Уровни распараллеливания. Наряду с внешним распараллеливанием (распределением) потоков информации между ПВМ вычислительной системы (раздел 2.1), существуют средства распараллеливания вычислительных процессов внутри самой ПВМ.
Различают два уровня распараллеливания вычислений в ПВМ (рис. 6.1).
Рис. 6.1. Способы организации вычислений в ПВМ
1) Верхний уровень распараллеливания соответствует распределению между процессорами крупных заданий, т.е. программ отдельных задач, их ветвей, программных модулей и др. На верхнем уровне реализуются сложные стратегии управления обработкой информации, обусловленные назначением ПВМ, ее организацией, многоканальным режимом обслуживания и другими характеристиками. Здесь осуществляется разбиение работ на трудоемкие задания и диспетчеризация процесса вычислений с использованием супервизора -специального программного устройства, управляющего работой ПВМ (раздел 6.4.4).
2) Нижний уровень распараллеливания соответствует распределению отдельных программных инструкций решаемой задачи между процессорными элементами ПВМ.
Основной трудностью распараллеливания вычислений в ПВМ является необходимость учета временной последовательности и особенностей выполнения отдельных видов работ (задач, операторов, инструкций), которые закладываются при разработке алгоритмов и программ реализации вычислений на ПВМ (раздел 6.4.3).
Способы распараллеливания. Наиболее полной и универсальной информацией, связанной с распараллеливанием заданий, поступающих в ПВМ, являются граф-схемы, отражающие информационные связи между структурными частями заданий (отдельными задачами, операторами алгоритма, инструкциями программы и др.) (раздел 3.4). В памяти ПВМ граф-схемы задаются матрицами следования, инциденций и смежности, представленных в виде списков (разделы 3.5 и 3.6). Использование указанных матриц лежит в основе наиболее распространенного матричного способа распараллеливания.
Наиболее распространенными в настоящее время способами распараллеливания информации в ПВМ являются следующие.
1) Механизм семафоров (переключателей) Дейкстра позволяет осуществлять распараллеливание вычислительного процесса за счет определения параллельных ветвей в обрабатываемых на ПВМ заданиях.
Процесс параллельной обработки информации реализуется с помощью открытия и закрытия семафоров (раздел 4.5.1). Выполненные операторы открывают специально организованные семафоры для операторов, использующих их выходную информацию. Операции не выполняются до тех пор, пока не будут открыты указанные для них семафоры. Этот способ исключает необходимость и возможность внешнего вмешательства, что обеспечивает его использование в ПВМ с децентрализованной диспетчеризацией процесса вычислений.
2) Адресный способ осуществляет распараллеливание заданий путем использования адресов назначения вновь поступающих инструкций. Адрес инструкции сравнивается с адресом, записанным заранее в память ПВМ (раздел 5.5.3).
При совпадении адресов инструкция назначается к выполнению на очередном из свободных процессоров. При несовпадении адресов выполнение инструкции задерживается и начинается анализ следующей инструкции. Одновременно (независимо от результата сравнения) в память засылаются адреса записи, указанные в поступившей инструкции. После выполнения инструкции адрес записи стирается из памяти.
ПВМ стремится выполнить в первую очередь задержанные инструкции в порядке их поступления. Скорость подготовки инструкций к их выполнению и объем необходимой памяти для задержанных инструкций должны соответствовать быстродействию процессоров и времени обработки инструкций.
Дата добавления: 2023-09-28; просмотров: 326;