«Ангара»: цели, задачи, архитектура
Цель проекта «Ангара»— разработка компонентов и моделей суперкомпьютеров петафлопсного уровня с глобально адресуемой памятью большого объема для эффективного решения задач с различной пространственно-временной локализацией обращений к памяти. Среди целей проекта можно выделить следующие:
разработка многоядерного мультитредово-потокового микропроцессора, работающего с распределенной общей памятью и адаптируемого к разным моделям организации вычислений;
разработка коммуникационной сети с высокой конвейеризацией, адаптивностью, малым диаметром, обеспечивающей высокую пропускную способность передачи коротких сообщений и повышенную отказоустойчивость;
разработка опытного образца суперкомпьютера с реальной производительностью 0,1 PFLOPS;
разработка системного программного обеспечения нового поколения, ориентированного на адаптивную компиляцию программ, динамическую реконфигурацию в процессе счета, повышенную отказоустойчивость, разные модели вычислений;
повышение на порядок продуктивности программирования в сравнении с современным уровнем при обеспечении эффективного решения задач с интенсивной нерегулярной работой с памятью;
разработка на базе многоядерного мультитредово-потокового микропроцессора универсальной высокопроизводительной платформы, в том числе и для бортовых применений.
Исследования показывают, что современный перспективный суперкомпьютер должен строиться на основе нескольких общих архитектурно-программных принципов:
MT (multithreading). Мультитредовая организация процессора и выполняемых им программ c целью обеспечения толерантности процессора к задержкам выполнения операций с памятью (100–500 тактов процессора) и коммуникационной сетью (1000–10000 тактов).
DF (dataflow). Управление вычислениями потоком данных с использованием статических и динамических графовых моделей.
MD (message driven). Управление передачей сообщений для реализации потоковых моделей вычислений, а также для управляемой локализации посредством механизмов вызова процедур на удаленных узлах.
DAE (decoupled access/execute модель). Организация работы процессора и программ, при которой выделяется вычислительная и обслуживающая ее невычислительная часть, выполняющая задачу обеспечения данными вычислительной части.
DSM (distributed shared memory). Распределенная общая или глобально адресуемая память.
CMT. Чип-мультипроцессорные технологии создания микропроцессорных CБИС типа «система на кристалле».
PIM (processor in memory) и NMP (near memory processor). Технологии модулей памяти со встроенными процессорами обработки данных, либо с процессорами, размещенными в непосредственной близости к памяти.
RAS (reliability, adaptability, serviсeability). Обеспечение повышенной отказоустойчивости на аппаратном, системном и прикладном уровне.
PGAS и GAS (partitioned global address space languages). Языки программирования для работы в разделенном на подразделы глобальном адресном пространстве, обладающие повышенным уровнем абстракции описания программ, ориентированных на описание сверхпараллельных и асинхронных вычислений, обладающих возможностями локализации вычислений на множествах данных.
AS (adaptive supercomputing). Обеспечение высокого полиморфизма системы (наличие средств выполнения разнотипных программ) и ее реконфигурируемости (возможности выбора и настройки этих средств для эффективного выполнения программ разного типа).
Суть всех современных работ по СКСН— поиск оптимального сочетания и глубины реализации всех этих принципов.