Принципы построения суперкомпьютеров семейства "Скиф"
Архитектурные решения и основные принципы в части базового программного обеспечения. Преимущества реализации метакластерной архитектуры. Разработка конструкторской документации, проведение испытаний компьютерных систем, организация серийного производства.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 29.10.2018 |
Размер файла | 197,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ПРИНЦИПЫ ПОСТРОЕНИЯ СУПЕРКОМПЬЮТЕРОВ СЕМЕЙСТВА «СКИФ»
С.В. Абламейко, С.М. Абрамов, В.В. Анищенко,
Н.Н. Парамонов, О.П. Чиж
Объединенный институт проблем информатики
Национальной академии наук Беларуси, Минск
Институт программных систем Российской академии наук
Аннотация
Рассматриваются базовые архитектурные решения, основные принципы и решения в части базового ПО и аппаратных средств, а также подходы к созданию моделей суперкомпьютеров «СКИФ».
Введение
Главной целью программы Союзного государства «Разработка и освоение в серийном производстве семейства высокопроизводительных вычислительных систем с параллельной архитектурой (суперкомпьютеров) и создание прикладных программно-аппаратных комплексов на их основе» («СКИФ») [1-3] является возрождение компьютерной отрасли двух стран, промышленное производство ряда программно-совместимых моделей суперкомпьютеров с широким спектром производительности - до триллионов операций в секунду. Для достижения этой цели в рамках программы реализуется комплексный подход, включающий Концепцию создания моделей семейства суперкомпьютеров «СКИФ».
Концепция отражает основополагающие принципы создаваемых по программе суперкомпьютерных систем:
базовые архитектурные решения;
основные принципы и решения в части базового (общесистемного) ПО;
основные принципы и решения в части аппаратных средств;
идеологию создания моделей семейства суперкомпьютеров;
основные принципы разработки конструкторской документации, проведения испытаний суперкомпьютерных систем и организации их серийного производства;
общую схему реализации прикладных суперкомпьютерных конфигураций.
Основополагающими архитектурными принципами создания суперкомпьютерных конфигураций «СКИФ» являются:
· базовая кластерная архитектура;
· иерархические кластерные конфигурации (метакластеры);
· универсальная двухуровневая архитектура.
1. Базовая кластерная архитектура
Концепция создания моделей семейства суперкомпьютеров «СКИФ» базируется на масштабируемой кластерной архитектуре, реализуемой на классических кластерах из вычислительных узлов (см. рис. 1) на основе компонент широкого применения (стандартных микропроцессоров, модулей памяти, жестких дисков и материнских плат, в том числе с поддержкой SMP).
Кластерный архитектурный уровень - это тесносвязанная сеть (кластер) вычислительных узлов, работающих под управлением ОС Linux - одного из клонов широко используемой многопользовательской универсальной операционной системы UNIX. Для организации параллельного выполнения прикладных задач на данном уровне используются: программный обеспечение метакластерный архитектура
разрабатываемая в рамках Программы оригинальная система поддержки параллельных вычислений - Т-система, реализующая автоматическое динамическое распараллеливание программ;
классические системы поддержки параллельных вычислений, обеспечивающие эффективное распараллеливание прикладных задач различных классов (как правило, задач с явным параллелизмом): MPI, PVM, Norma, DVM и др. В семействе суперкомпьютеров «СКИФ» в качестве базовой классической системы поддержки параллельных вычислений выбран MPI, что не исключает использование других средств.
Рис. 1. Кластерная архитектура
На кластерном уровне с использованием Т-системы и MPI эффективно реализуются фрагменты со сложной логикой вычисления, с крупноблочным (явным статическим или скрытым динамическим) параллелизмом. Фрагменты же с простой логикой вычисления, с конвейерным или мелкозернистым явным параллелизмом, с большими потоками информации, требующими обработки в реальном режиме времени, на кластерных конфигурациях реализуются менее эффективно. Для организации параллельного исполнения задач с подобными фрагментами наиболее адекватна модель потоковых вычислений (data-flow).
Кластерная архитектура является открытой и масштабируемой, т.е. не накладывает жестких ограничений к программно-аппаратной платформе узлов кластера, топологии вычислительной сети, конфигурации и диапазону производительности.
Для организации взаимодействия вычислительных узлов суперкомпьютера в его составе используются различные сетевые (аппаратные и программные) средства, в совокупности образующие две системы передачи данных:
- системная сеть кластера (СС) или System Area Network (SAN) объединяет узлы кластерного уровня в кластер. Данная сеть поддерживает масштабируемость кластерного уровня суперкомпьютера, а также пересылку и когерентность данных во всех вычислительных узлах кластерного уровня суперкомпьютера. Системная сеть кластера строится на основе специализированных высокоскоростных линков класса SCI, Myrinet, cLan, Infiniband и др., предназначенных для эффективной поддержки кластерных вычислений и соответствующей программной поддержки на уровне ОС Linux и систем организации параллельных вычислений (Т-система, MPI);
- вспомогательная сеть суперкомпьютера (ВС) с протоколом TCP/IP объединяет узлы кластерного уровня в обычную (TCP/IP) локальную сеть (TCP/IP LAN). Данная сеть может быть реализована на основе широко используемых сетевых технологий класса Fast Ethernet, Gigabit Ethernet и др. Данная сеть предназначена для управления системой, подключения рабочих мест пользователей, интеграции суперкомпьютера в локальную сеть предприятия и/или в глобальные сети. Кроме того, данный уровень может быть использован и системой организации параллельных кластерных вычислений (Т-система, MPI) для вспомогательных целей (основные потоки информации, возникающие при организации параллельных кластерных вычислений, передаются через системную сеть кластера).
Кластерные конфигурации на базе только вспомогательной сети TCP/IP без использования дорогостоящих специализированных высокоскоростных линков класса SCI могут быть реализованы в рамках семейства «СКИФ» в виде самостоятельных изделий (TCP/IP кластеры). Программное обеспечение таких кластеров - ОС Linux, T-система и соответствующая реализация MPI. Реализация сравнительно недорогих TCP/IP кластеров на базе «масштабирования вниз» архитектурных решений «СКИФ» существенно расширяет область применения результатов реализации программы.
Кластерные конфигурации на базе только вспомогательной сети могут быть реализованы как на базовых конструктивах «СКИФ», так и путем кластеризации имеющихся у пользователей ПЭВМ («персональные кластеры» или «супер ПЭВМ»).
2. Базовое (системное) программное обеспечение суперкомпьютеров
В качестве базовой операционной системы (ОС) в универсальном кластерном суперкомпьютере используется операционная система Linux. ОС Linux является одной из самых надежных, эффективных и перспективных операционных систем, которую сегодня многие коммерческие и государственные организации выбирают в качестве базовой для приложений и перспективных разработок в области параллельных вычислений. ОС Linux распространяется свободно (бесплатно) с исходными текстами. Это дает возможность модифицировать и вносить изменения, необходимые для реализации поставленной задачи.
Функциональные возможности ОС Linux и ее утилит развиваются огромной армией добровольных программистов-разработчиков, что обеспечивает непрерывность ее тестирования и корректировки ошибок в исходных текстах. Распространение ОС Linux не подвержено каким-либо ограничениям каких-либо стран или фирм. ОС Linux является открытой, то есть она реализована не только для платформ класса IBM PC, но и для многих других аппаратных платформ.
3. Иерархические кластерные конфигурации (метакластеры)
Отдельные кластеры могут быть объединены в единую кластерную конфигурацию - кластер высшего уровня или метакластер (Metacluster). Метакластерный принцип позволяет создавать распределенные метакластерные конфигурации на базе локальных или глобальных сетей передачи данных. При этом, естественно, уменьшается степень связности подкластеров метакластерной конфигурации.
Системное программное обеспечение метакластера обеспечивает возможность реализации гетерогенных систем, включающих подкластеры различной архитектуры на различных программно-аппаратных платформах.
Одним из перспективных программных продуктов, с использованием которого возможна реализация метакластерных конфигураций (по крайней мере, простой топологии типа point-to-point) на подкластерах с различными программно-аппаратными платформами, является IMPI (Interoperable Message Passing Interface). IMPI реализует стандартизованный протокол, обеспечивающий взаимодействие различных реализаций MPI. Это позволяет выполнять общую задачу на различной аппаратуре с использованием настраиваемых поставщиком (vendor-tuned) различных реализаций MPI на каждом узле кластерной конфигурации соответствующего уровня иерархии. Такая возможность полезна в случаях, когда объем вычислений задачи слишком велик для одной системы или когда разные части задачи оптимально выполнять на разных реализациях MPI.
IMPI определяет только протоколы, необходимые для взаимодействия различных реализаций MPI, а также может использовать собственные высокопроизводительные протоколы этих реализаций. Существуют свободно распространяемые (открытые) версии IMPI, например, на базе LAM/MPI.
Преимущества и цели реализации иерархической (метакластерной) архитектуры. Реализация архитектурных принципов иерархической организации суперкомпьютерных метакластерных конфигураций позволит решить важнейшие для создания моделей семейства суперкомпьютеров «СКИФ» задачи:
· обеспечение реально достижимой и экономически эффективной масштабируемости архитектурных решений. Это особенно важно для решения ключевой задачи программы: создание моделей суперкомпьютеров, позволяющих перекрыть широкий диапазон производительности и областей применения - от моделей суперкомпьютеров среднего класса (10-100 ГФлопс) до вычислительных систем с массовым параллелизмом сверхвысокой производительности (триллионы операций в секунду);
· создание единого информационного пространства участников программы, а, в перспективе, объединение научных сетей России и Беларуси, на базе распределенных сетевых суперкомпьютерных метакластерных конфигураций;
· обеспечение живучести суперкомпьютерных систем;
· объединение суперкомпьютерных конфигураций с разными архитектурными и программно-аппаратными платформами (гибридная метакластерная архитектура) в единую метакластерную суперкомпьютерную систему;
· создание глобальных сетевых конфигураций с гибридной метакластерной архитектурой терафлопового диапазона. Такие метакластеры могут быть созданы путем объединения кластеров «СКИФ» с другими существующими в РБ и РФ кластерными конфигурациями (например, в МГУ, Межведомственном суперкомпьютерном центре РФ и РАН и др.).
4. Универсальная двухуровневая архитектура
Для оптимизации организации на суперкомпьютерах «СКИФ» параллельного счета задач как с крупноблочным (явным статическим или скрытым динамическим) параллелизмом, так и с конвейерным или мелкозернистым явным параллелизмом, с большими потоками информации, требующими обработки в реальном режиме времени, Концепция предусматривает возможность реализации универсальной двухуровневой архитектуры суперкомпьютеров (см. рис. 2):
Рис. 2. Универсальная двухуровневая архитектура
1-й уровень - базовый (кластерный) архитектурный уровень;
2-й уровень - потоковый архитектурный уровень, реализующий модель потоковых вычислений (data-flow).
Концепция предусматривает реализацию потокового архитектурного уровня как на базе однородной вычислительной среды (ОВС) с использованием оригинальных СБИС ОВС, разрабатываемых в рамках программы, так и на базе других (альтернативных) структурных и технических решений (например, на базе нейроструктур, FPGA типа XILINX, ALTERA и др.). По сути, вычислительные модули потокового уровня являются сопроцессорами вычислительных ресурсов кластерной конфигурации.
Предпосылкой объединения двух программно-аппаратных решений (кластерного и потокового) для организации параллельной обработки в рамках одной вычислительной системы, является то, что эти два подхода своими сильными сторонами компенсируют недостатки друг друга. Тем самым, в общем случае, каждая прикладная проблема может быть разбита на:
фрагменты со сложной логикой вычисления, с крупноблочным (явным статическим или скрытым динамическим) параллелизмом, эффективно реализуемые на кластерном уровне с использованием Т-системы и других (классических) систем поддержки параллельных вычислений;
фрагменты с простой логикой вычисления, с конвейерным или мелкозернистым явным параллелизмом, с большими потоками информации, требующими обработки в реальном режиме времени, эффективно реализуемые на потоковом уровне.
5. Особенности архитектуры семейства суперкомпьютеров «СКИФ»
Предложенная многоуровневая схема реализации архитектурных принципов обладает рядом особенностей и преимуществ (по сравнению с аналогичными разработками), позволяющих достичь мировой уровень в суперкомпьютерной отрасли.
В части Т-системы - обеспечивается автоматическое динамическое распараллеливание программ, что освобождает программиста от большинства трудоемких аспектов разработки параллельных программ, свойственных различным системам ручного статического распараллеливания:
- обнаружение готовых к выполнению фрагментов задачи (процессов);
- их распределение по процессорам;
- их синхронизацию по данным.
Все эти (и другие) операции выполняются в Т-системе автоматически и в динамике (во время выполнения задачи). Тем самым при более низких затратах на разработку параллельных программ обеспечивается более высокая их надежность.
По сравнению с использованием распараллеливающих компиляторов, Т-система обеспечивает более глубокий уровень параллелизма во время выполнения программы и более полное использование вычислительных ресурсов мультипроцессоров. Это связано с принципиальными алгоритмическими трудностями (алгоритмически неразрешимыми проблемами), не позволяющими во время компиляции (в статике) выполнить полный точный анализ и предсказать последующее поведение программы во время счета.
Кроме указанных выше принципиальных преимуществ Т-системы перед известными сегодня методами организации параллельного счета, в реализации Т-системы имеется ряд технологических находок, не имеющих аналогов в мире:
- реализация понятия «неготовое значение» и поддержка корректного выполнения некоторых операций над неготовыми значениями. Тем самым поддерживается возможность выполнение счета в некотором процессе-потребителе в условиях, когда часть из обрабатываемых им значений еще не готова, т. е. не вычислена в соответствующем процессе-поставщике. Данное техническое решение обеспечивает обнаружение более глубокого параллелизма в программе;
- оригинальный алгоритм динамического автоматического распределения процессов по процессорам. Данный алгоритм учитывает особенности неоднородных распределенных вычислительных сетей. По сравнению с известными алгоритмами динамического автоматического распределения процессов по процессорам (например, с диффузионным алгоритмом и его модификациями), алгоритм Т-системы имеет существенно более низкий трафик межпроцессорных передач. Тем самым, Т-система обеспечивает снижение накладных расходов на организацию параллельного счета и предъявляет менее жесткие требования к пропускной способности аппаратуры объединения процессорных элементов в кластер.
В части потокового уровня - архитектура вычислительных модулей потокового уровня позволяет использовать естественный параллелизм решаемой задачи вплоть до битового уровня, то есть уровня структуры обрабатываемых данных, а также позволяет строить конвейеры произвольной глубины. Потоковый уровень предоставляет возможность одновременной обработки множества независимых некогерентных потоков.
Фактически, при решении конкретной функции или самостоятельной задачи, на вычислительных модулях потокового уровня путем ввода соответствующей программы организуется спецпроцессор, реализующий решаемую функцию или задачу с наибольшей эффективностью. На матрице модулей потокового уровня одновременно могут решаться несколько независимых задач и функций, причем механизм перезагрузки сегментов потокового уровня позволяет перезагружать часть матрицы без остановки выполнения еще незавершенных задач. Потоковый уровень обладает высокой гибкостью и перестраиваемостью, в частности, полной аппаратной и программной масштабируемостью, что позволяет строить на его основе вычислительные системы с большим быстродействием. Производительность матрицы модулей потокового уровня, теоретически, растет линейно с увеличением рабочей частоты поля и площади вычислительной матрицы.
Вычислительные модули потокового уровня позволяют создавать системы с высоким уровнем надежности и отказоустойчивости, эффективно реализовывать нейросетевые алгоритмы.
Заключение
Предложенные архитектурные принципы позволяют эффективно реализовывать любые виды параллелизма. Архитектура является открытой и масштабируемой, то есть не накладывает жестких ограничений к программно-аппаратной платформе узлов кластера, топологии вычислительной сети, конфигурации и диапазону производительности суперкомпьютеров. Вычислительные системы, создаваемые на базе основополагающих концептуальных архитектурных принципов могут оптимально решать как классические вычислительные задачи математической физики и линейной алгебры, так и специализированные задачи обработки сигналов, моделирования виртуальной реальности, задачи управления сложными системами в реальном времени и другие приложения.
Литература
1. Разработка и опыт эксплуатации суперкомпьютеров семейства «СКИФ» / С.М. Абрамов, В.В. Анищенко, Н.Н. Парамонов, О.П. Чиж // Информационные системы и технологи. Мат. I междунар. конф. IST'2002 (5 - 8 ноября 2002 г.). Мн.: Изд-во БГУ, 2002. - Ч. 2. - С. 115-117.
2. Кластерные системы семейства суперкомпьютеров «СКИФ» / С.М. Абрамов, А.И. Адамович, М.Р. Коваленко и др. // Научный сервис в сети Интернет: Тр. Всерос. науч. конф. (22-27 сент. 2003 г., Новороссийск). - М.: Изд-во МГУ, 2003. - С.147-151.
3. Абламейко С.В., Абрамов С.М. Основные результаты суперкомпьютерной программы «СКИФ» Союзного государства // АКИИ'03: Третий расширенный семинар «Использование методов искусственного интеллекта в высокопроизводительных вычислениях и в аэрокосмических исследованиях». - М.: Физматлит, 2003. - С. 135-140.
Размещено на Allbest.ru
...Подобные документы
Основные процессы разработки, приобретения и внедрения сложных систем. Семейство стандартов ISO 9000. Зрелые и незрелые организации-разработчики программного обеспечения. Основные направления формирования метрик для оценки компьютерных программ.
дипломная работа [656,8 K], добавлен 27.11.2012Виды архитектуры распределенных информационных систем. Сущность синхронного и асинхронного, блокирующего и неблокирующего взаимодействия в распределенных информационных системах. Основные проблемы и принципы реализации удаленного вызова процедур.
реферат [26,4 K], добавлен 22.06.2011Методы концептуального, логического и физического проектирования баз данных для автоматизации работы объекта. Обследование предметной области; тестирование и реализация информационного и программного обеспечения. Подготовка конструкторской документации.
курсовая работа [4,0 M], добавлен 16.05.2012Цели и задачи программной инженерии. Понятие программного обеспечения. Шесть принципов эффективного использования программного обеспечения. Виды программного обеспечения: общесистемное, сетевое и прикладное. Принципы построения программного обеспечения.
курсовая работа [30,4 K], добавлен 29.06.2010Общие принципы построения информационных систем и их реализации на языке программирования Паскаль. Разработка программного обеспечения для создания автоматизированного рабочего места "Склад" для ООО "Комторг". Основные требования к ресурсам компьютера.
дипломная работа [1,2 M], добавлен 13.01.2016Организация аппаратной части компьютеров и сетей ЭВМ. Характеристика основных видов программного обеспечения. Классификация ПО. Базовая система ввода-вывода. Виды инструментального ПО. Программы архивирования данных. Защита от компьютерных вирусов.
курсовая работа [762,0 K], добавлен 27.04.2013Структурные подразделения и отделы организации, ее технические программные средства. Разработка приложений обработки данных на ассемблере, языке программирования высокого уровня. Тестирование и оптимизация программных модулей. Разработка документации.
отчет по практике [175,0 K], добавлен 30.09.2022Концепция построения виртуальной лаборатории (ВЛ) "Программирование микроконтроллерных систем". Принцип построения лабораторного практикума. Архитектура аппаратного обеспечения ВЛ. Аппаратные способы реализации генератора сигналов произвольной формы.
магистерская работа [669,4 K], добавлен 29.06.2009Общие сведения об исследуемой организации, направления ее хозяйственной деятельности, характеристика используемой вычислительной техники и программного обеспечения. Разработка пользовательского интерфейса, шаблонов, отладка и тестирование программы.
отчет по практике [159,3 K], добавлен 11.04.2016Многоуровневая организация вычислительной техники. Закон Мура, Рока, Макрона. Архитектурные принципы фон-Неймана. Анализ эффективности различных методов программирования. Канальный цикл. Шинные архитектуры. Расположение операндов в памяти процессоров.
презентация [5,5 M], добавлен 14.12.2013Разработка программного модуля, программного обеспечения для компьютерных систем средствами C++ Builder. Разработка карты и интерфейса сайта. Алгоритмы реализации интерактивных функций программы. Пропускная способность линии связи. Программный код сайта.
отчет по практике [1,2 M], добавлен 16.09.2012Оснащенность предприятия системным программным обеспечением, используемым для организации производственного процесса. Проектирование, внедрение и эксплуатация системного и прикладного программного обеспечения. Тестирование и отладка программного продукта.
отчет по практике [272,2 K], добавлен 29.12.2014Классификации архитектур вычислительных систем. Организация компьютерных систем. Устройство центрального процессора. Принципы разработки современных компьютеров. Эволюция микропроцессорных систем. Увеличение числа и состава функциональных устройств.
дипломная работа [1,4 M], добавлен 29.01.2009Реализация программного средства "Действия над матрицами". Разработка кода программного продукта на основе готовой спецификации на уровне модуля. Использование инструментальных средств на этапе отладки программного модуля. Выбор стратегии тестирования.
отчет по практике [296,1 K], добавлен 19.04.2015Определение понятия "суперкомпьютер". Рассмотрение особенностей программного обеспечения, производительности, сферы применения суперкомпьютеров. Принципы работы и основные характеристики SuperMUC. Фотоэкскурсия по самому быстрой информационной машине.
курсовая работа [1,7 M], добавлен 15.04.2015Теория игр: основные понятия, модели, принципы; элементарные приемы решения игр в "чистых" и "смешанных" стратегиях. Разработка алгоритма программного обеспечения, реализующего математический аппарат теории игр. Выбор инструмента программирования Delphi.
дипломная работа [255,1 K], добавлен 27.03.2011Разработка программного обеспечения для микропроцессорных систем МК51, интерфейсы в системах связи, основы асинхронной связи. Этапы решения задачи на ЭВМ, принципы тестирования программ и их отладка. Расчет затрат на разработку программного продукта.
дипломная работа [270,6 K], добавлен 19.06.2010Развитие аппаратных компьютерных средств - задача первых трех десятилетий компьютерной эры. Процесс тестирования как составляющая процесса обеспечения качества разработки ПО. Принципы и критерии, предъявляемые к тестированию программного обеспечения.
курсовая работа [319,5 K], добавлен 25.05.2009Создание ТОР500 - рейтинга самых мощных общественно известных компьютерных систем мира. Современные достижения в сфере вычислительной техники. Внешний вид, производительность и архитектура суперкомпьютеров: Tianhe-2, Titan, Sequoia, K Computer, IBM Mira.
реферат [3,7 M], добавлен 01.12.2013Порядок разработок ЭВМ, его основные этапы. Формирование аванпроекта, эскизного и технического проекта. Порядок разработки рабочей документации машины, ее схем. Изготовление и испытание опытного образца, оценка возможности его серийного производства.
курсовая работа [152,7 K], добавлен 27.10.2010