
- •1. Определение и классификация вычислительных систем
- •1.1. Классификация вс по назначению
- •1.2. Классификация вс по типу построения
- •1.3. Классификация вс по типу эвм или процессоров
- •1.4. Классификация вс по степени территориальной разобщенности вычислительных модулей
- •1.5. Классификация вс по методам управления элементами вс
- •1.6. Прочие классификационные признаки вс
- •2. Архитектура вычислительных систем
- •3. Типовые структуры вычислительных систем
- •3.1. Однопроцессорные структуры вс
- •3.2. Многопроцессорные структуры вс – пример построения
- •Сервера-лезвия
2. Архитектура вычислительных систем
Архитектура ВС - совокупность характеристик и параметров, определяющих функционально-логическую и структурную организацию системы и затрагивающий в основном уровень параллельно работающих вычислителей (По Пятибратову).
Классификация архитектур была предложена М. Флинном (М. Flynn) в начале 60-х гг. XX в. В основу такой классификации заложено два возможных вида параллелизма:
независимость потоков заданий (команд), существующих в системе,
независимость (несвязанность) данных, обрабатываемых в каждом потоке.
С появлением систем, ориентированных на потоки данных и использование ассоциативной обработки, данная классификация может быть некорректной. Но она является справедливой для ВС, в которых вычислительные модули построены на принципах классической структуры ЭВМ:
ОКОД - одиночный поток команд - одиночный поток данных (SISD - Single Instruction Single Data - одиночный поток инструкций - одиночный поток данных) (Слайд 7);
ОКМД - одиночный поток команд - множественный поток данных (SIMD - Single Instruction Multiple Data - одиночный поток инструкций - множественный поток данных) (Слайд 8);
МКОД - множественный поток команд - одиночный поток данных (MISD - Multiple Instruction Single Data - множественный поток инструкций - одиночный поток данных) (Слайд 9);
МКМД - множественный поток команд - множественный поток данных (MIMD - Multiple Instruction Multiple Data - множественный поток инструкций - множественный поток данных) (Слайд 10).
Архитектура ОКОД (с одним вычислителем) охватывает все однопроцессорные и одномашинные варианты систем. Все ЭВМ классической структуры попадают в этот класс. Здесь параллелизм вычислений обеспечивается путем совмещения выполнения операций отдельными блоками АЛУ, а также параллельной работой устройств ввода-вывода информации и процессора.
Архитектура ОКМД предполагает создание структур векторной или матричной обработки. Системы этого типа обычно строятся как однородные, т.е. процессорные элементы, входящие в систему, идентичны и все они управляются одной и той же последовательностью команд. Однако каждый процессор обрабатывает свой поток данных - задачи обработки матриц или векторов (массивов), задачи решения систем линейных и нелинейных алгебраических и дифференциальных уравнений, задачи теории поля и др. В структурах данной архитектуры, как правило, соединения между процессорами напоминают матрицу.
По этой схеме строилась первая суперЭВМ - ILLIAC-IV, векторная обработка широко использовалась в таких известных суперЭВМ, как Сray различных модификаций. Узким местом подобных систем является необходимость изменения коммутации между процессорами, когда связь между ними отличается от матричной. Структуры ВС этого типа по существу являются структурами специализированных суперЭВМ, т.к. задачи, допускающие широкий матричный параллелизм, составляют достаточно узкий класс задач.
Архитектура МКОД предполагает построение своеобразного процессорного конвейера, в котором результаты обработки передаются от одного процессора к другому по цепочке. В современных ЭВМ по этому принципу реализована схема совмещения операций, в которой параллельно работают различные функциональные блоки, и каждый из них делает свою часть в общем цикле обработки команды.
В ВС этого типа конвейер должны образовывать группы процессоров. Однако при переходе на системный уровень для универсальных вычислений это практически неприменимо. Кроме того, на практике трудно обеспечить и такую большую длину конвейера, при которой достигается наивысший эффект. Конвейерная схема нашла применение в так называемых скалярных процессорах суперЭВМ, в которых они применяются как специальные процессоры для поддержки векторной обработки.
Архитектура МКМД предполагает, что все процессоры системы работают с различными программами и с индивидуальным набором данных. В простейшем случае они могут быть автономны и независимы. Такая схема использования ВС часто применяется во многих крупных вычислительных центрах для увеличения пропускной способности центра.
МКМД - архитектура является наиболее перспективной для вычислительных систем. Ей присущи все перечисленные виды параллелизма. Этот класс дает большое разнообразие структур, сильно отличающихся друг от друга своими характеристиками (Слайд 11).
Важную роль здесь играют способы взаимодействия компьютеров или процессоров в системе. В сильно связанных системах с многопроцессорной организацией достигается высокая оперативность взаимодействия процессоров посредством общей оперативной памяти. Наиболее простыми по строению и организации функционирования являются однородные и симметричные структуры. Они обеспечивают простоту подключения процессоров и не требуют очень сложных централизованных операционных систем.
Появление мощных микропроцессоров типа Pentium привело к созданию многопроцессорных систем на их основе. Так, для включения мощных серверов в локальные сети персональных компьютеров была предложена несколько измененная структура использования общей оперативной памяти (ООП) - мультипроцессирование с разделением памяти (Shared Memory multiprocessing - SMP). На общей шине оперативной памяти можно комплексировать несколько микропроцессоров (Слайд 6).
Слабосвязанные МКМД - системы могут строиться как многомашинные комплексы или использовать в качестве средств передачи информации общее поле внешней памяти на дисковых накопителях большой емкости.
Если каждый процессор системы имеет собственную память, то он также будет сохранять известную автономию в вычислениях. Именно такие ВС наиболее перспективны и получили название систем с массовым параллелизмом (Mass-Parallel Processing - МРР).
Передача данных в МРР - системах предполагает обмен не отдельными данными под централизованным управлением, а подготовленными процессами (программами вместе с данными). Этот принцип построения вычислений уже не соответствует принципам программного управления классической ЭВМ. Передача данных процесса по его готовности соответствует принципам построения «потоковых машин» (машин, управляемых потоками данных). Подобный подход позволяет строить системы с громадной производительностью и реализовывать проекты с любыми видами параллелизма.
Построение вычислительной системы любого типа предполагает, что модули, объединяемые в систему, должны быть совместимы на трех уровнях (Слайд 12)
Техническая (аппаратная - Hardware) совместимость - выполняются следующие условия:
подключаемая друг к другу аппаратура должна иметь единые стандартные интерфейсы подключения (порты, разъемы и т.д.),
стандартизированные параметры сигналов интерфейсов (амплитуды импульсов, полярность, длительность и т.п.);
непротиворечивые алгоритмы взаимодействия подключаемых друг к другу устройств.
Программная (Software) совместимость - программы, передаваемые из одного технического средства в другое (между ЭВМ процессорами, между процессорами и внешними устройствами) были правильно поняты и выполнены другим устройством. Если обменивающиеся устройства идентичны друг другу, то проблем обычно не возникает. Если взаимодействующие устройства относятся к одному и тому же семейству ЭВМ, но стыкуются разные модели, то совместимость обеспечивается «снизу-вверх», т. е. ранее созданные программы должны выполняться и на новейших моделях, но не наоборот. Если же стыкуемая аппаратура имеет совершенно разную систему команд, то выполняется обмен исходными модулями программ с последующей их трансляцией.
Информационная совместимость - передаваемые информационные массивы должны одинаково интерпретироваться стыкуемыми модулями ВС. Должны быть стандартизированы алфавиты, разрядность, форматы, структура и разметка файлов, томов и т.д.