Автор работы: Пользователь скрыл имя, 20 Января 2013 в 15:13, лекция
Классификации архитектур вычислительных систем. Введение: для чего нужны классификации?
Классификация Флинна: единственность или множественность потоков данных и команд.
Классификация Фенга: две простые численные характеристики параллелизма (пословный и поразрядный параллелизм).
Классификация Шора: шесть "типичных архитектур" вычислительных систем.
Симметричные мультипроцессорные системы (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 используются кластерныеили NUM |
Операционная система |
Вся система работает под управлением единой ОС (обычно UNIX-подобной, но для Intel-платформ поддерживается Windows NT). ОС автоматически (в процессе работы) распределяет процессы/нити по процессорам (scheduling), но иногда возможна и явная привязка. |
Модель программирования |
Программирование в модели обще |
Системы с неоднородным доступом к памяти (NUMA)
Архитектура |
Система состоит из однородных базовых модулей (плат), состоящих из небольшого числа процессоров и блока памяти. Модули объединены с помощью высокоскоростного коммутатора. Поддерживается единое адресное пространство, аппаратно поддерживается доступ к удаленной памяти, т.е. к памяти других модулей. При этом доступ к локальной памяти в несколько раз быстрее, чем к удаленной. В случае, если аппаратно поддерживается
когерентность кэшей во всей системе (обычно
это так), говорят об архитектуре cc-NUMA (cache- |
Примеры |
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) работают одновременно
над общей памятью (аналогично |
Примеры |
NEC SX-4/SX-5, линия векторно-конвейерных компьютеров CRAY: от CRAY-1, CRAY J90/T90, CRAY SV1, CRAY X1, серия FujitsuVPP. |
Модель программирования |
Эффективное программирование
подразумевает векторизацию циклов
(для достижения разумной производительности
одного процессора) и их распараллеливание
(для одновременной загрузки нескольких
процессоров одним приложением) |
Кластерные системы
Архитектура |
Набор рабочих станций (или
даже ПК) общего назначения, используется
в качестве дешевого варианта массивно- При объединении в кластер
компьютеров разной мощности или
разной архитектуры, говорят о гетерогенных ( Узлы кластера могут одновременно использоваться в качестве пользовательских рабочих станций. В случае, когда это не нужно, узлы могут быть существенно облегчены и/или установлены в стойку. |
Примеры |
NT-кластер в NCSA, Beowulf-кластеры. |
Операционная система |
Используются стандартные для рабочих станций ОС, чаще всего, свободно распространяемые - Linux/FreeBSD, вместе со специальными средствами поддержки параллельного программирования и распределения нагрузки. |
Модель программирования |
Программирование, как правило, в рамках модели передачи сообщений (чаще всего - MPI). Дешевизна подобных систем оборачивается большими накладными расходами на взаимодействие параллельных процессов между собой, что сильно сужает потенциальный класс решаемых задач. |
В настоящее время проблемная ориентация может быть выполнена на разных этапах разработки, создания и функционирования ВС. Современное состояние техники СБИС с программируемыми параметрами – ПЛИС позволяет осуществлять перестройку структуры устройства и системы, в целом, даже в ходе вычислительного процесса. В то же самое время, процесс разработки проблемно-ориентированных и специализированных ВС занимает достаточно длительное время и требует весьма значительных материальных затрат. Поэтому целесообразно оценивать эффективность разрабатываемых аппаратных средств на ранних этапах проектирования ВС. Для этого необходимы достаточно общие критерии эффективности реализации алгоритмов заданных классов задач на проектируемой архитектуре ВС и инструментальные средства для разработки и моделирования основных элементов архитектуры на разных уровнях организации вычислительного процесса. Не менее важен выбор средств и методов для реализации архитектурных решений ВС.
Обработка данных на ВС включает три компонента: данные, средства обработки и алгоритмы. Соответственно на эффективность реализации алгоритма влияют: организация и представление данных; архитектура ВС; параметры алгоритмов. Фактически они образуют соответствующие иерархические уровни.
Для успешной проблемной ориентации ВС необходим содержательный анализ алгоритмов и, как правило, их эквивалентные и неэквивалентные преобразования. Качество конкурирующих алгоритмов может быть оценено по модели задачи, которая должна отражать количественные оценки различных форм параллелизма (долю данной формы в общем объеме вычислений, ширину параллелизма), объем промежуточной информации, характеризующие требуемую интенсивность обменов и систему команд. Для того, чтобы полученные теоретические результаты имели достаточно общий характер и практическую ценность при проектировании проблемно-ориентированных и специализированных ВС необходимо эти результаты апробировать на классах задач, широко встречающихся на практике. В качестве таких задач в данной работе выбраны задачи нечисловой обработки (поддержка баз данных, системы логического вывода) и задачи программного управления сложными объектами. Выбор задач числовой обработки также обусловлен тем, что значительная часть задач, решаемых при интеллектуализации ВС, связана с обработкой нечисловых данных (базы данных, логический вывод, обработка текстов), которая характерна как для проблемно-ориентированных, так и для универсальных ВС. Доля такого вида обработки непрерывно возрастает, ее специфика в настоящее время недостаточно учитывается в архитектуре современных ЭВМ и ВС.
Эффективность ВС для решения заданного класса задач может быть оценена соответствием модели задачи и модели ВС.
Наиболее перспективными
направлениями
реализация параллельной обработки на всех уровнях иерархий архитектуры; реализация проблемно-ориентированной системы команд; создание коммуникационной системы, обеспечивающей возможности синхронной и асинхронной организации вычислительного процесса (реализация третьей и четвертой форм параллелизма);
Таким образом, в структуре работы выделяются следующие направления:
Соответственно необходимы исследования достаточно широкого класса задач для проблемно-ориентированных и специализированных ВС, таких как нечисловая обработка (поддержка баз данных, логический вывод, обработка текстов, множеств, графов), программное управление сложными объектами в режиме реального масштаба времени.
Эти четыре направления представляют собой составляющие пути для разработки системы проектирования высокопроизводительных проблемно-ориентированных и специализированных ВС.
Архитектура ВМ (в узком смысле) – описание средств доступных программисту, составляющему программу на языке машинных кодов. Сюда можно отнести перечень и формат команд, форму представления данных, механизм ввода вывода (вв-в), схема адресации.
Описание физических средств
реализации конкретной ВМ, включающую состав
Архитектура ВМ (в широком смысле) – объединяет узкую трактовку и организациию ВМ.
Рост частоты процессоров в сравнении с ростом производительности, значение архитектуры. (хуета, надо понимать, а тут бред)
А почему суперкомпьютеры считают так быстро? Вариантов ответа может быть несколько, среди которых два имеют явное преимущество: развитие элементной базы и использование новых решений в архитектуре компьютеров.
Попробуем разобраться, какой из этих
факторов оказывается решающим для
достижения рекордной производительности.
Обратимся к известным
Что же получается? За полвека производительность компьютеров выросла более, чем в семьсот миллионов раз. При этом выигрыш в быстродействии, связанный с уменьшением времени такта с 2 микросекунд до 1.8 наносекунд, составляет лишь около 1000 раз. Откуда же взялось остальное? Ответ очевиден -- использование новых решений в архитектуре компьютеров. Основное место среди них занимает принцип параллельной обработки данных, воплощающий идею одновременного (параллельного) выполнения нескольких действий.
Параллелизм
Параллельная обработка данных на ЭВМ
Параллельная обработка данных, воплощая идею одновременного выполнения нескольких действий, имеет две разновидности: конвейерность и собственно параллельность. Оба вида параллельной обработки интуитивно понятны, поэтому сделаем лишь небольшие пояснения.
Параллельная обработка. Если некое устройство выполняет одну операцию за единицу времени, то тысячу операций оно выполнит за тысячу единиц. Если предположить, что есть пять таких же независимых устройств, способных работать одновременно, то ту же тысячу операций система из пяти устройств может выполнить уже не за тысячу, а за двести единиц времени. Аналогично система из N устройств ту же работу выполнит за 1000/N единиц времени. Подобные аналогии можно найти и в жизни: если один солдат вскопает огород за 10 часов, то рота солдат из пятидесяти человек с такими же способностями, работая одновременно, справятся с той же работой за 12 минут - принцип параллельности в действии!