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

доктора технических наук
Анохин, Александр Васильевич
город
Москва
год
2000
специальность ВАК РФ
05.13.13
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Проблемы масштабируемости и неоднородности в архитектуре вычислительных суперсистем»

Автореферат диссертации по теме "Проблемы масштабируемости и неоднородности в архитектуре вычислительных суперсистем"

На правах рукописи

РГ6 ОД

1.0 МАЙ М

Анохин Александр Васильевич

ПРОБЛЕМЫ МАСШТАБИРУЕМОСТИ И НЕОДНОРОДНОСТИ В АРХИТЕКТУРЕ ВЫЧИСЛИТЕЛЬНЫХ СУПЕРСИСТЕМ

Специальность 05.13.13 - вычислительные машины, комплексы, системы и сети

АВТОРЕФЕРАТ диссертации на соискание ученой степени доктора технических каук

Москва - 2000

Работа выполнена в Институте системного анализа Российской Академии наук (ИСА РАН)

Научный консультант: доктор технических наук, профессор,

член-корреспондент РАН Митропольский Юрий Иванович

Официальные оппоненты: доктор технических наук, профессор,

академик РАН Бурцев Всеволод Сергеевич

доктор технических каук, профессор, член-корреспокдент РАН Левин Владимир Константинович

доктор технических наук Шнитмаи Виктор Зиновьевич

Ведущая организация: Институт точной механики и вычислительной техники (ИТМ и ВТ) им. С .А. Лебедева РАН

Защита состоится 2000 г. в часов на заседании

специализированного совета Д.200.45.01 при Институте высокопроизводительных вычислительных систем РАН по адресу: 117872. Москва, Нахимовский пр-кг. д. 36, к. 1

С диссертацией можно ознакомиться в библиотеке ИВВС РАН Автореферат разослан "_ 2000 г.

Ученый секретарь диссертационного совета доктор физ.-мат. наук ^Х/Х1^^ Михайлюк М.В

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

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

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

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

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

можно эффективно векторизовать и всегда остается некоторая часть, которая выполняется последовательно на скалярных процессорах.

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

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

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

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

Научная новизна работы состоит в следующем.

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

• проблемная ориентация основных вычислительных средств;

• наличие вычислительных средств с различными формами параллелизма;

• модульность и масштабируемость аппаратных и программных средств;

• функциональная специализация вспомогательных вычислительных средств;

• иерархическое построение аппаратных и программных средств;

• повышение эффективности за счет оптимизации аппаратных и программных средств и сокращения накладных расходов.

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

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

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

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

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

4. Предложена архитектура мультиконвейерного унипроцессора, основанная на следующих основных принципах:

• обеспечение максимальной скорости синхронного конвейера для обработки цепочек векторных и скалярных операций;

• параллелизм обмена с памятью и выполнения операций;

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

• модульность конвейерных функциональных устройств и возможность масштабирования унипроцессора;

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

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

управление выполнением заданий кластеров и унипроцессора), на уровне кластера (распределение заданий и потоков).

Реализация результатов работы. Результаты работы были использованы при разработке архитектуры неоднородной высокопроизводительной вычислительной системы по проекту № 037.02.245.49 Миннауки РФ.

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

Система может включать от 1 до 8 основных вычислительных модулей, каждый из которых включает унипроцессор и мультипроцессор, содержащий от 8 до 512 микропроцессоров. При такте унипроцессора 4 не производительность унипроцессора составит 16 - 128 GFLOPS. При производительности микропроцессора порядка 300 MFLOPS производительность мультипроцессора составит 2,4 - 150 GFLOPS. Таким образом, интегральная пиковая производительность системы в минимальной конфигурации составляет 18 GFLOPS, в максимальной конфигурации - 2,2 TFLOPS.

Архитектура системы обеспечивает повышение параметров производительности на перспективной элементной базе. При использовании СБИС, имеющих более 100 млн. транзисторов, производительность мультипроцессора может составить порядка 8 TFLOPS, унипроцессора порядка 4 TFLOPS, а всей системы - до 100 TFLOPS при соответствующем повышении объемов и быстродействия всех уровней памяти системы.

Апробация работы. Основные результаты диссертации докладывались: на семинаре Института высокопроизводительных вычислительных систем РАН (1995 г., 1997 г.), на семинаре отдела высокопроизводительных вычислительных систем Института системного анализа РАН (1999 г., 2000 г.), на Пятом Международном семинаре "Распределенная обработка информации" (Новосибирск, 1995 г.), на международном семинаре "International Workshop on Advanced Electronics Technology'95" (Москва, 1995 г.), на VI Конференции РТА "Многопроцессорные системы, параллельные вычислительные технологии" ( Домодедово, 1996 г.), на Шестом Международном семинаре "Распределенная обработка информации" (Новосибирск, 1998 г.), на Научной

конференции, посвященной 70-летию со дня рождения академика В.А. Мельникова ( Москва, 1999 г.).

Публикации. По теме диссертации опубликовано 10 работ.

Объем работы. Диссертация состоит из введения, семи глав и заключения. Ее общий объем составляет 270 страниц, в том числе 24 таблицы, 37 рисунков и библиография из 114 наименований.

ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ

Во введении дан обзор современных высокопроизводительных ВС, обоснована актуальность темы, сформулированы цели и основные результаты работы, приведено краткое изложение работы.

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

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

однотипных СБИС.

2. Параллелизм уровня команд внутри одной подзадачи, или параллелизм низкого уровня. В свою очередь, параллелизм низкого уровня разделяется на регулярный и на нерегулярный параллелизм. Параллелизм является регулярным, если каждая операция выполняется на нескольких независимых элементах данных (параллелизм данных). Нерегулярный параллелизм низкого уровня имеет место, когда параллельно выполняются команды нескольких типов, причем каждая из которых выполняется только на одном элементе данных.

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

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

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

Большая часть прикладных программ характеризуется большим объемом однородного параллелизма низкого уровня, поэтому векторные и матричные типы структур являются наиболее подходящими типами архитектур для решения научно-технических программ. До последнего времени именно векторные архитектуры доминировали в области высокопроизводительных ВС.

Отмечено, что в больших научно-технических программах, содержащих порядка нескольких сотен миллионов операторов Фортрана, параллелизм явно неоднороден. Имеют место фазы выполнения программы, в которых параллелизм на несколько порядков выше среднего значения параллелизма, а время от времени параллелизм может быть на несколько порядков ниже среднего уровня.

Проведен анализ моделей программирования и проблем оптимизации программ.

С проблемой использования параллелизма тесно связана проблема специализации и проблемной ориентации или неоднородности в ВС.

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

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

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

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

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

Существенный аспект проблемы масштабируемости систем с массовым

параллелизмом - когерентность системы кэш-памятей.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Альтернатива к WI-протоколу заключается в обновлении всех кэшируемых копий элемента данных при каждой операции записи этого элемента. Данный тип протокола называется протоколом обновления по записи или протоколом с полной рассылкой операции записи. Этот протокол обозначен как WU (сокращение от Write-Update)-протокол.

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

выбором размера блока кэш-памяти, вариантом использования алгоритма модификации и рассылки признака недостоверности. Проведено сравнение производительности Ш- и №77-протоколов когерентности и рассмотрены основные методы реализации.

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

В главе 3 рассмотрены вопросы реализация когерентности кэш-памяти в кластере мультипроцессора на основе протокола слежения с частными состояниями.

В данном протоколе имеется четыре состояния блока кэш-памяти:

1. Недостоверное - содержимое блока не является истинным.

2. Оби/ее - блок кэш-памяти доступен только по чтению; содержимое блока кэшпамяти и соответствующего блока общей памяти совпадают.

3. Единственное частное - блок кэш-памяти доступен только по чтению; содержимое блока кэш-памяти и соответствующего блока общей памяти не совпадают.

4. Модифицированное частное - блок кэш-памяти доступен для операций чтения и записи, содержимое блока кэш-памяти и содержимое соответствующего блока общей памяти не совпадают.

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

Особенности протокола:

1. Для модификации блока необходимо предварительно установить признак единственного владения блоком.

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

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

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

Рассмотрены действия протокола для различных запросов, выполняемых в разных состояниях блока данных. Предложена реализация протокола, которая основана на введении специализированных операций системной шины:

1. Ш_Чтение - операция чтения, которая передает в кэш-память общую копию блока. Возможно, что данные переданы не из основной памяти, а из кэш-памяти, которая является владельцем блока.

2. Ш_Чтение_Ч - операция чтения. После завершения операции чтения кэшпамять, выполняющая запрос, становится единственным владельцем блока.

3. Ш_3апись - операция записи, которая вызывает обновление содержимого основной памяти и переводит все кэш-копии в состояние ГМУ. Операция выдается устройством ввода-вывода и другими пользователями шины, не имеющими кэшпамяти.

4. - локальная запись с полной рассылкой признака недостоверности. Не требуется обновления основной памяти, но все другие кэшируемые копии объявляются недостоверными. Содержимое основной памяти будет обновляться только при удалении данного частного блока из кэш-памяти.

5. Ш_Запись_ОП - запись в основную память без рассылки признака ШУ. Основная память обновляется, но все кэшируемые копии считаются истинными. Операция используется при перемещении частных блоков в основную память. Для этого можно использовать обычную операцию записи и, по существу, операция является избыточной, но она дает возможность не выполнять необязательные операции рассылки признака недостоверности и за счет этого повысить производительность протокола.

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

Предложены схемы алгоритмов функционирования контроллеров кэш-памяти и системной шины. Рассмотрены особенности механизма когерентности при многоуровневой организации кэш-памяти.

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

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

Глава 4 посвящена исследованию проблем масштабируемости архитектуры мультипроцессора.

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

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

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

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

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

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

Реализовать масштабируемый механизм когерентности кэш-памяти позволяет введение структуры справочника. Рассмотрены проблемы масштабируемых механизмов когерентности, проблемы корректности протокола в большой системе.

Проведен анализ и сравнение эффективности протоколов с рассылкой признака недостоверности, имеющих различные структуры справочника: централизованный справочник, распределенный справочник на основе односвязного списка и распределенный справочник на основе двусвязного списка. Во всех указанных протоколах необходимо, чтобы при выполнении записи кэш-память получала право единственного доступа к блоку. Указанные протоколы различаются методом проведения рассылки сообщений, содержащих признак недостоверности 1ЫУ, которые используются для установления единственности доступа к блоку, и механизмом обработки промахов.

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

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

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

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

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

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

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

В главе 5 рассмотрены проблемы архитектуры масштабируемой системы коммутации мультипроцессора.

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

процессора в кластере до примерно 250 не для банка общей оперативной памяти мультипроцессора и модуля.

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

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

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

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

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

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

Очень большие конфигурации МП будут иметь большие задержки передачи даже для КС небольшой размерности независимо от ширины каналов. Отсюда следует полезность принципа модульности при построении МП в составе неоднородной вычислительной суперсистемы. Гиперкуб размера N имеет N12 каналов в полусечении, а двумерный тор только 24N, так что каждый канал двумерного тора может быть в ^N/4 раз шире по сравнению с гиперкубом. Если п-куб отображается на плоскость, то на каждое физическое измерение отображается л/2 логических размерностей куба. Поэтому если расстояние между узлами фиксировано, то каждая дополнительная размерность будет увеличивать длину связи на коэффициент VA". Таким образом, длина самой длинной связи в «-кубе в И^2 •' раз больше самой длинной связи в двумерном кубе. Уменьшение длины связей является дополнительным аргументом в пользу структуры КС с меньшей размерностью.

Основной фактор, оказывающий определяющее влияние на задержку при равном числе проводников, есть увеличение ширины каналов при малой размерности КС. Более широкие каналы выгодны, если источником основной части потока сообщений в КС является один или небольшое число узлов. Если же потоки сообщений локализованы, то каждый узел взаимодействует с небольшим числом соседних узлов и используется только часть размерностей КС.

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

Проведен анализ вариантов механизмов маршрутизации.

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

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

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

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

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

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

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

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

Предложены следующие основные принципы построения архитектуры масштабируемого унипроцессора:

• обеспечение максимальной скорости синхронного конвейера для обработки цепочек векторных и скалярных операций;

• параллелизм обмена с памятью и выполнения операций;

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

• модульность конвейерных функциональных устройств и возможность масштабирования унипроцессора;

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

Основой унипроцессора (рис. 4) являются линейно связанные модули обработки и коммутации (МОК). МОК состоит из набора функциональных устройств,

коммутатора, регистра команды (РК) и блока оперативных регистров (Р). Передача данных, поступающих из предыдущего МОК и из блока регистров Р на вход функциональных устройств, осуществляется через коммутатор под управлением команды, находящейся в РК. Все МОК соединены в процессоре в линейки, в которых выходы функциональных устройств связаны с входами коммутатора последующего МОК. Число МОК в линейке, а также число параллельных наборов линеек в процессоре может изменяться. Данные и команды размещаются в логически и физически независимых устройствах - в буфере данных и в буферной памяти для хранения команд различных типов - в буфере для команд обработки (БКОБ), в буфере для команд обращения к памяти (БКОП) и в буфере для команд управления (БКУ).

Распределение информации в буферной памяти выполняется под управлением устройства загрузки команд (УЗК) из оперативной памяти унипроцессора и вычислительного модуля системы. Управление УЗК осуществляет диспетчер пакета заданий (ДПЗ), который взаимодействует с мониторно-моделирующей подсистемой (ММП). Выход каждой буферной памяти связан с соответствующими устройствами. БКОП через соответствующие регистры связан с коммутатором буфера данных, БКОБ связан с регистрами команд РК модулей обработки и коммутации. Команды управления из БКУ поступают на регистры устройства управления (УУ), откуда осуществляется управление коммутаторами БКОБ и БКОП. Информация из БКОП используется для управления обменом через коммутатор буфера данных между буфером данных и оперативными регистрами МОК. Программы и данные для унипроцессора подготавливаются в мониторно-моделирующей подсистеме (рис. 2).

После загрузки оперативной памяти ДПЗ модуля осуществляет запуск УЗК, который управляет распределением информации по специализированным устройствам памяти унипроцессора. Затем УЗК запускает программу, выдавая управляющий сигнал на регистр команд управления. По командам управления формируются описатели списков команд обработки и команд обращения к памяти. В этих списках содержится информация о размещении в соответствующих буферах команд обработки и команд обращения к памяти. Команды обращения к памяти считываются на регистры БКОП. При их выполнении данные из памяти данных поступают на регистры Р, в модулях обработки и коммутации. Соответствующие команды обработки считываются из памяти на регистры РЮ. При этом загрузка регистров Р, и РК[ может выполняться в конвейерном режиме, то есть начиная с МОКь Выполнение команд также осуществляется в конвейерном режиме. В каждом модуле каждый такт выбирается одна или несколько пар операндов и запускаются соответствующие функциональные устройства.

Поскольку работа модулей МОК происходит в детерминированном синхронном режиме, определение момента загрузки новых команд осуществляется в устройстве управления. Завершение программы сводится к выдаче соответствующего сигнала в устройство УЗК для выполнения загрузки следующего задания из ДПЗ. Возможно совмещение загрузки с собственно обработкой, при этом каждый цикл

загрузки выполняется на фоне выполнения программы, загруженной во время предыдущего цикла.

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

В общем случае возможна организация следующих режимов работы унипроцессора:

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

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

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

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

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

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

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

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

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

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

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

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

Оценка аппаратных средств и производительности унипроцессора показала, что в зависимости от конфигурации модуля обработки и коммутации его объём имеет величину от 1 до 2 млн. вентилей. Реализация модуля на современном кристалле, содержащем от 5 до 15 млн. транзисторов, может обеспечить работу на частоте 200 -500 МГц. Для объединения таких кристаллов наиболее эффективно использование мультикристальной конструкции. Один модуль может содержать от 4 до 8 функциональных устройств. Если соединить в линейку до 8 модулей и реализовать 8-кратный набор таких линеек в одном процессоре, то максимальная производительность процессора составит 128 GFLOPS.

В кристалле объемом порядка 100 млн. транзисторов можно разместить линейку из 8 модулей при тактовой частоте 1 ГГц. За счет повышения частоты, а также увеличения числа модулей в линейке и увеличения числа линеек максимальная производительность унипроцессора может составить 1 - 4 TFLOPS.

В главе 7 рассмотрены архитектура и основные принципы функционирования неоднородной суперсистемы, структура, состав и функционирование суперсистемы.

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

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

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

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

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

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

Структура и основные связи ОВМ с другими элементами системы показаны на рис. 2. В состав ОВМ входят, канал системной памяти, мультипроцессор (рис. 3), унипроцессор (рис. 4), диспетчер пакета заданий (ДПЗ) и оперативная память ОВМ.

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

Подготовленные ММП прикладные программы и данные для унипроцессора и мультипроцессора и управляющие программы для ДПЗ передаются из СП в ОВМ массивами, величину которых можно изменять в широких пределах: от 1 слова до 256 Кедов.

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

Системная память

0ВМ1

ОВШ

0ВМ8

Вычислительная подсистема

Дисковая подсистема

Подсистема ввода-вывода

Мониторно-моделирующая подсистема

1

Архивная память Рабочие станции Внеитие сети

Рис. 1. Структура вычислительной суперсистемы

Рис. 2. Структура основного вычислительного модуля

«3

О

Группа кластеров ГКО |Кластер ¡Кнастер • • • |КластерК5б\

Т I /К 1 ^

V

> Кол^ыутпатор первого уровня КМ О <

Группа кластеров ГК1

<—>

В §•

О

Группа кластеров ГК7

Рис. 3. Структура мультипроцессора

Рис. 6.2. Структура масштабируемого ушшроцессора

возможных конфликтов в портах системной памяти и оперативной памяти ОВМ (или других абонентов канала).

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

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

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

Производительность системы зависит от уровня технологии изготовления системы и от ее конфигурации. Система может включать от 1 до 8 основных вычислительных модулей, каждый из которых содержит унипроцессор и мультипроцессор, состоящий из 8-512 микропроцессоров. При такте синхронизации 4 не производительность унипроцессора составит 16 - 128 GFLOPS. При производительности микропроцессора порядка 300 MFLOPS производительность мультипроцессора составит 2,4 - 150 GFLOPS. Таким образом, интегральная пиковая производительность системы в минимальной конфигурации составляет 18 GFLOPS, в максимальной конфигурации - 2,2 TFLOPS.

Архитектура системы обеспечивает повышение параметров производительности на перспективной элементной базе. Так при использовании СБИС, имеющих более 100 млн. транзисторов, производительность мультипроцессора может составить порядка 8 TFLOPS. унипроцессора порядка 4 TFLOPS, а всей системы - до 100 TFLOPS при соответствующем повышении объемов и быстродействия всех уровней памяти системы.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ И ВЫВОДЫ

Основные результаты и выводы работы состоят в следующем :

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

• проблемная ориентация основных вычислительных средств;

• наличие вычислительных средств с различными формами параллелизма;

• модульность и масштабируемость аппаратных и программных средств;

• функциональная специализация вспомогательных вычислительных средств;

• иерархическое построение аппаратных и программных средств;

• повышение эффективности за счет оптимизации аппаратных и программных средств и сокращения накладных расходов.

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

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

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

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

КС мультипроцессора состоит из коммутаторов первого уровня и одного коммутатора второго уровня. Коммутатор первого уровня состоит из периферийных коммутационных узлов и одного центрального узла, соединённых двумерной тороидальной сетью. Каждый из периферийных узлов коммутатора первого уровня соединен синхронным двунаправленным каналом с одним кластером. Через центральный узел осуществляется связь коммутатора первого уровня с портом оперативной памяти основного вычислительного модуля суперсистемы, а также конвейерная синхронная связь с периферийным узлом коммутатора второго уровня, центральный узел которого осуществляет коммутацию периферийных узлов. Переход к

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

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

5. Предложена архитектура мультиконвейерного унипроцессора, основанная на следующих основных принципах:

• обеспечение максимальной скорости синхронного конвейера для обработки цепочек векторных и скалярных операций;

• параллелизм обмена с памятью и выполнения операций;

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

• модульность конвейерных функциональных устройств и возможность масштабирования унипроцессора;

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

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

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

Результаты диссертации опубликованы в следующих работах:

1. Анохин A.B., Ленгник Л.М., Митропольский Ю.И., Пучков И.И. Архитектура неоднородной вычислительной суперсистемы // Сб. "Распределенная обработка информации". Труды Пятого Международного семинара. Новосибирск. Институт физики полупроводников СО РАН.-1995.-С. 22-27.

2. A.V. Anohin, L.M. Lengnik, Yu. I. Mitropolski, I.I. Puehkov. The research of heterogeneous supercomputer system. International Workshop on Advanced Electronics Tech-nology'95. 1995.

3. Анохин А.В., Митропольский Ю.И., Пучков И.И. Архитектура коммутационной сети многопроцессорной системы // VI Конференция РТА "Многопроцессорные системы, параллельные вычислительные технологии". Домодедово.-1996.

4. Анохин А.В.. Мультипроцессор - многопроцессорная иерархическая подсистема вычислительного модуля // Сб. Вычислительные машины с нетрадиционной архитектурой. Супер ВМ. Вып. 5. М.: ИВВС РАН.-1997.-С. 15-36.

5. Анохин А.В., Пучков И.И. Межкластерный коммутатор мультипроцессора h Сб. Вычислительные машины с нетрадиционной архитектурой. Супер ВМ. Вып. 5. М.: ИВВС РАН.-1997,- С. 37-49.

6. Анохин А.В., Ленгник JI.M., Митропольский Ю.И., Пучков И.И. Структура и состав неоднородной вычислительной суперсистемы // Сб. Вычислительные машины с нетрадиционной архитектурой. Супер ВМ. Вып. 5. М.: ИВВС РАН.-1997.-С. 3-14.

7. Анохин А.В. Проблемы распределения заданий в неоднородной вычислительной системе // Сб. Вычислительные машины с нетрадиционной архитектурой. Супер ВМ. Вып. 5. М.: ИВВС РАН.-1997,- С. 65-81.

8. Анохин А.В., Ленгник Л.М., Митропольский Ю.И., Пучков И.И. Архитектура и проблемы эффективности неоднородной вычислительной суперсистемы // Информационные технологии и вычислительные системы. М.: ОИВТА РАН. ИВВС РАН.-1997.-№ 4.-С. 12-31.

9. А.В. Анохин. Распределение ресурсов и проблемы эффективности неоднородной вычислительной суперсистемы // Сб. "Распределенная обработка информации". Труды Шестого Международного семинара. Новосибирск. Институт физики полупроводников СО РАН.-1998.-С. 48-52.

10. А.В. Анохин. Проблемы проектирования мультипроцессора // Труды Научной конференции, посвященной 70-летию со дня рождения академика В.А Мельникова. М.: РАН.-1999.-С. 229-232.

Оглавление автор диссертации — доктора технических наук Анохин, Александр Васильевич

Введение.

1. Основные типы архитектур высокопроизводительных вычислительных систем.

2. Системы МБ с общей памятью.

3. Системы 81МБ с распределенной памятью.

4. Системы М1МБ с общей памятью.

5. Системы М1МБ с распределенной памятью.

6. Специализированные системы.

7. Уникальные системы.

8. Актуальность.

9. Цели работы.

10. Положения, выносимые на защиту.

11. Содержание работы.

Глава 1. Фундаментальные проблемы вычислительных суперсистем.

1.1. Параллелизм в вычислительных системах и программах.

1.2. Неоднородность в вычислительных системах.

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

1.4. Когерентность кэш-памяти.

1.5. Модели программирования и оптимизация программ.

1.5.1. Модель общей иамяти.

1.5.2. Модель передачи сообщений.

1.5.3. Модель параллелизма данных.

1.6. Вычислительные системы с нетрадиционной архитектурой.

1.6.1. Архитектура систем, управляемых потоком данных.

1.6.2. Систолические архитектуры.

1.7. Основные принципы построения неоднородной суперсистемы

1.8. Выводы.

Глава 2. Анализ архитектуры мультипроцессора с общей памятью.

2.1. Введение.

2.2. Структуры иерархии памяти.

2.3. Проблема когерентности памяти.

2.4. Модели согласованности памяти.

2.4.1. Модель последовательной согласованности.

2.4.2. Модель процессорной согласованности.

2.4.3. Модель слабой согласованности.

2.4.4. Модель освобожденной согласованности.

2.5. Основные элементы протоколов когерентности.

2.6. Алгоритмы когерентности и типы синхронизации обращений.

2.7. Сравнение WI- и WU-протоколов.

2.8. Состояния блока кэш-памяти.

2.9. Основные методы реализации.

2.10. Выводы.

Глава 3. Реализация когерентности кэш-памяти в кластере мультипроцессора.

3.1. Введение.

3.2. Когерентность кэш-памяти.

3.3. Протоколы с полной рассылкой сообщений.

3.4. Протокол слежения с частными состояниями.

3.5. Протокол слежения в кластере с общей шиной.

3.6. Реализация протокола

3.6.1. Функционирование контроллера кэш-памяти.

3.6.2. Функционирование контроллера шины.

3.6.3. Взаимодействие контроллеров кэш-памяти и шины.

3.7. Многоуровневая организация кэш-памяти.

3.7.1. Свойство включения.

3.7.2. Протокол обмена между уровнями иерархии кэш-памяти.

3.8. Методология уменьшения коэффициента промаха кэш-памяти.

3.8.1. Анализ операции обработки промаха кэш-памяти.

3.8.2. Методы усовершенствования общей шины.

3.9. Выводы.

Глава 4. Проблемы масштабируемости архитектуры мультипроцессора.

4.1. Введение.

4.2. Масштабируемость полосы пропускания коммутационной сети.

4.3. Общее адресное пространство.

4.3.1. Механизм обращений в общем адресном пространстве распределенной памяти.

4.3.2. Общее физическое адресное пространство и когерентность памяти.

4.4. Когерентность кэш-памяти в масштабируемом мультипроцессоре.

4.5. Масштабируемый механизм когерентности.

4.5.1. Общие требования.

4.5.2. Основы протокола справочника.

4.5.3. Функционирование протокола справочника.

4.5.4. Масштабирование протокола.

4.5.5. Варианты организации справочника.

4.6. Анализ функционирования протоколов справочников.

4.6.1. Централизованный справочник.

4.6.2. Распределенный справочник с односвязным списком

4.6.3. Распределенный справочник с двусвязным списком.

4.6.4. Сравнение протоколов справочников.

4.7. Введение вспомогательного процессора в устройство доступа к коммутационной сети.

4.8. Проблемы корректности протокола в большой системе.

4.9. Выводы.

Глава 5. Анализ архитектуры системы коммутации мультипроцессора.

5.1. Введение.

5.2. Топология системы коммутации.

5.2.1. Свойства топологии коммутационной сети.

5.2.2. Примеры и характеристики коммутационных сетей.

5.3. Управление маршрутизацией данных.

5.3.1. Требования к механизму маршрутизации.

5.3.2. Схемы управления потоком данных.

5.3.3. Виртуальный канал.

5.4. Алгоритмы червячной маршрутизации.

5.4.1. Детерминированная маршрутизация.

5.4.2. Адаптивная маршрутизация.

5.5. Анализ архитектуры системы коммутации.

5.5.1. Основные принципы построения системы коммутации

5.5.2. Определение параметров системы коммутации.

5.5.3. Влияние задержки передачи.

5.5.4. Оценка задержки передачи в условиях конкуренции

5.5.5. Выбор механизма маршрутизации.

5.5.6. Организация буферной памяти коммутационного узла.

5.6. Структура системы коммутации мультипроцессора.

5.6.1. Метод передачи данных в коммутаторе.

5.6.2. Периферийный узел коммутатора первого уровня.

5.6.3. Структура сообщений.

5.6.4. Центральный узел коммутатора первого уровня.

5.6.5. Коммутатор второго уровня.

5.6.6. Реализуемость и пропускная способность коммутатора

5.7. Выводы.

Глава 6. Проблемы архитектуры масштабируемого векторного процессора

6.1. Пределы производительности конвейерных структур.

6.2. Уровень технологических возможностей.

6.3. Мультиконвейерный векторный процессор.

6.3.1. Принципы построения.

6.3.2. Модуль обработки и коммутации.

6.3.3. Структура процессора.

6.3.4. Система команд.

6.3.5. Режимы работы.

6.3.6. Оценка времени выполнения наборов векторных команд.

6.3.7. Оценка производительности мультиконтекстной обработки

6.4. Оценка аппаратных средств и производительности.

6.5. Выводы.

Глава 7. Архитектура и принципы функционирования неоднородной суперсистемы.

7.1. Основные принципы построения архитектуры суперсистемы

7.2. Структура и состав суперсистемы.

7.3. Системы полупроводниковой и дисковой памяти.

7.4. Основной вычислительный модуль.

7.5. Функционирование диспетчера пакета заданий.

7.6. Масштабируемый мультипроцессор.

7.7. Масштабируемый векторный процессор.

7.8. Проблемы распределения ресурсов суперсистем.

7.8.1. Методы формирования и планирования заданий и потоков.

7.8.2. Проблемы планирования в крупномасштабной системе

7.8.3. Планирование на уровне кластера мультипроцессора.

7.8.4. Проблемы распределения большого числа процессоров

7.8.5. Методы распределения на уровне групп кластеров и вычислительных \ду лей.

7.9. Конструкторско-технологическая реализация суперсистемы

7.9.1. Реализация мультипроцессора.

7.9.2. Реализация унипроцессора.

7.10. Выводы.

Введение 2000 год, диссертация по информатике, вычислительной технике и управлению, Анохин, Александр Васильевич

Высокопроизводительные вычислительные системы, или как принято говорить, суперЭВМ, анализу архитектуры которых посвящена данная работа, предназначены для решения больших научно-технических задач.

В течение последнего десятилетия пиковая производительность суперЭВМ возросла примерно в 1000 раз. Это более чем в 100 раз превышает рост производительности в предыдущее десятилетие. В 1976 году самой быстродействующей вычислительной машиной являлась однопроцессорная конвейерная векторная машина Сгау-1 с пиковой производительностью 160 MFLOPS (число миллионов операций с плавающей запятой, выполненных в секунду), а в декабре 1996 года впервые преодолен барьер в 1 TFLOPS на суперЭВМ Intel ASCI Option Red - вычислительной системе (ВС) с массовым параллелизмом, содержащей 7264 микропроцессоров Pentium Pro [1J. Это событие отражает радикальные изменения, которые произошли в области элементной базы и архитектуры высокопроизводительных вычислительных систем за последние 10 лет.

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

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

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

Ниже, в разделах с 1 по 7, приведен краткий обзор современных высокопроизводительных ВС. Надо отметить, что этот рынок стал очень динамичен, а представленные материалы являются только относительно полными. Тем не менее, подобный обзор, на наш взгляд, несомненно полезен, так как позволяет получить общее представление о многообразии средств, с помощью которых в современных ВС достигается высокая производительность. Приведено краткое описание уникальных ВС, имеющих производительность порядка 1 ТРЬОРБ. Данные ВС представлены только в единичных экземплярах и доступны только 15 вычислительных центрах, где они установлены.

В разделе 8 на основе проведенного обзора обоснована актуальность работы.

В разделе 9 на основании вышеизложенного материала сформулированы основные цели диссертационной работы.

В разделе 10 приведены положения, выносимые на защиту.

В разделе 11 описана структура и объем работы.

Заключение диссертация на тему "Проблемы масштабируемости и неоднородности в архитектуре вычислительных суперсистем"

7.10. Выводы

Предложены архитектура неоднородной вычислительной суперсистемы, основанная на использовании различных форм параллелизма, и методология построения аппаратно-программного механизма автоматического распределения ресурсов вычислительной системы, основанная на:

• оптимизации распределения заданий по процессорам вычислительной системы, которую выполняет мониторно-моделирующая подсистема;

• распределенных средствах (диспетчерах пакетов заданий) динамического управления выполнением заданий в основных вычислительных модулях;

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

Производительность системы зависит от уровня технологии изготовления системы и от ее конфигурации. Система может включать от 1 до 8 основных вычислительных модулей, каждый из которых содержит унипроцессор и мультипроцессор, состоящий из 8 - 512 микропроцессоров. Так как такт уни-процессора равен 4 нс, то производительность унипроцессора составит 16 - 128 СРЬОРБ. При производительности микропроцессора порядка 300 МРЬОРБ, производительность мультипроцессора составит 2,4 - 150 СРЬОРБ. Таким образом, интегральная пиковая производительность системы в минимальной конфигурации составляет 18 СТЬОРБ, в максимальной конфигурации - 2,2 ТРШРЗ.

Архитектура системы обеспечивает повышение параметров производительности на перспективной элементной базе. Так при использовании СБИС, имеющих более 100 млн. транзисторов, производительность мультипроцессора молсет составить порядка 8 ТРЬОР8, унипроцессора порядка 4 ТРЬОРБ, а всей системы - до 100 ТРЬОРБ при соответствующем повышении объемов и быстродействия всех уровней памяти системы.

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

Заключение

В диссертации получены следующие основные результаты:

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

• проблемная ориентация основных вычислительных средств;

• наличие вычислительных средств с различными формами параллелизма;

• модульность и масштабируемость аппаратных и программных средств;

• функциональная специализация вспомогательных вычислительных средств;

• иерархическое построение аппаратных и программных средств;

• повышение эффективности за счет оптимизации аппаратных и программных средств и сокращения накладных расходов.

2. Предложена архитектура масштабируемой неоднородной вычислительной суперсистем])!, которая состоит из следующих функционально-ориентированных подсистем :

• Вычисли тельной подсистемы.

• Системной полупроводниковой памяти.

• Мониторно-моделирующей подсистемы для анализа, подготовки и распределения заданий (MMII).

• Дисковой подсистемы.

• Подсистемы ввода-вывода.

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

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

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

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

5. Предложена архитектура мультиконвейерного унипроцессора, основанная на следующих основных принципах:

• обеспечение максимальной скорости синхронного конвейера для обработки цепочек векторных и скалярных операций;

• параллелизм обмена с памятью и выполнения операций;

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

• модульность конвейерных функциональных устройств и возможность масштабирования унипроцессора;

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

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

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

Библиография Анохин, Александр Васильевич, диссертация по теме Телекоммуникационные системы и компьютерные сети

1. Computers in Pliysics.-1997.-Vol. ll.-Xs 2,- P. 129.

2. P. Хокни, К. Джесхоуп. Параллельные ЭВМ. Архитектура, программирование алгоритмы / Пер. с англ. под ред. Е.П. Курочкина.-М.: Радио и связь.—1986.—90 с.

3. M.J. Flynn. Some computer organizations and their effectiveneses//IEEE Vansactions on Computers.-1972.-Vol. 21.-P. 948-960.

4. S.F. Reddaway. The DAP approach // Infortech State of the Art Report: iupercomputers.-1979.-Vol. 2-P. 311-329.

