Главная Обратная связь

Дисциплины:






Классы параллельных систем



Многопроцессорные вычислительные системы

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

Актуальность

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

Развитие идей параллелизма (история)

Идея параллельной обработки возникла одновременно с появлением первых вычислительных машин. В начале 50-х гг. амери-канский математик Дж. фон Нейман предложил архитектуру по-следовательной ЭВМ, которая приобрела классические формы и применяется практически во всех современных ЭВМ. Однако фон Нейман разработал также принцип построения процессорной матрицы, в которой каждый элемент был соединен с четырьмя соседними и имел 29 состояний. Он теоретически показал, что такая матрица может выполнять все операции, поскольку она моделирует поведение машины Тьюринга.

Практическая реализация основных идей параллельной обработки началась только в 60-х гг. нашего столетия. Это связано с появлением транзистора, который благодаря малым размерам и высокой надежности по сравнению с электронными лампами позволил строить машины, состоящие из большого количества логических элементов, что принципиально необходимо для реализации любой формы параллелизма.
Появление параллельных ЭВМ с различной организацией (конвейерные ЭВМ, процессорные матрицы, многопроцессорные ЭВМ) вызвано различными причинами. Совершенствование этих ЭВМ происходило по внутренним законам развития данного типа машин.
Рассмотрим основные этапы совершенствования параллельных ЭВМ для каждого типа структур.
Конвейерные ЭВМ. Основополагающим моментом для развития конвейерных ЭВМ явилось обоснование академиком С.А.Лебедевым в 1956 г. метода, названного “принципом водопровода” (позже он стал называться конвейером). Прежде всего был реализован конвейер команд, на основании которого практи-чески одновременно были построены советская ЭВМ БЭСМ-6 (1957-1966 гг., разработка Института точной механики и вычислительной техники АН СССР) и английская машина ATLAS (1957-1963 гг.). Конвейер команд предполагал наличие многоблочной памяти и секционированного процессора, в котором на разных этапах обработки находилось несколько команд.
Конвейер команд позволил получить в ЭВМ БЭСМ-6 быстродействие в 1 млн. оп/с. В дальнейшем конвейеры команд совершенствовались и стали необходимым элементом всех быстродействующих ЭВМ, в частности, использовались в известных семействах ЭВМ IBM/360 и ЕС ЭВМ.
Следующим заметным шагом в развитии конвейерной обработки, реализованном в ЭВМ CDC-6600 (1964 г.), было введение в состав процессора нескольких функциональных устройств, позволяющих одновременно выполнять несколько арифметико-логических операций: сложение, умножение, логические операции.
В конце 60-х гг. был введен в использование арифметический конвейер, который нашел наиболее полное воплощение в ЭВМ CRAY-1 (1972-1976 гг.). Арифметический конвейер предполагает разбиение цикла выполнения арифметико-логической операции на ряд этапов, для каждого из которых отводится собственное оборудование. Таким образом, на разных этапах обработки нахо-дится несколько чисел, что позволяет производить эффективную обработку вектора чисел.



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

