'

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

Понравилась презентация – покажи это...





Слайд 1

1 Open TS: архитектура и реализация среды для динамического распараллеливания вычислений Абрамов С. М., Московский А. А., Роганов В. А., Парамонов Н. Н., Шевчук Е. В., Шевчук Ю. В., Чиж О. П. Новороссийск, Абрау-Дюрсо, 2005-09-20


Слайд 2

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


Слайд 3

3 1. Short Self-Introduction


Слайд 4

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


Слайд 5

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


Слайд 6

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


Слайд 7

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


Слайд 8

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


Слайд 9

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


Слайд 10

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


Слайд 11

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


Слайд 12

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


Слайд 13

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


Слайд 14

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


Слайд 15

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


Слайд 16

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


Слайд 17

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


Слайд 18

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


Слайд 19

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


Слайд 20

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


Слайд 21

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


Слайд 22

22 Open TS: Среда


Слайд 23

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


Слайд 24

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


Слайд 25

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


Слайд 26

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


Слайд 27

27 Debugging: WAD, LTDB


Слайд 28

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


Слайд 29

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


Слайд 30

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


Слайд 31

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


Слайд 32

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


Слайд 33

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


Слайд 34

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


Слайд 35

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


Слайд 36

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


Слайд 37

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


Слайд 38

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


Слайд 39

39 ALCMD/MPI vs ALCMD/OpenTS : code complexity


Слайд 40

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


Слайд 41

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


Слайд 42

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


Слайд 43

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


Слайд 44

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


Слайд 45

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


Слайд 46

46 MultiGen: Speedup National Cancer Institute USA Reg.No. NCI-609067 (AIDS drug lead) TOSLAB company (Russia-Belgium) Reg.No. TOSLAB A2-0261 (antiphlogistic drug lead) National Cancer Institute USA Reg.No. NCI-641295 (AIDS drug lead)


Слайд 47

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


Слайд 48

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


Слайд 49

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


Слайд 50

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


Слайд 51

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


Слайд 52

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


Слайд 53

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


Слайд 54

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


Слайд 55

55 Спасибо за внимание... … … Готов ответить на вопросы … …


×

HTML:





Ссылка: