Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы Экзамен АрхЭВМ.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.08 Mб
Скачать

35. Большие компьютерные системы: параллельная обработка.

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

Передача блока данных с диска в основную память инициируется процессо­ром, направляющим контроллеру DMA соответствующие команды. После этого процессор возвращается к своей работе и продолжает выполнять вычисления, ни­как не связанные с инициированной им передачей информации. А в это время контроллер DMA самостоятельно производит передачу данных и по ее заверше­нии информирует об этом процессор с помощью сигнала прерывания. Получив уведомление о том, что информация прочитана с диска в основную память, про­цессор переключается на выполнение той задачи, в которой она используется.

Приведенный пример иллюстрирует два фундаментальных аспекта парал­лельной обработки. Во-первых, для того чтобы такой способ обработки можно было применить для решения конкретной задачи, последняя должна включать подзадачи, допускающие параллельное выполнение разными аппаратными ком­понентами. В нашем примере такими подзадачами являются вычисления, произ­водимые процессором, и операция чтения данных с диска в основную память, вы­полняемая контроллером DMA. А во-вторых, необходимо наличие средств для активизации и координирования параллельной обработки. В данном примере па­раллельная обработка активизируется процессором, инициирующим операцию прямого доступа к памяти. Координирование действий процессора и контроллера DMA осуществляется с помощью прерывания, сигнал которого генерируется контролером DMA по завершении операции. В ответ на этот сигнал процессор начинает вычисления с использованием полученных данных.

Мы рассмотрели самый простой случай параллелизма, в котором выполняют­ся только две задачи. В общем случае масштабные вычисления можно разделить на множество параллельно выполняемых частей. Для поддержки таких парал­лельных вычислений может использоваться несколько аппаратных структур.

36.Большие компьютерные системы: архитектура многопроцессорных систем

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

Экспериментальные разработки по созданию многопроцессорных вычислительных систем начались в 70-х годах 20 века. Одной из первых таких систем стала разработанная в Иллинойском университете МВС ILLIAC IV, которая включала 64 (в проекте до 256) процессорных элемента (ПЭ), работающих по единой программе, применяемой к содержимому собственной оперативной памяти каждого ПЭ. Обмен данными между процессорами осуществлялся через специальную матрицу коммуникационных каналов. Указанная особенность коммуникационной системы дала название "матричные суперкомпьютеры" соответствующему классу многопроцессорных вычислительных систем (МВС). Отметим, что более широкий класс МВС с распределенной памятью и с произвольной коммуникационной системой получил впоследствии название "многопроцессорные системы с массовым параллелизмом", или МВС с MPP-архитектурой (MPP - Massively Parallel Processing). При этом, как правило, каждый из ПЭ MPP системы является универсальным процессором, действующим по своей собственной программе (в отличие от общей программы для всех ПЭ матричной МВС).

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

Первые промышленные образцы мультипроцессорных систем появились на базе векторно-конвейерных компьютеров в середине 80-х годов. Наиболее распространенными МВС такого типа были суперкомпьютеры фирмы Cray. Однако такие системы были чрезвычайно дорогими и производились небольшими сериями. Как правило, в подобных компьютерах объединялось от 2 до 16 процессоров, которые имели равноправный (симметричный) доступ к общей оперативной памяти. В связи с этим они получили название симметричные мультипроцессорные системы (Symmetric Multi-Processing - SMP).

Как альтернатива таким дорогим мультипроцессорным системам на базе векторно-конвейерных процессоров была предложена идея строить эквивалентные по мощности многопроцессорные системы из большого числа дешевых серийно выпускаемых микропроцессоров. Однако очень скоро обнаружилось, что SMP архитектура обладает весьма ограниченными возможностями по наращиванию числа процессоров в системе из-за резкого увеличения числа конфликтов при обращении к общей шине памяти. В связи с этим оправданной представлялась идея снабдить каждый процессор собственной оперативной памятью, превращая компьютер в объединение независимых вычислительных узлов. Такой подход значительно увеличил степень масштабируемости многопроцессорных систем, но в свою очередь потребовал разработки специального способа обмена данными между вычислительными узлами, реализуемого обычно в виде механизма передачи сообщений (Message Passing). Компьютеры с такой архитектурой являются наиболее яркими представителями MPP систем. В настоящее время эти два направления (или какие-то их комбинации) являются доминирующими в развитии суперкомпьютерных технологий.

Нечто среднее между SMP и MPP представляют собой NUMA-архитектуры (Non Uniform Memory Access), в которых память физически разделена, но логически общедоступна. При этом время доступа к различным блокам памяти становится неодинаковым. В одной из первых систем этого типа Cray T3D время доступа к памяти другого процессора было в 6 раз больше, чем к своей собственной.

В настоящее время развитие суперкомпьютерных технологий идет по четырем основным направлениям: векторно-конвейерные суперкомпьютеры, SMP системы, MPP системы и кластерные системы.