Файл: Архитектура современных компьютеров (Характеристика персонального компьютера).pdf
Добавлен: 01.04.2023
Просмотров: 471
Скачиваний: 6
СОДЕРЖАНИЕ
1. Конфигурация современного компьютера.
1.1 Характеристика персонального компьютера
1.2 Назначение внутренних устройств персонального компьютера.
2.1 Классификация технических средств информатизации.
2.2 Магистрально-модульный принцип архитектуры современных компьютеров.
2.3 Массивно-параллельные системы современных компьютеров.
2.4 Симметричные мультипроцессорные системы (SMP).
2.5 Системы с неоднородным доступом к памяти (NUMA).
2.6 Параллельные векторные системы (PVP).
3. Схемы коммутации как основа высокой производительности системы
3.1 Организация схем коммутации
Имеется еще одно следствие, связанное с параллелизмом. Неявно производимая аппаратурой SMP пересылка данных между кэшами является наиболее быстрым и самым дешевым средством коммуникации в любой параллельной архитектуре общего назначения. Поэтому при наличии большого числа коротких транзакций (свойственных, например, банковским приложениям), когда приходится часто синхронизовать доступ к общим данным, архитектура SMP является наилучшим выбором; любая другая архитектура работает хуже.
Тем не менее, архитектуры с разделяемой общей памятью не считаются перспективными. Основная причина довольно проста. Рост производительности в параллельных системах обеспечивается наращиванием числа процессоров, что приводит к тому, что узким местом становится доступ к памяти. Увеличение локальной кэш-памяти не способно полностью решить проблему: задача поддержания согласованного состояния нескольких банков кэш-памяти столь же трудна. Как правило, на основе общей памяти не создают систем с числом процессоров более 32, при необходимости объединяя их в кластерные или NUMA-архитектуры.
2.5 Системы с неоднородным доступом к памяти (NUMA).
Архитектура: Система состоит из однородных базовых модулей (плат), состоящих из небольшого числа процессоров и блока памяти. Модули объединены с помощью высокоскоростного коммутатора. Поддерживается единое адресное пространство, аппаратно поддерживается доступ к удаленной памяти, т.е. к памяти других модулей. При этом доступ к локальной памяти в несколько раз быстрее, чем к удаленной. [20]
В случае, если аппаратно поддерживается когерентность кэшей во всей системе (обычно это так), говорят об архитектуре cc-NUMA (cache-coherent NUMA).
Масштабируемость: Масштабируемость NUMA-систем ограничивается объемом адресного пространства, возможностями аппаратуры поддержки когерентности кэшей и возможностями операционной системы по управлению большим числом процессоров. На настоящий момент, максимальное число процессоров в NUMA-системах составляет 256 (Origin2000).
Операционная система: Обычно вся система работает под управлением единой ОС, как в SMP. Но возможны также варианты динамического "подразделения" системы, когда отдельные "разделы" системы работают под управлением разных ОС (например, Windows NT и UNIX в NUMA-Q 2000).
Модель программирования: Аналогично SMP.
По сути своей NUMA представляет собой большую SMP, разбитую на набор более мелких и простых SMP. Аппаратура позволяет работать со всеми отдельными устройствами основной памяти составных частей системы (называемых обычно узлами) как с единой гигантской памятью. Этот подход порождает ряд следствий. Во-первых, в системе имеется одно адресное пространство, распространяемое на все узлы. Реальный (не виртуальный) адрес 0 для каждого процессора в любом узле соответствует адресу 0 в частной памяти узла 0; реальный адрес 1 для всей машины - это адрес 1 в узле 0 и т.д., пока не будет использована вся память узла 0. Затем происходит переход к памяти узла 1, затем узла 2 и т.д. Для реализации этого единого адресного пространства каждый узел NUMA включает специальную аппаратуру (Dir), которая решает проблему когерентности кэшей, обеспечивая получение актуальной информации от других узлов. [21]
Понятно, что этот процесс длится несколько дольше, чем если бы требуемое значение находилось в частной памяти того же узла. Отсюда и происходит словосочетание "неоднородный доступ к памяти". В отличие от SMP, время выборки значения зависит от адреса и от того, от какого процессора исходит запрос (если, конечно, требуемое значение не содержится в кэше).
Поэтому ключевым вопросом является степень "неоднородности" NUMA. Например, если для взятия значения из другого узла требуется только на 10% большее время, то это никого не задевает. В этом случае все будут относиться к системе как к SMP, и разработанные для SMP программы будут выполняться достаточно хорошо.
Однако в текущем поколении NUMA-систем для соединения узлов используется сеть. Это позволяет включать в систему большее число узлов, до 64 узлов с общим числом процессоров 128 в некоторых системах. [22]
В результате, современные NUMA-системы не выдерживают правила 10% - лучшие образцы замедление 200-300% и даже более. При такой разнице в скорости доступа к памяти для обеспечения должной эффективности следует позаботиться о правильном расположении требуемых данных.
Чтобы этого добиться, можно соответствующим образом модифицировать операционную систему (и это сделали поставщики систем в архитектуре NUMA). Например, такая операционная система при запросе из программы блока памяти выделяет память в узле, в котором выполняется эта программа, так что когда процессор ищет соответствующие данные, то находит их в своем собственном узле.
Аналогичным образом должны быть изменены подсистемы (включая СУБД), осуществляющие собственное планирование и распределение памяти (что и сделали Oracle и Informix). Как утверждает компания Silicon Graphics, такие изменения позволяют эффективно выполнять в системах с архитектурой NUMA приложения, разработанные для SMP, без потребности изменения кода.
2.6 Параллельные векторные системы (PVP).
Архитектура: Основным признаком PVP-систем является наличие специальных векторно-конвейерных процессоров, в которых предусмотрены команды однотипной обработки векторов независимых данных, эффективно выполняющиеся на конвейерных функциональных устройствах.
Как правило, несколько таких процессоров (1-16) работают одновременно над общей памятью (аналогично SMP) в рамках многопроцессорных конфигураций. Несколько таких узлов могут быть объединены с помощью коммутатора (аналогично MPP).[23]
Примеры: NEC SX-4/SX-5, линия векторно-конвейерных компьютеров CRAY: от CRAY-1, CRAY J90/T90, CRAY SV1, серия Fujitsu VPP и др.
Модель программирования: Эффективное программирование подразумевает векторизацию циклов (для достижения разумной производительности одного процессора) и их распараллеливание (для одновременной загрузки нескольких процессоров одним приложением).
2.7 Кластерные системы
Архитектура: Набор рабочих станций (или даже ПК) общего назначения, используется в качестве дешевого варианта массивно-параллельного компьютера. Для связи узлов используется одна из стандартных сетевых технологий (Fast/Gigabit Ethernet, Myrinet, SCI, INfiniBand и др.) на базе шинной архитектуры или коммутатора.
При объединении в кластер компьютеров разной мощности или разной архитектуры, говорят о гетерогенных (неоднородных) кластерах.
Узлы кластера могут одновременно использоваться в качестве пользовательских рабочих станций. В случае, когда это не нужно, узлы могут быть существенно облегчены и/или установлены в стойку.
Примеры: NT-кластер в NCSA, Beowulf-кластеры, кластеры МГУ и СПбГУ и др……
Операционная система: Используются стандартные для рабочих станций ОС, чаще всего, свободно распространяемые - Linux/FreeBSD, вместе со специальными средствами поддержки параллельного программирования и распределения нагрузки.
Модель программирования: Программирование, как правило, в рамках модели передачи сообщений (чаще всего - MPI).
Для эффективной работы и взаимодействию между собой Рабочие станции объединяют в сети. Основные принципы работы коммутации рассмотрены в 3-й главе.[24]
3. Схемы коммутации как основа высокой производительности системы
3.1 Организация схем коммутации
Важнейшим аспектом создания высокопроизводительных архитектур является построение средств коммутации.
В сетях различают два вида соединений: долговременные (постоянные, кроссовые) и оперативные. В соответствии с этим различают постоянную коммутацию и динамическую (оперативную) коммутацию.
Признаки сетей с динамической коммутацией:
- Соединение устанавливается по инициативе пользователя сети.
- Соединение организуется на время сеанса связи, и затем по инициативе одного из пользователей, разрывается.
- В общем случае допустима организация соединения между любыми пользователями сети.
- Время сеанса связи составляет от нескольких секунд до нескольких часов.
Признаки сетей с постоянной коммутацией:
- Соединение заказывается и оплачивается пользователем на длительный период времени.
- Соединение устанавливается персоналом, обслуживающим сеть.
- Период постоянной коммутации обычно составляет несколько месяцев.
Различают 3 основных метода коммутации в узлах сети: коммутацию каналов (КК), коммутацию сообщений (КС), коммутацию пакетов (КП).[25]
В общем случае решение каждой из частных задач коммутации — определение потоков и соответствующих маршрутов, фиксация маршрутов в конфигурационных параметрах и таблицах сетевых устройств, распознавание потоков и передача данных между интерфейсами одного устройства, мультиплексирование/демультиплексирование потоков и разделение среды передачи — тесно связано с решением всех остальных. Комплекс технических решений обобщенной задачи коммутации в совокупности составляет базис любой сетевой технологии. От того, какой механизм прокладки маршрутов, продвижения данных и совместного использования каналов связи заложен в той или иной сетевой технологии, зависят ее фундаментальные свойства.
Среди множества возможных подходов к решению задачи коммутации абонентов в сетях выделяют два основополагающих:
- коммутация каналов (circuit switching);
- коммутация пакетов (packet switching).[26]
Коммутацией каналов называют совокупность операций, выполняемых коммутаторами для получения составного физического канала связи между двумя точками сети. При этом на время сеанса связи для пары взаимодействующих точек занимаются некоторые ресурсы сети – абонентские линии, линии или каналы связи между узлами сети, аппаратура, создающая точки коммутации в узлах. Эти ресурсы не могут использоваться для обеспечения других соединений в сети в течение сеанса связи, независимо от того, ведется передача информации по организованному каналу в данный момент или нет.
Рис.11
Основным достоинством этого метода коммутации является:
- обеспечение диалога между пользователями;
- постоянная и известная скорость передачи информации по установленному каналу;
- низкий и постоянный уровень задержки передачи данных.
Основные недостатки:
- сеть может отказать в обслуживании запроса на установление соединения из-за недоступности необходимых ресурсов сети на любом участке или отказа вызываемого абонента поддержать соединение;
- низкое использование пропускной способности физических каналов связи из-за наличия пауз внутри информационных потоков;
- невозможно динамически перераспределять пропускную способность канала связи между разными соединениями;
- обязательная задержка перед передачей данных из-за фазы установления соединения.
Узлы с коммутацией каналов обслуживают поступающие вызовы по системе с отказами. Показателем качества обслуживания является процент отказов (или процент потерянных вызовов).[27]
Коммутацией сообщений называется совокупность операций по приему узлом коммутации целого сообщения (файла, блока данных), хранению принятого сообщения в постоянной памяти узла и последующей передачи сообщения дальше по сети в соответствии с содержащимся в нем адресом. Таким образом, сообщение поэтапно, с переприемом, передается через ряд узлов в пункт назначения.
Каждое передаваемое сообщение снабжается заголовком (адресом) А установленного формата и передается полностью в ближайший узел коммутации сообщений УКС. Принятые узлом сообщения хранятся в устройствах долговременной памяти ВЗУ (внешние запоминающие устройства), емкость которых теоретически не ограничена. УКС анализирует адресную часть, выбирает направление дальнейшей передачи, извлекает сообщение из памяти и передает его по одному из свободных каналов нужного направления.