Вычислительныесистемы
1.Предпосылкиразвитиявычислительныхсистемивычислительныхсетей.
Наряду с расширением области применения по мере совершенствования МВС происходит усложнение и увеличение количества задач в областях, традиционно использующих высокопроизводительнуювычислительнуютехнику. В настоящее время выделен круг фундаментальных и прикладных проблем, эффективное решение которых возможно только с использованием сверхмощных вычислительных ресурсов. Этот круг, обозначаемый понятием "Grand challenges", включает следующие задачи:
• предсказания погоды, климата и глобальных изменений в атмосфере;
• науки о материалах;
• построение полупроводниковых приборов;
• сверхпроводимость;
• структурная биология;
• разработка фармацевтических препаратов;
• генетика;
• квантовая хромодинамика;
• астрономия;
• транспортные задачи;
• гидро- и газодинамика;
• управляемый термоядерный синтез;
• эффективность систем сгорания топлива;
• геоинформационные системы;
• разведка недр;
• наука о мировом океане; • распознавание и синтез речи;
• распознавание изображений.
Производительность — важнейший показатель ВС. Увеличение требований к производительности постоянно опережает возможности вычислительных систем. Поэтому задачи повышения производительности находятся в центре внимания исследователей и разработчиков средств и систем вычислительной техники.
Электронно-вычислительная техника является самой динамично развивающейся областью в науке и практике. Каждые 2 года появляются новые типы CPU, а каждые 5 лет - удвоение скорости работы. Побудительным мотивом развития средств ЭВТ являются противоречие между всевозрастающими требованиями пользователей и возможностью производства.
Существуют физические пределы совершенствования элементной базы и сокращения времени обмена информацией, т.е. повышения производительности ЭВМ:
- tпереключения ≈ нсек.;
- скорость передачи информации – максимальная 30 см/нсек.
Имеются три метода, обеспечивающих увеличение производительности систем:
- совершенствованиеэлементнойбазы позволяет увеличивать тактовую частоту работы устройств и систем, интегрировать в одном кристалле процессор, память и часть устройств ввода-вывода, увеличивать разрядность шин, памяти и операционных устройств, использовать внутри кристалла более совершенные структуры устройств
- структурныеметоды направлены на использование методов параллельной обработки данных, что требует такой организации ВС, когда параллельно (одновременно) выполняется большое число преобразований,
- математическиеметоды связаны с созданием новых вычислительных методов решения классов задач, допускающих распараллеливание вычислительных процессов.
Для реализации потенциально достижимого уровня производительности требуются согласованные усилия математиков и разработчиков аппаратного обеспечения, системного ПО, интегральных микросхем.
Вычислительнаясистема– совокупность взаимосвязанных процессоров или ЭВМ, периферийного оборудования и программного обеспечения, предназначенного для автоматизации процессов приема, хранения и выдачи информации и ориентированная на достижение сверхвысокой производительности либо на повышение надежности и живучести средств ВТ.
Параллельная обработка может быть организована на нескольких уровнях организации ВС, но в первую очередь она связана с применением архитектур с несколькими процессорами.
Преимущества параллельных архитектур:
1. Применение мультипроцессорных архитектур — это единственный способ построения наиболее высокопроизводительных ВС. Построив даже самый мощный процессор для данного уровня развития вычислительной техники, можно еще более увеличить производительность, объединив в единую систему несколько процессоров.
2. Отношение стоимости к производительности при требовании высокой производительности у мультипроцессорных систем ниже, чем у однопроцессорных.
Рис.Зависимостьстоимости(С)дляоднопроцессорныхимультипроцессорныхВСотихпроизводительности(У):
I—III — зоны эффективности однопроцессорных и мультипроцессорных систем
На достаточно коротком промежутке времени отличающегося стабильностью элементной базы остается справедливым квадратичный закон стоимости от производительности. Достигнуть требуемых характеристик в вычислительной технике путем построения вычислительных систем, у которых зависимость не квадратичная а линейная. Вычислительные системы требуют комплексированности или соединения программных модулей между собой.
Для однопроцессорной системы повышение производительности с момента, когда возможности архитектуры исчерпаны, неэффективно (точка а). Для мультипроцессорных систем определенной архитектуры также, начиная с определенного уровня сложности, дальнейшее вложение средств и наращивание вычислительной мощности в рамках используемой архитектуры процессора становится малоэффективным (точка b).
Можно выделить три зоны производительности: I, II и III. В зонеIэкономически выгоднее использовать однопроцессорную систему, в зонеIII — применение мультипроцессорных систем дает существенный экономический эффект. В зонеII можно использовать как однопроцессорную, так и мультипроцессорную систему. Мультипроцессорная система обеспечит больше возможностей для модернизации.
3. Мультипроцессорная система в связи с модульной организацией имеет более широкие возможности для изменения производительности, что позволяет обеспечить широкий диапазон требований в рамках одной архитектуры. Это свойство систем называют масштаб ируе мость.
4. Мультипроцессорная система позволяет обеспечить большую отказоустойчивость за счет использования структурной избыточности. Дополнительно комплексированные средства позволят обеспечивать работоспособность системы, даже если часть этих средств откажет в работе.
5. Мультипроцессорная система позволяет обеспечить большую достоверность - одна задача решается одновременно на нескольких ЭВМ, результат сравнивается.
6. Улучшение технической эксплуатации ВС: уменьшение количества обслуживающего персонала; сглаживание пиковых нагрузок.
Несмотря на отмеченные преимущества мультипроцессорных систем, их распространение сопряжено с определенными трудностями, свойственными всем распределенным системам параллельной обработки данных. Рассмотрим основные трудности.
1. Для параллельных систем характерны новые, не известные ранее типы ошибок:
• дедлоки (взаимные блокировки процессов);
• ливлоки (невыполнение некоторых альтернатив);
• голодание (невозможность получить ресурс; • несправедливость при планировании ресурса).
2. Сложности понимания и анализа параллельных процессов. Мышление людей имеет последовательный характер, так как мысли выражаются словами.
3. Недостаточная разработанность теоретических моделей. Теория параллелизма развивается в нескольких направлениях:
• создание вычислительных моделей применительно к задачам синтеза и анализа (сети Петри, системы переходов, реактивные системы и др.);
• разработка языков спецификации требований (предикаты, темпоральная
логика и др.);
• разработка методов верификации (анализ достижимости, логический вывод и др.).
4. Недостаточная проработанность технологии параллельного программирования. При этом актуально решение нескольких задач. Необходимо создание ОС, языков программирования, компиляторов и прикладных программ, наиболее полно использующих возможности параллельных архитектур. Желательна совместимость и стыковка этих параллельных программных средств с уже существующими средствами. Одна из актуальных задач — синхронизация и управление параллельными процессами.
2.Квалификациявычислительныхсистем.
В настоящее время существует тысячи ВС. Для того, чтобы разобраться в их возможностях, необходима их классификация по мелким признакам.
1. Расстояниемеждунекомплексируемымимодулями. Сосредоточение ВС предполагает расположение вычислительных модулей в непосредственной близости друг от друга. Передача информации между модулями осуществляется с помощью простейших связей. Расстояние между модулями можно увеличить до нескольких сот метров, если использовать экранизированные (коаксиальные) кабели (в оплетке). *Обычным кабелем можно соединить PC не более 10-15м.
В распределенных системах расстояние между модулями может быть очень велико (км). Поэтому для связи модуля используется каналообразующая аппаратура - преобразование сигналов и передача их по специальным каналам связи.
2. ВС могут быть многомашиннымиимногопроцессорными. В многомашинных системах каждая машина работает под управлением собственной ОС. Подключенные к ней другие машины рассматриваются ОС как специализированные внешние устройства. В многопроцессорных системах координация работ CPU осуществляется общей ОС. Кроме того, все CPU имеют общую RAM.
Кроме этих признаков классификации рассматриваются и более мелкие:
1. По числу комплексированных ЭВМ или CPU.
2. По однотипности комплексированных элементов.
3. По степени территориальной обобщенности.
4. По методам управления различают централизованное и децентрализованное управление. Централизованное лучше используется в простых.
5. По структурным признакам (могут иметь свою иерархию). Чаще всего рассматривают топологические признаки.
6. По принципу закрепления функции различают: - с жестким распределением функции
- с плавающим распределением функции управления 7. По временным режимам работы.
3.КомплексированностьисовместимостьвВС.
Связь модулей в систему потребует, чтобы объединенные модули были совместимы. Понятие совместимости включает 3 аспекта:
1. Аппаратурную совместимость.
2. Программную совместимость.
3. Информационную совместимость.
1.Аппаратурнаясовместимость предполагает стандартизацию и унификацию связей. Понятие связи включает и стандартизацию кабельных соединений их разъемов, алгоритмов взаимодействия (последовательность сигналов), стандартизацию электрических сигналов.
2.Программнаясовместимость зависит от однородности и однотипности комплексированных средств. Если комплексированные средства однотипные, то программные средства полные. Если комплексированные средства не однородные, не одновременные, то такие системы совместимы по принципу «снизу вверх» (386-Pentium). Если комплексируется однотипная аппаратура, то обмен исходными модулями с последующей трансляцией их после обмена.
3.Информационнаясовместимость.Она предполагает, что передаваемые информации одинаково интерпретируются объектами, т.е. должны быть стандартизованы алфавиты, разрядность, форматы, структура, разновидность и т.д.
4.Взаимодействие комплексированных ЭВМ CPU может производиться по различным уровням. Различают логические и физические уровни.
В создаваемых ВС стараются обеспечить несколько путей передачи данных, что позволяет достичь необходимой надежности функционирования, гибкости и адаптируемости к конкретным условиям работы. Эффективность обмена информацией определяется скоростью передачи и возможными объемами данных, передаваемыми по каналу взаимодействия. Эти характеристики зависят от средств, обеспечивающих взаимодействие модулей и уровня управления процессами, на котором это взаимодействие осуществляется.
Сочетание различных уровней и методов обмена данными между модулями ВС наиболее полно представлено в универсальных суперЭВМ и больших ЭВМ, в которых сбалансирование использовались все методы достижения высокой производительности. В этих машинах предусматривались следующие уровни комплексирования (рис. 10.4):
1) прямого управления (процессор - процессор);
2) общей оперативной памяти;
3) комплексируемых каналов ввода-вывода;
4) устройств управления внешними устройствами (УВУ); 5) общих внешних устройств.
На каждом из этих уровней используются специальные технические и программные средства, обеспечивающие обмен информацией.
1. Уровеньпрямогоуправления служит для передачи коротких однобайтовых приказов-сообщений. Последовательность взаимодействия процессоров сводится к следующему. Процессор-инициатор обмена по интерфейсу прямого управления (ИЛУ) передает в блок прямого управления байт-сообщение и подает команду «прямая запись». У другого процессора эта команда вызывает прерывание, относящееся к классу внешних. В ответ он вырабатывает команду «прямое чтение» и записывает передаваемый байт в свою память. Затем принятая информация расшифровывается и по ней принимается решение. После завершения передачи прерывания снимаются, и оба процессора продолжают вычисления по собственным программам. Видно, что уровень прямого управления не может использоваться для передачи больших массивов данных, однако оперативное взаимодействие отдельными сигналами широко используется в управлении вычислениями. У ПЭВМ типа IBM PC этому уровню соответствует комплексирование процессоров, подключаемых к системной шине.
2. Уровеньобщейоперативнойпамяти (ООП) является наиболее предпочтительным для оперативного взаимодействия процессоров. В этом случае ООП эффективно работает при небольшом числе обслуживаемых абонентов.
3. Уровенькомплексируемыхканаловввода-вывода предназначается для передачи больших объемов информации между блоками оперативной памяти, сопрягаемых в ВС. Обмен данными между ЭВМ осуществляется с помощью адаптера «канал-канал» (АКК) и команд «чтение» и «запись». Адаптер - это устройство, согласующее скорости работы сопрягаемых каналов. Обычно сопрягаются селекторные каналы (СК) машин как наиболее быстродействующие. Скорость обмена данными определяется скоростью самого медленного канала. Скорость передачи данных по этому уровню составляет несколько Мбайт в секунду. В ПЭВМ данному уровню взаимодействия соответствует подключение периферийной аппаратуры через контроллеры и адаптеры.
4. Уровеньустройствуправлениявнешнимиустройствами (УВУ) предполагает использование встроенного в УВУ двухканального переключателя и команд «зарезервировать» и «освободить». Двухканальный переключатель позволяет подключать УВУ одной машины к селекторным каналам различных ЭВМ. По команде «зарезервировать» канал - инициатор обмена имеет доступ через УВУ к любым накопителям на дисках НМД или на магнитных лентах НМЛ. На рис. 10.4 схематически показано, что они управляются одним УВУ. На самом деле УВУ магнитных дисков и лент -совершенно различные устройства. Обмен канала с накопителями продолжается до полного завершения работ и получения команды «освободить». Только после этого УВУ может подключиться к конкурирующему каналу. Только такая дисциплина обслуживания требований позволяет избежать конфликтных ситуаций.
На четвертом уровне с помощью аппаратуры передачи данных (АПД) (мультиплексоры, сетевые адаптеры, модемы и др.) имеется возможность сопряжения с каналами связи. Эта аппаратура позволяет создавать сети ЭВМ.
5. Уровеньобщихвнешнихустройств. Пятый уровень предполагает использование общих внешних устройств. Для подключения отдельных устройств используется автономный двухканальный переключатель.
Пять уровней комплексирования получили название логических потому, что они объединяют на каждом уровне разнотипную аппаратуру, имеющую сходные методы управления. Каждое из устройств может иметь логическое имя, используемое в прикладных программах. Этим достигается независимость программ пользователей от конкретной физической конфигурации системы. Связь логической структуры программы и конкретной физической структуры ВС обеспечивается операционной системой по указаниям -директивам пользователя, при генерации ОС и по указаниям диспетчера-оператора вычислительного центра. Различные уровни комплексирования позволяют создавать самые различные структуры ВС.
Второй логический уровень позволяет создавать многопроцессорные ВС. Обычно он дополняется и первым уровнем, что позволяет повышать оперативность взаимодействия процессоров. Вычислительные системы сверхвысокой производительности должны строиться как многопроцессорные. Центральным блоком такой системы является быстродействующий коммутатор, обеспечивающий необходимые подключения абонентов (процессоров и каналов) к общей оперативной памяти.
Уровни 1, 3, 4, 5 обеспечивают построение разнообразных машинных комплексов. Особенно часто используется третий в комбинации с четвертым. Целесообразно их дополнять и первым уровнем.
Пятый уровень комплексирования используется в редких специальных случаях, когда в качестве внешнего объекта используется какое-то дорогое уникальное устройство. В противном случае этот уровень малоэффективен. Любое внешнее устройство - это недостаточно надежное устройство точной механики, а значит, выгоднее использовать четвертый уровень комплексирования, когда можно сразу управлять не одним, а несколькими внешними устройствами, включая и резервные.
Сочетание уровней и методов взаимодействия позволяет создавать самые различные многомашинные и многопроцессорные системы.
6.МногопроцессорныеВС.
Для многопроцессорных является общая ОП, поэтому для управления многопроцессорной ВС является общая ОС, которая имеет сложные встроенные программные средства. ООП призвана обслуживать не только n CPU, но также все подключенные каналы и специализированные внешние устройства (таймеры, CPU прямого доступа и др.) ООП становится системой массового обслуживания, поскольку при работе возможны различные конфликты. Разрешение конфликтов может привести к появлению очередей запросов и их последующей разгрузке, поэтому на практике отсутствует МВС, имеющее большое число комплексированных CPU. Обычно комплексируют не более 2-4 CPU. Вкачествесредствкомплексированияиспользуютследующие:
1. Количество конфликтов уменьшается пропорционально количеству комплексированных CPU.
2. Уменьшение количества обращений к памяти за счет использования сверхоперативной памяти. Каждый CPU имеет свою кэш память. Однако этот способ не позволяет полностью уменьшить конфликты, поскольку возникает новая проблема: как синхронизировать содержимое эталона и копии.
3. Средством решения противоречия. Организация многоходовой памяти. Любая память имеет адрес, вход и выход информации. ООП делается многоблочной. Каждый блок имеет собственный вход и выход. ОС закрепляет отдельные блоки за отдельными CPU, что дает преимущества - все блоки могут работать параллельно. Этот вариант является развитием 2 варианта. Этот вариант находит применение в серверах сети, когда каждый CPU сервера обслуживает свое подмножество клиентов.
4. ООП может комплектоваться различного рода коммутаторами. При больших значения N и K коммутаторы становятся очень громоздки, потребляют большую мощность, техническое обслуживание затрудняется. При значениях N и K = 15-20 коммутатор становится приличных размеров и потребляет большую мощность. На практике часто используют не централизованный коммутатор, а распределенный коммутатор, т.е. слои распределяют либо по CPU, либо по блокам памяти.
7.ВидымногопроцессорныхВС
SISD (single instruction stream / single data stream) – одиночныйпотоккоманд и одиночныйпотокданных (ОКОД). К этому классу относятся последовательные компьютерные системы, которые имеют один центральный процессор, способный обрабатывать только один поток последовательно исполняемых инструкций. В настоящее время практически все высокопроизводительные системы имеют более одного центрального процессора, однако каждый из них выполняет несвязанные потокиинструкций, что делает такие системы комплексами SISD-систем, действующих на разных пространствах данных. Для увеличения скорости обработки команд и скорости выполнения арифметических операций может применяться конвейернаяобработка. В случае векторных систем векторный потокданных следует рассматривать как поток из одиночных неделимых векторов. Примерами компьютеров с архитектурой SISD могут служить большинство рабочих станций Compaq, Hewlett-Packard и Sun Microsystems. | |
SIMD (single instruction stream / multiple data stream) – одиночныйпотоккоманд и множественныйпотокданных (ОКМД). Эти системы обычно имеют большое количество процессоров, от 1024 до 16384, которые могут выполнять одну и ту же инструкцию относительно разных данных в жесткой конфигурации. Единственная инструкция параллельно выполняется над многими элементами данных. Примерами SIMD-машин являются системы CPP DAP, Gamma II и Quadrics Apemille. Другим подклассом SIMD-систем являются векторные компьютеры. Векторные компьютеры манипулируют массивами сходных данных подобно тому, как скалярные машины обрабатывают отдельные элементы таких массивов. Это делается за счет использования специально сконструированных векторныхцентральныхпроцессоров. Когда данные обрабатываются посредством векторных модулей, результаты могут быть выданы на один, два или три такта частотогенератора (такт частотогенератора является основным временным параметром системы). При работе в векторном режиме векторныепроцессоры обрабатывают данные практически параллельно, что делает их в несколько раз более быстрыми, чем при работе в скалярном режиме. Примерами систем подобного типа являются, например, компьютеры Hitachi S3600. | |
MISD (multiple instruction stream / single data stream) – множественныйпотоккоманд и одиночныйпотокданных (МКОД). Теоретически в этом типе машин множество инструкций должно выполняться над единственным потокомданных. До сих пор ни одной реальной машины, попадающей в данный класс, создано не было. В качестве аналога работы такой системы, по-видимому, можно рассматривать работу банка. С любого терминала можно подать команду и что-то сделать с имеющимся банком данных. Поскольку база данных одна, а команд много, мы имеем дело с множественнымпотокомкоманд и одиночнымпотокомданных. | |
MIMD (multiple instruction stream / multiple data stream) – множественныйпотоккоманд и множественныйпотокданных. Эти машины параллельно выполняют несколько потоковинструкций над различными потокамиданных. В отличие от упомянутых выше многопроцессорных SISDмашин, команды и данные связаны, потому что они представляют различные части одной и той же задачи. Например, MIMD-системы могут параллельно выполнять множество подзадач с целью сокращения времени выполнения основной задачи. Большое разнообразие попадающих в данный класс систем делает классификацию Флинна не полностью адекватной. Действительно, и четырехпроцессорный SX-5 компании NEC, и тысячепроцессорный Cray T3E попадают в этот класс. Это заставляет использовать другой подход к классификации, иначе описывающий классы компьютерных систем. Основная идея такого подхода может состоять, например, в следующем. Будем считать, что множественныйпотоккоманд может быть обработан двумя способами: либо одним конвейерным устройством обработки, работающем в режиме разделения времени для отдельных потоков, либо каждый поток обрабатывается своим собственным устройством. Первая возможность используется в MIMD-компьютерах, которые обычно называют конвейерными или векторными, вторая – в параллельныхкомпьютерах. В основе векторных компьютеров лежит концепция конвейеризации, т.е. явного сегментирования арифметического устройства на отдельные части, каждая из которых выполняет свою подзадачу для пары операндов. В основе параллельногокомпьютера лежит идея использования для решения одной задачи нескольких процессоров, работающих сообща, причем процессоры могут быть как скалярными, так и векторными. |
АрхитектурыВС.
Классификация архитектур вычислительных систем нужна для того, чтобы понять особенности работы той или иной архитектуры, но она не является достаточно детальной, чтобы на нее можно было опираться при создании МВС, поэтому следует вводить более детальную классификацию, которая связана с различными архитектурами ЭВМ и с используемым оборудованием.
SMP (symmetric multiprocessing) – симметричнаямногопроцессорнаяархитектура. Главной особенностью систем с архитектурой SMP является наличие общейфизическойпамяти, разделяемой всеми процессорами.
Рис. 1.СхематическийвидSMP-архитектуры
Память служит, в частности, для передачи сообщений между процессорами, при этом все вычислительные устройства при обращении к ней имеют равные права и одну и ту же адресацию для всех ячеек памяти. Поэтому SMP-архитектура называется симметричной. Последнее обстоятельство позволяет очень эффективно обмениваться данными с другими вычислительными устройствами. SMPсистема строится на основе высокоскоростной системной шины (SGI PowerPath, Sun Gigaplane, DEC TurboLaser), к слотам которой подключаются функциональные блоки типов: процессоры (ЦП), подсистема ввода/вывода (I/O) и т. п. Для подсоединения к модулям I/O используются уже более медленные шины (PCI, VME64). Наиболее известными SMP-системами являются SMP-cерверы и рабочие станции на базе процессоров Intel (IBM, HP, Compaq, Dell, ALR, Unisys, DG, Fujitsu и др.) Вся система работает под управлением единой ОС (обычно UNIX-подобной, но для Intel-платформ поддерживается Windows NT). ОС автоматически (в процессе работы) распределяет процессы по процессорам, но иногда возможна и явная привязка.
Основные преимущества SMP-систем:
− простота и универсальность для программирования. Архитектура SMP не накладывает ограничений на модель программирования, используемую при создании приложения: обычно используется модель параллельных ветвей, когда все процессоры работают независимо друг от друга. Однако можно реализовать и модели, использующие межпроцессорный обмен. Использование общейпамяти увеличивает скорость такого обмена, пользователь также имеет доступ сразу ко всему объему памяти. Для SMP-систем существуют довольно эффективные средства автоматического распараллеливания;
− простота эксплуатации. Как правило, SMP-системы используют систему кондиционирования, основанную на воздушном охлаждении, что
облегчает их техническое обслуживание;
− относительно невысокая цена.
Недостатки:
− системы с общейпамятью плохо масштабируются.
Этот существенный недостаток SMP-систем не позволяет считать их понастоящему перспективными. Причиной плохой масштабируемости является то, что в данный момент шина способна обрабатывать только одну транзакцию, вследствие чего возникают проблемы разрешения конфликтов при одновременном обращении нескольких процессоров к одним и тем же областям общейфизическойпамяти. Вычислительные элементы начинают друг другу мешать. Когда произойдет такой конфликт, зависит от скорости связи и от количества вычислительных элементов. В настоящее время конфликты могут происходить при наличии 8-24 процессоров. Кроме того, системная шина имеет ограниченную (хоть и высокую) пропускную способность (ПС) и ограниченное число слотов. Все это очевидно препятствует увеличению производительности при увеличении числа процессоров и числа подключаемых пользователей. В реальных системах можно задействовать не более 32 процессоров. Для построения масштабируемых систем на базе SMP используются кластерные или NUMA-архитектуры. При работе с SMP-системами используют так называемую парадигмупрограммирования с разделяемой памятью (shared memory paradigm).
MPP (massive parallel processing) –массивно-параллельнаяархитектура. Главная особенность такой архитектуры состоит в том, что память физически разделена. В этом случае система строится из отдельных модулей, содержащих процессор, локальный банк операционной памяти (ОП), коммуникационныепроцессоры (рутеры) или сетевыеадаптеры, иногда – жесткие диски и/или другие устройства ввода/вывода. По сути, такие модули представляют собой полнофункциональные компьютеры (см. рис.3.2). Доступ к банку ОП из данного модуля имеют только процессоры (ЦП) из этого же модуля. Модули соединяются специальными коммуникационными каналами. Пользователь может определить логический номер процессора, к которому он подключен, и организовать обмен сообщениями с другими процессорами. Используются два варианта работы операционной системы (ОС) на машинах MPP-архитектуры. В одном полноценная операционная система (ОС) работает только на управляющей машине (front-end), на каждом отдельном модуле функционирует сильно урезанный вариант ОС, обеспечивающий работу только расположенной в нем ветви параллельного приложения. Во втором варианте на каждом модуле работает полноценная UNIX-подобная ОС, устанавливаемая отдельно.
Рис. 2.Схематическийвидархитектурысраздельнойпамятью
Главным преимуществом систем с раздельной памятью является хорошая масштабируемость: в отличие от SMP-систем, в машинах с раздельной памятью каждый процессор имеет доступ только к своей локальнойпамяти, в связи с чем не возникает необходимости в потактовой синхронизации процессоров. Практически все рекорды по производительности на сегодня устанавливаются на машинах именно такой архитектуры, состоящих из нескольких тысяч процессоров (ASCI Red, ASCI Blue Pacific).
Недостатки:
− отсутствие общейпамяти заметно снижает скоростьмежпроцессорногообмена, поскольку нет общей среды для хранения данных, предназначенных для обмена между процессорами. Требуется специальная техника программирования для реализации обмена сообщениями между процессорами;
− каждый процессор может использовать только ограниченный объем локального банка памяти;
− вследствие указанных архитектурных недостатков требуются значительные усилия для того, чтобы максимально использовать системные ресурсы. Именно этим определяется высокая цена программного обеспечения для массивно-параллельных систем с раздельной памятью.
Системами с раздельной памятью являются суперкомпьютеры МВС-1000, IBM RS/6000 SP, SGI/CRAY T3E, системы ASCI, Hitachi SR8000, системы Parsytec.
Машины последней серии CRAY T3E от SGI, основанные на базе процессоров Dec Alpha 21164 с пиковой производительностью 1200 Мфлопс/с (CRAY T3E1200), способны масштабироваться до 2048 процессоров.
При работе с MPP-системами используют так называемую Massive Passing Programming Paradigm – парадигмупрограммирования с передачей данных (MPI, PVM, BSPlib).
ГлавнаяособенностьгибриднойархитектурыNUMA (nonuniform memoryaccess) – неоднородныйдоступкпамяти.
Гибриднаяархитектура совмещает достоинства систем с общейпамятью и относительную дешевизну систем с раздельной памятью. Суть этой архитектуры – в особой организации памяти, а именно: память физически распределена по различным частям системы, но логически она является общей, так что пользователь видит единоеадресноепространство. Система построена из однородных базовых модулей (плат), состоящих из небольшого числа процессоров и блока памяти. Модули объединены с помощью высокоскоростногокоммутатора. Поддерживается единоеадресноепространство, аппаратно поддерживается доступ к удаленной памяти, т.е. к памяти других модулей. При этом доступ к локальнойпамяти осуществляется в несколько раз быстрее, чем к удаленной. По существу, архитектура NUMA является MPP (массивно-параллельной) архитектурой, где в качестве отдельных вычислительных элементов берутся SMP (cимметричная многопроцессорная архитектура) узлы. Доступ к памяти и обмен данными внутри одного SMP-узла осуществляется через локальнуюпамять узла и происходит очень быстро, а к процессорам другого SMP-узла тоже есть доступ, но более медленный и через более сложную систему адресации.
Структурная схема компьютера с гибридной сетью: четыре процессора связываются между собой при помощи кроссбара в рамках одного SMP-узла. Узлы связаны сетью типа "бабочка" (Butterfly):
Рис. 3.Структурнаясхемакомпьютерасгибриднойсетью
Впервые идею гибриднойархитектуры предложил Стив Воллох, он воплотил ее в системах серии Exemplar. Вариант Воллоха – система, состоящая из восьми SMP-узлов. Фирма HP купила идею и реализовала на суперкомпьютерах серии SPP. Идею подхватил Сеймур Крей (Seymour R.Cray) и добавил новый элемент – когерентный кэш, создав так называемую архитектуру cc-NUMA (Cache Coherent Non-Uniform Memory Access), которая расшифровывается как "неоднородныйдоступкпамяти с обеспечением когерентности кэшей". Он ее реализовал на системах типа Origin.
Кластеры
Вычислительные системы как мощные средства обработки заданий пользователей широко используются не только автономно, но и в сетях ЭВМ в качестве серверов.
С увеличением размеров сетей и их развитием возрастают плотность информационных потоков, нагрузка на средства доступа к сетевым ресурсам и на средства обработки заданий. Круг задач, решаемых серверами, постоянно расширяется, становится многообразным и сложным. Чем выше ранг сети, тем более специализированными они становятся. Администраторы сетей должны постоянно наращивать их мощь и количество, оптимизируя характеристики сети под возрастающие запросы пользователей.
В сетях первых поколений серверы строились на основе больших и очень дорогих ЭВМ (mainframe), выпускаемых целым рядом компаний: Digital Equipment, Tandem, влившихся в корпорацию Compaq, IBM, Hewlett-Packard. Все они работали под управлением ОС Unix и способны были объединяться для совместной работы.
Как и во всякой развивающейся технологии, сложные универсальные серверы различных фирм-изготовителей должны были уступить место стандартным массовым решениям. Успехи микроэлектроники, повсеместное применение ПЭВМ, широкое распространение Internet/ Intranet-технологий позволили перейти к более простым и дешевым системам, например, на основе платформы Wintel. Опыт создания серверов на основе SMP- и МРР-структур показал, что они не обеспечивают хорошей адаптации к конкретным условиям функционирования, остаются дорогими и сложными в эксплуатации.
Одним из перспективных направлений здесь является кластеризация, т.е. технология, с помощью которой несколько серверов, сами являющиеся вычислительными системами, объединяются в единую систему более высокого ранга для повышения эффективности функционирования системы в целом. Целями построения кластеров могут служить:
• улучшение масштабируемости (способность к наращиванию мощности);
• повышение надежности и готовности системы в целом;
• увеличение суммарной производительности;
• эффективное перераспределение нагрузок между компьютерами кластера;
• эффективное управление и контроль работы системы и т.п.
Улучшениемасштабируемостиили способность к наращиванию мощности предусматривает, что все элементы кластера имеют аппаратную, программную и информационную совместимость. В сочетании с простым и эффективным управлением изменение оборудования в идеальном кластере должно обеспечивать соответствующее изменение значений основных характеристи
Дата добавления: 2016-06-15; просмотров: 1686;