Массивы процессорных элементов

Автор работы: Пользователь скрыл имя, 19 Декабря 2013 в 06:28, контрольная работа

Описание работы

В любом компьютере все основные параметры тесно связаны. Трудно себе представить универсальный компьютер, имеющий высокое быстродействие и мизерную оперативную память, либо огромную оперативную память и небольшой объем дисков. Следуя логике, делаем вывод: супер-ЭВМ это компьютеры, имеющие в настоящее время не только максимальную производительность, но и максимальный объем оперативной и дисковой памяти (вопрос о специализированном ПО, с помощью которого можно эффективно всем этим воспользоваться, пока оставим в стороне).

Содержание работы

Введение 3
1. Понятие матричной вычислительной системы и ее отличие от векторной вычислительной системы 5
2. Структура матричной вычислительной системы 6
3. Интерфейсная вычислительная машина 8
4. Массив процессоров и его контроллер 9
5. Структура процессорного элемента 14
6. Подключение и отключение процессорных элементов 17
7. Сети взаимосвязей процессорных элементов 19
Заключение 20
Список используемой литературы: 23

Файлы: 1 файл

АВC.docx

— 116.27 Кб (Скачать файл)

 

  1. Структура  процессорного  элемента

В большинстве матричных SIMD-систем в качестве процессорных эле-ментов применяются простые RISC-процессоры с локальной памятью ограни-ченной емкости. Например, каждый ПЭ системы MasPar MP-1 состоит из четы-рехразрядного процессора с памятью емкостью 64 Кбайт. В системе MPP ис-пользуются одноразрядные процессоры с памятью 1 Кбит каждый, а в СМ-2 процессорный элемент представляет собой одноразрядный процессор с 64 Кбит локальной памяти. Благодаря простоте ПЭ массив может быть реализован в ви-   де одной сверхбольшой интегральной микросхемы  (СБИС). Это позволяет сок-ратить число связей между микросхемами и габариты ВС. Одна СБИС в системе СМ-2 содержит 16 процессоров (без блоков памяти), а в системе MasPar MP-1 СБИС  состоит  из  32  процессоров  (также  без  блоков  памяти).

Неотъемлемыми компонентами ПЭ (рис. 8.4) в большинстве вычисли-тельных  систем  являются:

§        арифметико-логическое  устройство  (АЛУ);

§        регистры  данных;

§        сетевой интерфейс (СИ), который может включать в свой состав регистры  пересылки  данных;

§        номер  процессора;

§        регистр  флага  разрешения  маскирования  (F);

§        локальная  память. 

 

Рис. 4. Модель  процессорного  элемента  

 

Процессорные элементы, управляемые  командами, поступающими по ши-роковещательной шине из КМП, могут выбирать данные из своей локальной памяти и регистров, обрабатывать их в АЛУ и сохранять результаты в регист-   рах и локальной памяти. ПЭ могут также обрабатывать те данные, которые поступают по шине широковещательной рассылки из КМП. Кроме того, каж-  дый процессорный элемент вправе получать данные из других ПЭ и отправ-    лять их в другие ПЭ по сети соединений, используя для этого свой сетевой интерфейс. В некоторых матричных системах (например в MasPar MP-1) эле- мент данных из ПЭ-источника можно непосредственно передавать в ПЭ-прием-ник, в то время как в других (например в МРР) данные предварительно должны быть помещены в специальный регистр пересылки данных, входящий в состав сетевого интерфейса. Пересылка данных между ПЭ и устройствами ввода/выво- да осуществляется через шину ввода/вывода ВС. В ряде систем (MasPar MP-1)       ПЭ подключены к шине ввода/вывода посредством сети соединений и канала ввода/вывода системы. Результаты вычислений любой ПЭ выдает в КМП через шину  результата.

Каждому из N ПЭ в массиве процессоров присваивается уникальный но-мер, называемый также адресом ПЭ, который представляет собой целое число    от 0 до N – 1. Чтобы указать, должен ли данный ПЭ участвовать в общей опе-     рации, в его составе имеется регистр флага разрешения F. Состояние этого ре-гистра определяют сигналы  управления из КМП, либо результаты операций в самом  ПЭ,  либо  и  те  и  другие  совместно.

Еще одной существенной характеристикой  матричной системы является способ синхронизации работы ПЭ. Так как  все ПЭ получают и выполняют команды  одновременно, их работа жестко синхронизируется. Это особенно важ-но в операциях пересылки информации между ПЭ. В системах, где обмен про-изводится с четырьмя соседними ПЭ, передача информации осуществляется в режиме  «регистр-регистр».

 

  1. Подключение  и  отключение  процессорных  элементов

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

При маскировании, определяемом данными, каждый ПЭ самостоятельно объявляет  свой статус «подключен/не подключен». В составе системы команд имеются наборы маскируемых и не маскируемых команд. Маскируемые ко-    манды выполняются в зависимости от состояния флага F, в то время как не-маскируемые флаг просто игнорируют. Рассмотрим процедуру маскирования     на примере предложения IF-THEN-ELSE. Пусть x – локальная переменная (хранящаяся в локальной памяти каждого ПЭ). Предположим, что процессор-  ные  элементы  массива  параллельно  выполняют  ветвление:

IF (x>0) THEN <оператор A> ELSE <оператор В>

и каждый ПЭ оценивает условие IF. Те ПЭ, для которых условие x > 0 справед-ливо, установят свой флаг F в единицу, тогда как остальные ПЭ – в ноль. Далее КМП распределяет оператор А по всем ПЭ. Команды, реализующие этот опе-ратор, должны быть маскируемыми. Оператор А будет выполнен только теми  ПЭ, где флаг F установлен в единицу. Далее КМП передает во все ПЭ не-маскируемую команду ELSE, которая заставит все ПЭ инвертировать состояние своего флага F. Затем КМП транслирует во все ПЭ оператор В, который также должен состоять из маскируемых команд. Оператор В будет выполнен теми     ПЭ, где флаг F после инвертирования был установлен в единицу, то есть где результат  проверки  условия  x > 0  был  отрицательным.

При использовании схемы  глобального маскирования контроллер масси-    ва процессоров вместе с командами посылает во все ПЭ глобальную маску. Каждый ПЭ декодирует эту маску и по результату выясняет, должен ли он вы-полнять  данную  команду  или  нет.

В зависимости от способа  кодирования маски существует несколько  раз-личных схем глобального маскирования. В схеме, примененной в вычислитель-ной системе ILLIAC IV с 64-мя 64-разрядными ПЭ, маска представляет собой    N-разрядный вектор. Каждый бит вектора отражает состояние одного ПЭ. Ес-     ли бит содержит единицу, соответствующий ПЭ будет активным, в противном случае – пассивным. Несмотря на свою универсальность, при больших значе-    ниях N схема становится неудобной. В варианте маскирования с адресом ПЭ используется 2m-разрядная маска (m = log2N), в которой каждая позиция соот-ветствует одному разряду в двоичном представлении адреса ПЭ. Каждая пози- ция может содержать 0, 1 или Х. Таким образом, маска состоит из 2m битов.      Если для всех i (0≤ i <m) i-я позиция в маске и i-я позиция в адресе ПЭ сов-       падают или в i-ой позиции маски стоит Х, ПЭ будет активным. Например, маска 000Х1 представляет процессорные элементы с номерами 1 и 3, в то время как маска ХХХХ0 представляет все ПЭ с четными номерами (все это для массива      из 32 ПЭ). Здесь можно активизировать только подмножество из всех возмож- ных комбинаций процессорных элементов массива, что на практике не являет-    ся ограничением, так как в реальных алгоритмах обычно участвуют не произ-вольные  ПЭ,  а лишь  расположенные  регулярным  образом.

Глобальные и локальные  схемы маскирования могут комбинироваться. В таком случае активность ПЭ в  равной мере определяется как флагом F, так и глобальной  маской.

 

  1. Сети  взаимосвязей  процессорных  элементов

Эффективность сетей взаимосвязей процессорных элементов во многом определяет возможную производительность всей матричной системы. Примене-ние  находят  самые  разнообразные  топологии  сетей.

Поскольку процессорные элементы в матричных системах функциониру- ют синхронно, то обмениваться информацией они также должны по согласо-ванной схеме, причем необходимо обеспечить возможность синхронной пере-   дачи от нескольких ПЭ-источников к одному ПЭ-приемнику. Когда для пере- дачи информации в сетевом интерфейсе задействуется только один регистр пересылки данных, это может привести к потере данных, поэтому в ряде ВС     для предотвращения подобной ситуации предусмотрены специальные механиз-мы. В системе СМ-2 для этого используется оборудование, объединяющее со-   общения, поступившие к одному ПЭ. Объединение реализуется за счет опера-  ций арифметического и логического сложения, наложения записей, нахожде-    ния меньшего и большего из двух значений. В некоторых SIMD-системах, на-пример МР-1, имеется возможность записать одновременно пришедшие сооб-   щения  в  разные  ячейки  локальной  памяти.

Хотя пересылки данных по сети инициируются только активными ПЭ, пассивные процессорные элементы также вносят вклад в эти операции. Если активный ПЭ инициирует чтение из другого ПЭ, операция выполняется вне зависимости от статуса ПЭ, из которого считывается информация. То же самое происходит  и  при  записи.

