Выпуск #2/2000
Ю. Митропольский.
Суперкомпьютеры и микропроцессоры. Приоритеты исследований и разработок
Суперкомпьютеры и микропроцессоры. Приоритеты исследований и разработок
Просмотры: 2705
Суперкомпьютеры не только во многом определяют развитие вычислительной техники. Прежде всего, они играют важную роль в обеспечении национальной безопасности и экономической независимости любого государства. Поэтому правильная стратегия в области суперкомпьютерных и микропроцессорных систем – это не просто один из элементов технической политики отдельных фирм, а важнейший аспект государственной деятельности. Проблемы развития суперкомпьютерных систем уже обсуждались на страницах нашего журнала [1]. Предлагаемая статья продолжает развитие этой темы.
Во всем мире суперкомпьютеры играют исключительно важную, стратегическую роль. Не составляет исключения и Россия. Причем в нашей стране в силу ряда факторов, прежде всего экономических и организационных, приоритет у исследований и разработок в области суперкомпьютерных систем должен быть существенно выше, чем у работ по стандартным микропроцессорам и вычислительным машинам массового применения.
Сегодня рынок суперкомпьютерных систем монополизирован североамериканскими фирмами. Это – закономерный результат проводимой на протяжении нескольких десятков лет политики правительства США, которое в разных формах оказывает всяческое содействие развитию данного направления – в виде государственного заказа, специальных программ, финансируемых из бюджета, прямой поддержки, предоставляя гранты, и косвенной – за счет различных льгот [2, 3]. К числу стимулируемых инновационных проектов относятся также исследования в областях реляционных баз данных, телекоммуникаций, криптографии, распознавания речи, виртуальной реальности и т.д.
В результате именно государственного, а не рыночного регулирования отрасли монополия США в области микропроцессоров и суперкомпьютеров не вызывает сомнения. При этом как в Европе, так и в Японии, несмотря на достаточно высокий собственный технологический потенциал, отсутствуют как разработки, так и производство микропроцессоров (кроме заводов, принадлежащих американским фирмам, прежде всего супермонополии Intel). На рынке суперкомпьютеров не было и нет европейских фирм, а среди японских заметны лишь новые системы фирмы NEC – SX-4 [4], SX-5 [5]. Положение с микропроцессорами отчасти может измениться, например в результате их проникновения на рынок игр и развлечений – так, высказываются мнения, что выпуск фирмой Sony игрового компьютера Play Station 2 окажет влияние на позиции фирмы Intel в данном секторе рынка. Однако это не относится к высокопроизводительным микропроцессорам, наиболее важным в стратегическом отношении.
Позицию правительства США по отношению к развитию суперкомпьютеров характеризует высказывание главного научного сотрудника Национального агентства по безопасности Джорджа Коттера: “Соединенные Штаты намерены решительно поддерживать и укреплять свою долговременную позицию мирового лидера в области суперкомпьютеров. Эти высокопроизводительные компьютеры абсолютно необходимы с точки зрения интересов национальной безопасности США. В соответствии с этим правительство США намерено оказывать существенную поддержку программе по созданию суперкомпьютера Cray SV2 фирмы SGI” [6].
Экономические аспекты российского суперкомпьютера
Постоянно дискутируемый вопрос: что важнее – массовые компьютеры и микропроцессоры или суперсистемы – на наш взгляд, имеет однозначный ответ. С точки зрения национальной безопасности развитие отечественных суперкомпьютеров является первоочередной задачей прежде всего потому, что современные модели суперкомпьютеров никогда не будут нам проданы. Кроме того, стране просто необходимы изделия специального назначения, суперкомпьютеры в том числе, изготовленные на собственных комплектующих, если применение импортных компонентов может привести к снижению защищенности всей системы. Отечественные суперкомпьютеры позволят решить многие проблемы, включая разработку инструментальных средств для проектирования самых сложных интегральных схем, что обеспечит условия для создания отечественных микропроцессоров.
Естественно, что для суперкомпьютеров необходимы современные интегральные схемы с технологическими нормами не ниже 0,35–0,25 мкм. Однако речь идет не о крупномасштабном производстве, характерном для стандартных микропроцессоров, а о мини-заводах по изготовлению малых партий изделий. Более высокая стоимость интегральных схем в этом случае вполне оправдана.
Создание и выпуск крупных партий стандартных микропроцессоров потребует значительно больших затрат, связанных не только с разработкой, но и со строительством и технологическим обеспечением заводов. Разделение этой работы на две составляющие – отечественная разработка микропроцессора и изготовление его зарубежными фирмами – экономически малоцелесообразно, а с точки зрения безопасности недопустимо, если такой микропроцессор может быть использован в изделиях специального назначения. Кроме того, конкуренция со стороны фирм Intel и Microsoft настолько велика, что вероятность изготовления микропроцессора другими фирмами мала, а вероятность его выхода на рынок еще меньше [7]. Даже на внутреннем рынке отечественные микропроцессоры должны будут преодолевать уже сложившуюся монополию американских фирм.
Технологический вызов
Сегодня в области исследования архитектуры процессоров и вычислительных систем наблюдается кризис. Накопленный при создании суперкомпьютеров задел уже полностью использован в архитектуре микропроцессоров, а “силовой” вариант построения суперсистем за счет объединения тысяч стандартных микропроцессоров не обеспечивает высокой эффективности при решении реальных задач.
Технологический вызов, связанный с перспективой освоения кристаллов, содержащих от 100 млн. до 1 млрд. транзисторов, может быть принят и поддержан только за счет новых идей в области архитектуры, схемотехники, новых вычислительных методов, алгоритмических и программных моделей – т.е. необходим комплексный научный подход. Например, при уменьшении технологических норм число транзисторов на кристалле за период с 1999 по 2012 год увеличится в 70 раз, а тактовая частота – лишь в 2,5 раза [8]. Повысить тактовую частоту можно только за счет принципа близкодействия и применения схем с самосинхронизацией. А для этого, в частности, необходимо преимущественно использовать конвейерные схемы.
Немаловажно, что развитие микропроцессоров в последние годы происходит в рамках сохранения совместимости программного обеспечения. Вполне объяснимое экономически, с научной точки зрения такое положение не выдерживает критики. Например, во имя совместимости компания Intel вынужденно сохраняла явно не самую удачную архитектуру серии Intel xx86 вплоть до микропроцессоров Pentium. Не случайно в наиболее успешной массово-параллельной системе Cray T3E применены микропроцессоры Alpha со значительно более современной и удачной архитектурой, хотя коммерчески не столь успешные.
Как уже отмечалось в работе [1], цели создания персональных компьютеров, в которых в основном и используются стандартные микропроцессоры, и суперкомпьютеров существенно различаются. Совместимость для суперкомпьютеров гораздо менее значима, чем производительность и эффективность программ. Поэтому требуются значительные усилия на поиски новых методов вычислений с учетом особенностей параллелизма аппаратных средств [9]. В свою очередь новые методы вычислений могут способствовать созданию новых архитектур.
Критерии оценки архитектуры
Исследования и разработки процессоров и вычислительных систем должны проводиться с учетом многих критериев оценки. Их можно подразделить на три группы: связанные с возможностями аппаратной реализации; с эффективностью работы при решении реальных задач и с наличием (возможностью создания) программ и алгоритмов, обеспечивающих высокую степень загрузки аппаратуры.
К первой группе критериев оценки относятся:
• модульность и структурированность аппаратных средств, что позволяет сократить число объектов проектирования, снизить стоимость, упростить разбиение сложных схем на блоки и создать предпосылки для масштабирования;
• близкодействие, предполагающее, что основные связи устанавливаются по кратчайшему пути, а информация распространяется преимущественно между соседними элементами.
Вторая группа критериев включает:
• эффективность масштабирования – подразумевается, что рост производительности при увеличении числа объектов масштабирования (функциональных модулей, процессоров, элементарных машин, кластеров и т.п.) должен происходить пропорционально (в идеале – линейно) степени масштабирования;
• эффективность работы на реальных задачах – т.е. малый удельный вес потерь на организацию вычислений и другие вспомогательные функции по отношению к собственно полезным вычислениям.
В третью группу входят:
• программное обеспечение совместимость которого необходимо сохранить при создании новых машин и систем;
• возможность построения алгоритмов и программ, наилучшим образом соответствующих архитектуре и аппаратуре;
• возможность создания средств для распределения ресурсов в рамках всей системы и отдельных ее составляющих, в том числе выявление подзадач с разными формами параллелизма.
Архитектура процессоров
Кратко рассмотрим основные типы архитектуры процессоров в соответствии с приведенными критериями.
Скалярные процессоры прошли путь от первых машин до современных суперкомпьютеров. Их развитие связано с поисками различных подходов к параллелизму. Однако основной рост производительности достигался за счет увеличения тактовой частоты. Конвейерные структуры и параллельные функциональные устройства в скалярных процессорах также повышают производительность. Но увеличение числа ступеней конвейера редко приводит к линейному росту производительности, поскольку команды сильно взаимосвязаны. А одновременная загрузка многих параллельных функциональных устройств весьма проблематична. В результате эти процессоры не способны выполнять более одной команды за такт.
Первыми наиболее известными отечественными машинами со скалярной архитектурой были БЭСМ-6 и серия ЕС ЭВМ, среди зарубежных отметим CDC 6600, CDC 7600 (Control Data Corp.) и серии IBM 360/370. Первоначально микропроцессоры также имели скалярную архитектуру. Например, CISC-процессоры – Intel 486, Motorola 68xxx, затем – RISC-процессоры: Intel 860, Motorola 88xxx.
Суперскалярные процессоры обеспечивают параллельную выборку и запуск двух или нескольких команд – в них несколько параллельных конвейерных устройств. Система команд таких процессоров может не отличаться от обычных скалярных, но наибольший эффект достигается при использовании RISC-архитектуры. Структура суперскалярных процессоров резко усложняется по мере увеличения числа одновременно исполняемых команд. Распараллеливание реализуют аппаратные средства динамического планирования, однако для повышения эффективности необходима оптимизация при трансляции программ.
Суперскалярная архитектура использована в микропроцессорах серии Alpha (например, Alpha 21264, 21364), PowerPC, Intel 960, IBM RS/6000 (процессоры серии Power) и т.д. Внутренняя структура серии Pentium также содержит элементы суперскалярной организации.
Процессоры с длинным командным словом (WLIV) в своих командах содержат явное указание на параллельную выдачу и выполнение операций. Оптимизация программ происходит статически, при трансляции. Поскольку эти процессоры не занимаются динамическим планированием, они не так резко усложняются при увеличении числа операций, задаваемых в одной команде. Кроме того, их архитектура позволяет вводить дополнительные функциональные устройства, что отражает более высокую степень модульности. Первые процессоры с длинным командным словом создала фирма Multiflow Computers. Сейчас данная архитектура используется, например, в серии 64-разрядных процессоров Intel IA-64 (первый процессор серии – Itanium).
При использовании суперскалярных процессоров и процессоров с длинным командным словом обычно не удается параллельно выполнять более четырех–восьми команд. Увеличение этого числа требует очень серьезной подготовки программ.
Матричные процессоры состоят из одного устройства управления и многочисленных идентичных арифметических устройств, которые выполняют одну программу над разными наборами данных. Достижение эффективности возможно только при параллелизме данных в самой программе. При этом эффективность максимальна, если параллелизм данных равен или кратен числу арифметических устройств. Модульность обеспечивает набор идентичных устройств, однако близкодействие схемотехники в данном случае ограничено.
Первыми системами, использующими матричные процессоры, были Illiac IV, DAP, а также CM-2 фирмы Thinking Machnes Corp., в которой объединялось 64 тыс. простых процессорных элементов. В целом матричные процессоры явились переходным этапам к векторным процессорам.
Векторные процессоры также используют параллелизм на уровне данных. Наиболее распространены их реализации по конвейерным схемам. Благодаря синхронному конвейеру, множественным функциональным устройствам, зацеплению векторных операций и другим методам удается получать несколько результатов за один такт. Эффективность этих процессоров мало зависит от размерности векторов, на нее влияет лишь время разгона конвейера. Модульность обеспечивают параллельные функциональные устройства, а структурированность – детерминированность работы синхронного конвейера, в котором практически нет обычных схем управления, а само устройство управления моделирует временную диаграмму работы. В результате степень близкодействия схемотехники достаточно высока. Существенно, что на сегодня накоплен большой опыт векторизации программ и соответствующего программного обеспечения. Векторные процессоры применялись в таких суперкомпьютерах, как Cyber 205 фирмы CDC, Cray 1, в отечественной системе “Электроника СС БИС-1” и др.
Мультиконвейерные масштабируемые процессоры ориентированы на выполнение длинных цепочек векторных операций или параллельное выполнение взаимодействующих программ. Основа процессора – модули коммутации и обработки, соединяемые в последовательные цепочки и параллельные ветви. Каждый модуль способен одновременно выполнять несколько команд. При масштабировании возможно объединение сотен модулей, что позволяет получить соответственно сотни результатов за такт. Метакоманды для такого процессора обеспечивают согласованную работу всех модулей. Естественно, что для эффективного использования процессора требуется специальная подготовка программ [10].
Систолические процессоры являются специализированными мультиконвейерными устройствами для решения конкретной задачи. Они строятся на основе конвейерных устройств, конфигурируемых в соответствии с алгоритмом задачи. Производительность определяется числом устройств и степенью параллелизма их работы. Коммерческой системой с систолической архитектурой является Intel iWrap. Кроме того, известно немало исследовательских проектов систолических процессорных структур.
Процессоры, управляемые потоком данных, основаны на выявлении параллелизма с помощью поиска пары операндов для выполнения операции. Операнды, принадлежащие к одной операции, помечаются одинаковыми метками и помещаются в ассоциативную память. Как только в памяти оказываются операнды с одинаковыми метками, инициируется соответствующая операция. Потенциально в данных процессорах возможна высокая степень параллелизма, однако для этого необходима специальная подготовка программ. Производительность процессора данного типа зависит от быстродействия ассоциативной памяти. Пока созданы только экспериментальные образцы таких процессоров, например проект Манчестерского университета, экспериментальный процессор Массачусетского технологического института (MIT) Tagged Token, проект Moonsoon и т.д.
Мультиконтекстные процессоры (mulithreading) предназначены для ослабления влияния задержек при обращении к памяти. Программа разбивается на независимые отрезки (threads), для каждого из которых выделяется контекстная память. Процессор последовательно обрабатывает каждый из программных отрезков, переключаясь за время одного такта с одной области контекстной памяти на другую. В англоязычной литературе для этого режима принят термин mulithreading, который можно перевести как микромультипрограммирование. При наличии нескольких параллельных функциональных устройств возможен одновременный запуск нескольких программ. Такой режим называют simultaneous multithreading, или параллельное микромультипрограммирование. Для хранения контекста и выполнения переключения программ требуются дополнительные аппаратные ресурсы, что отрицательно сказывается на тактовой частоте и времени выполнения операций. Средства контекстной замены обычно дополняют ту или иную архитектуру процессора.
Наиболее известные системы с данной организацией – HEP фирмы Denelcor и Tera компании Tera Computer. В системе HEP задействовано 16 процессоров, каждый из которых поддерживает до 128 процессов. В максимальной конфигурации система Tera объединяет 256 процессоров, каждый выполняет до 128 процессов (i-streams).
Интеллектуальная память с прямым доступом (IRAM, Inellectual Random Access Memory) также служит для сокращения потерь при обращении к памяти. Это особенно важно для ультрабольших интегральных схем. Пример реализации этой концепции – экспериментальная система Berkely V-IRAM. Важным шагом к серийной реализации IRAM является процессор Alpha 21364, у которого память занимает 90% площади кристалла.
Процессоры с суперспекулятивной архитектурой ориентированы на модель неявного параллелизма. Их задача – преодолеть предел параллелизма, задаваемый потоком данных при сохранении совместимости программ с другими процессорами. За счет механизмов предсказания переходов и изменения последовательности команд возможно в среднем вместо четырех команд за такт исполнять до 10, а для некоторых программ – до 19. По оценкам, процессор, выполняющий одновременно до 32 команд, будет содержать около 200 млн. транзисторов, а с учетом кэш-памяти – до 1 млрд.
Архитектура суперсистем
Симметричные мультипроцессорные системы с общей памятью являются наиболее развитыми с точки зрения накопленного опыта их использования. Обычно они включают не более 32–64 скалярных процессоров. Им свойственны модульность и масштабируемость. Пример таких систем – отечественные многопроцессорные комплексы “Эльбрус-1” и “Эльбрус-2”.
Широко распространены и векторные мультипроцессорные системы. Они являются основным, причем высокоэффективным инструментом при решении многих задач, для них накоплен большой объем программ. Число процессоров в таких суперсистемах также не превышает 64. Характерные представители данного семейства – компьютеры серий Cray X-MP, Cray C90, Cray T90; системы SX-1, SX-2, SX-3 фирмы NEC; двухпроцессорный вариант системы “Электроника СС БИС-1” и т.д.
Системы с массовым параллелизмом обеспечивают наивысшую пиковую производительность. Обычно они содержат от десятков до нескольких тысяч высокопроизводительных микропроцессоров, связанных посредством коммутатора с высокой пропускной способностью. Однако при масштабировании таких систем трудно достичь соответствующего роста производительности. До сих пор в полной мере не решены проблемы распараллеливания вычислений, за исключением задач, разделяемых на большое число локальных процессов. Было разработано немало систем с массовым параллелизмом, различающихся средствами коммутации, методами доступа к памяти и обмена между процессорами. Можно упомянуть такие системы, как SP2 (IBM), Intel Paragon, изделия фирмы nCube, компьютер Cray T3E, отечественную систему МВС-1000.
Масштабируемые векторные системы являются развитием серии векторных мультипроцессорных систем и представляют собой системы с массовым параллелизмом на специализированных микропроцессорах. Они представлены суперкомпьютерами Cray SV1 и Cray SV2 (проект) фирмы SGI, а также SX-4 и SX-5 компании NEC.
Неоднородные суперсистемы предназначены для оптимизации выполнения больших задач, включающих программы с разными формами параллелизма. Вообще говоря, из-за функциональной специализации неоднородны многие мультипроцессорные системы. Так, в отечественной системе АС-6 имеются периферийные машины и телеметрический процессор, в компьютерах CDC 6600 и CDC 7600 – периферийные процессоры. Во всех векторных суперкомпьютерах есть внешние машины для управления периферийным и коммутационным оборудованием. Система Cray-2 кроме четырех вычислительных векторных процессоров оснащена мониторным процессором, реализующим функции операционной системы.
Однако в случае неоднородных суперсистем речь идет о неоднородности основных вычислительных средств, что не исключает неоднородность и за счет функциональной специализации. Исследования архитектуры таких систем [1, 10, 11] показали, что повышение эффективности возможно за счет сочетания достоинств конвейерной обработки в мультиконвейерном процессоре и параллельной обработки в процессоре с массовым параллелизмом, тесно связанных между собой и с подсистемой автоматического распределения ресурсов. Этот подход хорошо согласуется с требованиями по масштабированию и оптимизации алгоритмов в соответствии с архитектурой. Так, в новом проекте Cray SV2 ставится задача построения системы, которая должна заменить суперкомпьютер с массовым параллелизмом Cray T3E и выпускаемые фирмой SGI векторные системы [12].
Распределенные вычислительные системы основаны на распределении задач между вычислительными узлами, в которых могут находиться самые различные машины и системы, объединенные в локальные или глобальные сети. Для эффективного решения больших задач в таких системах необходимы новые подходы к методам вычислений.
Подводя итог, можно заключить, что основные усилия по поиску достойных ответов на технологический вызов должны быть направлены в область исследования суперсистем, поскольку здесь можно ожидать новых подходов, комплексно учитывающих требования к программным и аппаратным средствам. Наибольшие перспективы имеют неоднородные и распределенные суперсистемы. При разработке процессоров необходима их специализация и оптимальное сочетание свойств векторных, мультиконвейерных процессоров и процессоров с длинным командным словом. Процессоры, управляемые потоком данных, перспективны для применения в подсистемах моделирования и анализа задач с целью выявления параллелизма.
Таким образом, и с научной, и с технологической точки зрения приоритет исследований и разработок должен быть отдан суперсистемам. Это обстоятельство особенно важно в нашей стране, поскольку ранее накопленный научный потенциал связан прежде всего с высокопроизводительными вычислительными системами.
Литература
1. Митропольский Ю.И. Суперкомпьютеры и микропроцессоры. Каким будет их завтрашний день? – Электроника: Наука, Технология, Бизнес, 1998, №3–4.
2. Макушин М. Государственное регулирование. Who is who и почем? – Электроника: Наука, Технология, Бизнес, 1999, №6.
3. Hughes T.P., Sheehan J.R. What Has Influenced Computing Innovation? – Computer, 1999, №2.
4. http://www.hpc.comp.nec.co.jp/sx-e/Products/sx-4.html.
5. http://www.nec.co.jp/english/today/newsrel/9806/0401-02.html.
6. http://www.cray.com/news/9909/craysv2.html.
7. Lewis T. Who’s Afraid of Wintel? – Computer, 1998, №1.
8. Hamilton S. Taking Moore’s Law into the Next Century. – Computer, 1999, №1.
9. Воеводин В.В. Параллелизм в алгоритмах и программах. – Вычислительные процессы и системы. Вып. 10. М.: Физматлит., 1993.
10. Митропольский Ю.И. Архитектура мультиконвейерного модульного масштабируемого процессора. – Труды Шестого международного семинара “Распределенная обработка информации”. – Новосибирск: СО РАН, 1998.
11. Митропольский Ю.И. Концепции построения неоднородных вычислительных суперсистем. – Труды Пятого международного семинара “Распределенная обработка информации”. – Новосибирск: СО РАН, 1995.
12. http://www.cray.com/products/systems/.
Сегодня рынок суперкомпьютерных систем монополизирован североамериканскими фирмами. Это – закономерный результат проводимой на протяжении нескольких десятков лет политики правительства США, которое в разных формах оказывает всяческое содействие развитию данного направления – в виде государственного заказа, специальных программ, финансируемых из бюджета, прямой поддержки, предоставляя гранты, и косвенной – за счет различных льгот [2, 3]. К числу стимулируемых инновационных проектов относятся также исследования в областях реляционных баз данных, телекоммуникаций, криптографии, распознавания речи, виртуальной реальности и т.д.
В результате именно государственного, а не рыночного регулирования отрасли монополия США в области микропроцессоров и суперкомпьютеров не вызывает сомнения. При этом как в Европе, так и в Японии, несмотря на достаточно высокий собственный технологический потенциал, отсутствуют как разработки, так и производство микропроцессоров (кроме заводов, принадлежащих американским фирмам, прежде всего супермонополии Intel). На рынке суперкомпьютеров не было и нет европейских фирм, а среди японских заметны лишь новые системы фирмы NEC – SX-4 [4], SX-5 [5]. Положение с микропроцессорами отчасти может измениться, например в результате их проникновения на рынок игр и развлечений – так, высказываются мнения, что выпуск фирмой Sony игрового компьютера Play Station 2 окажет влияние на позиции фирмы Intel в данном секторе рынка. Однако это не относится к высокопроизводительным микропроцессорам, наиболее важным в стратегическом отношении.
Позицию правительства США по отношению к развитию суперкомпьютеров характеризует высказывание главного научного сотрудника Национального агентства по безопасности Джорджа Коттера: “Соединенные Штаты намерены решительно поддерживать и укреплять свою долговременную позицию мирового лидера в области суперкомпьютеров. Эти высокопроизводительные компьютеры абсолютно необходимы с точки зрения интересов национальной безопасности США. В соответствии с этим правительство США намерено оказывать существенную поддержку программе по созданию суперкомпьютера Cray SV2 фирмы SGI” [6].
Экономические аспекты российского суперкомпьютера
Постоянно дискутируемый вопрос: что важнее – массовые компьютеры и микропроцессоры или суперсистемы – на наш взгляд, имеет однозначный ответ. С точки зрения национальной безопасности развитие отечественных суперкомпьютеров является первоочередной задачей прежде всего потому, что современные модели суперкомпьютеров никогда не будут нам проданы. Кроме того, стране просто необходимы изделия специального назначения, суперкомпьютеры в том числе, изготовленные на собственных комплектующих, если применение импортных компонентов может привести к снижению защищенности всей системы. Отечественные суперкомпьютеры позволят решить многие проблемы, включая разработку инструментальных средств для проектирования самых сложных интегральных схем, что обеспечит условия для создания отечественных микропроцессоров.
Естественно, что для суперкомпьютеров необходимы современные интегральные схемы с технологическими нормами не ниже 0,35–0,25 мкм. Однако речь идет не о крупномасштабном производстве, характерном для стандартных микропроцессоров, а о мини-заводах по изготовлению малых партий изделий. Более высокая стоимость интегральных схем в этом случае вполне оправдана.
Создание и выпуск крупных партий стандартных микропроцессоров потребует значительно больших затрат, связанных не только с разработкой, но и со строительством и технологическим обеспечением заводов. Разделение этой работы на две составляющие – отечественная разработка микропроцессора и изготовление его зарубежными фирмами – экономически малоцелесообразно, а с точки зрения безопасности недопустимо, если такой микропроцессор может быть использован в изделиях специального назначения. Кроме того, конкуренция со стороны фирм Intel и Microsoft настолько велика, что вероятность изготовления микропроцессора другими фирмами мала, а вероятность его выхода на рынок еще меньше [7]. Даже на внутреннем рынке отечественные микропроцессоры должны будут преодолевать уже сложившуюся монополию американских фирм.
Технологический вызов
Сегодня в области исследования архитектуры процессоров и вычислительных систем наблюдается кризис. Накопленный при создании суперкомпьютеров задел уже полностью использован в архитектуре микропроцессоров, а “силовой” вариант построения суперсистем за счет объединения тысяч стандартных микропроцессоров не обеспечивает высокой эффективности при решении реальных задач.
Технологический вызов, связанный с перспективой освоения кристаллов, содержащих от 100 млн. до 1 млрд. транзисторов, может быть принят и поддержан только за счет новых идей в области архитектуры, схемотехники, новых вычислительных методов, алгоритмических и программных моделей – т.е. необходим комплексный научный подход. Например, при уменьшении технологических норм число транзисторов на кристалле за период с 1999 по 2012 год увеличится в 70 раз, а тактовая частота – лишь в 2,5 раза [8]. Повысить тактовую частоту можно только за счет принципа близкодействия и применения схем с самосинхронизацией. А для этого, в частности, необходимо преимущественно использовать конвейерные схемы.
Немаловажно, что развитие микропроцессоров в последние годы происходит в рамках сохранения совместимости программного обеспечения. Вполне объяснимое экономически, с научной точки зрения такое положение не выдерживает критики. Например, во имя совместимости компания Intel вынужденно сохраняла явно не самую удачную архитектуру серии Intel xx86 вплоть до микропроцессоров Pentium. Не случайно в наиболее успешной массово-параллельной системе Cray T3E применены микропроцессоры Alpha со значительно более современной и удачной архитектурой, хотя коммерчески не столь успешные.
Как уже отмечалось в работе [1], цели создания персональных компьютеров, в которых в основном и используются стандартные микропроцессоры, и суперкомпьютеров существенно различаются. Совместимость для суперкомпьютеров гораздо менее значима, чем производительность и эффективность программ. Поэтому требуются значительные усилия на поиски новых методов вычислений с учетом особенностей параллелизма аппаратных средств [9]. В свою очередь новые методы вычислений могут способствовать созданию новых архитектур.
Критерии оценки архитектуры
Исследования и разработки процессоров и вычислительных систем должны проводиться с учетом многих критериев оценки. Их можно подразделить на три группы: связанные с возможностями аппаратной реализации; с эффективностью работы при решении реальных задач и с наличием (возможностью создания) программ и алгоритмов, обеспечивающих высокую степень загрузки аппаратуры.
К первой группе критериев оценки относятся:
• модульность и структурированность аппаратных средств, что позволяет сократить число объектов проектирования, снизить стоимость, упростить разбиение сложных схем на блоки и создать предпосылки для масштабирования;
• близкодействие, предполагающее, что основные связи устанавливаются по кратчайшему пути, а информация распространяется преимущественно между соседними элементами.
Вторая группа критериев включает:
• эффективность масштабирования – подразумевается, что рост производительности при увеличении числа объектов масштабирования (функциональных модулей, процессоров, элементарных машин, кластеров и т.п.) должен происходить пропорционально (в идеале – линейно) степени масштабирования;
• эффективность работы на реальных задачах – т.е. малый удельный вес потерь на организацию вычислений и другие вспомогательные функции по отношению к собственно полезным вычислениям.
В третью группу входят:
• программное обеспечение совместимость которого необходимо сохранить при создании новых машин и систем;
• возможность построения алгоритмов и программ, наилучшим образом соответствующих архитектуре и аппаратуре;
• возможность создания средств для распределения ресурсов в рамках всей системы и отдельных ее составляющих, в том числе выявление подзадач с разными формами параллелизма.
Архитектура процессоров
Кратко рассмотрим основные типы архитектуры процессоров в соответствии с приведенными критериями.
Скалярные процессоры прошли путь от первых машин до современных суперкомпьютеров. Их развитие связано с поисками различных подходов к параллелизму. Однако основной рост производительности достигался за счет увеличения тактовой частоты. Конвейерные структуры и параллельные функциональные устройства в скалярных процессорах также повышают производительность. Но увеличение числа ступеней конвейера редко приводит к линейному росту производительности, поскольку команды сильно взаимосвязаны. А одновременная загрузка многих параллельных функциональных устройств весьма проблематична. В результате эти процессоры не способны выполнять более одной команды за такт.
Первыми наиболее известными отечественными машинами со скалярной архитектурой были БЭСМ-6 и серия ЕС ЭВМ, среди зарубежных отметим CDC 6600, CDC 7600 (Control Data Corp.) и серии IBM 360/370. Первоначально микропроцессоры также имели скалярную архитектуру. Например, CISC-процессоры – Intel 486, Motorola 68xxx, затем – RISC-процессоры: Intel 860, Motorola 88xxx.
Суперскалярные процессоры обеспечивают параллельную выборку и запуск двух или нескольких команд – в них несколько параллельных конвейерных устройств. Система команд таких процессоров может не отличаться от обычных скалярных, но наибольший эффект достигается при использовании RISC-архитектуры. Структура суперскалярных процессоров резко усложняется по мере увеличения числа одновременно исполняемых команд. Распараллеливание реализуют аппаратные средства динамического планирования, однако для повышения эффективности необходима оптимизация при трансляции программ.
Суперскалярная архитектура использована в микропроцессорах серии Alpha (например, Alpha 21264, 21364), PowerPC, Intel 960, IBM RS/6000 (процессоры серии Power) и т.д. Внутренняя структура серии Pentium также содержит элементы суперскалярной организации.
Процессоры с длинным командным словом (WLIV) в своих командах содержат явное указание на параллельную выдачу и выполнение операций. Оптимизация программ происходит статически, при трансляции. Поскольку эти процессоры не занимаются динамическим планированием, они не так резко усложняются при увеличении числа операций, задаваемых в одной команде. Кроме того, их архитектура позволяет вводить дополнительные функциональные устройства, что отражает более высокую степень модульности. Первые процессоры с длинным командным словом создала фирма Multiflow Computers. Сейчас данная архитектура используется, например, в серии 64-разрядных процессоров Intel IA-64 (первый процессор серии – Itanium).
При использовании суперскалярных процессоров и процессоров с длинным командным словом обычно не удается параллельно выполнять более четырех–восьми команд. Увеличение этого числа требует очень серьезной подготовки программ.
Матричные процессоры состоят из одного устройства управления и многочисленных идентичных арифметических устройств, которые выполняют одну программу над разными наборами данных. Достижение эффективности возможно только при параллелизме данных в самой программе. При этом эффективность максимальна, если параллелизм данных равен или кратен числу арифметических устройств. Модульность обеспечивает набор идентичных устройств, однако близкодействие схемотехники в данном случае ограничено.
Первыми системами, использующими матричные процессоры, были Illiac IV, DAP, а также CM-2 фирмы Thinking Machnes Corp., в которой объединялось 64 тыс. простых процессорных элементов. В целом матричные процессоры явились переходным этапам к векторным процессорам.
Векторные процессоры также используют параллелизм на уровне данных. Наиболее распространены их реализации по конвейерным схемам. Благодаря синхронному конвейеру, множественным функциональным устройствам, зацеплению векторных операций и другим методам удается получать несколько результатов за один такт. Эффективность этих процессоров мало зависит от размерности векторов, на нее влияет лишь время разгона конвейера. Модульность обеспечивают параллельные функциональные устройства, а структурированность – детерминированность работы синхронного конвейера, в котором практически нет обычных схем управления, а само устройство управления моделирует временную диаграмму работы. В результате степень близкодействия схемотехники достаточно высока. Существенно, что на сегодня накоплен большой опыт векторизации программ и соответствующего программного обеспечения. Векторные процессоры применялись в таких суперкомпьютерах, как Cyber 205 фирмы CDC, Cray 1, в отечественной системе “Электроника СС БИС-1” и др.
Мультиконвейерные масштабируемые процессоры ориентированы на выполнение длинных цепочек векторных операций или параллельное выполнение взаимодействующих программ. Основа процессора – модули коммутации и обработки, соединяемые в последовательные цепочки и параллельные ветви. Каждый модуль способен одновременно выполнять несколько команд. При масштабировании возможно объединение сотен модулей, что позволяет получить соответственно сотни результатов за такт. Метакоманды для такого процессора обеспечивают согласованную работу всех модулей. Естественно, что для эффективного использования процессора требуется специальная подготовка программ [10].
Систолические процессоры являются специализированными мультиконвейерными устройствами для решения конкретной задачи. Они строятся на основе конвейерных устройств, конфигурируемых в соответствии с алгоритмом задачи. Производительность определяется числом устройств и степенью параллелизма их работы. Коммерческой системой с систолической архитектурой является Intel iWrap. Кроме того, известно немало исследовательских проектов систолических процессорных структур.
Процессоры, управляемые потоком данных, основаны на выявлении параллелизма с помощью поиска пары операндов для выполнения операции. Операнды, принадлежащие к одной операции, помечаются одинаковыми метками и помещаются в ассоциативную память. Как только в памяти оказываются операнды с одинаковыми метками, инициируется соответствующая операция. Потенциально в данных процессорах возможна высокая степень параллелизма, однако для этого необходима специальная подготовка программ. Производительность процессора данного типа зависит от быстродействия ассоциативной памяти. Пока созданы только экспериментальные образцы таких процессоров, например проект Манчестерского университета, экспериментальный процессор Массачусетского технологического института (MIT) Tagged Token, проект Moonsoon и т.д.
Мультиконтекстные процессоры (mulithreading) предназначены для ослабления влияния задержек при обращении к памяти. Программа разбивается на независимые отрезки (threads), для каждого из которых выделяется контекстная память. Процессор последовательно обрабатывает каждый из программных отрезков, переключаясь за время одного такта с одной области контекстной памяти на другую. В англоязычной литературе для этого режима принят термин mulithreading, который можно перевести как микромультипрограммирование. При наличии нескольких параллельных функциональных устройств возможен одновременный запуск нескольких программ. Такой режим называют simultaneous multithreading, или параллельное микромультипрограммирование. Для хранения контекста и выполнения переключения программ требуются дополнительные аппаратные ресурсы, что отрицательно сказывается на тактовой частоте и времени выполнения операций. Средства контекстной замены обычно дополняют ту или иную архитектуру процессора.
Наиболее известные системы с данной организацией – HEP фирмы Denelcor и Tera компании Tera Computer. В системе HEP задействовано 16 процессоров, каждый из которых поддерживает до 128 процессов. В максимальной конфигурации система Tera объединяет 256 процессоров, каждый выполняет до 128 процессов (i-streams).
Интеллектуальная память с прямым доступом (IRAM, Inellectual Random Access Memory) также служит для сокращения потерь при обращении к памяти. Это особенно важно для ультрабольших интегральных схем. Пример реализации этой концепции – экспериментальная система Berkely V-IRAM. Важным шагом к серийной реализации IRAM является процессор Alpha 21364, у которого память занимает 90% площади кристалла.
Процессоры с суперспекулятивной архитектурой ориентированы на модель неявного параллелизма. Их задача – преодолеть предел параллелизма, задаваемый потоком данных при сохранении совместимости программ с другими процессорами. За счет механизмов предсказания переходов и изменения последовательности команд возможно в среднем вместо четырех команд за такт исполнять до 10, а для некоторых программ – до 19. По оценкам, процессор, выполняющий одновременно до 32 команд, будет содержать около 200 млн. транзисторов, а с учетом кэш-памяти – до 1 млрд.
Архитектура суперсистем
Симметричные мультипроцессорные системы с общей памятью являются наиболее развитыми с точки зрения накопленного опыта их использования. Обычно они включают не более 32–64 скалярных процессоров. Им свойственны модульность и масштабируемость. Пример таких систем – отечественные многопроцессорные комплексы “Эльбрус-1” и “Эльбрус-2”.
Широко распространены и векторные мультипроцессорные системы. Они являются основным, причем высокоэффективным инструментом при решении многих задач, для них накоплен большой объем программ. Число процессоров в таких суперсистемах также не превышает 64. Характерные представители данного семейства – компьютеры серий Cray X-MP, Cray C90, Cray T90; системы SX-1, SX-2, SX-3 фирмы NEC; двухпроцессорный вариант системы “Электроника СС БИС-1” и т.д.
Системы с массовым параллелизмом обеспечивают наивысшую пиковую производительность. Обычно они содержат от десятков до нескольких тысяч высокопроизводительных микропроцессоров, связанных посредством коммутатора с высокой пропускной способностью. Однако при масштабировании таких систем трудно достичь соответствующего роста производительности. До сих пор в полной мере не решены проблемы распараллеливания вычислений, за исключением задач, разделяемых на большое число локальных процессов. Было разработано немало систем с массовым параллелизмом, различающихся средствами коммутации, методами доступа к памяти и обмена между процессорами. Можно упомянуть такие системы, как SP2 (IBM), Intel Paragon, изделия фирмы nCube, компьютер Cray T3E, отечественную систему МВС-1000.
Масштабируемые векторные системы являются развитием серии векторных мультипроцессорных систем и представляют собой системы с массовым параллелизмом на специализированных микропроцессорах. Они представлены суперкомпьютерами Cray SV1 и Cray SV2 (проект) фирмы SGI, а также SX-4 и SX-5 компании NEC.
Неоднородные суперсистемы предназначены для оптимизации выполнения больших задач, включающих программы с разными формами параллелизма. Вообще говоря, из-за функциональной специализации неоднородны многие мультипроцессорные системы. Так, в отечественной системе АС-6 имеются периферийные машины и телеметрический процессор, в компьютерах CDC 6600 и CDC 7600 – периферийные процессоры. Во всех векторных суперкомпьютерах есть внешние машины для управления периферийным и коммутационным оборудованием. Система Cray-2 кроме четырех вычислительных векторных процессоров оснащена мониторным процессором, реализующим функции операционной системы.
Однако в случае неоднородных суперсистем речь идет о неоднородности основных вычислительных средств, что не исключает неоднородность и за счет функциональной специализации. Исследования архитектуры таких систем [1, 10, 11] показали, что повышение эффективности возможно за счет сочетания достоинств конвейерной обработки в мультиконвейерном процессоре и параллельной обработки в процессоре с массовым параллелизмом, тесно связанных между собой и с подсистемой автоматического распределения ресурсов. Этот подход хорошо согласуется с требованиями по масштабированию и оптимизации алгоритмов в соответствии с архитектурой. Так, в новом проекте Cray SV2 ставится задача построения системы, которая должна заменить суперкомпьютер с массовым параллелизмом Cray T3E и выпускаемые фирмой SGI векторные системы [12].
Распределенные вычислительные системы основаны на распределении задач между вычислительными узлами, в которых могут находиться самые различные машины и системы, объединенные в локальные или глобальные сети. Для эффективного решения больших задач в таких системах необходимы новые подходы к методам вычислений.
Подводя итог, можно заключить, что основные усилия по поиску достойных ответов на технологический вызов должны быть направлены в область исследования суперсистем, поскольку здесь можно ожидать новых подходов, комплексно учитывающих требования к программным и аппаратным средствам. Наибольшие перспективы имеют неоднородные и распределенные суперсистемы. При разработке процессоров необходима их специализация и оптимальное сочетание свойств векторных, мультиконвейерных процессоров и процессоров с длинным командным словом. Процессоры, управляемые потоком данных, перспективны для применения в подсистемах моделирования и анализа задач с целью выявления параллелизма.
Таким образом, и с научной, и с технологической точки зрения приоритет исследований и разработок должен быть отдан суперсистемам. Это обстоятельство особенно важно в нашей стране, поскольку ранее накопленный научный потенциал связан прежде всего с высокопроизводительными вычислительными системами.
Литература
1. Митропольский Ю.И. Суперкомпьютеры и микропроцессоры. Каким будет их завтрашний день? – Электроника: Наука, Технология, Бизнес, 1998, №3–4.
2. Макушин М. Государственное регулирование. Who is who и почем? – Электроника: Наука, Технология, Бизнес, 1999, №6.
3. Hughes T.P., Sheehan J.R. What Has Influenced Computing Innovation? – Computer, 1999, №2.
4. http://www.hpc.comp.nec.co.jp/sx-e/Products/sx-4.html.
5. http://www.nec.co.jp/english/today/newsrel/9806/0401-02.html.
6. http://www.cray.com/news/9909/craysv2.html.
7. Lewis T. Who’s Afraid of Wintel? – Computer, 1998, №1.
8. Hamilton S. Taking Moore’s Law into the Next Century. – Computer, 1999, №1.
9. Воеводин В.В. Параллелизм в алгоритмах и программах. – Вычислительные процессы и системы. Вып. 10. М.: Физматлит., 1993.
10. Митропольский Ю.И. Архитектура мультиконвейерного модульного масштабируемого процессора. – Труды Шестого международного семинара “Распределенная обработка информации”. – Новосибирск: СО РАН, 1998.
11. Митропольский Ю.И. Концепции построения неоднородных вычислительных суперсистем. – Труды Пятого международного семинара “Распределенная обработка информации”. – Новосибирск: СО РАН, 1995.
12. http://www.cray.com/products/systems/.
Отзывы читателей