Процессорные матрицы. Идея получения сверхвысокого быстродействия в первую очередь связывалась с процессорными матрицами (ПМ). Предполагалось, что, увеличивая в нужной степени число процессорных элементов в матрице, можно получить любое заранее заданное быстродействие. Именно этим объясняется большой объем теоретических разработок по организации процессорных матриц.
В 60-х гг. в Институте математики Сибирского отделения АН СССР под руководством доктора технических наук Э.В.Евреинова сформировалось комплексное научное направление “Однородные системы, структуры и среды”, которое получило развитие не толь-ко в СССР, но и за рубежом. Книга “Однородные универсальные вычислительные системы высокой производительности”, изданная в 1966 г., была одной из первых в мире монографий, посвященных этой теме. В работах по однородным средам и системам исследовались матрицы с различными связями между элементами и конфигурацией, а также с элементами разной сложности и составом функций.
Поскольку в 60-е гг. логические схемы с большим уровнем интеграции отсутствовали, то напрямую реализовать принципы функционирования процессорной матрицы, содержащей множество элементарных процессоров, не представлялось возможным. Поэтому для проверки основных идей строились однородные системы из нескольких больших машин. Так, в 1966 г. была построена система Минск-222, спроектированная совместно с Институтом математики Сибирского отделения АН СССР и минским заводом ЭВМ им. Г.К.Орджоникидзе. Система содержала до 16 соединенных в кольцо ЭВМ Минск-2. Для нее было разработано специальное математическое обеспечение.
Другое направление в развитии однородных сред, основанное на построении процессорных матриц, состоящих из крупных процессорных элементов с достаточно большой локальной памятью, возникло в США и связано с именами Унгера, Холланда, Слотника. Была создана ЭВМ ILLIAC-IV (1966-1975 гг.), которая надолго определила пути развития процессорных матриц. В машине использовались матрицы 8*8 процессоров, каждый с быстродействием около 4 млн. оп/с и памятью 16 кбайт. Для ILLIAC-IV были разработаны кроме Ассемблера еще несколько параллельных языков высокого уровня. ЭВМ ILLIAC-IV позволила отработать вопросы коммутации, связи с базовой ЭВМ, управления вычислительным процессом. Особенно ценным является опыт разработки параллельных алгоритмов вычислений, определивший области эффективного использования подобных машин.
Примерно в то же время в СССР была разработана близкая по принципам построения ЭВМ М-10. Затем процессорные матрицы стали разрабатываться и выпускаться в ряде стран в большом количестве. Широко известной советской ЭВМ этого класса являлась машина ПС-2000, разработанная Институтом проблем управления АН СССР и запущенная в 1982 г. в производство.
Одной из наиболее сложных частей процессорных матриц является система коммутации. Самые простые ее варианты – кольцо и регулярная матрица соединений, где каждый узел связан только с двумя или четырьмя соседними, сильно ограничивают класс эффективно решаемых задач. Поэтому на протяжении всего времени существования параллельной обработки разрабатывались коммутаторы с более широкими возможностями: многомерные кубы, универсальные коммутаторы, коммутационные среды. В СССР работы, связанные с коммутаторами для ПМ, наибольшее развитие получили в Таганрогском радиотехническом институте.
Многопроцессорные ЭВМ. Одной из первых полномасштабных многопроцессорных систем явилась система D825 фирмы “BURROUGHS”. Начиная с 1962 г. было выпущено большое число экземпляров и модификаций D825.
Выпуск первых многопроцессорных систем, в частности D825, диктовался необходимостью получения не высокого быстродействия, а высокой живучести ЭВМ, встраиваемых в военные командные системы и системы управления. С этой точки зрения параллельные ЭВМ считались наиболее перспективными.
Система D825 содержала до четырех ПЭ и 16 модулей памяти, соединенных матричным коммутатором, который допускал одновременное соединение любого процессора с любым блоком памяти.
Существует мнение, что система D825 получила широкое распространение потому, что для нее впервые была разработана полноценная операционная система ASOR, обеспечившая синхронизацию процессов и распределение ресурсов.
В дальнейшем в СССР и на Западе были разработаны многопроцессорные системы, в которых все большее внимание уделялось операционным системам, языкам программирования, параллельной вычислительной математике.


Совершенствование микроэлектронной элементной базы, появление в 80-х годах БИС и СБИС позволили перейти к реализации структур с очень большим количеством ПЭ. Появились разработки по систолическим массивам, реализации многопроцессорных систем с программируемой архитектурой, ЭВМ с управлением от потока данных.
Большая плотность упаковки транзисторов на кристалле позволила разместить в одной микросхеме несколько АЛУ. Это по-зволило реализовать принцип суперскалярной обработки.
Если в последовательной ЭВМ пользователь в процессе программирования задачи в основном следит за логикой метода вычислений, то в параллельной ЭВМ ему приходится дополнительно заниматься размещением данных и синхронизацией вычислительных процессов. Это означает, что процесс программирования существенно усложняется, особенно если программирование ведется на уровне Ассемблера, чтобы повысить эффективность использования дорогостоящих параллельных ЭВМ. Такое программирование доступно только профессионально подготовленным программистам.
По мере удешевления и более широкого распространения параллельных ЭВМ доступ к ним получили пользователи, которые не являются профессиональными программистами, поэтому вопрос о системах программирования значительно обострился. Для облегчения программирования для каждой ЭВМ стали создаваться параллельные ЯВУ. Так, для ILLIAC-IV было создано несколько языков: TRANQUIL, IVTRAN, GLYPNIR; для ЭВМ Эльбрус – язык ЭЛЬ-76 и адаптированы языки Алгол-68, Фортран, Паскаль и PL-1. Применение ЯВУ освобождает пользователя от знания многих деталей структуры конкретной ЭВМ. Однако полностью освободиться от влияния структуры ЭВМ на язык не удается, поэтому возникла проблема мобильности программного обеспечения, под которой понимают возможность переноса программ с одной параллельной ЭВМ на другую с минимум переделок или вообще без них.
Очевидным средством обеспечения мобильности является разработка и использование (в качестве стандартных) проблемно-ориентированных языков, включающих средства описания параллельных вычислений. К ним относятся языки Алгол-68, ADA, Фортран-8X.
Большое внимание уделяется разработке автоматических рас-параллеливателей последовательных программ для исполнения на параллельных машинах различных типов.
Наиболее радикальный путь автоматизации программирования вообще и параллельного в частности состоит в использовании методов искусственного интеллекта. В СССР это направление получило широкое развитие, разработаны системы программирования ДИЛОС, СПОРА, ПРИЗ.

Основные классы параллельных ВС Основной характеристикой при классификации 3 параллельных вычислительных систем является способ организации памяти : общая память – все процессора работают в едином адресном пространстве с равноправным доступом к памяти

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

Классы параллельных систем

 

Можно выделить следующие классы параллельных систем : SMP – симметричные мультипроцессорные системы. SMP

обычно состоит из нескольких одинаковых процессоров и массива общей памяти. Все процессоры имеют доступ к любой точке памяти с одинаковой скоростью. Наличие общей памяти упрощает взаимодействие процессоров между собой, однако накладывает сильные ограничения на их число (обычно не более 32).

PVP – параллельные векторные системы.

( NEC SX-4/SX-5, CRAY J90/T90)
Основным признаком PVP-систем является наличие специальных векторно-конвейерных процессоров. Как правило, несколько таких процессоров работают одновременно над общей памятью (аналогично SMP) в рамках многопроцессорных конфигураций.

MPP – системы массового параллелизма.

(МВС-1000, IBM RS/6000 SP2, SGI/CRAY T3E)
MPP состоит из нескольких однородных вычислительных узлов; Каждый такой узел имеет свою локальную память (прямой доступ к памяти других узлов невозможен), один или несколько центральных процессоров( иногда – жесткий диск). Узлы обычно связаны специальной высокоскоростной сетью. Общее число процессоров в таких системах может достигать нескольких тысяч.

NUMA – системы с неоднородным доступом к памяти.

(SGI Origin2000, Sun HPC 10000)
NUMA (Non Uniform Memory Access) представляет собой нечто среднее между SMP и MPP. В NUMA память физически распределена, но логически общедоступна. Масштабируемость NUMA-систем ограничивается объемом адресного пространства и возможностями операционной системы.

Кластеры – дешевый вариант MPP.

( Avalon, Beowulf)
Обычно это сеть из серийных PC или рабочих станций общего назначения, которая объединяется в ‘’виртуальную многопроцессорную машину’’. Для связи узлов используется одна из стандартных сетевых технологий (Ethernet, Myrinet).





sdamzavas.net - 2019 год. Все права принадлежат их авторам! В случае нарушение авторского права, обращайтесь по форме обратной связи...