№ | Слайд | Текст |
1 |
 |
Системное программное обеспечение суперкомпьютеров «СКИФ» и системапрограммирования OpenTS Абрамов С. М. Научная сессия ОИТВС Москва, ИПУ РАН, 2006-04-20 1 |
2 |
 |
Что войдет в докладНаучные интересы — в области системного программирования: Программное обеспечение для региональных компьютерных сетей Nadmin: система администрирования Botik Tools: пакет программ для абонентов (Botik Tester, Botik Key, Botik Look) Botik Mon и Botik Map — мониторинг и спец. ГИС Метавычисления и их приложения функциональное программирование и реализация языка рефал (различных диалектов и на различных платформах) теоретические основы информатики Системное программное обеспечение для параллельных архитектур (для суперкомпьютеров семейства «СКИФ») Т-Система — система программирования параллельных приложений OpenTS — Т-система с открытой архитектурой 2 |
3 |
 |
Суперкомпьютерная программа «СКИФ» Союзного государстваСистемное программное обеспечение для суперкомпьютеров «СКИФ» 3 |
4 |
 |
Суперкомпьютерный проект СКИФ Союзного государства2000-2004 10 + 10 исполнителей $10M (на 5 лет на 20 предприятий) ИПС РАН — головной по России ОИПИ НАН Беларуси – головной по Белоруссии Hardware, Software, Applications, Aux. 4 |
5 |
 |
Выпуск образцов (16)5 |
6 |
 |
Linpack-производительность образцов185 раз 2032 472 57 26 11 6 |
7 |
 |
Флагман: «СКИФ К-1000»Пиковая производи-тельность: 2,5 Tflops Linpack-производи-тельность: 2,0 Tflops КПД=80.1 % Ноябрь 2004: Наиболее мощная машина на территории СССР (сегодня: второе место 2) Ноябрь 2004: № 98 в Top500 7 |
8 |
 |
Комплект ПО КУ, литера «О1»ядро ОС Linux-SKIF PVFS-SKIF — параллельная файловая система OpenPBS-SKIF — система очередей FLAME-SKIF — система мониторинга и управления (reset, power on/off) установками семейства «СКИФ» 8 |
9 |
 |
Комплект ПО КУ, литера «О1»OpenTS — Т-система с открытой архитектурой компилятор TG++ для языка T++ транслятор TF2TC (T-Fortran ? T++) TDB — распределенный интерактивный отладчик MPI-программ, с поддержкой отладки Т-программ (замена TotalView) 9 |
10 |
 |
Комплект ПО КУ, литера «О1»6 прикладных программных систем в среде OpenTS 12 адаптированных свободных пакетов, библиотек и приложений 14 приложений собственной разработки (из них 3 в области ИИ) Совместимость платформы с коммерческими инженерными пакетами (более 6 отраслей реальных применений) 10 |
11 |
 |
Основные идеи Т-Системы и обзор архитектуры Open TS11 |
12 |
 |
Т-СистемаИстория Середина 80-ых Основные идеи Т-Системы 1990-ые Первая реализация Т-Системы 2000-2002, Программа «СКИФ» GRACE — Graph Reduction Applied to Cluster Environment 2003-сегодня, Программа «СКИФ» Open TS — Open T-system (открытая архитектура) 12 |
13 |
 |
Сравнение: Т-Система и MPISequential Parallel 13 |
14 |
 |
Open TS: основные свойстваАвтоматическое динамическое распараллеливание программ Много платформ — один инструмент разные ОС, multicore, SMP, кластеры, GRID Сочетание парадигм: функциональной и императивной (ООП) Высокоуровневое программирование: Т++ язык — «диалект» C++ незабытое старое: популярно с 90-ых 14 |
15 |
 |
Т++ новые ключевые словаtfun — Т-функция tval — Т-переменная (Т-значение) tptr — Т-указатель tout — Выходной параметр (аналог &) tdrop — Разорвать связь поставщик- потребитель (сделать готовым) twait — Редкое: ждать готовности tct — Т-контекст 15 |
16 |
 |
Т-Подход«Чистые» функции (tfunc) — их вызовы способны порождать гранулы параллелизма Т-Программы: Функциональны – на верхнем уровне Императивны – на нижнем уровне (C/C++/ASM оптимизации) C-совместимая модель исполнения Неготовые значения, многократные присваивания Гладкие расширения языков: C, Fortran, рефал 16 |
17 |
 |
