Введение в архитектуру компьютеров

Направления повышения эффективности компьютеров


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

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

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

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

·    параллельность выполнения большого количества операций,

·    автоматическая настраиваемость структуры на решаемую задачу,

·    конструктивная однородность,

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

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

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

*                   одиночный поток команд – одиночный поток данных (SISD).




Сюда относятся типичные машины последовательного действия;

*                   одиночный поток команд – множественный поток данных (SIMD). Это матричные и ассоциативные структуры;

*                   множественный поток команд – одиночный поток данных (MISD). Он включает конвейерные или магистральные структуры;

*                   множественный поток команд – множественный поток данных (MIMD). К этому классу принадлежат структуры, включающие несколько процессоров, одновременно выполняющих различные фрагменты одной и той же программы.

На сегодняшний день разработан и функционирует целый спектр ВВС, начиная от машин серии ЕС, ПС, Эльбрус, имеющих производительность от нескольких миллионов и сотен миллионов операций в секунду, до многопроцессорной ВС Suprenum, включающей 256 процессорных узлов общего назначения с максимальной производительностью 5 млрд операций в секунду (оп/с) и машин типа Teraflop-1 с пиковой производительностью 1000 млрд оп/с.

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

Опыт разработки и исследования конвейерной архитектуры от ЭВМ Star 100, IBM 360/91, Cyber 205 до ETA Systems, Cray Research и ряда других показывает многообразие структурных решений, способствующих значительному увеличению максимальной производительности. Однако существенное увеличение быстродействия на конвейерных ВВС может быть достигнуто лишь для задач, векторизуемых более чем на 90 %. Векторизация в реальных задачах не превышает 70 %. Выход из этой ситуации, как правило, ищут в двух направлениях. С одной стороны, акцентируется внимание на повышении мощности скалярных вычислений в векторных ВВС.


Здесь показательны, например, разработки фирмы Cray Research. Так, если первые ее модели Cray X-HP, Cray-2 имели до четырех процессоров, то Cray-3 содержала 16 процессоров, а Cray-4 уже 64.

Интерес представляет суперкомпьютер Cray T3E/1200

– масштабируемая массово-параллельная система, состоящая из отдельных процессорных элементов (РЕ), которую производит компания Cray Research, подразделение Silicon Graphics. В нем используются процессоры DECchip (DEC Alpha EV5) с тактовой частотой 600 MГц и пиковой производительностью 1200Mflops. СистемыT3E масштабируются до нескольких тысяч процессоров. Каждый процессорный элемент располагает своей памятью (DRAM) объемом от 256Mб до 2Гб. При этом память системы глобально адресуема. Процессорные элементы связаны высокопроизводительной сетью с топологией трехмерного тора и двунаправленными каналами. Скорость обмена достигает 480 Mб/c в каждом направлении. Поддерживается явное параллельное программирование через пакет Cray Message Passing Toolkit (MPT), включающий высокопроизводительные реализации интерфейсов MPI и PVM, а также библиотеку Shmem разработки Cray Research для работы параллельных процессов над общей памятью. Для Фортран-программ возможно также неявное распараллеливание в моделях CRAFT и HPF. Среда разработки включает также набор визуальных средств для анализа и отладки параллельных программ. Компьютер работает под управлением операционной системы UNICOS/mk.

С другой стороны, ищут альтернативный подход к разработке конвейерной архитектуры, так называемое микромультипрограммирование. Предложена альтернативная теория конвейеризации Context Flow, где вычисления рассматриваются как набор логических преобразований на контекстах процессов. Этот подход дает лучшее соотношение производительность–стоимость, чем обычные конвейеры.

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


Большое затруднение здесь вызывают условные переходы, встречающиеся через каждые 8–10 команд. Решением проблемы условных переходов стал компилятор планирования трассы Trace Scheduling (фирма Multiflow Computer), который позволяет прогнозировать направление переходов в программах для решения инженерно-технических задач на основе аппарата статистического анализа.

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

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

Работы в указанной области условно можно разбить на три основных направления.

1. Разработка моделей параллельных вычислений и установление соотношений между ними, определение класса задач, допускающих эффективное распараллеливание (класс NC), и класса задач, наиболее трудных для распараллеливания (P-полных задач).

2. Разработка общих методов построения параллельных алгоритмов и распараллеливание последовательных алгоритмов. Исследование сложности параллельных алгоритмов в различных областях применений.

3. Создание методов и средств отображения параллельных алгоритмов на реальные параллельные архитектуры.

Интуитивное представление о параллельных вычислениях имеет много формализаций, которые реализуются в различных моделях параллельных вычислений. Среди них:

*                   параллельная машина с произвольным доступом к памяти;

*                   машины Тьюринга;

*                   машины с управлением потоком данных (data flow);



*                   модели, базирующиеся на сетях Петри и схемах синхронизации, и т. д.

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

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

В теории параллельных вычислений имеется ряд открытых проблем. Основная из них – это возможность эффективного распараллеливания алгоритмов. Она формулируется как соотношение классов NC и P. Это вопрос такой же важности, как соотношение классов P и NP в теории сложности вычислений, и очень далек от своего решения, ибо предполагает получение сверхполилогарифмических оценок параллельной сложности решения некоторых задач из класса P.

К конкретным задачам, для которых неизвестна их принадлежность ни к NC, ни к P-классу, относится, например, задача возведения целого в степень: для заданных n-битовых чисел a, b

и m вычислить ab mod m.


Содержание раздела