Визуализация в распределенных системах Институт математического моделирования Российской академии наук mail:  [email_addre...
Особенности момента <ul><li>Потребность в суперкомпьютерах высока </li></ul><ul><li>Эффективность использования суперкомпь...
JSCC MSU <ul><li>Оперативная память </li></ul><ul><li>Кеш </li></ul><ul><li>Операционные устройства </li></ul><ul><li>Множ...
Вычислительная среда Выбор математической модели и солверов. Сопоставление атрибутам начальных и граничных условий, физиче...
Визуализация  <ul><li>Скалярные  </li></ul><ul><li>Векторные </li></ul><ul><li>Стационарные </li></ul><ul><li>Зависящие от...
Этапы визуализации <ul><li>Запись </li></ul><ul><li>Сетка  Сеточная функция </li></ul><ul><li>Чтение </li></ul><ul><li>Фор...
Клиент-серверная технология Аппроксимация и потоковая обработка VISIT  ParaView EnSight OpenDX <ul><li>Отображение </li></...
Методы <ul><li>Распределенное иерархическое хранение </li></ul><ul><li>Декомпозиция </li></ul><ul><li>Огрубление с контрол...
Обтекание самолета Сетка   Изоповерхности
 
 
 
 
 
 
 
 
 
Расчетная сетка
Огрубление поверхностей Ошибка Количество точек Количество треугольников Коэффициент сжатия 0% 13800 27357 - 0,1% 1120 211...
Огрубление поверхностей
Двухуровневое разбиение Сетка предварительно разбивается на большое число  микродоменов, образующих  макрограф Вершины мак...
Потоковая обработка 40 процессоров, полное чтение файла 40 процессоров, чтение фрагментов файла Кол-во исходных точек Врем...
Изоповерхности Ошибка аппроксимации 5%
Огрубление 3 D -данных Точность Кол-во точек Кол-во тетр-в Коэфф. сжатия Время сжатия, с 0% 117 075 690 176 - - 0,1% 71 05...
Огрубление 3 D- данных Точность Кол-во точек Кол-во тетр-в Коэфф. сжатия Время сжатия, с 0% 7 397 060 44 171 264 - - 0.1% ...
Сечение регулярной  3D  сетки плоскостью <ul><li>В результате сечения регулярной кубической решетки получается фрагмент не...
Аппроксимация триангулированных поверхностей <ul><li>Алгоритмы синтеза </li></ul><ul><li>Алгоритмы редуцирования </li></ul>
Начальная   аппроксимация кривой
Аппроксимация кривой  этап  2 1  вектор
Аппроксимация кривой   этап  3 3  вектора
Аппроксимация кривой  этап  4 7  векторов
Аппроксимация кривой  этап  5 15  векторов
Методы редуцирования <ul><li>Удаление ребра </li></ul><ul><li>Удаление точки </li></ul><ul><li>Уточнение топологии </li></ul>
Аппроксимация изоповерхностей
Плоскость, пересекающая цилиндр Ошибка аппроксимации 5%
Многоуровневое огрубление больших сеток
Распределенная визуализация
Моделирование течения вокруг летательного аппарата
Изоповерхности поля плотности R emote V iewer T ecplot
Тетраэдральные сетки 10 8  узлов
Заполнение пространства пирамидами <ul><li>На каждую из 2 n  точек в среднем опирается 2 n  пирамид </li></ul><ul><li>Числ...
Зависимость объема хранимых данных от числа микродоменов <ul><ul><ul><li>38 350  ->  2 356 196   узлов </li></ul></ul></ul...
Нерегулярная тетраэдральная сетка 110 533 834  узлов 659 316 736  тетраэдров 2 589 184  поверхностных треугольников Время ...
Библиотека ввода-вывода <ul><li>Ввод-вывод тетраэдральных сеток </li></ul><ul><ul><li>Хранение микродоменов </li></ul></ul...
Записи двух сеточных 2 d  функций  Функция  F 1  Функция  F 2 Рисунок 2.
Групповое сжатие вещественных чисел Перегруппировка байт Сжатие байт стандартной библиотекой  zlib Обнуление младших бит м...
Отсечение младших бит мантиссы   f=x 2 +y 2 +z 2 23 106 427 байт 10 ^ 9   узлов  -  11 3   354   035  байт  –  0.1%   -  0...
Огрубление данных
Моделирование процессов охлаждения  CPU
Процессор,   охлаждаемый медным радиатором CPU Мощность  65 Вт 10 мм ~1.4 мм Толщина 0.3 мм 7 мм …… 97.5 мм , 78  медных п...
Зависимость эффективности от числа ядер Конфигурация: 78 тонких ребер (0.3 мм) на радиаторе Сетка: 1000 х 3500 х 150 = 525...
 
Изоповерхности температуры: Т=20.5, 21, 22.5 С  сетка 800*700*120=67,2 млн. узлов
 
 
 
Зависимость коэффициента сжатия от числа усеченных бит 28   244   379  w101_reduced   12.bjn 22   340   718   w101_reduced...
Параллельные библиотеки  http://www.imamod.ru <ul><ul><li>SDLB    -  динамическая балансировка  (0D) </li></ul></ul><ul><u...
<ul><li>Якобовский М.В.   </li></ul><ul><li>д.ф.-м.н.,  </li></ul><ul><li>зав. сектором  </li></ul><ul><li>«Программного о...
 
Upcoming SlideShare
Loading in …5
×

якобовский - введение в параллельное программирование (3)

971 views

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
971
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • 04.06.10 Doclad14 Исследованы возможности работы системы распределённой визуализации в рамках технологии GRID , на нескольких многопроцессорных машинах, территориально удалённых и связанных медленными каналами связи. В работе приводятся результаты тестирования системы распределённой визуализации при обработки данных одновременно на многопроцессорных машинах, содержащих различное количество вычислительных модулей и обладающих существенно отличающимися характеристиками производительности. Тестирование на двух кластерах (12 Celeron -850 Mhz и 12 2х PentiumIII -600Mhz), связанных 10 Mbit -ной сетью подтверждает высокую эффективность разработанных программ и показывает достоверность полученных результатов.
  • Расчет выполнялся на нерегулярной тетраэдральной сетке. Показана граница и сечение расчетной сетки. Нерегулярность сетки позволяет сосредоточить большинство узлов в подобластях с сильно меняющимся решением , где необходимо исследовать картину процесса более детальн о . Результаты расчетов, определенные в узлах данной сетки, представляют собой трехмерные скалярные данные.
  • Сначала рассмотрим результаты работы основного алгоритма сжатия на данных относительно небольшого размера. Исходные данные - изоповерхност ь давления (значение 1,11) , полученного при расчете задачи обтекания на тетраэдральной сетке, состоящей из 117075 узлов. Во всех случаях сжатие занимало всего несколько секунд даже с использованием процессора 0,6 Ghz . Как можно заметить, уже для относительно небольших данных коэффициенты сжатия достаточно высоки.
  • Исходные данные - изоповерхност ь давления (значение 1,117) , извлеченн ая из тех же данных расчета. Можно заметить, что все мелкие изолированные куски поверхности при сжатии сохраняются. Сохраняется и отверстие ( контур, не заполненный треугольниками) . В алгоритме реализована блокировка стягивания отверстий, даже если их исчезновение не нарушает требуемую точность. Отверстиям разрешено сокращаться минимум до одного треугольника.
  • 04.06.10 Doclad14 2-stage partitioning
  • По сравнению со сжатием поверхностей метод имеет невысокие коэффициенты сжатия и выполняется за существенно большее время. Другим недостатком алгоритма является то, что в нем не существует строгого контроля за формой изоповерхностей получаемых данных. Форма изоповерхностей может заметно изменяться, особенно в приграничных областях. Однако в целом вид изоповерхности сохраняется. На рисунке слева – изоповерхность исходных данных, справа – изоповерхность данных, сжатых с точностью 1%. Сжатие выполнялось на системе с 2.6Ghz.
  • Параллельное сжатие трехмерных скалярных данных выполняется по той же схеме, что и для поверхностей. Для проведения теста были созданы 40 частей сетки с общим числом узлом в 7 миллионов. На полученную сетку с помощью имеющейся расчетной были проинтерполированы значения сеточной функции, и далее выполнено сжатие полученных данных на 40 процессорах. Показан результат сжатия с точностью 1%.
  • 04.06.10 Doclad14 LZW - A.Lempel, J.Ziv, T.Welch Мультитриангуляции А.В. Скворцов, Н.С.Мирза, Р.В.Чаднов, E.Puppo Огрубление W.J.Schroeder, J.Zarge, W.Lorensen, H.Hope, Shao-zheng Zhou, R.Klette, E.Puppo, R.Scopigno
  • 04.06.10 Doclad14 Enrico Puppo, Larry Davis, Daniel DeMenthon, Y. Ansel Teng. Michael Garland and Paul S. Heckbert.
  • 04.06.10 Doclad14 Якобовский
  • 04.06.10 Doclad14 Полученные фрагменты аппроксимирующей поверхности передаются на коммуникационную часть, дополнительно сжимаются уже в совокупности и поступают на клиентскую часть для непосредственного отображения. Полученные таким образом на клиентской части данные, представляют собой огрубленный образ изоповерхности, который можно изучать с разных точек 3-х мерного пространства. На базе разработанных алгоритмов распределённой визуализации реализован пакет программ, позволяющий решать задачи визуализации для большого количества задач математического моделирования, связанных с проведением крупномасштабных численных экспериментов с использованием многопроцессорной вычислительной техники.
  • 04.06.10 Doclad14 Исследованы возможности работы системы распределённой визуализации в рамках технологии GRID , на нескольких многопроцессорных машинах, территориально удалённых и связанных медленными каналами связи. В работе приводятся результаты тестирования системы распределённой визуализации при обработки данных одновременно на многопроцессорных машинах, содержащих различное количество вычислительных модулей и обладающих существенно отличающимися характеристиками производительности. Тестирование на двух кластерах (12 Celeron -850 Mhz и 12 2х PentiumIII -600Mhz), связанных 10 Mbit -ной сетью подтверждает высокую эффективность разработанных программ и показывает достоверность полученных результатов.
  • В численных экспериментах удалось показать, что радиаторы рассматриваемой конструкции должны иметь не менее 25 ребер для предохранения процессора от перегрева. Оптимальной является конфигурация с количеством ребер более 75-100. Реализованная в технологическом цикле конфигурация с числом ребер 78 попадает в данный диапазон. При этом процессор с потребляемой мощностью 65 Вт даже в переходном режиме не нагревается выше 70 град. С (допуск по температуре).
  • якобовский - введение в параллельное программирование (3)

    1. 1. Визуализация в распределенных системах Институт математического моделирования Российской академии наук mail: [email_address] web: http://lira.imamod.ru Нижний Новгород 2009 М.В.Якобовский
    2. 2. Особенности момента <ul><li>Потребность в суперкомпьютерах высока </li></ul><ul><li>Эффективность использования суперкомпьютеров низка: </li></ul><ul><ul><li>Использование каждого ядра последовательной программой составляет проценты и доли процентов </li></ul></ul><ul><ul><li>Обмены, синхронизация и другие дополнительные операции ещё снижают эффективность параллельной программы </li></ul></ul><ul><li>Есть минимальный объем вычислений на процессорное ядро, определяющий максимальное ч исло используемых ядер </li></ul><ul><li>За счет многопроцессорности проблематично сокращать время моделирования физического процесса, но можно повышать сложность решаемой задачи , например за счет увеличения размеров и детальности представления изучаемых объектов </li></ul>
    3. 3. JSCC MSU <ul><li>Оперативная память </li></ul><ul><li>Кеш </li></ul><ul><li>Операционные устройства </li></ul><ul><li>Множественный доступ </li></ul><ul><li>Бета-тестер </li></ul>TOP 500 10 T МВС-1000М JSCC 2000 2010 г г. 1995 2005 2015 100 T 1 T 100 G 10 G 1 G 1 Pflops 2301 Tf #1 281 Tf  500 #500 1,65 Tf 0,42 Gf 1,12 Tf 60 Gf flops Workstation: 1 /100 000
    4. 4. Вычислительная среда Выбор математической модели и солверов. Сопоставление атрибутам начальных и граничных условий, физических параметров. Выбор сервер а вычислений Выбор сервер а визуализации Проект Построение геометрической модели, поверхностной и объемной сетки. Задание атрибутов. Формирование варианта задания Расчет варианта задания Файлы результатов В изуализация результатов
    5. 5. Визуализация <ul><li>Скалярные </li></ul><ul><li>Векторные </li></ul><ul><li>Стационарные </li></ul><ul><li>Зависящие от времени </li></ul><ul><li>Решетки </li></ul><ul><li>Треугольные и тетраэдральные сетки </li></ul>сетки Б о л ь ш и е
    6. 6. Этапы визуализации <ul><li>Запись </li></ul><ul><li>Сетка Сеточная функция </li></ul><ul><li>Чтение </li></ul><ul><li>Формирование объектов виртуальной сцены </li></ul><ul><li>Отображение </li></ul>
    7. 7. Клиент-серверная технология Аппроксимация и потоковая обработка VISIT ParaView EnSight OpenDX <ul><li>Отображение </li></ul><ul><li>Расчет </li></ul><ul><li>Запись результатов </li></ul><ul><li>Копирование всех данных </li></ul><ul><li>Чтение </li></ul><ul><li>Формирование сцены </li></ul><ul><li>Чтение </li></ul><ul><li>Формирование сцены </li></ul>TecPlot Origin
    8. 8. Методы <ul><li>Распределенное иерархическое хранение </li></ul><ul><li>Декомпозиция </li></ul><ul><li>Огрубление с контролируемой точностью </li></ul><ul><li>Клиент-серверная технология </li></ul><ul><li>Потоковая обработка </li></ul><ul><li>Хранение образов </li></ul>
    9. 9. Обтекание самолета Сетка Изоповерхности
    10. 19. Расчетная сетка
    11. 20. Огрубление поверхностей Ошибка Количество точек Количество треугольников Коэффициент сжатия 0% 13800 27357 - 0,1% 1120 2117 12,9 0,2% 447 808 3 3,9 0,5% 175 304 90,0
    12. 21. Огрубление поверхностей
    13. 22. Двухуровневое разбиение Сетка предварительно разбивается на большое число микродоменов, образующих макрограф Вершины макрографа распределяются по процессорам I II
    14. 23. Потоковая обработка 40 процессоров, полное чтение файла 40 процессоров, чтение фрагментов файла Кол-во исходных точек Время чтения файлов данных, мин:сек Общее время работы, мин:сек Кол-во полученных точек 100 млн. 0:08 0:13 1 681 252 млн. 4:38 36:51 3 010 512 млн. 32:07 Не хватило памяти - 1000 млн. 56:54 Не хватило памяти - Кол-во исходных точек регулярной сетки Число фрагментов, на которые разбивался каждый файл Общее время работы, мин:сек Кол-во полученных точек изоповерхности 252 млн. 1 24:51 2 997 252 млн. 8 4:20 5 891 252 млн. 64 0:14 11 198 512 млн. 8 41:40 7 996 512 млн. 27 0:25 10 997 512 млн. 64 0:26 14 026 1000 млн. 64 - 56:54 83:25 19 534 1000 млн. 27 0:45 16 171 1000 млн. 8 2:34 13 218
    15. 24. Изоповерхности Ошибка аппроксимации 5%
    16. 25. Огрубление 3 D -данных Точность Кол-во точек Кол-во тетр-в Коэфф. сжатия Время сжатия, с 0% 117 075 690 176 - - 0,1% 71 056 438 025 1,58 122 0,2% 49 129 308 657 2,24 135 0,5% 26 562 168 293 4,10 158 1% 17 329 108 958 6,33 164 2 % 12 237 76 104 9,07 170
    17. 26. Огрубление 3 D- данных Точность Кол-во точек Кол-во тетр-в Коэфф. сжатия Время сжатия, с 0% 7 397 060 44 171 264 - - 0.1% 997 156 6 585 761 6,71 29 0 0.2% 625 410 4 132 691 10,7 242 0.5% 453 981 2 988 355 1 4,8 235 1% 418 145 2 751 040 16,1 223
    18. 27. Сечение регулярной 3D сетки плоскостью <ul><li>В результате сечения регулярной кубической решетки получается фрагмент неструктурированной сетки </li></ul>
    19. 28. Аппроксимация триангулированных поверхностей <ul><li>Алгоритмы синтеза </li></ul><ul><li>Алгоритмы редуцирования </li></ul>
    20. 29. Начальная аппроксимация кривой
    21. 30. Аппроксимация кривой этап 2 1 вектор
    22. 31. Аппроксимация кривой этап 3 3 вектора
    23. 32. Аппроксимация кривой этап 4 7 векторов
    24. 33. Аппроксимация кривой этап 5 15 векторов
    25. 34. Методы редуцирования <ul><li>Удаление ребра </li></ul><ul><li>Удаление точки </li></ul><ul><li>Уточнение топологии </li></ul>
    26. 35. Аппроксимация изоповерхностей
    27. 36. Плоскость, пересекающая цилиндр Ошибка аппроксимации 5%
    28. 37. Многоуровневое огрубление больших сеток
    29. 38. Распределенная визуализация
    30. 39. Моделирование течения вокруг летательного аппарата
    31. 40. Изоповерхности поля плотности R emote V iewer T ecplot
    32. 41. Тетраэдральные сетки 10 8 узлов
    33. 42.
    34. 43. Заполнение пространства пирамидами <ul><li>На каждую из 2 n точек в среднем опирается 2 n пирамид </li></ul><ul><li>Число пирамид ~ n 2 </li></ul>
    35. 44. Зависимость объема хранимых данных от числа микродоменов <ul><ul><ul><li>38 350 -> 2 356 196 узлов </li></ul></ul></ul><ul><ul><ul><li>219 034 * 8 2 - > 14 018 176 тетраэдров </li></ul></ul></ul>На 35% больше чем 124 Число микродоменов 1 50 1000 1500 2000 2500 3000 Размер описания (МБ) 124 127 145 152 158 163 168
    36. 45. Нерегулярная тетраэдральная сетка 110 533 834 узлов 659 316 736 тетраэдров 2 589 184 поверхностных треугольников Время выполнения программы на 100 процессорах МВС-15000ВМ составляет 270 секунд (с учетом записи данных на диск). Время равномерного измельчения – 30 секунд. Дисковое пространство 12.33 Гб
    37. 46. Библиотека ввода-вывода <ul><li>Ввод-вывод тетраэдральных сеток </li></ul><ul><ul><li>Хранение микродоменов </li></ul></ul><ul><ul><li>Хранение макрографа </li></ul></ul><ul><li>Ввод-вывод регулярных решеток </li></ul><ul><ul><li>Хранение фрагментов сеток </li></ul></ul><ul><ul><li>Хранение сеточных функций </li></ul></ul>
    38. 47. Записи двух сеточных 2 d функций Функция F 1 Функция F 2 Рисунок 2.
    39. 48. Групповое сжатие вещественных чисел Перегруппировка байт Сжатие байт стандартной библиотекой zlib Обнуление младших бит мантиссы
    40. 49. Отсечение младших бит мантиссы f=x 2 +y 2 +z 2 23 106 427 байт 10 ^ 9 узлов - 11 3   354   035 байт – 0.1% - 0.92 бит a на узел 10 ^ 9 узлов : 100 0 блоков по 10 ^ 6 узлов 3.54  бинарный без компрессии без огрубления компрессия без огрубления 3.141592 3.14159 3.1415 3.141 3.14
    41. 50. Огрубление данных
    42. 51. Моделирование процессов охлаждения CPU
    43. 52. Процессор, охлаждаемый медным радиатором CPU Мощность 65 Вт 10 мм ~1.4 мм Толщина 0.3 мм 7 мм …… 97.5 мм , 78 медных пластин 100 мм …… Поток воздуха : T=20C, .004-.005 м 3 / с Cu 30x30 мм 35 мм до границы
    44. 53. Зависимость эффективности от числа ядер Конфигурация: 78 тонких ребер (0.3 мм) на радиаторе Сетка: 1000 х 3500 х 150 = 525 млн. Параллельная реализация: MPI + нити (8 нитей на узле)
    45. 55. Изоповерхности температуры: Т=20.5, 21, 22.5 С сетка 800*700*120=67,2 млн. узлов
    46. 59. Зависимость коэффициента сжатия от числа усеченных бит 28 244 379 w101_reduced 12.bjn 22 340 718 w101_reduced 13.bjn 17 228 023 w101_reduced 14.bjn 13 339 249 w101_reduced 15.bjn 5 171 208 w101_reduced 16.bjn 3 321 150 w101_reduced 17.bjn 2 213 949 w101_reduced 18.bjn 1 471 818 w101_reduced 1 9 .bjn 793 457 w101grid.bjn Сетка: 1000 х 3500 х 150 = 525 млн узлов
    47. 60. Параллельные библиотеки http://www.imamod.ru <ul><ul><li>SDLB - динамическая балансировка (0D) </li></ul></ul><ul><ul><li>MCoarse - огрубление сеток (2D, 3D) </li></ul></ul><ul><ul><li>BjnIOlib - ввод-вывод регулярных сеток </li></ul></ul><ul><ul><li>TMLlib - ввод-вывод неструктурированных сеток </li></ul></ul><ul><ul><li>LRND - генерация псевдослучайных чисел </li></ul></ul><ul><ul><li>PSORT - параллельная сортировка </li></ul></ul>
    48. 61. <ul><li>Якобовский М.В. </li></ul><ul><li>д.ф.-м.н., </li></ul><ul><li>зав. сектором </li></ul><ul><li>«Программного обеспечения многопроцессорных систем и вычислительных сетей» </li></ul><ul><li>Института математического моделирования </li></ul><ul><li>Российской академии наук </li></ul><ul><li>mail: [email_address] </li></ul><ul><li>http://lira.imamod.ru </li></ul>

    ×