ИНФОРМАТИЗАЦИЯ СТРУКТУР КРИТИЧЕСКИХ ТЕХНОЛОГИЙ
Ю.В. Ступин
(г. Москва, Научно-Технический
институт межотраслевой информации, Россия)
В информатизации
вычислительных процессов на современном этапе особое место занимают проблемы,
связанные с фильтрацией и управлением знаниями [1]. Для информационных
инфраструктур критических технологий (ИИКТ) актуальность этой проблемы связана
с необходимостью разработки новых принципов организации функционирования
информационных систем и процессов, применения информационных технологий и
систем в принятии решений на различных уровнях управления. ИИКТ можно
определить как расширенную информационную среду, взаимодействующую с
распределенной совокупностью информации и данных (РСИД) домена критических
технологий (КТ) глобального информационного пространства и организациями –
потребителями информации. Для КТ естественнонаучных исследований (ЕНИ) РСИД
включает кроме стандартных информационных объектов (Интернет, Интранет,
информационные центры, библиотеки и др.) также дополнительные источники
информации, такие как уникальные экспериментальные установки, автономные
системы исследовательских лабораторий и фирм, центры разработки и внедрения
новой продукции и т.д., в которой взаимодействует сеть агентов (участников) из
сфер науки, информатики, бизнеса и политики с целью обмена информацией и
знаниями, применения новых технологий и оборудования для быстрой и качественной
реализации инновационных проектов КТ.
Для эффективного
функционирования такой среды необходимо иметь разветвленную структуру
взаимодействующих друг с другом суперкомпьютерных центров с организацией к
ним доступа через локальные и другие
сети персональных ЭВМ и автоматизированные системы.
Практическое решения этой проблемы концентрируется
на финансировании, элементной базе, технологии
производства, архитектуре, синхронизации (согласовании) процессов,
аппаратно-программном обеспечении (сетевом, контрольно-измерительном, комплектующем и другом оборудовании и
устройствах; системном и прикладном программном обеспечении). Работа по
информационно-аналитическому и аппаратно-программному обеспечению разработок
мультипроцессорных вычислительных систем (МВС) выполнялась нами совместно с
разработчиками МВС – Институтом прикладной математики им. М.В. Келдыша РАН и
НИИ «Квант» в рамках инновационных проектов: ИФ-15/137-94, ИФ-15/01-95, ИФ-15/34-97, ИФ-15/01-2000.
В результате в рамках проектов ИФ-15/137-94 и
ИФ-15/01-95 [2-5] было создано семейство
МВС-100 в виде типовых конструктивных
модулей по 32, 64, 128 процессоров, с возможностью масштабирования (система
МВС-100/64 на основе 64 вычислительных модулей (ВМ) производительностью 10
Гфлопс могла наращиваться до 128 модулей производительностью до 100 млрд.
операций в секунду), с полной аппаратной и программной совместимостью всех
образцов семейства на основе микропроцессоров Intel-860, оперативной памятью объемом
от 8 до 32 Мбайт, транспьютеров на четыре внешних канала для межпроцессорного
обмена с пропускной способностью каждого канала обмена – 2 Мбайт/с. На втором
этапе этой разработки был создан вычислительный модуль ВМ-200 на основе
микропроцессора Intel i860ХР, коммуникационного элемента – транспьютера типа
Т805, оперативной памяти емкостью до 20 Мбайт, изготовлено и введено в опытную
эксплуатацию две вычислительные системы МВС-100/64 с дисковыми подсистемами
емкостью свыше 10 Гбайт, суммарной пиковой производительностью 11,8 Гфлопс. На
этом же этапе были завершены разработки параллельных языков программирования и
созданы трансляторы с алгоритмических языков Фортран GNS и DVM, Си GNS и DVM.
В рамках проекта ИФ-15/34-97
[6] осуществлено развитие аппаратных и программных средств семейства МВС и
параллельных вычислительных технологий, суммарная реальная производительность
доведена до сотен Гфлопс. Создано 7
суперкомпьютерных центров: в ИПМ им.
М.В. Келдыша, НИИ “Квант”, РФЯЦ ВНИИТФ (г. Челябинск-70), ИММ УрО РАН (г.
Екатеринбург), ИАУ ДВО РАН (г. Владивосток), ВЦ СО РАН (г. Новосибирск), ИВМ
РАН. Основой этих центров стали системы МВС-100 различных конфигураций.
В рамках проекта ИФ-15/01-2000
[7] разработана и создана суперЭВМ терафлопной производительности, закончено
проектирование и изготовление опытной партии вычислительных модулей третьего
поколения на микропроцессорах Alpha 21164 (две установки МВС-1000 по 32
вычислительных модуля в каждой), создание мультипроцессорной системы с пиковой производительностью 1,0 Тфлопс. Для
Межведомственного суперкомпьютерного центра
создана система МВС 1000М пиковой производительностью 1012
операций с плавающей точкой с двойной точностью в секунду. Система включает 768
процессоров Alpha 21264 (6 базовых блоков, состоящих из 64
двухпроцессорных модулей), управляющую ЭВМ, файл сервер NetApp F840,
сеть Myrinet 2000, сети Fast/Gigabit
Ethernet,
сетевой монитор, систему бесперебойного электропитания [8]. Решающее поле МВС
1000М состоит из 384 двухпроцессорных ВМ, каждый из которых включает: два
процессора Alpha 21264 667 МГц с кэш-памятью второго уровня объемом
4 Мбайт, двух Гбайтную разделяемую оперативную память, жесткий диск емкостью 20
Гбайт, сетевые интерфейсные платы, плату видеоконтроллера, источник питания
мощностью 600 Вт. Пиковая производительность одного ВМ составляет 2,7 млрд.
операций с плавающей точкой с двойной точностью в секунду.
Дальнейшее направление
исследований и разработок в этой области связывают с переходом на новую
элементную базу (кристаллы Blue Gene, Cell и др.), что позволит создать
суперЭВМ в составе 1 млн. процессоров с суммарной производительностью 1015
оп/с. Применение технологии “система-на-кристалле”, состоящей из совокупности
сравнительно простых процессоров и коммуникаций между ними, многократно снижает
сложность проектирования, изготовления и тестирования кристаллов. Кроме того,
отсутствие в процессорах сложных систем управления открывает большие
возможности по их проблемной ориентации для повышения производительности и
надежности вычислительных систем.
Одна из системных проблем
мультипроцессорных ЭВМ состоит в том, что не всякий алгоритм можно полностью
векторизовать или разбить на подзадачи, в связи с чем реальная производительность
ЭВМ существенно ниже пиковой и растет не пропорционально с увеличением числа
процессоров (на многих моделях было показано, что при 10 процессорах
быстродействие возрастает не в 10, а только в 8 - 9 раз, при 50 процессорах
эффективность снижается до 55%). Анализ
этой проблемы [9,10] и разработок в области параллельного программирования
показал, что одним из направлений повышения реальной производительности сетевых
структур может быть Т-система [11, 12]. Результатом
информационно-аналитического обеспечения этого направления в рамках
инновационного проекта ИФ-15/10-2000 [13, 14] была разработка ИПС РАН
промышленной версии Т-системы, языка программирования Т2СР для написания
программ с использованием Т-системы, промышленной версии Т-компилятора Т2СС, решение с их использованием практических
задач.
На базе комплекса
аппаратно-программных средств локальной сети рабочих станций ИПС РАН с пиковой
производительностью 0,6 Гфлопс проведено
автоматическое динамическое распараллеливание задач с мощностью мультипроцессорной
системы не ниже 90%, что примерно на 30% превышает использование процессоров в
мультипроцессорных системах. Система внедрена в настоящее время в ряде
организаций, что позволяет на недорогих мультикомпьютерах с Т-системой решать
сложные задачи, требующие длительного времени счета. Осуществлено
среднезернистое распараллеливание (104-106 команд
процессора), что соответствует таким объектам, как подпрограмма, функция;
размер гранул параллелизма определяет пользователь. Т-система реализует автоматическое
динамическое распараллеливание программ.
Аппаратно-программным
окружением служит сильно связанная сеть процессорных модулей с использованием
коммуникационной аппаратуры класса Fast Ethernet с протоколом IP, работающих под
управлением операционной системы Linux (IP-сеть Linux-машин).
В каждом процессорном элементе (Linux-машине)
выполняется один или несколько экземпляров Т-системы (в терминах ОС Linux – процессы
пользовательского уровня). Каждый из этих экземпляров Т-системы
(соисполнителей) имеет возможность обмениваться сообщениями со всеми
соисполнителями, работающими в рамках той же задачи пользователя, и
ответственен за локальную организацию вычислений. Совокупность всех экземпляров
Т-системы образует распределенную операционную среду параллельного выполнения
задачи пользователя. Используется модель представления процесса вычислений в
виде автотрансформации вычислительной сети (ВС). Для представления ВС в памяти
строятся списковые структуры звеньев (Т-структуры: расположенные подряд
одиночные звенья и мультизвенья). Для реализации операций, связанных с
отношением поставщик-потребитель, в кольце дополнительно могут находиться
вспомогательные системные звенья с тэгами (для реализации системного вызова и
для удержания процесса, выход которого является поставщиком в данном кольце).
Тэг определяет, какого рода данные содержатся в звене. Т-система использует
различные системные очереди для удержания и обработки различных объектов
(Т-структур). Это очереди: готовых к исполнению процессов, пренатальных (еще не
выполнявшихся) процессов, фиктивных
выходов, входных и выходных разъемов, вспомогательные системные. С каждым
процессом в Т-системе связан свой поток управления, соответствующий выполнению
Т-функции пользовательской программы (множественный поток управления). Главный
поток управления осуществляет планирование обычных потоков управления. Основной
компонентой Т-системы, поддерживающей реализацию используемой модели
вычисления, является вычислительная компонента. Одну из важнейших ролей в
Т-системе играют алгоритмы функционирования входных и выходных разъемов.
Разъемная пара состоит из двух разъемов – входного и выходного, расположенных в
памяти различных соисполнителей (соответственно, входного и выходного). При
этом входной разъем является источником для нескольких потребителей,
находящихся в звеньевой памяти входного соисполнителя. Разъем выходной является
одним из потребителей какого-либо источника, находящегося в звеньевой памяти
выходного соисполнителя. Каждый из входных-выходных разъемов содержит уникальный
идентификатор, соответствующий данной разъемной паре. Входной разъем содержит
идентификатор выходного, а выходной разъем – идентификатор входного
соисполнителя. Базовый алгоритм работы разъемной пары реализует механизм
передачи данных по требованию. Фрагменты между различными соисполнителями
передаются в транспортной форме (список буферов, каждый из которых передается
как отдельный Т-пакет). Транспортная форма содержит полную идентификацию всех
тех входных разъемов, которые являются получателями находящихся в транспортной
форме данных. Примерно аналогично формируется транспортная форма процесса.
Компилятор языка Т2СР преобразует
входной текст, написанный на языке программирования Т2СР, в текст на языке программирования
Си. Компиляция и сборка Си модулей в исполняемую под управлением Т-системы
Т-программу производится компилятором Т2СС с использованием стандартного
Си-компилятора (GCC).
Результаты
НИОКР использованы в программе Союзного государства России и Беларуси по теме
«Разработка и освоение в серийном производстве семейства высокопроизводительных
вычислительных систем с параллельной архитектурой (суперкомпьютеров) и создание
прикладных программно-аппаратных комплексов на их основе» (шифр «СКИФ»). Программный комплекс (ПК) Т-система
в составе семейства суперкомпьютеров (СК)
«Скиф» прошел приемочные (государственные) испытания. В настоящее время
ПК Т-система в составе программного
обеспечения СК «СКИФ» находится в опытной эксплуатации и используется десятками
организаций. В период 2000-2002 гг. выпущено 4 образца кластерных СК «СКИФ» с пиковой производительностью до 100
млрд. операций в секунду с Т-системой.
Коммерческое внедрение Т-системы
планируется в период реализации программы «СКИФ-2» (2005-2009 гг.).
ЛИТЕРАТУРА
1.
Рябиков С.В., Ступин Ю.В., Махова Е.Е. Инновационные
процессы и инновационный менеджмент в
науке, высшем образовании и экономической политике. Изд. НТИМИ, стр.56, рис.11,
2004 г.
2.
Ступин Ю.В.,
Сироткина Л.Б. Освоение основных конструктивных модулей и создание образца
многопроцессорной вычислительной системы большой производительности. Отчет
НТИМИ, ИФ-15/137-94.
3.
Ступин Ю.В.,
Сироткина Л.Б. Семейство суперЭВМ МВС-100 с параллельной архитектурой,
системное и прикладное программное обеспечение. Отчет НТИМИ, ИФ-15/01-95.
4. Забродин А.В., В.К. Левин
Опыт разработки параллельных вычислительных технологий. Создание и развитие
семейства МВС. Отчет по проекту «Создание
семейства супер-ЭВМ с параллельной архитектурой», этап I, 1995.
5. Забродин А.В., Левин В.К.,
Сидоров А.Ф. Вычислительные системы МВС-100. Отчет по проекту «Создание семейства супер-ЭВМ с параллельной
архитектурой», этап II, 1995.
6.
Ступин Ю.В.,
Сироткина Л.Б. Развитие аппаратных и программных средств семейства суперЭВМ
МВС-100 и параллельных вычислительных технологий. Отчет НТИМИ, ИФ-15/01-97.
7. Ступин
Ю.В., Сироткина
Л.Б. СуперЭВМ МВС-1000 терафлопной производительности для решения задач
повышенной сложности. Отчет НТИМИ, ИФ-15/01-2000.
8. Левин В.К. Отечественные
суперкомпьютеры семейства МВС. Интернет. Parallel.ru.
9. Андрианов А.Н., Ефимкин
К.Н., Задыхайло И.Б. Язык Норма. Препринт ИПМ им. М.В. Келдыша АН СССР, № 165,
1985.
10. Ступин
Ю.В. Создание
сверхскоростных супер-ЭВМ тера и петафлопного диапазонов (аналитический обзор).
Изд. НТИМИ, стр. 23, рис. 14, табл.1, библ.7, 1999 г.
11.
Abramov S., Adamovitch A.
and Kovalenko M. T-system: programming environment providing automatic dynamic parallelizing on IP-network
of Unix-computers. Report on 4-th International Russian-Indian seminar and
exibition, Sept. 15-25, 1997.
12. Абрамов С.М. Отчет о НИР по
теме «Разработка опытного образца аппаратно-программного комплекса Т-системы
как средства повышения реальной вычислительной мощности мультипроцессорных
комплексов», Переславль-Залесский, 2001.
13. Ступин
Ю.В., Махова
Е.Е. Разработка Т-системы как средства повышения реальной
вычислительной мощности мультипроцессорных комплексов. Отчет НТИМИ, ИФ-15/10-2000.
14. Ступин
Ю.В., Сироткина
Л.Б. Отчет о реализации проекта «Разработка опытного образца
аппаратно-программного комплекса Т-системы как средства повышения реальной
вычислительной мощности мультипроцессорных комплексов». Изд. НТИМИ, г. Москва,
2001 г. ИФ-15/10-2000.