5. P.M. Flanders, R.L. Hellier et al. Efficient high-level programming in the KMT DAP // Proc. IEEE.- 1991,- Vol.79 №4 -P. 524-536.

6. K.E. Batcher. Architecture of a massively parallel processor // Computer \rchitecture News.-1980.-Vol. 8.-№ 3.-P. 168-173.

7. B.A. Kahle, W.D. Hillis. The Connection machine model CM-1 architecture / IEEE Transactions on Systems, Man, and Cybernetics.-1989,-VoI. 19.-№4.-P. 707713.

8. B. Bacon. NCUBE2 and Thinking machine CM-2a aimed at university market // Computers in Physics.-1989 -Vol. 3.-№4.-P. 9, 10.

9. A. Geist, A. Beguelin, J. Dongarra, R. Manchek, W. Jaing, and V. Sunderam, PVM: A Users' Guide and Tutorial for Networked Parallel Computing, MIT Press, Boston-1994.

10. M. Snir, S. Otto, S. Huss-Lederman, D. Walker, J. Dongarra, MPI: The Complete Reference, The MIT Press, 1996. (Книга имеется в электронном виде по адресу http.Y/www.netHb.orgAitk/papers/mpi-book/mpi-book.html/).

11. D.V. James, А.Т. Laundrie, S. Gjessing, and G.S. Sohi. Scalable coherent in-:rface // Computer.-1990.-Vol. 23 .-№ 6.-P. 74-77.

12. Comput. Physics.-1996.-Vol. 10-P. 352.

13. Y. Iwasaki. The CP-PACS project // Nuclear Physics В (Proc. Suppl.).-1999 -ol. 60A.-P. 246-254.

14. E. Barzcz. One year with an iPSC/860 // Proceedings of the COMPCON ping'91 Conference.-1991.-P. 213.

15. S.L. Lillevik. The Touchstone 30 Gigaflop DELTA prototipe // Proceedings of he sixth Distributed Memory Computer Conference.-1991 .-P. 671.

16. P.S. Lomdahl, P. Tamayo, N. Grobech-Jensen, D.M. Beazley. 50 Gflops modular dynamics on the Connection Machine 5 // Proceedings of Supercomputing'93.-993.-P. 520.

17. D.R. Mackay, J. Drake, T. Sheehan, B. Shelton. Experrience in programming ;rand challenge applications on the Intel MP Paragon supercomputer // Proceedings of he Intel Supercomputer Users Group.-1995. (http://www.cs.sandia.gov/ISUG).

18. Y. Abei, K. Itakura, I. Boku, H. Nakamura, K. Nakazawa. Performance improvement for matrix calculation on the CP-PACS node processor // Proceedings of the Tigh Performance Computing on the Information Superhighway Conference.-1997.

19. Митропольский Ю.И. Концепция построения неоднородных вычислительных ;уперсистем // Труды Пятого Международного семинара "Распределенная обработка гнформации". Новосибирск. СО РАН. Институт физики полупроводников.-1995.-С. 42-46.

20. Параллельные вычисления / Под. ред. Г. Родрига: Пер. с англ./Под ред. Ю.Г. Дадаева.-М.: Наука. Гл. ред. физ.-мат. лит., 1986.-С. 49-51.

21. M.Kumar. Measuring parallelism in computation intensive scientific/engineering apllications // IEEE Trans, on Computers.-1988.-Vol. 37.-№ 9.-P. 1088-1098.

22. A. Nicolau, J.A. Fisher. Measuring the parallelism available for very long instruction word architectures // IEEE Trans, on Computers.-1984.-Vol. 33.-j4? 11.-P. 968-976.

23. H.D. Simon. Experience with massive parallelism for CFD at NASA lies Researsh Center // Supercomputer'92. Anwendunngen, Architekturen, Trends, iminar. Mannheim.-1992.-P. 122-136.

24. J. Archibald, J.-L. Baer. Cache-coherence protocols: Evaluation using a uniprocessor simulation//ACM Trans. Comput. Syst.-1986.-Vol. 4.-№ 4.-P. 273-)8.

25. K. Li, P. Hudak. Memory coherence in shared virtual memory systems // ACM rans. Comput. Syst.-1989.-Vol. 7.-№ 4-P. 321-359.

26. C.M. Pancake. Software support for parallel computing: where are we ;aded? // Commun. of the ACM.-1991.-Vol. 34.11.-P. 52-66.

27. P. Stenstrom. A survey of cache coherence schemes for multiprocessors // omputer.-1990.-Vol. 23.-№ 6-P. 12-24.

28. E. Hagersten, A. Landin, and S. Haridi. DDM A cache-only memory archi-icture // Computer.-1992,-VoI. 25.-№ 9-P. 45-54.

29. A. J. Smith. Cache Memories//ACM Computing Surveys.-1982.-Vol. 14.-№ .-P. 473-530.

30. S. Adve and M. Hill. Weak ordering a new definition // Proceedings of the 7th International Symposium on Computer Architecture.-1990.-P. 2-14.

31. M. Dubois, C. Scheurich, and F. Briggs. Memory access buffering in multi-rocessors // Proceedings of the 13th Annual Symposium on Computer Architecture.-986.-P. 434-442.

32. K. Gharachorloo, D. Lenoski, J. Laudon, P. Gibbons, A. Gupta, and j. Hen-essy. Memory consistency and event ordering in scalable shared-memory multiproces-3rs // Proceedings of the 17th International Symposium on Computer Architecture.-990.-P. 15-26.

33. D. Lenoski, J. Laudon, K. Gharachorloo, A. Gupta, and J. Hennessy. The di-ectory-based cache coherence protocol for the DASH multiprocessor // Proceedings of he 17th International Symposium on Computer Architecture.-1990.-P. 148-159.

34. T. Mowry and A. Gupta. Tolerating latency through software controlled pre-etching in shared-memory multiprocessors // Journal of Parallel and Distributed Com-»uting.-1991.-P. 87-106.

35. C.L. Seitz. The Cosmic cube // Communications of the ACM.-1985.-Vol.28.-^o l.-P. 22-33.

36. P. Pierce. The NX/2 operating system // Proc. Third Conf. On Hypercube Concurrent Computers and Applications.-1988.

37. O.A. McBryan. An overview of message passing environments // Parallel Computing.-1994.-Vol. 20.-P. 417-444.

38. T. Horiw, K. Hayashi, T. Shimizu, H. Ishihata. Improving the AP1000 parallel computer performance with message passing // Proc. of the 20th Annual Int. Symp. on Computer Architecture.-1993.-P. 314-325.

39. Бурцев B.C. Система массового параллелизма с автоматическим распределением аппаратных средств супер-ЭВМ в процессе решения задачи // Сб. Вычислительные машины с нетрадиционной архитектурой. Супер ВМ. Вып. 2. М.: ИВВС РАН.-1994.-С. 3-37.