Наиболее распространенными  топологиями в матричных системах явля-ются решетчатые и гиперкубические. Так, в ILLIAC IV, MPP и СМ-2 каждый    ПЭ соединен с четырьмя соседними. В МР-1 и МР-2 каждый ПЭ связан с во-      семью смежными ПЭ. В ряде систем реализуются многоступенчатые динами-ческие  сети  соединений  (МР-1,  МР-2,  GF-11).

 

Заключение

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

  • автомобилестроение;
  • нефте - и газодобыча;
  • фармакология;
  • прогноз погоды и моделирование изменения климата;
  • сейсморазведка;
  • проектирование электронных устройств;
  • синтез новых материалов и многие, многие другие.

В 1995 году корпус автомобиля Nissan Maxima удалось сделать на 10% прочнее благодаря использованию суперкомпьютера фирмы Cray (The Atlanta Journal, 28 мая, 1995г). С помощью него были найдены не только слабые точки кузова, но и наиболее эффективный способ их удаления.

По данным Марка Миллера (Mark Miller, Ford Motor Company), для выполнения crash-тестов, при которых реальные автомобили разбиваются о бетонную стену с одновременным замером необходимых параметров, съемкой и последующей обработкой результатов, компании Форд понадобилось бы от 10 до 150 прототипов новых моделей при общих затратах от 4 до 60 миллионов долларов. Использование суперкомпьютеров позволило сократить число прототипов на одну треть.

Ещё один пример - это развитие одной из крупнейших мировых систем резервирования Amadeus, используемой тысячами агентств со 180000 терминалов в более чем ста странах. Установка двух серверов Hewlett-Packard T600 по 12 процессоров в каждом позволила довести степень оперативной доступности центральной системы до 99.85% при текущей загрузке около 60 миллионов запросов в сутки.

И подобные примеры можно  найти повсюду. В свое время исследователи  фирмы DuPont искали замену хлорофлюорокарбону. Нужно было найти материал, имеющий те же положительные качества: невоспламеняемость, стойкость к коррозии и низкую токсичность, но без вредного воздействия на озоновый слой Земли. За одну неделю были проведены необходимые расчеты на суперкомпьютере с общими затратами около 5 тысяч долларов. По оценкам специалистов DuPont, использование традиционных экспериментальных методов исследований потребовало бы около трех месяцев и 50 тысяч долларов и это без учета времени, необходимого на синтез и очистку необходимого количества вещества.

Увеличение производительности ЭВМ, за счет чего?

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

Попробуем разобраться, какой  из этих факторов оказывается решающим для достижения рекордной производительности. Обратимся к известным историческим фактам. На одном из первых компьютеров  мира - EDSAC, появившемся в 1949 году в  Кембридже и имевшем время  такта 2 микросекунды (2*10-6 секунды), можно  было выполнить 2*n арифметических операций за 18*n миллисекунд, то есть в среднем 100 арифметических операций в секунду. Сравним с одним вычислительным узлом современного суперкомпьютера  Hewlett-Packard V2600: время такта приблизительно 1.8 наносекунды (1.8*10-9 секунд), а пиковая производительность около 77 миллиардов арифметических операций в секунду.

Что же получается? За полвека  производительность компьютеров выросла  более чем в семьсот миллионов  раз. При этом выигрыш в быстродействии, связанный с уменьшением времени  такта с 2 микросекунд до 1.8 наносекунд, составляет лишь около 1000 раз. Откуда же взялось остальное? Ответ очевиден - использование новых решений  в архитектуре компьютеров. Основное место среди них занимает принцип параллельной обработки данных, воплощающий идею одновременного (параллельного) выполнения нескольких действий.

К сожалению, чудеса в нашей  жизни совершаются редко. Гигантская производительность параллельных компьютеров  и суперЭВМ с лихвой компенсируется стоимостью и сложностью их использования. Но даже вопросы, возникающие вокруг суперкомпьютеров, ставят в тупик. Например, простой пример и жизни: землекоп выкопает яму за один час. Как вы думаете, 60 землекопов выкопают яму за одну минуту? Так и в компьютере: начиная с некоторого момента, они будут просто мешать друг другу, не ускоряя, а замедляя работу.

Но все вопросы, сопровождающие суперкомпьютер, конечно же, решаются. Да, использовать суперкомпьютер сложнее, чем PC: нужны дополнительные знания и технологии, высококвалифицированные  специалисты, более сложная структура  информации. Написать эффективную параллельную программу сложнее, чем последовательную, да и вообще создание параллельного  программного обеспечения для параллельных компьютеров - основная проблема суперкомпьютерных  вычислений. Но без суперЭВМ сегодня не обойтись, и отрадно, что в нашей стране есть понимание необходимости развития этих технологий. В ноябре 2000 года в Президиуме РАН состоялось открытие межведомственного суперкомпьютерного центра. В процессе становления суперкомпьютерные центры в Дубне, Черноголовке, Институте прикладной математики им. М.В. Келдыша и т.п.

Информация о работе Массивы процессорных элементов