Open TS: полноценная система программированияСредства разработки T++ Компилятор (входной модуль gcc) T++ ? C++ конвертор компиляторы для других языков Средства отладки и трассировки (TGDB, tracing) Микроядро Т-системы и библиотека поддержки времени исполнения 17 |
18 |
 |
Многопоточность и коммуникацииЛегковесные потоки (lightweight threads): раскрепощение программиста Пример программы: +1 000 000 потоков на процессор Асинхронные взаимодействия Нити A требуется неготовое значение Передается асинхронный запрос (Active messages & Signals), чтобы стимулировать передачу данных к нити A Выделяется квант на коммуникации (нет ли чего в нашем процессоре?) и переход (context switch) на другую готовую нить Эффект сокрытия задержек (Latency Hiding) в коммуникациях 18 |
19 |
 |
DMPIDynamic MPI автоматический подбор реализации MPI динамическая загрузка и связывание (dynamic loading and linking) Семь реализаций MPI поддержаны: LAM MPICH SCALI MPI MVAPICH IMPI MPICH-G2 PACX-MPI Еще: PVM и TCP/IP могут быть использованы DMPI в качестве транспорта вместо MPI Для территориально- распределенных установок (GRID) 19 |
20 |
 |
2005 — Сравнение: Open TS vs MPI20 |
21 |
 |
Заказчик: Microsoft2004: Microsoft создал подразделение HPC 2005: демонстрация намерений Microsoft в области HPC Осень 2005: бета-версии Microsoft MPI и Microsoft Windows Computing Cluster Server Осень 2004: знакомство Microsoft с OpenTS 2005: контракт «Сравнение Open TS с MPI» 2006: контракт «Перенос Open TS на Microsoft Windows Computing Cluster Server» 21 |
22 |
 |
ПриложенияПопулярные и широко используемые Разработаны независимыми MPI-эксперта-ми (без «связей» с Т-Системой) PovRay – Persistence of Vision Ray-tracer, С-пакет + C/MPI-patch ALCMD/MP_lite – молекулярная динамика (Ames Lab) Фортран-программа + MP_Lite/MPI 22 |
23 |
 |
Ключевой вопрос:Позволяет ли Т-Система легко, удобно создавать прикладные системы? Экономится ли труд программиста? Действительно ли более читабельный и более компактный код? (less space for bugs) И при этом мы не сильно жертвуем производительностью (до 30% от MPI)? 23 |
24 |
 |
T-povray vs MPI povray: сложность кодаПрограмма Объем исходного кода MPI модуль для povray 3.10g 1,500 строк MPI «заплатка» для povray 3.50c 3,000 строк T++ модуль (для двух версий 3.10g и 3.50c) 200 строк 24 |
25 |
 |
T-povray vs MPI povray: производительность16 dual Athlon 1800, AMD Athlon MP 1800+ RAM 1GB, FastEthernet, LAM 7.0.6 25 |
26 |
 |
T-povray vs MPI povray: производительность2CPUs AMD Opteron 248 2.2 GHz RAM 4GB, GigE, LAM 7.1.1 26 |
27 |
 |
ALCMD/MPI vs ALCMD/OpenTSБиблиотека MP_Lite (кусочек) переписана на T++ Fortran-код остался нетронутым 27 |
28 |
 |
Ключевой вопрос:Позволяет ли Т-Система легко, удобно создавать библиотеки (подобные MP_Light) для дальнейшей разработки прикладных систем? Экономится ли труд программиста? Действительно ли более читабельный и более компактный код? (less space for bugs) И при этом мы не сильно жертвуем производительностью (до 30% от MPI)? 28 |
29 |
 |
ALCMD/MPI vs ALCMD/opents : сложность кодаПрограмма Объем исходного кода MP_Lite/MPI ~3,500 строк MP_Lite/OpenTS 500 строк 29 |
30 |
 |
ALCMD/MPI vs ALCMD/opents: производительность2CPUs AMD Opteron 248 2.2 GHz RAM 4GB, GigE, LAM 7.1.1, Lennard-Jones MD, 512000 atoms 30 |
31 |
 |