40. S. Borkar et al. Supporting systolic and memory communication in iWarp // Proc. the 17th Annual International Symposium on Computer Architecture.-1990.-P. 70-81.

41. L.M. Censier and P.Feautrier. A new solution to coherence problems in multicache systems // IEEE Transactions on Computers.-1978.-Vol. 27.-№ 12.-P. 11121118.

42. L. Lamport. How to make a multiprocessor computer that correctly executes multiprocess programs // IEEE Transactions on Computers.-1979.-Vol. 28.9.-P. 690-691.

43. M. Dubois and C. Scheurich. Memory access dependencies in shared-memory multiprocessors // IEEE Transactions on Software Engineering.-1990.-Vol. 16.-№ 6.-P. 660-673.

44. J. R. Goodman. Using cache memory to reduce processor-memory traffic // Proceedings of the 10th Annual Symposium on Computer Architecture.-1983.-P. 124131.

45. L. Lamport. Time, clocks and the ordering of events in a distributed system // Communications of the ACM.-1978.-Vol. 21.-№ 7.-P. 558-565.

46. A.W. Wilson, Jr. and R. P. LaRowe, Jr. Hiding shared memory reference latency on the Galactica Net distributed shared memory architecture // Journal of Parallel and Distributed Computing.-1992.-P. 351-367.

47. J.R. Goodman. Cache consistency and sequential consistency. Technical Report Computer Sciences № 1006, University of Wisconsin, Madison, February 1991.

48. P. Sweazey and A.J. Smith. A class of compatible cache consistency protocols id thier support by the IEEE futurebus // Proc. 13th Symposium on Computer Archi-cture.-1986.-P. 414-423.

49. S.J. Eggers and R.H. Katz. Evaluating the performance of four snooping cache )herence protocols // Proceedings of the 16th International Symposium on Computer rchitecture.-1989.- P. 2-15.

50. S.J. Eggers and R.H. Katz. A characterization of sharing in parallel programs id its application to coherency protocol evaluation // Proceedings of the 15th Interna-onal Symposium on Computer Architecture.- 1987 -P. 373-382.

51. S. Thakkar, M. Dubois, A.T. Laundrie, and G.S. Sohi. Scalable shared-Lemory multiprocessor architectures // Computer.-1990.-Vol. 23.-P. 71-83.

52. A.J. Smith. Cache memories // ACM Computing Surveys.-1982.-Vol. 14.-№ .-P. 473-530.

53. J.R. Goodman. Using cache memory to reduce processor-memory traffic // roceedings of the 10th Annual Symposium on Computer Architecture.-1983.-P. 12431.

54. S. J. Frank. Tightly coupled multiprocessor systems speeds memory-access .mes // Electronics.-1984.-Vol. 57.-№ l.-P. 164-169.

55. M. Papamarcos and J. Patel. A Low overhead coherence solution for multi-rocessors with private cache memories // Proceedings of the 11th Annual Symposium n Computer Architecture.-1984.-P. 348-354.

56. M. Hill et al. Design decisions in SPUR // Computer.-1986-Vol. 19.11>. 8-22.

57. E. McCreight. The Dragon computer system: An Early Overview // In NATO advanced Study Institute on Microarchitecture of VLSI Computers.-1984.

58. A.R. Karlin, M.S. Manasse, L. Rudolph, and D.D. Sleator. Competitive noopy caching // Algorithmica.-1988.-Vol. 3.-№ l.-P. 79-119.

59. C.P. Thacker, L.C. Stewart, E.H. Satterthwaite, Jr. Firefly: A multiprocessor vorkstation // IEEE Trans, oil Commun.-1988.-Vol. 37.-№ 8.-P. 909-920.

60. Lynn Choi, Hock-Beng Lim, Pen-Chung Yew. Techniques for compiler-directed :ache coherence // IEEE Parallel & Distributed Technology.-1996.-P. 23-34.

61. B.A. Delagi, N.P. Saraiya, S. Nishimura, and G.T. Byrd. Instrumented architectural simulation // Proceedings of the Third International Conference on Supercom-puting.-1988.-P. 8-11.

62. M. Thapar, B.A. Delagi, and M.J. Flynn. Linked list cache coherence for scalable shared memory multiprocessors // Procceedings of the 7th International Parallel Processing Symposium.-1993.-P. 34-43.

63. A. Gupta, W.-D. Weber, T. Mowry. Reducing memory and traffic requirements for scalable directory-based cache-coherence schemes // Proceedings of International Conference on Parallel Processing.-1990.-Vol. I.-P. 312-321.

64. B. O'Krafka and A. Newton. An empirical evaluation of two memory-efficient directory methods // Proceedings of the 17th International Symposium on Computer Ar-chitecture.-1990.-P. 138-147.

65. A. Agarwal, R. Simoni, J. Hennessy, and M. Horowitz. An evaluation of directory schemes for cache coherence // Proceedings of the 15th International Symposium on Computer Architecture.-1988.-P. 280-289.

66. D. Gustavson. The scalable coherence interface and related standards projects //IEEE Micro.-1992.-Vol. 12.-№ l.-P. 10-22.

67. A. Agarwal et al. The MIT Alewife machine: Architecture and Performance // Proceedings of the 22nd International Symposium on Computer Architecture.-1995.-P. 2-13.

68. D. Lenoski et al. The directory-based cache coherence protocol for the DASH multiprocessor // Proceedings of the 17th International Symposium on Computer Archi-tecture.-1990.-P. 148-159.

69. D. Lenoski, J. Laudon, T. Joe, D. Nakahira, L. Stevens, A. Gupta, and J. Hennessy. The DASH prototype: Logic overhead and performance // IEEE Transactions on Parallel and Distributed Systems.-1993.-Vol. 4.-№ l.-P. 41-61.

70. A. Silberschatz, J. Peterson, and P. Calvin. Operating system concepts.-1991 Addison Wesley, Reading, MA.

71. W. J. Dally. Network and processor architecture for message-driven computers // In VLSI and Parallel Computation / Ed. R. Suaya and G. Birtwistle. San Mateo, CA. Morgan Kaufmann Publishers, Inc.-1990.-P. 140-222.

72. P. Kermani, and L. Kleinrock. Virtual cut-through: a new computer communications switching technique // Computer Networks.- 1979.- Vol. 3 .- № 4.-P. 267-286.

73. P. Т. Gaughan, and S. Yalamanchili. A family of fault-tolerant routing proto-jls for direct multiprocessor networks // IEEE Trans, on Parallel and Distributed Sys-ims.-1995.-Vol. 6.-№ 5.-P. 482-497.

74. L.M. Ni, and P.K. McKinly. A survey of wormhole routing techniques in di-ict networks // Computer.-1993 -Vol. 26.-№ 2-P. 62- 76.

75. P.M. Merlin and P.J. Schweitzer. Deadlock avoidance in store-and-forward etworks I: Store-and-forward deadlock // IEEE Trans, on Commun.-1980.-Vol. 28.-j\° .-P. 345-354.

76. W.J. Dally. Virtual-channel flow control // IEEE Trans, on Parallel and Disputed Svstems.-1992.-Vol. 3.-№ 2.-P. 194-205.

