'

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

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





Слайд 0

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


Слайд 1

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


Слайд 2

3 1. Short Self-Introduction


Слайд 3

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


Слайд 4

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


Слайд 5

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


Слайд 6

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


Слайд 7

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


Слайд 8

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


Слайд 9

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


Слайд 10

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


Слайд 11

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


Слайд 12

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


Слайд 13

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


Слайд 14

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


Слайд 15

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++


Слайд 16

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


Слайд 17

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


Слайд 18

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


Слайд 19

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


Слайд 20

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; }


Слайд 21

22 Open TS: Среда


Слайд 22

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


Слайд 23

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


Слайд 24

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


Слайд 25

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


Слайд 26

27 Debugging: WAD, LTDB


Слайд 27

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


Слайд 28

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


Слайд 29

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


Слайд 30

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


Слайд 31

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


Слайд 32

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


Слайд 33

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


Слайд 34

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


Слайд 35

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


Слайд 36

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


Слайд 37

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


Слайд 38

39 ALCMD/MPI vs ALCMD/OpenTS : code complexity


Слайд 39

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


Слайд 40

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


Слайд 41

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


Слайд 42

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


Слайд 43

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


Слайд 44

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


Слайд 45

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)


Слайд 46

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


Слайд 47

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


Слайд 48

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


Слайд 49

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


Слайд 50

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


Слайд 51

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


Слайд 52

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


Слайд 53

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


Слайд 54

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


×

HTML:





Ссылка: