Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
учебник_Вс.doc
Скачиваний:
5
Добавлен:
01.03.2025
Размер:
12.88 Mб
Скачать

Глава 7. Исследование информационных граф-схем решаемых задач с векторными весами для планирования параллельных вычислений 204

7.1 Информационная граф-схема решаемых задач с векторными весами вершин 204

7.1.1 Понятие об неоднородных системах 204

7.1.2. Основные определения, используемые для неоднородных ВС 206

7.1.3. Вопросы к разделу 7.1 209

Литература 210

Введение

Повышение быстродействия вычислительных систем (ВС) является актуальнейшей задачей современной науки и техники. В данной работе будут рассматриваться архитектура ВС, как совокупность вычислительных модулей (ВМ), и методы их организации. Под вычислительным модулем (ВМ) будем понимать процессор или ЭВМ. Не менее важным вопросом является планирование параллельных вычислений применительно к ВС, созданных на базе фон-неймановских или гарвардских архитектур, которые в настоящее время получили наибольшее распространение. В основу первой и второй главы предлагаемого учебного пособия положены материалы работ [1,2] и собственные исследования автора. Глава третья представляет собой существенно переработанные в соответствии с духом времени идеи и методы, предложенные в [3,4]. Более подробное описание рассматриваемых вычислительных устройств, а также программ приводится в соответствующей цитируемой литературе и в интернете.

Процесс создания быстродействующих ВС развивается по трем основным направлениям:

1. Совершенствование элементной базы ВС:

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

1.2. внедрение в СБИС оптоэлектронных элементов;

1.3. перевод СБИС на работу в оптическом диапазоне.

2. Совершенствование архитектур ВС.

2.1. Широко используемые ВС, построенные на основе вычислителей классических фон-неймановских и гарвардских архитектур совершенствуются за счёт сокращения времени доступа к обрабатываемым данным, уменьшением времени выполнения инструкций процессоров. Особенно перспективным является создание архитектур, позволяющих распараллеливать вычисления на различных уровнях. Различаются три класса ВС: симметричные мультипроцессоры (SMP), кластеры и массово–параллельные системы (МРР).

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

2.1.2. Кластеры состоят из совокупности процессоров, объединённых либо сетью или разделённые устройствами внешней памяти. Используются, например, средства MEMORY CHANNAL фирмы DEC, AWS фирмы NCR, или локальные, универсальные и глобальные сети, такие как Ethernet, FDDI (Fiber distributed Data Interface), сети с протоколами TCP/IP (Transmission Control Protocol/Internet Protocol), или дисковые массивы с высокоскоростными двойными и квадро PCI SCSI контролерами. Кластер может включать до нескольких сотен вычислителей и обеспечивать живучесть при отказах некоторых элементов его оборудования.

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

3. Развитие архитектур ВС, использующих другие принципы обработки данных. В качестве примера можно привести ВС, использующие нейронные, ассоциативные процессоры [10,11].

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

Следует отметить, что эти четыре основных направления связаны друг с другом, взаимно дополняют друг друга. Так, например, при создании СБИС гораздо проще реализовать периодические структуры электронных схем. Это же свойство сушественно упрощает проектирование ВС для параллельных вычислений.

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

Специфика использования оптических БИС требует разработки принципиально новых методов и средств обработки данных и т. д.

В связи с появлением вычислительных систем (ВС) актуальнейшей проблемой стала разработка параллельных алгоритмов и программ, которые являются основными, чуть ли не главными компонентами этих систем. Решение этих проблем поставило перед разработчиками много новых проблем. В частности, в казалось бы более или менее законченной области человеческих знаний – математике потребовалось создание новых методов, позволяющих вычислять требуемые результаты, получая промежуточные данные одновременно на нескольких ВМ. Второй важной проблемой является создание на базе существующих математических методов параллельных алгоритмов решения задач на ВС, учитывающих архитектуры используемых ВС. Третьей важной проблемой является создание эффективных параллельных языков программирования. Конечно, список проблем на этом не заканчивается и можно продолжать этот список ещё достаточно долго.

Темой исследования данной работы являются способы представления параллельных алгоритмов, также методы отображения этих алгоритмов на структурах ВС. Было бы неправильно забыть о громадном количестве программ, которые были созданы для ЭВМ, поэтому в начале этой работы предлагаются методы и алгоритмы для преобразования последовательных алгоритмом и программ в параллельные. Это преобразование во многих случаях может вызвать большие затруднения, так как параллельная программа должна быть представлена в виде совокупности процедур и функций. Обмен данными между ними должен осуществляться с помощью аппарата формально – фактических параметров. Использование глобальных параметров различных уровней проблематично, так как затушёвывается зависимость по данным между процедурами и функциями. Выделить участок программы, и оформить его в виде процедуры или функции для создания параллельной секции, как это делается в Open MP, и добиться от этого выделения некоторого эффекта при распараллеливании, может только программист. Транслятор в этом случае может создавать параллельные ветви только для циклов по счётчику циклов. Безусловно, здесь также надо учитывать, что реализация программы на ВС требует, как правило, гораздо больших накладных расходов, поэтому не всякое преобразование последовательной программы в параллельную может быть эффективно и требует предварительных оценок при выборе структур ВС для решения рассматриваемой задачи. Для тех, кто имел дело с представлением параллельных алгоритмов с помощью схем алгоритмов по ГОСТ 19.003-80 ЕСПД, ГОСТ 19.701-90 ЕСПД, было понято, что эти схемы мало соответствуют требованиям к изображению параллельных алгоритмов и способов их отображения на структуры ВС. Поэтому в данной работе предлагается дополнение к этим ЕСПД для изображения алгоритмов в виде граф-схем, которые легко отображаются на структуры ВС с помощью библиотек Open MP, MPI и др. Конфигурации граф-схем позволяют представить в удобной форме все существующие операторы последовательных языков программирования, а также представлять схемы обмена данными между ВМ. На базе граф-схем создаются различные схемы анализа параллельных алгоритмов: матрицы следования, множества взаимно независимых операторов, внешние и внутренние замыкания в граф-схемах, определения минимального количества ВМ, обеспечивающих минимальное время решения задачи, построение нитей в граф-схемах алгоритмов решаемой задачи, распределение нитей по ВМ и т.д.