ALCMD/MPI vs ALCMD/OpenTS: performance2CPUs AMD Opteron 248 2.2 GHz RAM 4GB, InfiniBand,MVAMPICH 0.9.4, Lennard-Jones MD,512000 atoms 31 |
32 |
 |
Приложения, написанные на Open TS32 |
33 |
 |
Т-ПриложенияMultiGen – оценка биологической активности веществ Дистанционное зондирование Земли (ДЗЗ) Моделирование плазмы Моделирование белков Аэромеханика Query engine for XML ИИ-приложения (3 штуки) и др. 33 |
34 |
 |
Multi-conformation modelMultiGen Челябинский Государственный Университет Level 0 Level 1 Level 2 К0 К11 К12 К22 К21 34 |
35 |
 |
MultiGen: SpeedupSubstance Substance Atom number Atom number Rotations number Rotations number Conformers Conformers Exectution time (min.:С) Exectution time (min.:С) Exectution time (min.:С) 1 node 4 nodes 16 nodes NCI-609067 28 4 13 9:33 3:21 1:22 TOSLAB A2-0261 82 18 49 115:27 39:23 16:09 NCI-641295 126 25 74 266:19 95:57 34:48 35 National Cancer Institute USA Reg.No. NCI-609067 (AIDS drug lead) National Cancer Institute USA Reg.No. NCI-641295 (AIDS drug lead) TOSLAB company (Russia-Belgium) Reg.No. TOSLAB A2-0261 (antiphlogistic drug lead) |
36 |
 |
Аэромеханика НИИ механики МГУ имМ.В.Ломоносова 36 |
37 |
 |
Аэромеханика НИИ механики МГУ имМ.В.Ломоносова 37 |
38 |
 |
Восстановление изображения по данным бортовой РЛС («Алмаз»)38 |
39 |
 |
Моделирование перспективной широкополосной РЛС39 |
40 |
 |
Классификация изображений (Landsat)Вычислительный Web-сервис 40 |
41 |
 |
Дальнейшие планыБолее глубокая поддержка многоядерных CPU (Территориально-) Распределенные системы Планировщик Другие коммуникационные реализации DMPI Интерфейсы к Web-сервисам Счет, устойчивый к отказам (fault-tolerance) Перенос на другие архитектуры (IBM Blue Gene), оптимизация под различные современные CPU Скелеты алгоритмов, шаблоны и параллельные библиотеки высокого уровня: sum = fold + minimum = fold min prod = fold * 41 |
42 |
 |
За рамками докладаДругие Т-диалекты: T-Refal, T-Fortan Мемоизация (табулирование) функций Автоматическое переключение между call-стилем и fork-стилем при вызове Т-функций Контрольные точки (Checkpointing) Heartbeat-механизм Ароматы (Flavours) tptr-указателей: “normal”, “glue” and “magnetic” — ленивые, жадные и супержадные передачи данных 42 |
43 |
 |
БлагодарностиСуперкомпьютерная программа «СКИФ» Союзного государства Программы РАН ОИВТС: «Высокопроизводительные вычислительные системы с новыми принципами организации вычислительных процессов» Президиум: «Создание основы для внедрения распределенных научных информационно-вычислительных сред на GRID технологиях» РФФИ: грант 05-07-08005-офи_а Microsoft – контракты «Open TS vs MPI case study» и «Porting Open TS @ Microsoft Windows Computing Cluster Server» 43 |
44 |
 |
Спасибо за внимание.. … … Готов ответить на вопросы … … 44 |
45 |
 |
Т-Система: иллюстрация идеи45 |
46 |
 |
Т-Система: иллюстрация идеи46 |
47 |
 |
Т-Система: иллюстрация идеи47 |
48 |
 |
Т-Система: иллюстрация идеи48 |
49 |
 |
Т-Система: иллюстрация идеи49 |
50 |
 |
Т-Система: иллюстрация идеи50 |
51 |
 |
Т-Система: иллюстрация идеи51 |
52 |
 |
Т-Система: иллюстрация идеи52 |
«Системное программное обеспечение суперкомпьютеров «СКИФ» и система программирования OpenTS» |
http://900igr.net/prezentacija/informatika/sistemnoe-programmnoe-obespechenie-superkompjuterov-skif-i-sistema-programmirovanija-opents-117415.html