- •Формы параллелизма
- •Векторный параллелизм
- •Параллелизм независимых ветвей
- •Скалярный параллелизм
- •Скалярный параллелизм
- •Скалярный параллелизм
- •Классификация параллельных ЭВМ
- •Классификация Флинна
- •Классификация Флинна
- •Управление от потока данных
- •Параллельные ЭВМ
- •Параллельные ЭВМ
- •Параллельные ЭВМ
- •Параллельные ЭВМ
- •Скалярный параллелизм
- •Скалярный параллелизм
- •Скалярный параллелизм
- •Основные уровни систем команд
- •Основные уровни систем команд
- •Основные уровни систем команд
- •Основные этапы развития параллельной обработки
- •Конвейерные ЭВМ
- •Конвейерные ЭВМ
- •СуперЭВМ
- •Процессорные матрицы
- •Процессорные матрицы
- •Процессорные матрицы
- •Процессорные матрицы
- •Многопроцессорные ЭВМ
- •Многопроцессорные ЭВМ
- •Проблемы параллельного программирования
- •Многопроцессорные ЭВМ
- •Многопроцессорные ЭВМ
- •СКИФ
- •СКИФ - базовая кластерная архитектура
- •СКИФ - базовая кластерная архитектура
- •СКИФ - базовая кластерная архитектура
- •СКИФ - базовая кластерная архитектура
- •СКИФ - базовая кластерная архитектура
- •СКИФ - иерархические кластерные конфигурации (метакластеры)
- •Иерархические кластерные конфигурации (метакластеры) 41
- •Иерархические кластерные конфигурации (метакластеры) 42
- •Иерархические кластерные конфигурации (метакластеры) 43
- •Иерархические кластерные конфигурации (метакластеры) 44
- •Особенности модуля потокового уровня
- •Иерархические кластерные конфигурации (метакластеры) 46
- •Иерархические кластерные конфигурации (метакластеры)
- •Структурная схема БВМ ОВС
- •Структурная схема БВМ ОВС
- •Структурная схема БВМ ОВС
- •Структурная схема БВМ ОВС
- •Преимущества матрицы ОВС
- •Преимущества матрицы ОВС
- •Преимущества матрицы ОВС
- •Предпосылки для развития ОВС семейства «СКИФ»
- •Предпосылки для развития ОВС семейства «СКИФ»
Проблемы параллельного программирования |
31 |
Если в последовательной ЭВМ пользователь в процессе программирования задачи в основном следит за логикой метода вычислений, то в параллельной ЭВМ ему приходится дополнительно заниматься размещением данных и синхронизацией вычислительных процессов.
Это означает, что процесс программирования существенно усложняется, особенно если программирование ведется на уровне Ассемблера, чтобы повысить эффективность использования дорогостоящих параллельных ЭВМ. Такое программирование доступно только профессионально подготовленным программистам.
Физика компьютеров 2011 Л.А. Золоторевич
Многопроцессорные ЭВМ |
32 |
По мере удешевления и более широкого распространения параллельных ЭВМ доступ к ним получили пользователи, которые не являются профессиональными программистами, поэтому вопрос о системах программирования значительно обострился.
Для облегчения программирования для каждой ЭВМ стали создаваться параллельные ЯВУ. Так, для ILLIAC-IV было создано несколько языков: TRANQUIL, IVTRAN, GLYPNIR; для ЭВМ Эльбрус - язык ЭЛЬ-76 и адаптированы языки Алгол-68, Фортран, Паскаль и PL-1. Применение ЯВУ освобождает пользователя от знания
многих деталей структуры конкретной ЭВМ.
Однако полностью освободиться от влияния структуры ЭВМ на язык не удается, поэтому возникла проблема мобильности программного обеспечения, под которой понимают возможность переноса программ с одной параллельной ЭВМ на другую с минимум переделок или вообще без них.
Физика компьютеров 2011 Л.А. Золоторевич
Многопроцессорные ЭВМ |
33 |
Очевидным средством обеспечения мобильности является
разработка и использование (в качестве стандартных) проблемно- ориентированных языков, включающих средства описания параллельных вычислений.
К ним относятся языки Алгол-68, ADA, Фортран-8X.
Большое внимание уделяется разработке автоматических рас- параллеливателей последовательных программ для исполнения на параллельных машинах различных типов.
Наиболее радикальный путь автоматизации программирования вообще и параллельного в частности состоит в использовании методов искусственного интеллекта. В СССР это направление получило широкое развитие, разработаны системы программирования ДИЛОС, СПОРА.
Физика компьютеров 2011 Л.А. Золоторевич
СКИФ |
34 |
«Разработка и освоение в серийном производстве семейства
моделей высокопроизводительных вычислительных систем с параллельной архитектурой (суперкомпьютеров)
и создание прикладных программно-аппаратных комплексов на их основе» (программа «СКИФ»).
Основополагающими архитектурными принципами создания суперкомпьютерных конфигураций «СКИФ» являются:
базовая кластерная архитектура;
иерархические кластерные конфигурации (метакластеры);
универсальная двухуровневая архитектура.
Физика компьютеров 2011 Л.А. Золоторевич
СКИФ - базовая кластерная архитектура |
35 |
Базовая кластерная архитектура
Концепция создания моделей семейства суперкомпьютеров "СКИФ" основана на масштабируемой кластерной архитектуре,
реализуемой на классических кластерах из вычислительных узлов на основе компонентов широкого применения (стандартных микропроцессоров, модулей памяти, жестких дисков и материнских плат, в том числе с поддержкой симметричных мультипроцессорных систем (SMP)).
Кластерный архитектурный уровень –
это тесно связанная сеть (кластер) вычислительных узлов, работающих под управлением ОС Linux – одного из клонов широко используемой многопользовательской универсальной операционной системы UNIX.
Физика компьютеров 2011 Л.А. Золоторевич
СКИФ - базовая кластерная архитектура |
36 |
Для организации параллельного выполнения прикладных задач на данном уровне используются:
оригинальная система поддержки параллельных вычислений – Т-система, реализующая автоматическое динамическое распараллеливание программ;
классические системы поддержки параллельных вычислений, обеспечивающие эффективное распараллеливание прикладных задач различных классов (как правило, задач с явным параллелизмом):
MPI, PVM, Norma, DVM и др.
В семействе суперкомпьютеров "СКИФ" в качестве базовой классической системы поддержки параллельных вычислений выбран MPI, что не исключает использования других средств.
Физика компьютеров 2011 Л.А. Золоторевич
СКИФ - базовая кластерная архитектура |
37 |
В части Т-системы обеспечивается
автоматическое динамическое распараллеливание программ, что освобождает программиста от большинства трудоемких аспектов разработки параллельных программ, свойственных различным системам ручного статического распараллеливания:
−обнаружение готовых к выполнению фрагментов задачи (процессов);
−их распределение по процессорам;
−их синхронизацию по данным.
Все эти (и другие) операции выполняются в Т-системе автоматически и в динамике (во время выполнения задачи). Тем самым при более низких затратах на разработку параллельных программ обеспечивается более высокая их надежность.
Физика компьютеров 2011 Л.А. Золоторевич
СКИФ - базовая кластерная архитектура |
38 |
По сравнению с использованием распараллеливающих компиляторов,
Т-система обеспечивает более глубокий уровень параллелизма во время выполнения программы и более полное использование вычислительных ресурсов мультипроцессоров.
Это связано с принципиальными алгоритмическими трудностями (алгоритмически неразрешимыми проблемами), не позволяющими во время компиляции (в статике) выполнить полный точный анализ и предсказать последующее поведение программы во время счета.
Кроме указанных выше принципиальных преимуществ Т-системы перед известными сегодня методами организации параллельного счета в реализации Т-системы имеется ряд технологических находок, не
имеющих аналогов в мире, в частности:
1) реализация понятия "неготовое значение" и поддержка корректного выполнения некоторых операций над неготовыми значениями.
Тем самым поддерживается возможность выполнения счета в некотором процессе-потребителе в условиях, когда часть из обрабатываемых им значений еще не готова, т.е. не вычислена в соответствующем процессе- поставщике. Данное техническое решение обеспечивает обнаружение более глубокого параллелизма в программе;
Физика компьютеров 2011 Л.А. Золоторевич
СКИФ - базовая кластерная архитектура |
39 |
2) оригинальный алгоритм динамического автоматического распределения процессов по процессорам.
Данный алгоритм учитывает особенности неоднородных распределенных вычислительных сетей.
По сравнению с известными алгоритмами динамического автоматического распределения процессов по процессорам (например, с диффузионным алгоритмом и его модификациями) алгоритм Т-системы имеет
существенно более низкий трафик межпроцессорных передач. Тем самым Т-система обеспечивает снижение накладных расходов на организацию параллельного счета и предъявляет менее жесткие требования к пропускной способности аппаратуры объединения процессорных элементов в кластер.
В качестве языка программирования Т-системы используется расширение языка СИ новыми Т-конструкциями.
Физика компьютеров 2011 Л.А. Золоторевич
СКИФ - иерархические кластерные конфигурации (метакластеры) |
40 |
|
|
Отдельные кластеры могут быть объединены в единую кластерную |
|
конфигурацию –кластер высшего уровня, или метакластер (Metacluster). |
|
Метакластерный принцип позволяет создавать распределенные |
|
метакластерные конфигурации на базе локальных или глобальных сетей |
|
передачи данных. При этом, естественно, уменьшается степень связности |
|
подкластеров метакластерной конфигурации. Системное программное |
|
обеспечение метакластера обеспечивает возможность реализации |
|
гетерогенных систем (неоднородная система, состоящая из однородных |
|
частей), включающих подкластеры различной архитектуры на различных |
|
программно-аппаратных платформах. |
|
Для оптимизации организации на суперкомпьютерах «СКИФ» параллельного счета задач как с крупноблочным (явным статическим или скрытым динамическим) параллелизмом, так и с конвейерным или мелкозернистым явным параллелизмом, с большими потоками информации, требующими обработки в реальном режиме времени, концепция предусматривает возможность реализации
универсальной двухуровневой архитектуры суперкомпьютеров:
1-й уровень – базовый (кластерный) архитектурный уровень;2-й уровень – потоковый архитектурный уровень, реализующий
модель потоковых вычислений (data-flow).
Физика компьютеров 2011 Л.А. Золоторевич