77. J. Duato. A new theory of deadlock-free adaptive routing in wormhole net/orks // IEEE Trans, on Parallel and Distributed Systems.-1993.-Vol. 4.-№ 12.-P. 320-1331.

78. W.J. Dally and C. L. Seitz. Deadlock-free message routing on multiprocessor nterconnection networks // IEEE Trans, on Comput.-1987.-Vol. 36.-N? 5.-P. 547-553.

79. D.H. Linder, J.C. Harden. An adaptive and fault tolerent wormhole routing trategy for k-ary n-cubes //' IEEE Trans, on Computers.-1991 .-Vol. 40.-N? l.-P. 22.

80. J.-L. Baer and W.-H. Wang. On the inclusion properties for multi-level cache Lierarchies // Proceedings of the 15th Annual International Symposium on Computer Architecture.-1988.-P. 73-80.

81. P.G. Emma. Understanding some simple processor-performance limits //IBM . Res. Develop.-1997.-Vol. 41.-№ 3.-P. 215-232.

82. K. Hwang. Advanced Computer Architecture.-N.Y.: McGraw-Hill.-1993.

83. С.P. Kruskal, М. Snir. The performance of multistage interconnection networks for multiprocessors // IEEE Trans, on Computers.-1983.-Vol. 32.-№ 12.-P. 1091-1098.

84. A. Agarwal. Limit on interconnection performance // IEEE Trans, on Parallel md Distributed Systems.-1991.-Vol. 2.-№ 4.-P. 398-412.

85. M. Karol, М. Hluchyi, S. Morgan. Input versus output queueing on a space vision packet switch // IEEE Trans, on Communications.-1987.-Vol. 35.2.-P. $47-1356.

86. S.-Y. Li. Theory of periodic contention and its application to packet switching Proc. of INFOCOM'88.-1988.-P. 320-325.

87. A.B. Анохин. Мультипроцессор многопроцессорная иерархическая подсис-ема основного вычислительного модуля // Сб. Вычислительные машины с нетради-ионной архитектурой. Супер ВМ. Вып. 5. М.: ИВВС РАН.-1997.- С. 15-36.

88. Анохин А.В., Митронольский Ю.И., Пучков И.И. Архитектура коммутаци-нной сети многопроцессорной системы// VI Конференция РТА "Многопроцессорные истемы, параллельные вычислительные технологии". Домодедово.-1996.

89. А. В. Анохин. Межкластерный коммутатор мультипроцессора// Сб. Вычис-ительные машины с нетрадиционной архитектурой. Супер ВМ. Вып. 5. М.: ИВВС 'АН.-1997.- С. 37-49.

90. R.M. Russel. The Сгау-1 computer system // Comm. of the ACM-1978.-Vol. l.-№ 1--P. 63-72.

91. Мельников В.А., Митронольский Ю.И., Шнитман В.З. Научные, техноло-ические и методологические аспекты создания вычислительной системы 'Электроника СС БИС-1" // Юбилейный сборник трудов институтов ОИВТА РАН.-Л.: ОИВТА РАН.-1993.-Т. II.-C. 28-41.

92. H.L. Groginsky, G.A. Works. A Pipeline Fast Fourier Transform // IEEE Trans, on Computers.-I970.-Vol. 19.-,\i> 11.-P. 1015-1019.

93. S.Y. Kung. On supercomputing with systolic/wavefront array processors // эгос. of the IEEE.-1984.-Vol. 72.-Ks 7.-P. 867-884.

94. K. Hwang. Multipipeline networking for compound vector processing // IEEE Trans, on Computers.-l988.-Vol. 37.-4° l.-P. 33-47.

95. Flynn M.J. Very high-speed computing systems // Proc. of the IEEE.-1966.-Vol. 54.-Nb 12.-P. 1901-1909.

96. M.R. Betker et al. The history of microprocessor // Bell Labs Technical Journal.-1997.-Vol. 2.-№ 4.-P. 29-56.

97. L. Beldi. Industri roadmaps. The challenge of complexity // Microelectronics Engineering.-1996.-Vol. 34l.-P. 9-26.

98. Р.К. Chatterjee, R.R. Doering. The future of microelectronics // Proc. of the iEE.-l998.-VoI. 86.-№ l.-P. 176-183.

99. D. Burger, J.R. Goodman. Billion-transistor architectures // Computer.-397.-Vol. 30.9.-P. 46-49.

100. Анохин А.В., Ленгник Л.М., Митропольский Ю.И., Пучков И.И. Структу-а и состав неоднородной вычислительной суперсистемы // Сб. Вычислительные ма-(ины с нетрадиционной архитектурой. Супер ВМ. Вып. 5. М.: ИВВС РАН.-1997.-:. 3-14.

101. Анохин А.В. Проблемы распределения заданий в неоднородной вычисли-гльной системе // Сб. Вычислительные машины с нетрадиционной архитектурой. )упер ВМ. Вып. 5. М.: ИВВС РАН.-1997,- С. 65-81.

102. W.J. Dally et al. The J-machine: A fine-grain concurrenr computer // Proc. f Information Processing'89.-1989.

103. D.E. Culler, G.M. Papadopolus. Monsoon: An explicit tooken-store architec-ure // Proceedings of the 17th Annual Symposium on Computer Architecture.-1990.

104. R.S. Nikhil, G.M. Papadopolus, and Arvind. *T: A multithreaded massively iarallel architecture // Proceedings of the 19th Annual Symposium on Computer Ar-hitecture -1992 -P. 156 -167.

105. Анохин А.В., Ленгник Л.М., Митропольский Ю.И., Пучков И.И. Архитектура и проблемы эффективности неоднородной вычислительной ;уперсистемы /У Информационные технологии и вычислительные системы. М.: ЗИВТА РАН. ИВВС PAH.-1997.-K9 4.-С. 12-31.

106. J.M.Barton, N.Bitar. A scalable multidiscipline, multiple processor scheduling ramefork for IRIX // Lecture Notes on Computer Science.-1995.-Vol. 949.

107. D.E.Black. Scheduling support for concurrency and parallelism in the Mach derating system // Computer.-1990.-Vol. 23.5.-P. 335-343.270

108. J.Torrelas, A.Tucker, A.Gupta. Evaluating the performance of cache-affinity scheduling in shared-memory multiprocessor // J. of Parallel and Distributed Sys-tems.-1995.-Vol. 24,-jV? 2.-P. 139-151.

109. L.Rudolph, M.Slivkm-Allalouf, and E.Upfal. A simple load balancing scheme for task allocation in parallel machines // 3rd Symp. Parallel Algorithms and Architectures.-1991 .-P. 237-245.

110. D.G. Feitelson, L.Rudolph. Gang scheduling performance benefits for fine-grain synchronization // J. Parallel and Distributing Computing.—1992.-Vol. 16.- № 4.-P. 306-312.

111. Алексеев В.И., Горгораки Е.И. Конструктивно-технологическая реализация мультипроцессора // Сб. Вычислительные машины с нетрадиционной архитектурой. Супер ВМ. Вып. 5. М.: ИВВС РАН.-1997.- С. 133-141.