Файл: Архитектура современных компьютеров (История возникновения и структура ПК).pdf
Добавлен: 30.03.2023
Просмотров: 199
Скачиваний: 2
Персональный компьютер типа IBM PC имеет довольно традиционную архитектуру микропроцессорной системы и содержит все обычные функциональные узлы: процессор, постоянную и оперативную память, устройства ввода/вывода, системную шину, источник питания.
2.2 Архитектура современных компьютеров
На сегодняшний день суперкомпьютеры являются уникальными системами, создаваемыми «традиционными» лидерами компьютерного рынка, такими как IBM, Hewlett–Packard, NEC, Lenovo и другими, которые приобрели множество ранних компаний, вместе с их опытом и технологиями.
Компания Cray Inc. по-прежнему занимает достойное место в ряду производителей суперкомпьютерной техники3. Существует две основные архитектуры современных суперкомпьютеров – системы с общей памятью и кластеры. Каждый подход не исключает другого и имеет свои достоинства и недостатки. Достоинство систем с общей памятью – универсальность модели параллельного ПО, не требующей какого-либо дополнительного кода, или значительных изменений кода. Плюс кластерных систем – отказоустойчивость и лучшая масштабируемость. Системы с общей памятью SMP (общая память для всех процессоров) и NUMA (у каждого процессора, кроме доступа к общей памяти, есть локальная память) плохо масштабируются при росте числа процессоров. Кластеры масштабируются плохо из-за возрастающей сложности сети при добавлении узлов, но это происходит, когда число процессоров измеряется сотнями и даже тысячами.
С давних времен сложилось так что Intel продвигает SMP системы на рынке, а AMD – NUMA5. В случае Intel-a связь между процессорами осуществляется на основе QPI (QuickPath Interconnect), соответственно для AMD – это HyperTransport. Конец 1980-х и начало 1990-х годов охарактеризовались сменой магистрального направления развития суперкомпьютеров от векторно-конвейерной обработки данных к большому и сверхбольшому числу параллельно соединенных скалярных процессоров. Массивно-параллельные системы стали объединять в себе сотни и даже тысячи отдельных процессорных элементов, причем ими могли служить не только специально разработанные, но и общеизвестные и доступные в свободной продаже процессоры. Большинство массивно-параллельных компьютеров создавалось на основе мощных процессоров с архитектурой RISC (Reduced Instruction Set Computer), наподобие Power PC или PA-RISC (процессоры с внекристальной реализацией кэша).
В настоящее время развивается технология построения больших и суперкомпьютеров на базе кластерных решений. По мнению многих специалистов, на смену отдельным независимым суперкомпьютерам должны прийти группы высокопроизводительных серверов, объединяемых в кластер. Удобство построения кластерных систем заключается в том, что можно гибко регулировать необходимую производительность, подключая к кластеру с помощью аппаратных и программных интерфейсов обычные серийные серверы до тех пор, пока не будет получен суперкомпьютер требуемой мощности. Кластеризация позволяет манипулировать группой серверов как одной системой, упрощая управление и повышая надежность. Со списком ведущих производителей серверов и кластерных систем можно познакомиться на сайте6. Одной из ведущих компаний мира, имеющей, пожалуй, самую мощную в отрасли исследовательскую команду, способную решать многогранные внедренческие задачи практически любого уровня сложности, на протяжении более столетней деятельности является IBM. Вполне очевидно, что реальной физической базой кластерных систем высокой готовности от IBM может выступать практически любой сервер компании. Это как простые и недорогие стандартные машины из серии eServer xSeries на базе 32-разрядной архитектуры х86 (в том числе с использованием 64-разрядных расширений EM64T и AMD64) и 64-разрядной архитектуры Itanium, так и производительные серверы eServer iSeries и eServer pSeries на базе архитектуры POWER5 и мощные мэйнфреймы eServer zSeries.
Стоит отметить, что, держа в своих руках все нити жизненного цикла аппаратных платформ, IBM неуклонно проводит политику переноса инновационных технических и технологических решений с систем высшего уровня zSeries (где они в первую очередь появляются) на системы среднего - iSeries и pSeries, а затем и низшего уровня – xSeries, обеспечивая заказчикам единую архитектуру законченных решений и вместе с тем избавляя их от избыточных вложений в поддержание и развитие ИТ-инфраструктуры. Рассматривая возможности построения суперкомпьютеров и кластеров на процессорах и серверах производства IBM в первую очередь следует остановиться на новейших процессорах IBM – Power9 и Z14. Разработчики IBM выпустили RISC-процессор Power9, претендующий на роль ведущего обработчика больших данных.
Следует заметить, что SPARC64 и архитектура Power – единственные сегодня действующие представители RISC-архитектуры высокой производительности. Power9 производят по 14-нанометровой технологии Fin-FET (транзисторы с трехмерными затворами), а процессор содержит 8 млрд транзисторов на площади 695 кв. мм), что чуть больше, чем в Power8. Структура конвейеров разделяется на фронтальный компонент (внешний, до начала выполнения команд отвечающий, например, за диспетчирование) и компонент блоков выполнения (EU). Усовершенствованы были оба компонента. Процессорное ядро Power9 типа SMT4 обеспечивает аппаратную поддержку четырех программных нитей (Simultaneous MultiThreading 4). Но Power9 может базироваться и на ядрах других типов – SMT8. Общее число процессорных ядер SMT4 в микросхеме Power9 равно 24, а в варианте с SMT8 – 12. SMT-ядра поддерживают внеочередное выполнение команд; SMT4обеспечивает возможность завершения до 128 команд на каждом такте, а SMT8 – до 256 команд. Процессор Power9 c 24 SMT4-ядрами предназначен для универсального применения в качестве платформы для ОС Linux, 12-ядерный Power9 с SMT8 ориентируется на работу систем c виртуализацией через PowerVM для Linux и ОС IBM i и AIX. В версии ядра Linux 4.12 уже имеется расширенная поддержка Power9. Процессор Power9 вместе с Nvidia V100 (Volta) будет применяться в вычислительных узлах суперкомпьютеров Summit и Sierra в знаменитых Окриджской и Ливерморской национальных лабораториях США, что уже говорит само за себя.
Данные по производительности в тестах систем на Power9 пока не опубликованы, однако, например, схожая по архитектуре конфигурация на базе гетерогенных вычислительных узлов с Power8 и с 4 GPU Nvidia P100 на 64 узлах демонстрирует ускорение 95% от линейного910. Summit из американской Окриджской национальной лаборатории согласно спецификациям обеспечивает производительность в 200 PFLOPS двойной точности (FP64) и 3,3 EFLOPS смешанной точности, включая INT811. Объявленный в июле прошлого года последним мэйнфреймом IBM является z14, который был запущен в 2015 году1213. Для z14 IBM продолжала ориентироваться на три основных вектора: увеличение производительности на потоке, пропускная способность системы и повышение эффективности. Одним из основных факторов достижения этих целей является технология процесса производства микропроцессоров. Как и в случае с POWER9, IBM использует уникальный уникальный 14-нм SOI FinFET (14HP) GlobalFoundries со встроенной DRAM для извлечения большей плотности и снижения мощности.
Система построена на 10-ядерных процессорах при частоте 5,2 ГГц, ядра поддерживают Simultaneous Multithreading (SMT), но в отличие от настольных CPU каждое ядро может работать не с двумя, а с четырьмя потоками одновременно. Десятиядерный процессор может обрабатывать 40 потоков. z14 поддерживает повышенную эффективность виртуализации ядер Linux и более высокую пропускную способность встроенных процессоров z Integrated Information Processor (zIIP). Последний представляет собой специализированный процессор, работающий асинхронно с основным процессором мейнфрейма, который предназначен для повышения эффективности использования вычислительных ресурсов. Благодаря многопоточности производительность z14 стала до 25 % выше при использовании IFL (Integrated Facility for Linux) или zIIP1. Теперь многопоточная обработка поддерживает специализированные процессоры ввода-вывода под названием System Assist Processor (SAP). Поскольку кластерная архитектура суперкомпьютеров в настоящее время является преобладающей, а основными ее компонентами (вычислительными узлами), судя по публикациям, во многих случаях являются серверы и мэйнфреймы IBM на процессорах Power9 и z14, вопросы оптимизация вычислительного процесса при выполнении информационно-связанных задач в суперкомпьютерах будем рассматривать применительно к операционным системам, которые используются на этих компьютерах.
2.3 Многопроцессорная архитектура ПК
Суперкомпьютер TaihuLight с массово-параллельной архитектурой, занимающий первое место в списке TOP-500 самых мощных суперкомпьютеров мира (ноябрь 2016), имеет 40 960 процессорных узлов, каждый из которых включает в себя 260 процессорных ядер. Общая оперативная память системы составляет 1.3 Петабайт, пиковая производительность превышает 120 петафлопс. Анализ динамики роста производительности суперкомпьютеров показывает, что через 8–9 лет самый мощный суперкомпьютер становится рядовой системой, и что через 5–6 лет мы можем ожидать появление суперкомпьютера с экзафлопным уровнем производительности. Появление столь мощных многопроцессорных вычислительных систем выдвигает на первый план вопросы, связанные с разработкой фреймворков (шаблонов), позволяющих создавать высокомасштабируемые параллельные программы, ориентированные на системы с распределенной памятью.
SPMD (Single Program Multiple Data) — популярная парадигма параллельного программирования, в соответствии с которой все процессорные узлы выполняют одну и ту же программу, но обрабатывают различные данные. Какие именно данные необходимо обрабатывать тому или иному процессорному узлу, определяется его уникальным номером, который является параметром программы. Данный подход наиболее часто используется в сочетании с технологией MPI (Message Passing Interface), которая де-факто является стандартом для параллельного программирования на распределенной памяти.
Модель параллельных вычислений в общем случае должна включать в себя следующие четыре компонента, некоторые из которых в определенных случаях могут быть тривиальны.
1. Архитектурный компонент, описываемый как помеченный граф, узлы которого соответствуют модулям с различной функциональностью, а дуги — межмодульным соединениям для передачи данных.
2. Спецификационный компонент, определяющий, что есть корректная программа.
3. Компонент выполнения, определяющий, как взаимодействуют между собой архитектурные модули при выполнении корректной программы.
4. Стоимостный компонент, определяющий одну или более стоимостных метрик для оценки времени выполнения корректной программы.
В качестве наиболее важных свойств модели параллельных вычислений обычно выделяют следующие:
− Юзабилити, определяющая легкость описания алгоритма и анализа его стоимости средствами модели (модель должна быть легкой в использовании).
− Адекватность, выражающаяся в соответствии реального времени выполнения программ и временной стоимости, полученной аналитически с помощью стоимостных метрик модели (программа, имеющая меньшую временную стоимость, должна выполняться быстрее).
− Портируемость, характеризующая широту класса целевых платформ, для которых модель оказывается применимой.
2.4 Многомашинная вычислительная система
Идея концепции построения реконфигурируемых вычислительных систем заключается в аппаратной реализации всех операций, предписанных вершинами информационного графа задачи, всех каналов передачи данных между вершинами, соответствующими дугам графа, и всех информационных каналов, соответствующих входным и выходным вершинам. Задача, определенная информационным графом, будет выполнена максимально быстро, поскольку обеспечивается максимально возможное распараллеливание вычислений. Информационный граф большой задачи сегментируется на фрагменты – непересекающиеся базовые подграфы, физически реализуемые в аппаратуре реконфигурируемых вычислительных систем. Основными вычислительными блоками в реконфигурируемой вычислительной системе являются макропроцессоры, которые позволяют реализовывать операции, предписанные вершинами информационного графа. Макропроцессор представляет собой некоторый набор элементарных процессоров, объединяемых в единый программно-неделимый вычислительный ресурс с помощью локального пространственного коммутатора. Для реализации информационного графа решаемой задачи макропроцессоры должны иметь возможность соединения в вычислительные параллельно-конвейерные структуры с помощью системного коммутатора, который обеспечивает различные варианты соединения макропроцессоров друг с другом. В состав системы входит распределенная память, обеспечивающая возможности параллельной выдачи массивов входных данных на входы макропроцессоров и записи результатов вычислений с их выходов.
2.5 Архитектура с параллельными процессорами
С самого начала компьютерной эры существовала необходимость во все более и более производительных системах. В основном это достигалось в результате эволюции технологий производства компьютеров. Наряду с этим имели место попытки использовать несколько процессоров в одной вычислительной системе в расчете на то, что будет достигнуто соответствующее увеличение производительности. Первой такой попыткой, осуществленной в начале 70-х годов, является ILLIAC IV. Сейчас имеется масса параллельных компьютеров и проектов их реализации.
Архитектуры параллельных компьютеров могут значительно отличаться друг от друга. Рассмотрим некоторые существенные понятия и компоненты параллельных компьютеров. Параллельные компьютеры состоят из трех основных компонент: процессоры, модули памяти, и коммутирующая сеть. Можно рассмотреть и более изощренное разбиение параллельного компьютер на компоненты, однако, данные три компоненты лучше всего отличают один паралКоммутирующая сеть соединяет процессоры друг с другом и иногда также с модулями памяти. Процессоры, используемые в параллельных компьютерах, обычно точно такие же, что и процессоры однопроцессорных систем, хотя современная технология, позволяет разместить на микросхеме не только один процессор. На микросхеме вместе с процессором могут быть расположены те компоненты или их составляющие, которые дают наибольший эффект при параллельных вычислениях. Например, микросхема транспьютера наряду с 32-разрядным микропроцессором и 64-разрядным сопроцессором плавающей арифметики содержит внутри кристальное ОЗУ емкостью 4Кбайт, 32-разрядную шину памяти, позволяющую адресовать до 4Гбайт внешней по отношению к кристаллу памяти, четыре последовательных двунаправленных линии связи, обеспечивающих взаимодействие транспьютера с внешним миром и работающих параллельно с ЦПУ, интерфейс внешних событий.лельный компьютер от другого.
Заключение
В нынешнем мире компьютер занял высокую значимость в жизни человека. Кто-то использует компьютер, для работы, кто для учебы, кто для игр или просмотра фильмов, а некоторые для общения в сети. Но все они имеют классическую стандартную архитектуру и принцип функционирования, а также и историю создания и развития. Эволюционный процесс продолжает быть динамичным и чрезвычайно быстрым и именно он приводит в современным ПК.