Многопроцессорные компьютерные технологии. Лекция Многопроцессорные и многомашинные вс. Суперкомпьютеры Причины развития и распространения комплексных вс
Скачать 1.13 Mb.
|
Размещено на http://www.allbest.ru/ Лекция 5. Многопроцессорные и многомашинные ВС. Суперкомпьютеры Причины развития и распространения комплексных ВС Кризис идей. Все те принципы, которые лежали в основе классической архитектуры ЭВМ, на сегодняшний день исчерпали себя. Достижение физических пределов в области микроэлектроники (плотность расположения элементов на кристалле, скорость передачи данных – ограничена скоростью света). Экономическая целесообразность. В пределах временного интервала, характеризующегося стабильностью элементной базы, связь стоимости и производительности ЭВМ выражается квадратичной зависимостью (закон Гроша): Таким образом, каждая дополнительная инвестиция в вычислительную систему позволяет получить квадратичный эффект в производительности. Виды Вычислительных Систем Одномашинные (вычислительные машины); Многомашинные (например, вычислительные сети); Многопроцессорные. Многомашинные вычислительные системы состоят из некоторого числа компьютеров, информационно взаимодействующих между собой. Машины могут находиться друг от друга на значительном расстоянии. Каждый компьютер работает под управлением своей ОС, поэтому обмен информацией между ЭВМ несколько замедлен (из-за необходимости согласования работы ОС). Информационное взаимодействие в многомашинной ВС может быть организовано на уровне: Процессоров – через регистры процессорной памяти, это требует наличия специального программного обеспечения в ОС каждой ЭВМ; Оперативной памяти – через программную реализацию общего поля в оперативной памяти, реализуется средствами ОС; Каналов связи – обмен данными и доступ к внешней памяти и периферийным устройствам осуществляется через специально организованные каналы связи, которые реализуется внешним по отношению к ОС программным обеспечением (хотя часто используются встроенные – стандартные – средства сетевых ОС). Однородные, то есть построенные на основе однотипных компьютеров или процессоров, что позволяет использовать стандартные наборы программных средств и типовые протоколы сопряжения устройств; Неоднородные, то есть включающие в свой состав различные типы компьютеров или процессоров, из-за чего при построении системы приходится учитывать их различные технические и функциональные характеристики. Некоторые специалисты (особенно практики) дают понятие однородности вычислительных сетей, отличное от понятия однородности вычислительной системы. Однородность вычислительной сети в этом случае предполагает наличие программной совместимости ее узлов. То есть локальная сеть, в которой объединено несколько персональных компьютеров, управляемых разными ОС (например, Unix и Windows), является, по их мнению, неоднородной вычислительной сетью. Поэтому при указании однородности/неоднородности вычислительной системы/сети об этом нужно помнить и точно выяснять что имеется в виду в данном конкретном случае. Оперативные, то есть функционирующие в реальном масштабе времени, что позволяет реализовывать оперативные режим обмена информацией и незамедлительно получать ответы на свои запросы; Неоперативные, в которых допускается режим «отложенного ответа» и результаты выполнения запроса получаются с некоторой задержкой (иногда в следующем сеансе работы системы). С централизованным управлением (имеется выделенный компьютер или процессор, управляющей всей системой в целом); С децентрализованным управлением (узлы системы – равноправны и могут брать управление на себя) Примеры: Глобальные вычислительные сети, вычислительные системы с перестраиваемой структурой. Территориально-сосредоточенные; Распределенные (вычислительные сети). Структурно одноуровневые – имеется один общий уровень обработки данных; Многоуровневые (иерархические) – машины (процессоры) распределены по разным уровням обработки информации, некоторые машины могут специализироваться на выполнении определенных функций (работа с внешними устройствами, выполнение специализированных задач). Преимущества ВС Повышение надежности и достоверности результатов обработки информации (Пример: в системе «Шаттл» используется 5 вычислительных машин, решающих одну и ту же задачу, чтобы уменьшить вероятность появления ошибок в вычислениях); Повышение скорости вычислений (Пример: Проект «SETI@Home») Децентрализация хранения и обработки данных (Пример: распределенные БД); Принципы построения ВС Возможность работы в разных режимах; Модульность структуры технических и программных средств, что позволяет совершенствовать и модернизировать ВС без их коренных переделок; Унификация и стандартизация технических и программных решений; Иерархическая организация управления процессами; Способность систем к адаптации, самонастройке и самоорганизации; Обеспечение пользователей необходимым сервисом при выполнении вычислений. Основные архитектуры вычислительных систем В основу классификации заложено два возможных вида параллелизма: независимость потоков заданий и независимость потоков данных. Отсюда возникает 4 возможных архитектуры ВС: Архитектура «Одна команда – одно данное» (ОКОД, SISD, Single Instruction Single data). К ней относятся все однопроцессорные и одномашинные вычислительные системы. Параллелизм в таких ВС может достигаться за счет многофункциональной обработки данных (управление вводом/выводом, взаимодействие с внешними устройствами осуществляется специальными аппаратными средствами – контроллерами, сопроцессорами и т.п.), а также совместного выполнения операций отдельным блоками АЛУ процессора (конвейерная обработка данных, суперскалярная архитектура и др. – см. лекцию 4). Векторная архитектура (ОКМД, «Одна команда – одно данное», SIMD, Single Instruction Multiple Data), на основе которой обычно строятся однородные многопроцессорные ВС. Все исполнители управляются одним и тем же потоком команд, однако каждый процессор обрабатывает свой собственный поток данных. Такая архитектура очень хорошо подходит для выполнения операций с векторами и матрицами, поэтому используется для решения линейных и дифференциальных уравнений, иных вычислительных задач. Магистральная архитектура (МКОД, «Много команд – одно данное», MISD – Multiple Instruction Single Data), которая предлагает построение своеобразного процессорного конвейера, в котором результаты обработки передаются от одного процессора к другому по цепочке. Такая архитектура может быть достаточно эффективной, однако не для всех задач можно построить конвейер достаточной длины. Кроме того, критичным становится время передачи данных от одного исполняющего устройства к другому. Матричная архитектура (МКМД, «Много команд – много данных», MSMD Multiple Instruction Multiple Data) предполагает, что все процессоры системы работают по своим программам с собственным потоком команд. Говорить о единой ВС, а не о группе «рядом стоящих» ЭВМ можно только в том случае, если они работают согласованно, то есть решают некоторые части общей задачи. Теоретическая база для построения универсальных систем с такой архитектурой пока еще недостаточна. Для эффективной работы систем с такой архитектурой требуются специальные методы и технологии программирования. Структура многопроцессорных вычислительных систем Вычислительные системы с векторной и матричной архитектурой принято разделять на сильносвязанные (tightly-coupled) ислабосвязанные (loosely-coupled). Сильносвязанные вычислительные системы характеризуются наличием общей разделяемой памяти, через которую происходит обмен данными. В настоящее время для организации разделяемой памяти используются технологии SMP (Shared Memory multiProcessing) и NUMA (Non-Uniform Memory Access). Обе технологии предусматривают логически единое адресное пространство, однако физическая структура памяти у них различается. В первом случае оперативная память имеет простую структуру и является общей для всех исполняющих устройств. (рис. 5.1). Во втором – предполагается иерархическая структура памяти, в соответствии с которой у каждого вычислителя (или группы вычислителей) имеется собственная (локальная) оперативная память и возможность удаленного доступа к оперативной памяти других вычислителей. Удаленный доступ к данным осуществляется через высокоскоростной коммутатор, объединяющий все модули памяти в единую сеть (рис. 5.2). Кроме того, сильносвязанные ВС часто имеют единый управляющий центр, который распределяет задания между вычислителями.Достоинствами таких систем являются высокая скорость взаимодействия и относительно небольшие физические размеры. Предельным случаем сильносвязанных ВС являются многоядерные процессоры – здесь два или более вычислительных устройства реализованы на одной микросхеме. У каждого ядра имеется свой кэш первого уровня. Основная задача таки процессоров – параллельное исполнение потоков сложных, многопоточных приложений (серверов БД и т.п.). Слабосвязанные системы имеют автономные информационные ресурсы и выполняют автономные задачи. Взаимодействие между вычислителями происходит по высокоскоростным каналам связи. В западной литературе именно слабосвязанные многопроцессорные ВС называют кластерами. В отечественной литературе можно встретить такие понятия как «сильносвязанный кластер» и «слабосвязанные кластер», то есть кластером называют любую многопроцессорную (и даже многомашинную) вычислительную систему. вычислительный система оперативный матричный Рис. 5.1. Структура оперативной памяти для технологии SMP Рис. 5.1. Структура оперативной памяти для технологии NUMA Суперкомпьютеры Суперкомпьютер – это компьютер, который на момент выпуска лидирует по своим вычислительным возможностям. Впервые термин “Super Computing” появился в 1920 году в одной из нью-йоркских газет в статье, описывающей новую модификацию электромеханической машины Холлерита. Вектор развития суперкомпьютеров в настоящее время довольно сильно изменился по сравнению с 60-80 годами прошлого века. До конца 80-ых суперкомпьютеры предполагали наличие собственной уникальной архитектуры. Архитектура процессоров для суперЭВМ разрабатывалась ведущими специалистами (инженерами и программистами), которые постоянно вносили в нее какие-нибудь новые идеи и технологии. Из-за этого процессоры для суперкомпьютеров становились «штучным» товаром. Все это давало мощный толчок для развития компьютерных технологий, поскольку то, что сегодня было реализовано в суперкомпьютере, завтра становилось нормой для любой ЭВМ (Примеры: конвейерная обработка данных, суперскалярная архитектура, появление кэш-памяти и т.п.). Одним из самых известных разработчиков высокопроизводительных компьютеров считается Сеймур Крэй, основатель компании Cray Inc. До начала 90-ых именно его машины во всем мире признавались суперкомпьютерами (хотя сам он никогда не использовал этот термин) и обладали наилучшими характеристиками. С середины 90-ых ситуация изменилась. В настоящее время считается экономически более целесообразным создавать кластерные суперкомпьютеры, построенные на огромном количестве процессоров с обычной архитектурой. Нюансы архитектуры большинства суперЭВМ теперь заключаются только в технологиях взаимодействия вычислительных устройств между собой и с внешними устройствами. Многие специалисты утверждают, что такое использование «вычислительного ширпотреба» нельзя считать эффективным способом построения суперкомпьютеров. С ними во многом можно согласиться. Возможно, такое изменение вектора развития класса суперкомпьютеров является следствием общего застоя в развитии информационных технологий, который (по оценкам ряда специалистов) наблюдается уже 15 лет. Сейчас развитие вычислительной техники и информационных технологий практически на 100% носит экстенсивный характер, а качественно новых концепций становится все меньше. |