Open TS: архитектура и реализация среды для динамического распараллеливания вычислений

Содержание

Слайд 2

План доклада

Короткое само-представление
Open TS: обзор архитектуры
Сравнение подходов: MPI vs Open TS
Приложения, написанные

План доклада Короткое само-представление Open TS: обзор архитектуры Сравнение подходов: MPI vs
на OpenTS
Закругляясь:
Что осталось за рамками доклада?
Планов наших громадье...
Благодарности

Слайд 3

1. Short Self-Introduction

1. Short Self-Introduction

Слайд 4

ИПС РАН, Переславль-Залесский

ИПС РАН, Переславль-Залесский

Слайд 5

МГУ им. М.В.Ломоносова

МГУ им. М.В.Ломоносова

Слайд 6

Партнеры

ИПС РАН
МГУ им. М. В. Ломоносова
ОИПИ НАН Беларуси
наши пользователи:
ЧелГУ
НИИ мех. МГУ им.

Партнеры ИПС РАН МГУ им. М. В. Ломоносова ОИПИ НАН Беларуси наши
М. В. Ломоносова
НИИ КС (Хруничев)
и др.

Слайд 7

Open TS: Обзор архитектуры

Open TS: Обзор архитектуры

Слайд 8

Т-Система. История

Середина 80-ых Основные идеи Т-Системы
1990-ые Первая реализация Т-Системы
2000-2002, Программа «СКИФ» GRACE — Graph

Т-Система. История Середина 80-ых Основные идеи Т-Системы 1990-ые Первая реализация Т-Системы 2000-2002,
Reduction Applied to Cluster Environment
2003-сегодня, Программа «СКИФ» Open TS — Open T-system

Слайд 9

Суперкомпьютерный проект СКИФ Союзного государства

2000-2004
10 + 10 исполнителей
$10M (на 5 лет

Суперкомпьютерный проект СКИФ Союзного государства 2000-2004 10 + 10 исполнителей $10M (на
на 20 предприятий)
ИПС РАН — головные по России
ОИПИ НАН Беларуси – головные по Российской Федерации
Hardware, Software, Applications, Aux.

Слайд 10

Выпуск образцов (16)

Выпуск образцов (16)

Слайд 11

Пиковая производительность образцов

20

98

717

2534

48

125 раз

Пиковая производительность образцов 20 98 717 2534 48 125 раз

Слайд 12

Linpack-производительность образцов

11

57

472

2032

26

185 раз

Linpack-производительность образцов 11 57 472 2032 26 185 раз

Слайд 13

Темпы развития отрасли (Linpack)

Темпы развития отрасли (Linpack)

Слайд 14

Флагман: «СКИФ К-1000»

Пиковая производи-тельность: 2,5 Tflops
Linpack-производи-тельность: 2,0 Tflops
КПД=80.1 %

Ноябрь 2004: Наиболее мощная

Флагман: «СКИФ К-1000» Пиковая производи-тельность: 2,5 Tflops Linpack-производи-тельность: 2,0 Tflops КПД=80.1 %
машина на территории СССР
Ноябрь 2004: № 98 в Top500

Слайд 15

Сравнение: Т-Система и MPI

Sequential

Parallel

Сравнение: Т-Система и MPI Sequential Parallel

Слайд 16

Подобные подходы

Parallel Programming Using C++ (Scientific and Engineering Computation) by Gregory V.

Подобные подходы Parallel Programming Using C++ (Scientific and Engineering Computation) by Gregory
Wilson (Editor), Paul Lu (Editor) ABC++, Amelia, CC++, CHAOS++, COOL, C++//, ICC++, Mentat, MPC++, MPI++, pC++, POOMA, TAU, UC++

Слайд 17

Т-Система в сравнении

Т-Система в сравнении

Слайд 18

Open TS: на уровне лозунгов

Наша цель — HPC
Автоматическое динамическое распараллеливание программ
Сочетание функциональной

Open TS: на уровне лозунгов Наша цель — HPC Автоматическое динамическое распараллеливание
и императивной парадигм (и ООП)
Высокоуровневое программирование
Т++ язык: «параллельный диалект» C++ (незабытое старое: популярно с 90-ых)

Слайд 19

Т-Подход

«Чистые» функции (tfunc) — их вызовы способны порождать гранулы параллелизма
Т-Программы:
Функциональны – на

Т-Подход «Чистые» функции (tfunc) — их вызовы способны порождать гранулы параллелизма Т-Программы:
верхнем уровне
Императивны – на нижнем уровне (C/C++/ASM оптимизации)
C-совместимая модель исполнения
Неготовые значения, многократные присваивания
Гладкое расширения языков: C, Fortran, Рефал

Слайд 20

Т++ новые ключевые слова

tfun — Т-функция
tval — Т-переменная (Т-значение)
tptr — Т-указатель
tout — Выходной параметр (аналог &)
tdrop —

Т++ новые ключевые слова tfun — Т-функция tval — Т-переменная (Т-значение) tptr
Разорвать связь поставщик- потребитель (сделать готовым)
twait — Редкое: ждать готовности
tct — Т-контекст

Слайд 21

Пример программ

#include
tfun int fib (int n) {
return n < 2

Пример программ #include tfun int fib (int n) { return n }
? n : fib(n-1)+fib(n-2);
}
tfun int main (int argc, char **argv) {
if (argc != 2) { printf("Usage: fib \n"); return 1; }
int n = atoi(argv[1]);
printf("fib(%d) = %d\n", n, (int)fib(n));
return 0;
}

Слайд 22

Open TS: Среда

Open TS: Среда

Слайд 23

Open TS: Runtime

Трехслойная архитектура (Т, M, S)
Design: microkernel Сегодня: 10 расширений
«Supermemory»
Lightweight

Open TS: Runtime Трехслойная архитектура (Т, M, S) Design: microkernel Сегодня: 10
threads
DMPI: Dynamic MPI
auto selection of MPI implementation
dynamic loading and linking

Слайд 24

Supermemory

Object-Oriented Distributed shared memory (OO DSM)
Global address space
Cell versioning

Supermemory Object-Oriented Distributed shared memory (OO DSM) Global address space Cell versioning

Слайд 25

Multithreading & Communications

Lightweight threads — провокация
PIXELS (1 000 000 threads)
Asynchronous communications
Нити A

Multithreading & Communications Lightweight threads — провокация PIXELS (1 000 000 threads)
требуется неготовое значение
Передается асинхронный запрос (Active messages & Signals) чтобы стимулировать передачу данных к нити A
Выделяется квант на коммуникации (нет ли чего в нашем процессоре?) и переход (context switch) на другую готовую нить
Latency Hiding в коммуникациях

Слайд 26

DMPI

Dynamic MPI
автоматический подбор реализации MPI
динамическая загрузка (dynamic loading and linking)
Семь реализаций MPI поддержаны:
LAM
MPICH
SCALI

DMPI Dynamic MPI автоматический подбор реализации MPI динамическая загрузка (dynamic loading and
MPI
MVAPICH
IMPI
MPICH-G2
PACX-MPI
И даже PVM может быть использован вместо MPI

Слайд 27

Debugging: WAD, LTDB

Debugging: WAD, LTDB

Слайд 28

Сбор статистики

Сбор статистики

Слайд 29

Сообщения из разных мест

Сообщения из разных мест

Слайд 30

Open TS на территориально-распределенных установках

Meta-cluster messaging support (MPICH-G2, IMPI, PACX-MPI)
Customizable scheduling strategies (network topology

Open TS на территориально-распределенных установках Meta-cluster messaging support (MPICH-G2, IMPI, PACX-MPI) Customizable
information used)

Слайд 31

Контракт с Microsoft: Open TS vs MPI case study

Контракт с Microsoft: Open TS vs MPI case study

Слайд 32

Приложения

Популярные и широко используемые
Разработаны независимыми MPI-эксперта-ми (без порочащих связей с Т-Системой)
PovRay –

Приложения Популярные и широко используемые Разработаны независимыми MPI-эксперта-ми (без порочащих связей с
Persistence of Vision Ray-tracer, С-пакет + C/MPI-patch
ALCMD/MP_lite – молекулярная динамика (Ames Lab) Фортран программа + MP_Lite/MPI

Слайд 33

Ключевой вопрос:

Позволяет ли Т-Система удобно создавать прикладные системы?
Экономится ли труд программиста?
Действительно ли

Ключевой вопрос: Позволяет ли Т-Система удобно создавать прикладные системы? Экономится ли труд
более читабельный и более компактный код? (less space for bugs)
И при этом мы не сильно жертвуем производительностью (до 30% от MPI)?

Слайд 34

T-PovRay vs MPI PovRay: сложность кода

T-PovRay vs MPI PovRay: сложность кода

Слайд 35

T-PovRay vs MPI PovRay: производительность

16 dual Athlon 1800, AMD Athlon MP 1800+

T-PovRay vs MPI PovRay: производительность 16 dual Athlon 1800, AMD Athlon MP
RAM 1GB, FastEthernet, LAM 7.0.6

Слайд 36

T-PovRay vs MPI PovRay: производительность

2CPUs AMD Opteron 248 2.2 GHz RAM 4GB,

T-PovRay vs MPI PovRay: производительность 2CPUs AMD Opteron 248 2.2 GHz RAM 4GB, GigE, LAM 7.1.1
GigE, LAM 7.1.1

Слайд 37

ALCMD/MPI vs ALCMD/OpenTS

Библиотека MP_Lite (кусочек) переписана на T++
Fortran код остался нетронутым

ALCMD/MPI vs ALCMD/OpenTS Библиотека MP_Lite (кусочек) переписана на T++ Fortran код остался нетронутым

Слайд 38

Ключевой вопрос:

Позволяет ли Т-Система удобно создавать библиотеки (подобные MP_Light) для дальнейшей разработки

Ключевой вопрос: Позволяет ли Т-Система удобно создавать библиотеки (подобные MP_Light) для дальнейшей
прикладных систем?
Экономится ли труд программиста?
Действительно ли более читабельный и более компактный код? (less space for bugs)
И при этом мы не сильно жертвуем производительностью (до 30% от MPI)?

Слайд 39

ALCMD/MPI vs ALCMD/OpenTS : code complexity

ALCMD/MPI vs ALCMD/OpenTS : code complexity

Слайд 40

ALCMD/MPI vs ALCMD/OpenTS: производительность

16 dual Athlon 1800, AMD Athlon MP 1800+ RAM

ALCMD/MPI vs ALCMD/OpenTS: производительность 16 dual Athlon 1800, AMD Athlon MP 1800+
1GB, FastEthernet, LAM 7.0.6, Lennard-Jones MD, 512000 atoms

Слайд 41

ALCMD/MPI vs ALCMD/OpenTS: производительность

2CPUs AMD Opteron 248 2.2 GHz RAM 4GB, GigE,

ALCMD/MPI vs ALCMD/OpenTS: производительность 2CPUs AMD Opteron 248 2.2 GHz RAM 4GB,
LAM 7.1.1, Lennard-Jones MD, 512000 atoms

Слайд 42

ALCMD/MPI vs ALCMD/OpenTS: performance

2CPUs AMD Opteron 248 2.2 GHz RAM 4GB, InfiniBand,MVAMPICH

ALCMD/MPI vs ALCMD/OpenTS: performance 2CPUs AMD Opteron 248 2.2 GHz RAM 4GB,
0.9.4, Lennard-Jones MD,512000 atoms

Слайд 43

Приложения, написанные на Open TS

Приложения, написанные на Open TS

Слайд 44

Т-Приложения

MultiGen – оценка биологической активности веществ
Дистанционное зондирование Земли (ДЗЗ)
Моделирование плазмы
Моделирование белков
Аэромеханика
Query engine

Т-Приложения MultiGen – оценка биологической активности веществ Дистанционное зондирование Земли (ДЗЗ) Моделирование
for XML
ИИ-приложения (3 штуки)
и др.

Слайд 45

MultiGen Челябинский Государственный Университет

Level 0

Level 1

Level 2

Multi-conformation model

К0

К11

К12

К21

К22

MultiGen Челябинский Государственный Университет Level 0 Level 1 Level 2 Multi-conformation model

Слайд 46

MultiGen: Speedup

National Cancer Institute USA
Reg.No. NCI-609067
(AIDS drug lead)

TOSLAB company (Russia-Belgium)
Reg.No. TOSLAB A2-0261
(antiphlogistic

MultiGen: Speedup National Cancer Institute USA Reg.No. NCI-609067 (AIDS drug lead) TOSLAB
drug lead)

National Cancer Institute USA
Reg.No. NCI-641295
(AIDS drug lead)

Слайд 47

Аэромеханика НИИ механики МГУ им. М.В.Ломоносова

Аэромеханика НИИ механики МГУ им. М.В.Ломоносова

Слайд 48

Аэромеханика НИИ механики МГУ им. М.В.Ломоносова

Аэромеханика НИИ механики МГУ им. М.В.Ломоносова

Слайд 49

Восстановление изображения из голограммы, снятой бортовой РЛС

Восстановление изображения из голограммы, снятой бортовой РЛС

Слайд 50

Моделирование перспективной широкополосной РЛС

Graphical User Interface
Non-PSI RAS development team (Space research institute

Моделирование перспективной широкополосной РЛС Graphical User Interface Non-PSI RAS development team (Space
of Khrunichev corp.)

Слайд 51

Классификация изображений (Landsat)

Вычислительный Web-сервис

Классификация изображений (Landsat) Вычислительный Web-сервис

Слайд 52

Дальнейшие планы

Более глубокая поддержка многоядерных CPU
(Территориально-) Распределенные системы
Планировщик
Другие коммуникационные реализации DMPI
Интерфейсы

Дальнейшие планы Более глубокая поддержка многоядерных CPU (Территориально-) Распределенные системы Планировщик Другие
к Web-сервисам
Fault-tolerance
Оптимизация под различные современные CPU
Скелеты алгоритмов, шаблоны и параллельные библиотеки высокого уровня:
sum = fold +
minimum = fold min
prod = fold *

Слайд 53

За рамками доклада

Другие Т-диалекты: T-Refal, T-Fortan
Мемоизация (табулирование) функций
Автоматическое переключение между call-стилем и

За рамками доклада Другие Т-диалекты: T-Refal, T-Fortan Мемоизация (табулирование) функций Автоматическое переключение
fork-стилем при вызове Т-функций
Checkpointing
Heartbeat-механизм
Ароматы (Flavours) tptr-указателей: “normal”, “glue” and “magnetic” — ленивые, жадные и супержадные передачи данных

Слайд 54

Благодарности

Суперкомпьютерный проект СКИФ
Программы РАН
ОИВТС: «Высокопроизводительные вычислительные системы с новыми принципами организации вычислительных

Благодарности Суперкомпьютерный проект СКИФ Программы РАН ОИВТС: «Высокопроизводительные вычислительные системы с новыми
процессов»
Президиум: «Создание основы для внедрения распределенных научных информационно-вычислительной среды на GRID технологиях»
РФФИ: грант 05-07-08005-офи_а
Microsoft – контракт «Open TS vs MPI case study»
Имя файла: Open-TS:-архитектура-и-реализация-среды-для-динамического-распараллеливания-вычислений.pptx
Количество просмотров: 107
Количество скачиваний: 0