Выпуск #2/2002
И.Шахнович.
Работы по архитектуре сверхвысокопроизводительного компьютера продолжаются
Работы по архитектуре сверхвысокопроизводительного компьютера продолжаются
Просмотры: 3235
Новая архитектура микропроцессоров рождается в России. “Опять утопия!” – скептически заметит умудренный проектами последних лет читатель. Однако не будем спешить со скоропалительными выводами.
Начнем с истории. В середине 80-х годов в СССР начались работы по разработке новой архитектуры ЭВМ, основанной на новых физических принципах – программа “Основные направления фундаментальных исследований и разработок по созданию оптической сверхвысокопроизводительной машины Академии наук” (ОСВМ РАН). Организатором работ был Г.И. Марчук, тогда – председатель ГНТК, позднее – президент АН СССР. Научным руководителем работ выступил В.С. Бурцев – главный конструктор, в том числе многопроцессорных вычислительных комплексов “Эльбрус-1” и “Эльбрус-2”. Были привлечены специалисты многих институтов со всего СССР. До 1998 года работы велись сначала в ВЦКП РАН, затем – в Институте высокопроизводительных вычислительных систем (ИВВС). После ухода В.С. Бурцева с поста директора ИВВС работы продолжились в Институте проблем информатики (ИПИ РАН), директором которого был И.А. Мизин. При переходе работы оказались заторможенными и даже отброшенными на несколько лет назад. Об этих событиях в интервью нашему журналу рассказывал В.С.Бурцев летом 2000 года [1].
Однако работы продолжались, основное внимание, видимо, уделялось отработке архитектуры. Достижения в этой области демонстрируют эксперименты, результаты которых приведены в публикуемой ниже статье В.С. Бурцева. К сожалению, в силу ряда значимых причин автор не стал останавливаться на особенностях структуры разработанного процессора с беспрецедентно высоким показателем загрузки многих (до 128) параллельных исполнительных устройств. Однако наше любопытство заставило попробовать разобраться – что же именно обеспечивает столь высокие показатели, тем более что с 1993 года опубликовано немало статей, посвященных ОСВМ и новой архитектуре процессора, в том числе – и статей В.С. Бурцева. Мы не будем затрагивать оптические принципы, предложенные для реализации ЭВМ, – многие из них уже неактуальны, однако рассматриваемая архитектура подходит и для “обычной” полупроводниковой технологии. Итак, о чем идет речь?
Одним из наиболее перспективных способов оптимизации вычислительного процесса считается метод управления вычислительным процессом посредством потока данных (data flow). Он известен более четверти века. Работы по созданию программно-аппаратных средств его реализации велись в исследовательских центрах – государственных и частных – по всему миру, например в Массачусетском технологическом институте (процессор Tagget Token), лабораториях корпорации Tеxas Instruments (США), в Манчестерском университете (Англия). Однако дальше экспериментальных машин дело пока не пошло. Из наиболее известных data flow-систем следует отметить проекты Monsoon и Epsilon (США), CSRO-2 (Австралия). В чем суть метода?
В системах управления потоком данных последовательность операций зависит от готовности операндов. Как только в памяти оказывается пара операндов для того или иного оператора, он немедленно инициируется на одном из нескольких исполнительных устройств (если есть свободные). При этом последовательность выполнения операций программы может отличаться от порядка их записи. Например, различные итерации оператора цикла могут выполняться одновременно. Более того, (i+1)-я итерация может выполняться ранее i-й – разумеется, если для нее уже готовы данные. Data flow-системы включают достаточно много исполнительных устройств, работающих параллельно. На каждом из них возможно выполнение любого оператора системы команд машины.
Так удается преодолеть узкое место современных скалярных процессоров, существенную часть времени (в лучшем случае) занимающихся не собственно обработкой данных, а процедурами управления данными и спекулятивными вычислениями. С другой стороны, в отличие от многомашинных комплексов с традиционной архитектурой, распараллеливание вычислительных процессов – распределение данных по исполнительным вычислительным устройствам – в data flow-системах осуществляется аппаратно. При этом бремя организации вычислительного процесса возложено на запоминающее устройство, в котором происходит накопление операндов и поиск готовых пар (в общем случае – не обязательно пар). Наиболее эффективный инструмент реализации данного механизма – ассоциативная память.
Ассоциативная память (АП) – устройство достаточно сложное. Кроме хранения данных вместе с некоторыми признаками – тэгами (tag), показывающими, к какой команде и в каком контексте используются данные, она реализует процедуру сравнения тэгов. При их совпадении происходит выборка данных и инициация соответствующей команды. Такой механизм частично используется в ряде современных высокопроизводительных микропроцессоров, например в 64-разрядном Itanium фирмы Intel. Однако при data flow механизм управления данными должен быть весьма развитым, соответственно большим и число управляющих признаков у данных – выполняемая и следующая за ней команды (кому необходим результат операции), номер итерации, тип операции (векторная/скалярная, одно/двухоперандная, один/два токена результата) и т.д. [2]. В терминологии data flow данные вместе с набором признаков именуют токенам (token – признак, метка, фишка).
Именно такой подход лег в основу архитектуры отечественной ОСВМ. В терминологии ее разработчиков совокупность признаков токена, исключая код операции, называется его “окраской”. Очевидно, что метод управления потоком данных открывает широкие возможности для организации параллельных вычислительных процессов, причем с аппаратным распараллеливанием.
Очень поверхностно рассмотрим принцип работы нового компьютера (см. рис.). Вычислительное устройство представляет собой кольцевую структуру [3]. Токены хранятся в ассоциативной памяти. Каждый новый токен проверяется на совпадение его признаков с уже находящимися в АП. При обнаружении парного токена формируется пакет готовых токенов и направляется в буфер ассоциативной памяти (БАП). Если пары нет, новый токен записывается в АП. Вычислительный модуль включает в себя набор параллельных исполнительных устройств (ИУ), каждое из которых может реализовать заданный набор операторов. Коммутатор К1 распределяет пакеты готовых токенов из БАП между свободными ИУ. Таким образом исключаются простои процессора: как только данные готовы, они попадают на ИУ – разумеется, если есть свободные ИУ. БАП необходим, чтобы накапливать готовые пакеты при загрузке всех ИУ. Кроме того, при угрозе переполнения БАП и АП предусмотрен механизм первоочередного выполнения команд, ведущих к сокращению числа токенов (например, команд с двумя входными операндами и одним выходным).
Преимущество данного подхода перед реализованными в современных процессорах методами распараллеливания очевидны. Сама природа метода управления потоком данных подразумевает глубокий параллелизм, в отличие от метода управления потоком команд, заданных человеком. Как статическое распараллеливание, возложенное на компилятор (например, при архитектуре процессора с длинным командным словом – VLIW), так и механизмы предикации, спекулятивных вычислений, предсказаний переходов [4] и т.п., сколь бы эффективными они ни были, реализуются на относительно небольших – в десятки операций – участках программы. Видимо, именно поэтому столь популярны сегодня мультиконтекстные процессоры (multithreading), параллельно обрабатывающие отдельные участки программы (характерный пример – POWER4 компании IBM).
В описываемом же подходе глубина параллелизма определяется объемом АП, который может быть достаточно большим. Однако чем больше объем АП, тем ниже ее быстродействие. Поэтому в архитектуре ОСВМ ассоциативная память разбита на отдельные модули. Желательно, чтобы потенциально парные токены попадали в один модуль. Для этого аппаратно анализируется набор признаков токена (вычисляется их хеш-функция), затем коммутатор К2 распределяет токены по модулям АП. При заполнении одного модуля включается механизм перераспределения токенов по наименее загруженным модулям. Во время разработки архитектуры ОСВМ быстродействие полупроводниковой АП было недостаточным, поэтому предлагались варианты оптической реализации АП [4]. Однако сегодня серийно производится АП (например, компаниями Motorola и Music Semiconductors), временные характеристики которой приемлемы для создания высокопроизводительного компьютера. Именно в этом направлении работают сотрудники возглавляемого В.С. Бурцевым отдела ИПИ РАН.
К сожалению, поддержкой данных работ занимаются не российские государственные учреждения и даже не отечественные внебюджетные организации, а американская корпорация Nodal Systems. Кому будут принадлежать патенты на изобретения российских специалистов и кто заработает миллионные капиталы на освоении нового поколения процессоров, в том числе и для персональных компьютеров, догадаться не трудно.
Литература
1. Бурцев В.С. СуперЭВМ в России. История и перспективы. – ЭЛЕКТРОНИКА: НТБ, 2000, №4, с. 5–9.
2. Богачева Л.А., Подшивалов Д.Б. Проблемы построения системы команд для машин, основанных на принципе потока данных. - В кн.: Вычислительные машины с нетрадиционной архитектурой. Супер-ВМ. – М.: ВЦКП РАН, 1994.
2. Бурцев В.С. Выбор новой системы организации выполнения высокопараллельных вычислительных процессов, примеры возможных архитектурных решений построения суперЭВМ. - В кн.: Параллелизм вычислительных процессов и развитие архитектуры
суперЭВМ. – М.: ИВВС РАН, 1997.
3. Шахнович И. Высокопроизводительные процессоры. Век нынешний и век грядущий. – ЭЛЕКТРОНИКА: НТБ, 1999, №6, с. 6–11.
4. Бурцев В.С., Федоров В.Б. Ассоциативная память на принципах оптической обработки информации для супер-ЭВМ нового поколения. - В кн.: Вычислительные машины с нетрадиционной архитектурой. Супер-ВМ. – М.: ВЦКП РАН, 1994.
Однако работы продолжались, основное внимание, видимо, уделялось отработке архитектуры. Достижения в этой области демонстрируют эксперименты, результаты которых приведены в публикуемой ниже статье В.С. Бурцева. К сожалению, в силу ряда значимых причин автор не стал останавливаться на особенностях структуры разработанного процессора с беспрецедентно высоким показателем загрузки многих (до 128) параллельных исполнительных устройств. Однако наше любопытство заставило попробовать разобраться – что же именно обеспечивает столь высокие показатели, тем более что с 1993 года опубликовано немало статей, посвященных ОСВМ и новой архитектуре процессора, в том числе – и статей В.С. Бурцева. Мы не будем затрагивать оптические принципы, предложенные для реализации ЭВМ, – многие из них уже неактуальны, однако рассматриваемая архитектура подходит и для “обычной” полупроводниковой технологии. Итак, о чем идет речь?
Одним из наиболее перспективных способов оптимизации вычислительного процесса считается метод управления вычислительным процессом посредством потока данных (data flow). Он известен более четверти века. Работы по созданию программно-аппаратных средств его реализации велись в исследовательских центрах – государственных и частных – по всему миру, например в Массачусетском технологическом институте (процессор Tagget Token), лабораториях корпорации Tеxas Instruments (США), в Манчестерском университете (Англия). Однако дальше экспериментальных машин дело пока не пошло. Из наиболее известных data flow-систем следует отметить проекты Monsoon и Epsilon (США), CSRO-2 (Австралия). В чем суть метода?
В системах управления потоком данных последовательность операций зависит от готовности операндов. Как только в памяти оказывается пара операндов для того или иного оператора, он немедленно инициируется на одном из нескольких исполнительных устройств (если есть свободные). При этом последовательность выполнения операций программы может отличаться от порядка их записи. Например, различные итерации оператора цикла могут выполняться одновременно. Более того, (i+1)-я итерация может выполняться ранее i-й – разумеется, если для нее уже готовы данные. Data flow-системы включают достаточно много исполнительных устройств, работающих параллельно. На каждом из них возможно выполнение любого оператора системы команд машины.
Так удается преодолеть узкое место современных скалярных процессоров, существенную часть времени (в лучшем случае) занимающихся не собственно обработкой данных, а процедурами управления данными и спекулятивными вычислениями. С другой стороны, в отличие от многомашинных комплексов с традиционной архитектурой, распараллеливание вычислительных процессов – распределение данных по исполнительным вычислительным устройствам – в data flow-системах осуществляется аппаратно. При этом бремя организации вычислительного процесса возложено на запоминающее устройство, в котором происходит накопление операндов и поиск готовых пар (в общем случае – не обязательно пар). Наиболее эффективный инструмент реализации данного механизма – ассоциативная память.
Ассоциативная память (АП) – устройство достаточно сложное. Кроме хранения данных вместе с некоторыми признаками – тэгами (tag), показывающими, к какой команде и в каком контексте используются данные, она реализует процедуру сравнения тэгов. При их совпадении происходит выборка данных и инициация соответствующей команды. Такой механизм частично используется в ряде современных высокопроизводительных микропроцессоров, например в 64-разрядном Itanium фирмы Intel. Однако при data flow механизм управления данными должен быть весьма развитым, соответственно большим и число управляющих признаков у данных – выполняемая и следующая за ней команды (кому необходим результат операции), номер итерации, тип операции (векторная/скалярная, одно/двухоперандная, один/два токена результата) и т.д. [2]. В терминологии data flow данные вместе с набором признаков именуют токенам (token – признак, метка, фишка).
Именно такой подход лег в основу архитектуры отечественной ОСВМ. В терминологии ее разработчиков совокупность признаков токена, исключая код операции, называется его “окраской”. Очевидно, что метод управления потоком данных открывает широкие возможности для организации параллельных вычислительных процессов, причем с аппаратным распараллеливанием.
Очень поверхностно рассмотрим принцип работы нового компьютера (см. рис.). Вычислительное устройство представляет собой кольцевую структуру [3]. Токены хранятся в ассоциативной памяти. Каждый новый токен проверяется на совпадение его признаков с уже находящимися в АП. При обнаружении парного токена формируется пакет готовых токенов и направляется в буфер ассоциативной памяти (БАП). Если пары нет, новый токен записывается в АП. Вычислительный модуль включает в себя набор параллельных исполнительных устройств (ИУ), каждое из которых может реализовать заданный набор операторов. Коммутатор К1 распределяет пакеты готовых токенов из БАП между свободными ИУ. Таким образом исключаются простои процессора: как только данные готовы, они попадают на ИУ – разумеется, если есть свободные ИУ. БАП необходим, чтобы накапливать готовые пакеты при загрузке всех ИУ. Кроме того, при угрозе переполнения БАП и АП предусмотрен механизм первоочередного выполнения команд, ведущих к сокращению числа токенов (например, команд с двумя входными операндами и одним выходным).
Преимущество данного подхода перед реализованными в современных процессорах методами распараллеливания очевидны. Сама природа метода управления потоком данных подразумевает глубокий параллелизм, в отличие от метода управления потоком команд, заданных человеком. Как статическое распараллеливание, возложенное на компилятор (например, при архитектуре процессора с длинным командным словом – VLIW), так и механизмы предикации, спекулятивных вычислений, предсказаний переходов [4] и т.п., сколь бы эффективными они ни были, реализуются на относительно небольших – в десятки операций – участках программы. Видимо, именно поэтому столь популярны сегодня мультиконтекстные процессоры (multithreading), параллельно обрабатывающие отдельные участки программы (характерный пример – POWER4 компании IBM).
В описываемом же подходе глубина параллелизма определяется объемом АП, который может быть достаточно большим. Однако чем больше объем АП, тем ниже ее быстродействие. Поэтому в архитектуре ОСВМ ассоциативная память разбита на отдельные модули. Желательно, чтобы потенциально парные токены попадали в один модуль. Для этого аппаратно анализируется набор признаков токена (вычисляется их хеш-функция), затем коммутатор К2 распределяет токены по модулям АП. При заполнении одного модуля включается механизм перераспределения токенов по наименее загруженным модулям. Во время разработки архитектуры ОСВМ быстродействие полупроводниковой АП было недостаточным, поэтому предлагались варианты оптической реализации АП [4]. Однако сегодня серийно производится АП (например, компаниями Motorola и Music Semiconductors), временные характеристики которой приемлемы для создания высокопроизводительного компьютера. Именно в этом направлении работают сотрудники возглавляемого В.С. Бурцевым отдела ИПИ РАН.
К сожалению, поддержкой данных работ занимаются не российские государственные учреждения и даже не отечественные внебюджетные организации, а американская корпорация Nodal Systems. Кому будут принадлежать патенты на изобретения российских специалистов и кто заработает миллионные капиталы на освоении нового поколения процессоров, в том числе и для персональных компьютеров, догадаться не трудно.
Литература
1. Бурцев В.С. СуперЭВМ в России. История и перспективы. – ЭЛЕКТРОНИКА: НТБ, 2000, №4, с. 5–9.
2. Богачева Л.А., Подшивалов Д.Б. Проблемы построения системы команд для машин, основанных на принципе потока данных. - В кн.: Вычислительные машины с нетрадиционной архитектурой. Супер-ВМ. – М.: ВЦКП РАН, 1994.
2. Бурцев В.С. Выбор новой системы организации выполнения высокопараллельных вычислительных процессов, примеры возможных архитектурных решений построения суперЭВМ. - В кн.: Параллелизм вычислительных процессов и развитие архитектуры
суперЭВМ. – М.: ИВВС РАН, 1997.
3. Шахнович И. Высокопроизводительные процессоры. Век нынешний и век грядущий. – ЭЛЕКТРОНИКА: НТБ, 1999, №6, с. 6–11.
4. Бурцев В.С., Федоров В.Б. Ассоциативная память на принципах оптической обработки информации для супер-ЭВМ нового поколения. - В кн.: Вычислительные машины с нетрадиционной архитектурой. Супер-ВМ. – М.: ВЦКП РАН, 1994.
Отзывы читателей