Лекция по "Архитектуре ЭВМ"

Автор работы: Пользователь скрыл имя, 20 Января 2013 в 15:13, лекция

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

Классификации архитектур вычислительных систем. Введение: для чего нужны классификации?
Классификация Флинна: единственность или множественность потоков данных и команд.
Классификация Фенга: две простые численные характеристики параллелизма (пословный и поразрядный параллелизм).
Классификация Шора: шесть "типичных архитектур" вычислительных систем.

Файлы: 1 файл

Классификации архитектур вычислительных систем.docx

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

Симметричные  мультипроцессорные системы (SMP)

Архитектура

Система состоит из нескольких однородных процессоров и массива  общей памяти (обычно из нескольких независимых блоков). Все процессоры имеют доступ к любой точке  памяти с одинаковой скоростью. Процессоры подключены к памяти либо с помощью  общей шины (базовые 2-4 процессорные SMP-сервера), либо с помощью crossbar-коммутатора (HP 9000). Аппаратно поддерживается когерентность  кэшей.

Примеры

HP 9000 V-class, N-class; SMP-cервера и рабочие станции на базе процессоров Intel (IBM, HP, Compaq, Dell, ALR, Unisys, DG, Fujitsu и др.).

Масштабируемость

Наличие общей памяти сильно упрощает взаимодействие процессоров  между собой, однако накладывает  сильные ограничения на их число - не более 32 в реальных системах. Для  построения масштабируемых систем на базе SMP используются кластерныеили NUMA-архитектуры.

Операционная  система

Вся система работает под  управлением единой ОС (обычно UNIX-подобной, но для Intel-платформ поддерживается Windows NT). ОС автоматически (в процессе работы) распределяет процессы/нити по процессорам (scheduling), но иногда возможна и явная привязка.

Модель программирования

Программирование в модели общей памяти. (POSIX threads, OpenMP). Для SMP-систем существуют сравнительно эффективные средства автоматического распараллеливания.


Системы с  неоднородным доступом к памяти (NUMA)

Архитектура

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

В случае, если аппаратно поддерживается когерентность кэшей во всей системе (обычно это так), говорят об архитектуре cc-NUMA (cache-coherent NUMA)

Примеры

HP HP 9000 V-class в SCA-конфигурациях, SGI Origin2000, Sun HPC 10000, IBM/Sequent NUMA-Q 2000, SNI RM600.

Масштабируемость

Масштабируемость NUMA-систем ограничивается объемом адресного пространства, возможностями аппаратуры поддежки когерентности кэшей и возможностями операционной системы по управлению большим числом процессоров. На настоящий момент, максимальное число процессоров в NUMA-системах составляет 256 (Origin2000).

Операционная  система

Обычно вся система  работает под управлением единой ОС, как в SMP. Но возможны также варианты динамического "подразделения" системы, когда отдельные "разделы" системы работают под управлением разных ОС (например, Windows NT и UNIX в NUMA-Q 2000).

Модель программирования

Аналогично SMP.


Параллельные  векторные системы (PVP)

Архитектура

Основным признаком PVP-систем является наличие специальных векторно-конвейерных  процессоров, в которых предусмотрены  команды однотипной обработки векторов независимых данных, эффективно выполняющиеся  на конвейерных функциональных устройствах.

Как правило, несколько таких  процессоров (1-16) работают одновременно над общей памятью (аналогично SMP) в рамках многопроцессорных конфигураций. Несколько таких узлов могут быть объединены с помощью коммутатора (аналогично MPP).

Примеры

NEC SX-4/SX-5, линия векторно-конвейерных компьютеров CRAY: от CRAY-1, CRAY J90/T90, CRAY SV1, CRAY X1, серия FujitsuVPP.

Модель программирования

Эффективное программирование подразумевает векторизацию циклов (для достижения разумной производительности одного процессора) и их распараллеливание (для одновременной загрузки нескольких процессоров одним приложением).


Кластерные  системы

Архитектура

Набор рабочих станций (или  даже ПК) общего назначения, используется в качестве дешевого варианта массивно-параллельногокомпьютера. Для связи узлов используется одна из стандартных сетевых технологий (Fast/Gigabit Ethernet, Myrinet) на базе шинной архитектуры или коммутатора.

При объединении в кластер  компьютеров разной мощности или  разной архитектуры, говорят о гетерогенных (неоднородных) кластерах.

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

Примеры

NT-кластер в NCSA, Beowulf-кластеры.

Операционная  система

Используются стандартные  для рабочих станций ОС, чаще всего, свободно распространяемые - Linux/FreeBSD, вместе со специальными средствами поддержки параллельного программирования и распределения нагрузки.

Модель программирования

Программирование, как правило, в рамках модели передачи сообщений (чаще всего - MPI). Дешевизна подобных систем оборачивается большими накладными расходами на взаимодействие параллельных процессов между собой, что сильно сужает потенциальный класс решаемых задач.


 

 

  1. Проблемная ориентация высокопроизводительных компьютеров и вычислительных систем. Специфика предъявляемых к ним требований.

