Upload
karah
View
60
Download
5
Embed Size (px)
DESCRIPTION
Высокопроизводительные вычислительные системы: применения в биологии и практические аспекты решения некоторых задач. ВВЕДЕНИЕ: Высокопроизводительные вычисления в биологических науках. Суперкомпьютеры используются для моделирования природных молекулярных машин. MDGRAPE, специализированный - PowerPoint PPT Presentation
Citation preview
Высокопроизводительные вычислительные системы:применения в биологии и
практические аспекты решения некоторых задач
ВВЕДЕНИЕ:
Высокопроизводительные вычисления вбиологических науках
MDGRAPE, специализированныйКомпьютер для молекулярной динамикиПроизводительность ~ 1000 TFLOP
ASC Q, Los Alamos National Laboratory ~ 30 TFLOP
Суперкомпьютеры используются для моделирования природных молекулярных машин
>Выяснение фундаментальныхмеханизмов работы живой клетки
>Разработка лекарственныхпрепаратов
>Разработка искусственныхмолекулярных машин (ДНК-компьютеры, нанороботы…)
Blue Gene/L
Моделирование систем нейронов и фрагментов мозга
> Выяснение принциповфункционирования мозга
> Механизмы и способылечения расстройств работымозга
> «Нейронные протезы»
Часть первая
Сам себе суперкомпьютер
GPU vs CPU
0 2 4 6 8
GeForce 8800GTX
Quad CoreXeon 3Ghz
СКИФ Cyberia
потребление Вт/ГФЛОП
Лучшее соотношение производительность/потребляемая мощность
Немного о задаче
1 2 3 4 5 6 …
1 X
2 X
3 X
4 X
5 X
6 X
… X
Атом 1
Атом 2Атом 3
Номер атома
Архитектура графического процессораSIMD –архитектура
128 73 184 9 2
сложить
возвестив квадрат
132 82 20
17424 6724 400
Разделяемая память и кэш процессора
Регистры процессора
Кэш
ОЗУ
Глобальная память
Разделяемая память
Регистры Регистры
CPU GPU
200-300 тактовНа чтение или записьзначения в глобальнуюпамять
2 такта на доступ кразделяемой памяти или регистрам
Примеры простых алгоритмов
I,j – номера атомов
Пока i<число_атомов Цикл Пока j<число_атомов Цикл Если i<>j Тогда F[i]=выч_град(i,j) F[j]=-Fi КонецЕсли КонецЦиклаКонецЦикла
I=НомерБлока*ЧислоПотоков+НомерПотока
Пока j<i-1 Цикл F[i]=выч_град(i,j)КонецЦиклаj=j+1Пока j<число_атомов Цикл F[i]=выч_град(i,j)КонецЦикла
Для CPU Для GPU
i
j
Сравнение производительности
0
100
200
300
400
500
600
700
800
900
1000
0 1000 2000 3000 4000 5000 6000 7000
N
t,s
GPU (8800 GTS)
AMD Opteron 240
IBM PowerPC 970FX
0
5
10
15
20
25
30
35
0 1000 2000 3000 4000 5000 6000 7000
N
ус
кор
ен
ие
AMD Opteron 240
IBM PowerPC 970FX
Лучше, выше, быстрее
Как выглядит молекулярная динамика (молекула белка в растворе)
35000 атомов. Траектория рассчитана программой GPAMPна видеокарте GeForce 8800 GTS
Часть вторая
распределенные вычисления с использованием готового программного пакета
Немного о задаче – сайт-специфичная химия для молекулярногопроизводства
Особенности :>Используется готовый программный пакет
>Значительное число элементов задачи можетсчитаться независимо друг от друга
К настоящему времени произведено более
150 000 процессор/часов расчетов ~ 17 процессор/лет
Выбор программного пакета и аппаратной конфигурации
Тип процессора(программный пакет должен поддерживать и желательно быть оптимизирован для имеющегося оборудования)
Производительность и масштабируемость(скорость расчетов в различных пакетах часто различается в десятки раз!)
Метод распараллеливания вычислений
Стоимость(коммерческий пакет не всегда работает быстрее бесплатного)
Доступность исходного кода(возможность изменить программу для своих нужд)
Поддерживаемая ОС
Факторы взаимосвязаны между собой сложным образом
Ориентировочная производительность различных процессоров
0 0,2 0,4 0,6 0,8 1 1,2
Core2 Duo E6600
Core2 Duo E6400
Pentium D 820
Pentium D 805
Intel Xeon 2.8 Ghz
AMD Opteron 242
Intel Celeron M 340
IBM PowerPC 970FX
DEC Alpha EV5
Особенности вычислений в многопользовательских кластерных системах
Системы управления задачами:
MVS
-PBShttp://www.pbsgridworks.com/
-SLURMhttps://computing.llnl.gov/linux/slurm/
Настройки системы управлениязадачами на конкретном кластере может не подходить длярешения некоторых задач
Загруженный кластер можетдать меньшую производительностьчем один современный компьютер
0 20 40 60 80
AMD Opteron242 (1.6 Ghz),
16 CPU
Intel XeonQuad (3.0
Ghz) 1 CPU
Производительность, GFLOP
Почему важно выбрать правильную программу?
Скорость вычислений в различных программных пакетах различаетсяв десятки, а иногда в сотни раз.
Факторы, влияющие на быстродействие программы:
* Алгоритм
Язык программирования
Оптимизация под конкретный процессор (использование SSE)
Двойная/одинарная точность
Компилятор
Специализированные библиотеки функций
Метод распараллеливания вычислений
Распределенные вычисления в локальной сети и Интернет – GRID системы
Готовые решения:
•BOINC
•Condor
•Alchemi GRID (для .Net приложений) Готовые решения как правило требуют модификации исходногокода программы, что для готовыхпакетов часто невозможно
Проблема возобновления расчетовв готовом пакете
Программа исполняется в фоновом режиме на рабочих и домашних ПК,обмен данными через Интернет
Компьютер в GRID системе обычноработает в режиме 8*5
Как создать свой клиент для распределенных вычислений
Программа, для проведения расчетов из готового пакета
Модуль управления программой для
расчетов
Анализ результатов,сжатие данных
TCP/IPклиент
Передача данных черезсеть
Сервер
База данных
Заключение:
Как повысить производительность вычислений:
Использовать специализированные аппаратные архитектуры (GPU, FPGA, MDGRAPE, CELL…).
Выбрать более эффективный алгоритм (сменить используемый программный пакет).
Использовать новые многоядерные процессоры вместо старых кластеров
Использовать распределенные вычисления