Архитектура информационных систем. Литература по теме Практические задания Тема Устройство персонального компьютера системный блок и периферия Вопросы для самопроверки Литература по теме
![]()
|
Тема 9. Архитектурные особенности параллельных, многопроцессорных и многомашинных вычислительных систем Цели и задачи: Цели и задачи изученияданной темы – знакомство с архитектурными особенностями многопроцессорных и многомашинных вычислительных систем, архитектурами систем параллельной обработки данных и различными подходами к увеличению производительности системы за счет распределения ресурсов, потоков команд и данных. В результате успешного изучения темы Вы: Узнаете: · способы организации взаимодействия компьютеров в многомашинных ВС; · организацию и принципы построения многопроцессорных ВС; · классификацию многопроцессорных параллельных ВС по режиму выполнения команд (классификация Флинна); · различные подходы к классификации многопроцессорных параллельных ВС (классификации Дункана, Хокни и другие); · технологию кластеризации как средства объединения многоуровневых ВС. Приобретете следующие профессиональные компетенции: · определять тип архитектуры ВС по представленному описанию режима выполнения команд и обработки данных (классификация Флинна); · определять потребности организации в использовании многомашинных или многопроцессорных ВС; · определять требования к архитектуре и производительности Супер ЭВМ исходя из решаемых с ее помощью задач; · определять тип архитектуры параллельной обработки данных исходя из поставленных задач. В процессе освоения темы акцентируйте внимание на следующих ключевых понятиях: Кластеризация - технология, с помощью которой несколько серверов, сами являющиеся вычислительными системами, объединяются в единую систему более высокого ранга для повышения эффективности функционирования системы в целом. Конвейерная обработка команд или данных заключается в том, что поступающий поток обрабатывается одним конвейерным устройством, работающем в режиме разделения времени для отдельных потоков. Параллельные ВС – многопроцессорные ВС, в которых реализована определенная параллельная архитектура, позволяющая значительно повысить производительность. В параллельных ВС оперативная память может быть общей для всех процессоров, либо своя для каждого процессора. Основным подходом к созданию архитектур параллельных ВС является классификация Флинна определяющая множественность либо единичность потоков команд и данных обрабатываемых процессорами. Потоковая обработка команд или данных заключается в том, что каждый поступающий поток обрабатывается своим собственным устройством. Теоретический материал по теме Вычислительные системы (ВС) подразделяются на две больших группы: · многомашинные; · многопроцессорные. Информационное взаимодействие компьютеров в многомашинной ВС (рис. 51) может быть организовано на уровне процессоров, оперативной памяти или каналов связи. ![]() Рис. 51. Уровни взаимодействия компьютеров в многомашинной ВС Ввиду сложности организации взаимодействия на 1-м и 2-м уровнях в большинстве многомашинных ВС используется 3-й уровень, уступающий им по быстродействию. Многопроцессорные системы (МПС) строятся при комплексировании нескольких процессоров. В качестве общего ресурса они имеют общую оперативную память (ООП). Параллельная работа процессоров с ООП обеспечивается под управлением единой общей операционной системы. По сравнению с ММС здесь достигается наивысшая оперативность взаимодействия процессоров-вычислителей. Однако МПС имеют и существенные недостатки. Во-первых, использование ресурсов общей оперативной памяти может приводить к возникновению конфликтных ситуаций, в которых несколько процессоров обращаются к одним и тем же ячейкам памяти. Помимо процессоров к ООП подключаются все процессоры ввода-вывода, средства измерения времени и т.д. Поэтому вторым серьезным недостатком МПС является проблема коммутации и доступа абонентов к ООП. От того, насколько удачно решаются эти проблемы, и зависит эффективность применения МПС. Эти решения обеспечиваются аппаратно-программными средствами. Процедуры взаимодействия очень сильно усложняют структуру ОС МПС. Опыт построения подобных систем показал, что они эффективны при небольшом числе комплексируемых процессоров (от 2 до 10). Типичным примером массовых многомашинных ВС могут служить компьютерные сети, а многопроцессорных ВС – суперкомпьютеры. Суперкомпьютеры. Супер-ЭВМ обладают производительностью, достигающей 1011 оп/с и выше. Такие ВС могут не только удовлетворительно решать сложнейшие научно-технические задачи, требующие огромного объема вычислений, но и обеспечивать работу более чем с 10 000 отдельных рабочих станций, для чего им требуются в качестве координатора системы ввода/вывода специальные ЭВМ. Однако, не взирая на их вычислительные возможности, супер-ЭВМ - пока все еще слишком дорогое удовольствие для коммерческого использования. Типичными областями применения супер-ЭВМ являются научные исследования, прогнозирование погоды, проектирование авиационной и космической техники, ядерные исследования, сейсмический анализ и другие области, требующие быстрой обработки очень большого количества данных. Определенную картину по использованию супер-ЭВМ дает сводный анализ по США: · оборонные проекты (45%); · нефтяные компании (18%); · университеты (13%); · космические исследования (10%); · другие (14%). Только очень мощные компьютерные фирмы такие, как Fujitsu, Hitachi, NEC (Япония), Goodyear, IBM, CDC, Burough, FPS (США) и еще несколько производят супер-ЭВМ и только одна - Cray Research (США) производит исключительно супер-ЭВМ, другое сопутствующее им оборудование и спецпроцессоры, являясь признанным лидером в этом классе ЭВМ. Многопроцессорные параллельные вычислительные системы. Суперкомпьютеры как и все современные параллельные ВС (ПВС) создаются в виде высокопараллельных многопроцессорных систем (МПВС)с различной архитектурой, наиболее распространенные из которых можно классифицировать по способу использования ОП и режиму выполнения команд процессорами системы. Относительно использования ОП ПВС можно классифицировать по двум основным группам: · ОП распределяется по процессорам; · процессоры разделяют общую ОП. Классификация по режиму выполнения команд была предложена Флинном (M.Flynn) в начале 60-х годов. В ее основу заложено два возможных вида параллелизма: независимость потоков заданий (команд), существующих в системе, и независимость (несвязанность) данных, обрабатываемых в каждом потоке. Согласно данной классификации существует четыре основных архитектуры ВС: Архитектура ОКОД - одиночный поток команд - одиночный поток данных илиSISD - Single Instruction Single Data охватывает все однопроцессорные и одномашинные варианты систем, то есть ВС с одним вычислителем (рис. 52). ![]() Рис. 52. Архитектура ОКОД по классификации Флинна Все ЭВМ классической структуры попадают в этот класс. Здесь параллелизм вычислений обеспечивается путем совмещения выполнения операций отдельными блоками АЛУ, а также параллельная работа устройств ввода-вывода информации и процессора. Архитектура ОКМД - одиночный поток команд - множественный поток данных или SIMD - Single Instruction Multiple Data предполагает создание структур векторной или матричной обработки (рис. 53). ![]() Рис. 53. Архитектура ОКМД по классификации Флинна Системы этого типа обычно строятся как однородные, то есть процессорные элементы, входящие в систему, идентичны, и все они управляются одной и той же последовательностью команд. Однако каждый процессор обрабатывает свой поток данных. Под эту схему хорошо подходят задачи обработки матриц или векторов (массивов), задачи решения систем линейных и нелинейных, алгебраических и дифференциальных уравнений, задачи теории поля и др. В структурах данной архитектуры желательно обеспечивать соединения между процессорами, соответствующие реализуемым математическим зависимостям. Как правило, эти связи напоминают матрицу, в которой каждый процессорный элемент связан с соседними. Векторный или матричный тип вычислений является необходимым атрибутом любой суперЭВМ. Архитектура МКОД - множественный поток команд - одиночный поток данных или MISD - Multiple Instruction Single Data, предполагает построение своеобразного процессорного конвейера, в котором результаты обработки передаются от одного процессора к другому по цепочке (рис. 54). ![]() Рис. 54. Архитектура МКОД по классификации Флинна Выгоды такого вида обработки понятны. Однако в большинстве алгоритмов очень трудно выявить подобный, регулярный характер вычислений. Кроме того, на практике нельзя обеспечить и «большую длину» такого конвейера, при котором достигается наивысший эффект. Вместе с тем конвейерная схема нашла применение в так называемых скалярных процессорах суперЭВМ, в которых они применяются как специальные процессоры для поддержки векторной обработки. Архитектура МКМД - множественный поток команд - множественный поток данных или MIMD - Multiple Instruction Multiple Data предполагает, что все процессоры системы работают по своим программам с собственным потоком команд (рис. 55). ![]() Рис. 55. Архитектура МКМД по классификации Флинна В простейшем случае они могут быть автономны и независимы. Такая схема использования ВС часто применяется на многих крупных вычислительных центрах для увеличения пропускной способности центра. В современных СуперЭВМ используются три варианта архитектуры МПВС: · структура MIMD в классическом ее варианте (например, в суперкомпьютере BSP фирмы Burrought); · параллельно-конвейерная модификация, иначе MMISD, то есть многопроцессорная (Multiple) MISD архитектура (например, в суперкомпьютере «Эльбрус 3»); · параллельно-векторная модификация, иначе MSIMD, то есть многопроцессорная SIMD архитектура (например в суперкомпьютере Cray 2). Примером организации мультипроцессорной супер-ЭВМ может служить отечественная Эльбрус-3, в архитектуре которой использован целый ряд интересных решений. Центральным узлом управления при такой организации является быстродействующий коммутатор межмодульных связей (КМС), где в качестве модулей выступают: · процессоры (ЦП); · модули памяти (ОП); · процессоры ввода/вывода (ПВ/В). КМС обеспечивает возможность установления связи любого ЦП с любым модулем ОП и любым ПВ/ В, связь любого ПВ/В с любым модулем ОП; при этом, возможны одновременная связь и передача данных через КМС между различными парами модулей ВС. Следовательно, принцип КМС реализует пространственное разделение при коммутации соединений в отличие от временного разделения в случае использования общей шины, а также существенно уменьшает число конфликтных ситуаций в ВС. Однако с целью получения высокой общей производительности ВС требуется быстрая реактивность переключений КМС, что является весьма трудной технической задачей ввиду сложной логики КМС. Используется несколько типов КМС: · матричный; · мультиплексная шина; · многоуровневые коммутационные сети. В настоящее время возможно построение систем с массовым параллелизмом (MPP - Mass Parallel Processing) с десятками, сотнями и даже тысячами процессорных элементов, с размещением их в непосредственной близости друг от друга. Если каждый процессор системы имеет собственную память, то он так же будет сохранять известную автономию в вычислениях. Считается, что именно такие системы займут доминирующее положение в мире суперкомпьютеров в ближайшие десять-пятнадцать лет. Параллельную архитектуру МРР-компьютера определяют следующие компоненты: · процессорная матрица (ПМ); · устройство управления процессорной матрицей (УУПМ); · устройство подготовки программ и данных (УППД); · переходная память (ПП) для буферизации и перекомпоновки данных; · ведущая и интерфейсная ЭВМ, внешняя память (ВП) и система интерфейсов. ПМ представляет собой матрицу процессорных элементов (ПЭ), оперирующую с двумерными массивами данных. Каждый ПЭ имеет собственную локальную память произвольного доступа и связан со своими соседями. Каждый ПЭ имеет непосредственный доступ только к данным из своей локальной памяти; доступ к другим данным возможен только через межпроцессорную связь или через ПП. ![]() Рис. 56. Архитектура параллельной супер-ЭВМ Кластеры. Опыт создания серверов на основе MPP-структур и SMP-структур (SMP — Shared Memory multiprocessing, технология мультипроцессирования с разделением памяти) показал, что они не обеспечивают хорошей адаптации к конкретным условиям функционирования, остаются дорогими и сложными в эксплуатации. Одним из решений этой проблемы является кластеризация, то есть технология, с помощью которой несколько серверов, сами являющиеся вычислительными системами, объединяются в единую систему более высокого ранга для повышения эффективности функционирования системы в целом (рис. 57). ![]() Рис. 57. Вычислительный кластер Целями построения кластеров могут служить: · улучшение масштабируемости (способность к наращиванию мощности); · повышение надежности и готовности системы в целом; · увеличение суммарной производительности; · эффективное перераспределение нагрузок между компьютерами кластера; · эффективное управление и контроль работы системы и т.п. Улучшение масштабируемости или способности к наращиванию мощности предусматривает, что все элементы кластера имеют аппаратную, программную и информационную совместимость. В сочетании с простым и эффективным управлением изменение оборудования в идеальном кластере должно обеспечивать соответствующее изменение значений основных характеристик, то есть добавление новых процессоров, дисковых систем должно сопровождаться пропорциональным ростом производительности, надежности и т.п. В реальных системах эта зависимость имеет нелинейный характер. Масштабируемость SMP- и MPP-структур достаточно ограничена. При большом числе процессоров в SMP-структурах возрастает число конфликтов при обращении к общей памяти, а в MPP-структурах плохо решаются задачи преобразования и разбиения приложений на отдельные задания процессорам. В кластерах же администраторы сетей получают возможность увеличивать пропускную способность сети за счет включения в него дополнительных серверов, даже уже из числа работающих, с учетом того, что балансировка и оптимизация нагрузки будут выполняться автоматически. Следующей важной целью создания кластера является повышение надежности и готовности системы в целом. Именно эти качества способствуют популярности и развитию кластерных структур. Избыточность, изначально заложенная в кластеры, способна их обеспечить. Основой этого служит возможность каждого сервера кластера работать автономно, но в любой момент он может переключиться на выполнение работ другого сервера в случае его отказа. Наряду с классификацией Флинна существуют другие подходы к классификации параллельных вычислительных систем. |