В настоящее время проблемная ориентация может быть выполнена на разных этапах разработки,  создания и   функционирования ВС.  Современное состояние техники СБИС с программируемыми параметрами – ПЛИС позволяет осуществлять перестройку структуры устройства и системы, в целом, даже в ходе вычислительного процесса. В то же самое время, процесс разработки проблемно-ориентированных и специализированных ВС занимает достаточно длительное время и требует весьма значительных материальных затрат. Поэтому целесообразно оценивать эффективность разрабатываемых аппаратных средств на ранних этапах проектирования ВС.  Для этого необходимы достаточно общие критерии эффективности реализации алгоритмов заданных классов задач на проектируемой архитектуре ВС и инструментальные средства для разработки и моделирования основных элементов архитектуры на разных уровнях организации вычислительного процесса. Не менее важен выбор средств и методов для реализации архитектурных решений ВС.

Обработка данных на ВС включает три компонента: данные,  средства обработки и алгоритмы. Соответственно на эффективность реализации алгоритма влияют: организация и представление данных;  архитектура ВС;  параметры алгоритмов. Фактически они образуют   соответствующие иерархические уровни.

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

Эффективность ВС для решения заданного класса задач может быть оценена соответствием модели задачи и модели ВС.

Наиболее перспективными направлениями совершенствования  архитектуры ВС являются: 

реализация параллельной обработки на всех уровнях иерархий архитектуры;  реализация проблемно-ориентированной системы команд;  создание коммуникационной системы,  обеспечивающей возможности синхронной и асинхронной организации вычислительного процесса (реализация третьей и четвертой форм параллелизма);

    • реализация параллельной обработки на всех уровнях иерархии архитектуры может быть осуществлена путем создания многопроцессорных параллельных ВС с однородной структурой на уровне организации   процессорных элементов (ПЭ)  и межпроцессорных взаимодействий при эффективном использовании всех форм параллелизма;
    • реализация гибкой проблемно-ориентированной системы команд может быть получена при использовании однородных вычислительных сред (ОВС)  и перестраиваемых автоматов,  выполненных в виде заказных СБИС или на ПЛИС;
    • реализация коммуникационной системы,  удовлетворяющей требованиям эффективной трансляции и маршрутизации (для синхронных и асинхронных способов организации вычисли-3 тельного процесса) может быть получена при использовании регулярных (однородных) коммутационных структур смешанного типа (магистральные и непосредственные связи между ПЭ).

Таким образом, в структуре  работы выделяются следующие направления:

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

Соответственно необходимы исследования достаточно широкого класса задач для проблемно-ориентированных и специализированных ВС,  таких как нечисловая обработка (поддержка баз данных,  логический вывод,  обработка текстов,  множеств,  графов),  программное управление сложными объектами в режиме реального масштаба времени.

Эти четыре направления представляют собой составляющие пути для разработки системы проектирования высокопроизводительных проблемно-ориентированных и специализированных ВС.

 

 

 

  1. Трактовка понятия «архитектура». Рост частоты процессоров в сравнении с ростом производительности, значение архитектуры. Параллелизм. Краткая история появления параллелизма в архитектуре ЭВМ.

Архитектура ВМ (в узком смысле) – описание средств доступных программисту, составляющему программу на языке машинных кодов. Сюда можно отнести перечень и формат команд, форму представления данных, механизм ввода вывода (вв-в), схема адресации.

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

Архитектура ВМ (в широком  смысле) – объединяет узкую трактовку  и организациию ВМ.

 

Рост частоты процессоров  в сравнении с ростом производительности, значение архитектуры. (хуета, надо понимать, а тут бред)

 

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

Попробуем разобраться, какой из этих факторов оказывается решающим для  достижения рекордной производительности. Обратимся к известным историческим фактам. На одном из первых компьютеров  мира - 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 раз. Откуда же взялось остальное? Ответ очевиден -- использование новых решений в архитектуре компьютеров. Основное место среди них занимает принцип параллельной обработки данных, воплощающий идею одновременного (параллельного) выполнения нескольких действий.

 

 

 

Параллелизм

Параллельная обработка  данных на ЭВМ

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

Параллельная  обработка. Если некое устройство выполняет одну операцию за единицу времени, то тысячу операций оно выполнит за тысячу единиц. Если предположить, что есть пять таких же независимых устройств, способных работать одновременно, то ту же тысячу операций система из пяти устройств может выполнить уже не за тысячу, а за двести единиц времени. Аналогично система из N устройств ту же работу выполнит за 1000/N единиц времени. Подобные аналогии можно найти и в жизни: если один солдат вскопает огород за 10 часов, то рота солдат из пятидесяти человек с такими же способностями, работая одновременно, справятся с той же работой за 12 минут - принцип параллельности в действии!

Информация о работе Лекция по "Архитектуре ЭВМ"