SlideShare a Scribd company logo
1 of 42
Download to read offline
1
и параллельные
вычисления
Павел Рословец
2
План доклада
 Что нового в R2016b - R2017a
 Анализ данных в MATLAB
 ThingSpeak – IoT в облаке
 Создание приложений
1ч
3
Как задать вопрос?
Telegram Messenger
@Exponenta_ru
или
matlab.ru/tg
4
Параллельные вычисления
Зачем применять?
• Темпы выпуска решения возрастают
• Некоторые задачи требуют ускорения
• Инфраструктура широко распространена
(многоядерные процессоры, GPU, кластеры)
5
Параллельные вычисления
Почему MATLAB?
• Поддерживается большое количество
«железа»
• Минимум изменений в коде
• Фокус на исследовании, а не на
программировании
Parallel Computing Toolbox
MATLAB Distributed Computer Server
6
Параллельные вычисления в MATLAB
Многоядерный компьютер
MATLAB
Core 1
Worker
Core 3
Worker
Core 4
Worker
CPUParallel Computing Toolbox
Core 2
Worker
7
Параллельные вычисления в MATLAB
NVIDIA GPUs
GPU cores
Device MemoryMATLAB
GPUParallel Computing Toolbox
8
Параллельные вычисления в MATLAB
Вычислительный кластер
MATLAB
Кластер
Core 3
Core 1 Core 2
Core 4
Worker Worker
Worker Worker
Core 3
Core 1 Core 2
Core 4
Worker Worker
Worker Worker
Core 3
Core 1 Core 2
Core 4
Worker Worker
Worker Worker
Core 3
Core 1 Core 2
Core 4
Worker Worker
Worker Worker
Parallel Computing Toolbox
MATLAB Distributed Computer Server
9
Параллельные вычисления
Вычислительный кластер
Рабочий
компьютер Главный
узел
Вычислительные
узлы
MATLAB
Parallel Computing Toolbox
MATLAB Distributed Computing Server
Scheduler
(MJS, HPC, Hadoop, …)
10
 Прототип на рабочем компьютере
(CPU, GPU)
 Интегрируется в существующую
инфраструктуру
 Доступ напрямую из MATLAB
Параллельные вычисления в MATLAB
Вычислительный кластер: достоинства
11
 Некоторые тулбоксы автоматически
используют распараллеливание
 Параллельные циклы
parfor
 Вычисления на GPU
gpuArray
Параллельные вычисления в MATLAB
Возможности: распараллеливание
12
Тулбоксы, поддерживающие распараллеливание
Optimizatio
n
Statistics &
Machine Learning Neural NetworksImage Processing
Computer VisionSignal Processing &
Communications
13
 Управление заданиями
batch, createJob, createTask
 Асинхронное выполнение (в фоне)
parfeval
Параллельные вычисления в MATLAB
Возможности: управление
14
 Распределённые (глобальные)
массивы distributed
 Технология MapReduce (с/без
Hadoop)
mapreduce
 «Высокие» массивы (Tall arrays)
tall
Параллельные вычисления в MATLAB
Возможности: большие данные
15
Пример: Моделирование стоимости опциона
Метод Монте-Карло
Задача: Моделирование стоимости
опциона через 2 года с учётом случайных
колебаний рынка
Ускорение (в разы):
Распараллеливание на ядра процессора
Замена for на parfor
Multi-core CPU
16
User Story: управление портфелем хедж-фондов
EIM Group
Цель: Разработка инструментов для анализа и оптимизации портфеля хедж-
фондов
Сложности
 Аналитическое решение невозможно из-за сложности модели
 Симуляция Монте-Карло – 1000 точек для 700 хедж-фондов
портфеля каждого клиента
Почему параллельные вычисления?
 Время симуляции уменьшилось на 80%
“Using Parallel Computing Toolbox, we easily parallelized our simulations without
modifying the underlying algorithms. By distributing the tasks across three servers, we
reduced the simulation time from 6 hours to 1.2 hours. Adding more processors would
further reduce our simulation time.”
Dr. Stéphane Daul, EIM Group
17
Пример: Выбор оптимального расположения
базовых станций
Задача оптимизации
Задача: Оптимизация расположения
базовых станций для максимальной зоны
покрытия
Ускорение (в разы):
Распараллеливание на ядра процессора
Multi-core CPU
18
Масштабирование parfor
Меняются настройки среды, а не код
MATLAB
Parallel Computing Toolbox MATLAB Distributed Computing Server
parpool(‘local’)
Multi-core CPU
parpool(<cluster>)
19
Ускорение расчётов на GPU
 Идеальный случай
• Большое количество параллельных или
векторных операций
• Сложные вычисления
• Алгоритмы содержат поддерживаемые функции
 300+ функций для GPU
 GPU поддерживают тулбоксы
• Neural Networks
• Image Processing
• Communications
• Signal Processing
20
Ускорение расчётов на GPU
Использование CUDA кода
Ускорение поэлементных операций: arrayfun
Расчёты на GPU: замена массивов на gpuArray
Расчёты на CPU
speed
GPU
21
Пример: множество Мандельброта
Сравнение способов ускорения
Задача: моделирование множества
Мандельброта
Способы:
• CPU
• gpuArray
• gpuArray + arrayfun
• CUDA Kernel
22
Пример: Моделирование стоимости опциона
Метод Монте-Карло
Задача: Моделирование стоимости
опциона через 2 года с учётом случайных
колебаний рынка
Ускорение (в десятки раз):
Обработка данных на GPU
gpuArray
GPU
23
User Story: ускорение анализа акустических данных на GPU
NASA Langley
Задача
Обработка записи звуков, производимых частями самолета во время исследований
в аэродинамической трубе
Сложности
Большой объём данных (126 микрофонов генерируют 4Гб в минуту)
«Раньше на анализ результатов одной продувки в аэродинамической трубе уходило
до 40 минут. С помощью MATLAB и GPU время вычисления стало меньше минуты.
Для перевода нашего MATLAB-кода на работу с GPU понадобилось 30 минут, т. к. не
требовалось низкоуровневого программирования на CUDA»
Кристофер Бар, инженер-исследователь отдела аэроакустики
из Исследовательского центра NASA Langley
24
Максимальное ускорение
 Поддержка нескольких GPU на компьютерах и
кластерах
MATLAB
Parallel Computing Toolbox MATLAB Distributed Computing Server
Multi-core CPU
GPU
GPU
GPU
GPU
GPU
25
Заключение: параллельные вычисления
 Для ускорения вычислений не нужно быть
экспертом
 Распараллеливание требует минимального
изменения кода
GPU
Multi-core
CPU
GPU
Multi-core
CPU
26
Работа с большими данными
27
В чём заключается проблема?
Традиционные инструменты и подходы не
работают!
 Читать и обрабатывать данные не просто
 Алгоритмы выполняются на кластерах
 Приходится изучать новые инструменты
 Необходимо переписывать алгоритмы на более
низком уровне
!
28
Анализ больших данных
ЧТЕНИЕ ДАННЫХ
которые не влезают в
память
МАСШТАБИРОВАНИЕ
на традиционные и Big Data
(Hadoop) кластеры
РАБОТА НА КОМПЬЮТЕРЕ
Разработка алгоритмов
для Big Data
2
1
3

29
Ключевые возможности
11 26 41
12 27 42
13 28 43
15 30 45
16 31 46
17 32 47
20 35 50
21 36 51
22 37 52
Distributed Arrays
Apache Spark
on Hadoop
Tall Arrays
Datastores
30
Доступ к Big Data
datastore
 Простой доступ к данным
 Поддерживается много форматов
− текстовые
− таблицы
− базы данных
− HDFS
− изображения, …
 Последовательное чтение блоками
 Распараллеливание
31
Работа с Big Data
Distributed array
(R2006b)
Big Data по
нескольким
размерностям
Линейная алгебра,
фильтрация и т.д.
Tall array
(R2016b) «Высокие» массивы + статистика и машинное
обучение
32
tall arrays
 Параллельная обработка
(Parallel Computing Toolbox)
 Лёгкое масштабирование
(MDCS, Spark)
tall
Cluster of
Machines
Memory
Single
Machine
Memory
Single
Machine
Memory
Process
Single
Machine
Memory
Single
Machine
Memory
Single
Machine
Memory
Single
Machine
Memory
Process
Single
Machine
Memory
Process
Process
Process
33
Работа с Tall arrays
MATLAB
MDCS (Spark + Hadoop)
Develop applications once, change environment with mapreducer and datastore
mapreducer(0)
ds = datastore(<folder>)
tall(ds);
Multi-core CPU
mapreducer(parpool.cluster.Hadoop))
ds = datastore(<HDFS>)
tall(ds);
Parallel Computing Toolboxmapreducer(parpool(‘local’))
ds = datastore(<folder>)
tall(ds);
Datastore
HDFS
34
Демо: Анализ статистики NYC Taxi
− Предсказание стоимости поездки
35
«Низкоуровневое» программирование
 SPMD
MPI-подобная параллельная обработка на традиционных
кластерах
 MapReduce
Работает на компьютере и на кластерах (в т.ч. Hadoop)
 MATLAB API for Spark
Использование Spark RDD API из MATLAB для создания
Spark приложений
36
Развёртывание алгоритмов Big Data
MATLAB Compiler, MATLAB Compiler SDK
Production
Server
Компьютеры
Кластеры
(Hadoop)
37
Сильные стороны MATLAB для Big Data
Легко начать
Быстрый доступ к распространённым типам файлов (БД
и Hadoop)
Эффективный анализ
Вся мощь MATLAB для анализа и визуализации
Бесшовная масштабируемость
Алгоритмы с компьютера легко переносятся на кластеры
Использование в бизнесе
Развёртывание по нажатию кнопки
38
Почему MATLAB
MATLAB – самая простая и продуктивная среда
для экспертов в области анализа,
позволяющая получать эффективные результаты
из инженерных и бизнес данных
39
• Поставка MATLAB & Simulink
• Обучение специалистов
• Настройка решений под ключ
• Консалтинг
exponenta.ru
info@exponenta.ru
+7 (495) 009 65 85
Центр инженерных технологий
и моделирования
40
MATLAB в Российском облаке (ActiveDesk)
41
MATLABinRussia
mathworks.com
matlab.ru
• User stories
• Products
• Documentation
• Мероприятия
• Тренинги
• Вводные ролики
42
День вебинаров:
Методы анализа данных для
интернета вещей
18 мая
11:00 - Анализ данных в MATLAB для IoT
13:30 - Машинное обучение в MATLAB
16:00 - Параллельные вычисления и Big Data
подробнее

More Related Content

What's hot

Использование MATLAB совместно с приборами Keysight Technologies
Использование MATLAB совместно с приборами Keysight TechnologiesИспользование MATLAB совместно с приборами Keysight Technologies
Использование MATLAB совместно с приборами Keysight TechnologiesMATLAB
 
Проектирование радиолокационных систем
Проектирование радиолокационных систем Проектирование радиолокационных систем
Проектирование радиолокационных систем MATLAB
 
Анализ данных в MATLAB 
Анализ данных в MATLAB Анализ данных в MATLAB 
Анализ данных в MATLAB MATLAB
 
Параллельные и распределенные вычисления
Параллельные и распределенные вычисленияПараллельные и распределенные вычисления
Параллельные и распределенные вычисленияMATLAB
 
Практическая верификация и командная работа
Практическая верификация и командная работаПрактическая верификация и командная работа
Практическая верификация и командная работаMATLAB
 
Экспорт алгоритмов и создание независимых приложений
Экспорт алгоритмов и создание независимых приложенийЭкспорт алгоритмов и создание независимых приложений
Экспорт алгоритмов и создание независимых приложенийMATLAB
 
Цифровая обработка сигналов
Цифровая обработка сигналовЦифровая обработка сигналов
Цифровая обработка сигналовMATLAB
 
Flame graph: новый взгляд на старое профилирование
Flame graph: новый взгляд на старое профилированиеFlame graph: новый взгляд на старое профилирование
Flame graph: новый взгляд на старое профилированиеКирилл Борисов
 
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...Iosif Itkin
 
Анализ данных и машинное обучение
Анализ данных и машинное обучениеАнализ данных и машинное обучение
Анализ данных и машинное обучениеMATLAB
 
TMPA-2013: Shipin System-C Control Points
TMPA-2013: Shipin System-C Control PointsTMPA-2013: Shipin System-C Control Points
TMPA-2013: Shipin System-C Control PointsIosif Itkin
 
Гареев Роман, Создание генератора промежуточного представления Ssa из полиэдр...
Гареев Роман, Создание генератора промежуточного представления Ssa из полиэдр...Гареев Роман, Создание генератора промежуточного представления Ssa из полиэдр...
Гареев Роман, Создание генератора промежуточного представления Ssa из полиэдр...Darya Zubova
 
2014 Разработка программного средства для оценки параметров широкополосного с...
2014 Разработка программного средства для оценки параметров широкополосного с...2014 Разработка программного средства для оценки параметров широкополосного с...
2014 Разработка программного средства для оценки параметров широкополосного с...RF-Lab
 
Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...
Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...
Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...Alexander Borzunov
 
Anti-fraud solutions in RTB / Вадим Антонюк (IPONWEB)
Anti-fraud solutions in RTB / Вадим Антонюк (IPONWEB)Anti-fraud solutions in RTB / Вадим Антонюк (IPONWEB)
Anti-fraud solutions in RTB / Вадим Антонюк (IPONWEB)Ontico
 
20100314 virtualization igotti_lecture06
20100314 virtualization igotti_lecture0620100314 virtualization igotti_lecture06
20100314 virtualization igotti_lecture06Computer Science Club
 
Инженерная инфраструктура АСУ ТП
Инженерная инфраструктура АСУ ТПИнженерная инфраструктура АСУ ТП
Инженерная инфраструктура АСУ ТПАйдар Гилязов
 
Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...CEE-SEC(R)
 
Алексей Лавренюк - Организация нагрузочного тестирования
Алексей Лавренюк - Организация нагрузочного тестирования   Алексей Лавренюк - Организация нагрузочного тестирования
Алексей Лавренюк - Организация нагрузочного тестирования Yandex
 
Виртуалтрединг
ВиртуалтредингВиртуалтрединг
ВиртуалтредингCEE-SEC(R)
 

What's hot (20)

Использование MATLAB совместно с приборами Keysight Technologies
Использование MATLAB совместно с приборами Keysight TechnologiesИспользование MATLAB совместно с приборами Keysight Technologies
Использование MATLAB совместно с приборами Keysight Technologies
 
Проектирование радиолокационных систем
Проектирование радиолокационных систем Проектирование радиолокационных систем
Проектирование радиолокационных систем
 
Анализ данных в MATLAB 
Анализ данных в MATLAB Анализ данных в MATLAB 
Анализ данных в MATLAB 
 
Параллельные и распределенные вычисления
Параллельные и распределенные вычисленияПараллельные и распределенные вычисления
Параллельные и распределенные вычисления
 
Практическая верификация и командная работа
Практическая верификация и командная работаПрактическая верификация и командная работа
Практическая верификация и командная работа
 
Экспорт алгоритмов и создание независимых приложений
Экспорт алгоритмов и создание независимых приложенийЭкспорт алгоритмов и создание независимых приложений
Экспорт алгоритмов и создание независимых приложений
 
Цифровая обработка сигналов
Цифровая обработка сигналовЦифровая обработка сигналов
Цифровая обработка сигналов
 
Flame graph: новый взгляд на старое профилирование
Flame graph: новый взгляд на старое профилированиеFlame graph: новый взгляд на старое профилирование
Flame graph: новый взгляд на старое профилирование
 
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
 
Анализ данных и машинное обучение
Анализ данных и машинное обучениеАнализ данных и машинное обучение
Анализ данных и машинное обучение
 
TMPA-2013: Shipin System-C Control Points
TMPA-2013: Shipin System-C Control PointsTMPA-2013: Shipin System-C Control Points
TMPA-2013: Shipin System-C Control Points
 
Гареев Роман, Создание генератора промежуточного представления Ssa из полиэдр...
Гареев Роман, Создание генератора промежуточного представления Ssa из полиэдр...Гареев Роман, Создание генератора промежуточного представления Ssa из полиэдр...
Гареев Роман, Создание генератора промежуточного представления Ssa из полиэдр...
 
2014 Разработка программного средства для оценки параметров широкополосного с...
2014 Разработка программного средства для оценки параметров широкополосного с...2014 Разработка программного средства для оценки параметров широкополосного с...
2014 Разработка программного средства для оценки параметров широкополосного с...
 
Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...
Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...
Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...
 
Anti-fraud solutions in RTB / Вадим Антонюк (IPONWEB)
Anti-fraud solutions in RTB / Вадим Антонюк (IPONWEB)Anti-fraud solutions in RTB / Вадим Антонюк (IPONWEB)
Anti-fraud solutions in RTB / Вадим Антонюк (IPONWEB)
 
20100314 virtualization igotti_lecture06
20100314 virtualization igotti_lecture0620100314 virtualization igotti_lecture06
20100314 virtualization igotti_lecture06
 
Инженерная инфраструктура АСУ ТП
Инженерная инфраструктура АСУ ТПИнженерная инфраструктура АСУ ТП
Инженерная инфраструктура АСУ ТП
 
Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...
 
Алексей Лавренюк - Организация нагрузочного тестирования
Алексей Лавренюк - Организация нагрузочного тестирования   Алексей Лавренюк - Организация нагрузочного тестирования
Алексей Лавренюк - Организация нагрузочного тестирования
 
Виртуалтрединг
ВиртуалтредингВиртуалтрединг
Виртуалтрединг
 

Similar to Работа с Big Data

Пути увеличения эффективности реализации алгоритмов машинного обучения
Пути увеличения эффективности реализации алгоритмов машинного обученияПути увеличения эффективности реализации алгоритмов машинного обучения
Пути увеличения эффективности реализации алгоритмов машинного обученияAndrew Babiy
 
Гидродинамическое моделирование: возможности оптимизации ИТ-инфраструктуры
Гидродинамическое моделирование: возможности оптимизации ИТ-инфраструктурыГидродинамическое моделирование: возможности оптимизации ИТ-инфраструктуры
Гидродинамическое моделирование: возможности оптимизации ИТ-инфраструктурыVsevolod Shabad
 
Параллельное программирование на современных видеокартах
Параллельное программирование на современных видеокартахПараллельное программирование на современных видеокартах
Параллельное программирование на современных видеокартахAlex Tutubalin
 
Инструментарий Nvidia для deep learning
Инструментарий Nvidia для deep learningИнструментарий Nvidia для deep learning
Инструментарий Nvidia для deep learningSkolkovo Robotics Center
 
Сервисы Azure для научных исследований
Сервисы Azure для научных исследованийСервисы Azure для научных исследований
Сервисы Azure для научных исследованийMicrosoft
 
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктурыОбработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктурыVsevolod Shabad
 
20111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture320111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture3Computer Science Club
 
Aппаратное обеспечения для решения задач механики сыпучих сред
Aппаратное обеспечения для решения задач механики сыпучих средAппаратное обеспечения для решения задач механики сыпучих сред
Aппаратное обеспечения для решения задач механики сыпучих средYury Novozhilov
 
Новости и анонсы конференции Oracle Open World 2013
Новости и анонсы конференции Oracle Open World 2013Новости и анонсы конференции Oracle Open World 2013
Новости и анонсы конференции Oracle Open World 2013Andrey Akulov
 
технологическая презентация Gpu digital lab
технологическая презентация Gpu digital labтехнологическая презентация Gpu digital lab
технологическая презентация Gpu digital laboleg gubanov
 
Кластер БГУИР: расширенные возможности
Кластер БГУИР: расширенные возможностиКластер БГУИР: расширенные возможности
Кластер БГУИР: расширенные возможностиAlexey Demidchuk
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...a15464321646213
 
Опыт построения комплексного катастрофоустойчивого решения NetApp и фрагмента...
Опыт построения комплексного катастрофоустойчивого решения NetApp и фрагмента...Опыт построения комплексного катастрофоустойчивого решения NetApp и фрагмента...
Опыт построения комплексного катастрофоустойчивого решения NetApp и фрагмента...Айдар Гилязов
 
Hpc 2.26.03.2013.
Hpc 2.26.03.2013.Hpc 2.26.03.2013.
Hpc 2.26.03.2013.Boris Kizko
 
Разработка ресурсоемких приложений в среде Visual C++
Разработка ресурсоемких приложений в среде Visual C++Разработка ресурсоемких приложений в среде Visual C++
Разработка ресурсоемких приложений в среде Visual C++Tatyanazaxarova
 
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...Ontico
 
20090720 hpc exercise1
20090720 hpc exercise120090720 hpc exercise1
20090720 hpc exercise1Michael Karpov
 

Similar to Работа с Big Data (20)

Пути увеличения эффективности реализации алгоритмов машинного обучения
Пути увеличения эффективности реализации алгоритмов машинного обученияПути увеличения эффективности реализации алгоритмов машинного обучения
Пути увеличения эффективности реализации алгоритмов машинного обучения
 
Гидродинамическое моделирование: возможности оптимизации ИТ-инфраструктуры
Гидродинамическое моделирование: возможности оптимизации ИТ-инфраструктурыГидродинамическое моделирование: возможности оптимизации ИТ-инфраструктуры
Гидродинамическое моделирование: возможности оптимизации ИТ-инфраструктуры
 
Параллельное программирование на современных видеокартах
Параллельное программирование на современных видеокартахПараллельное программирование на современных видеокартах
Параллельное программирование на современных видеокартах
 
Инструментарий Nvidia для deep learning
Инструментарий Nvidia для deep learningИнструментарий Nvidia для deep learning
Инструментарий Nvidia для deep learning
 
Сервисы Azure для научных исследований
Сервисы Azure для научных исследованийСервисы Azure для научных исследований
Сервисы Azure для научных исследований
 
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктурыОбработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
 
Gpgpu
GpgpuGpgpu
Gpgpu
 
20111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture320111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture3
 
Aппаратное обеспечения для решения задач механики сыпучих сред
Aппаратное обеспечения для решения задач механики сыпучих средAппаратное обеспечения для решения задач механики сыпучих сред
Aппаратное обеспечения для решения задач механики сыпучих сред
 
Новости и анонсы конференции Oracle Open World 2013
Новости и анонсы конференции Oracle Open World 2013Новости и анонсы конференции Oracle Open World 2013
Новости и анонсы конференции Oracle Open World 2013
 
Efficiency vvv
Efficiency vvvEfficiency vvv
Efficiency vvv
 
технологическая презентация Gpu digital lab
технологическая презентация Gpu digital labтехнологическая презентация Gpu digital lab
технологическая презентация Gpu digital lab
 
Кластер БГУИР: расширенные возможности
Кластер БГУИР: расширенные возможностиКластер БГУИР: расширенные возможности
Кластер БГУИР: расширенные возможности
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...
 
Опыт построения комплексного катастрофоустойчивого решения NetApp и фрагмента...
Опыт построения комплексного катастрофоустойчивого решения NetApp и фрагмента...Опыт построения комплексного катастрофоустойчивого решения NetApp и фрагмента...
Опыт построения комплексного катастрофоустойчивого решения NetApp и фрагмента...
 
Hpc 2.26.03.2013.
Hpc 2.26.03.2013.Hpc 2.26.03.2013.
Hpc 2.26.03.2013.
 
Разработка ресурсоемких приложений в среде Visual C++
Разработка ресурсоемких приложений в среде Visual C++Разработка ресурсоемких приложений в среде Visual C++
Разработка ресурсоемких приложений в среде Visual C++
 
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...
 
20090720 hpc exercise1
20090720 hpc exercise120090720 hpc exercise1
20090720 hpc exercise1
 
33 mhz
33 mhz33 mhz
33 mhz
 

More from MATLAB

Автоматическая генерация C кода и тестирование на целевых вычислителях
Автоматическая генерация C кода и тестирование на целевых вычислителяхАвтоматическая генерация C кода и тестирование на целевых вычислителях
Автоматическая генерация C кода и тестирование на целевых вычислителяхMATLAB
 
Создание модели ЭП
Создание модели ЭПСоздание модели ЭП
Создание модели ЭПMATLAB
 
Разработка сау для привода 2017
Разработка сау для привода 2017Разработка сау для привода 2017
Разработка сау для привода 2017MATLAB
 
Использование нейросетей для моделирования процесса гидроочистки бензина
Использование нейросетей для моделирования процесса гидроочистки бензина Использование нейросетей для моделирования процесса гидроочистки бензина
Использование нейросетей для моделирования процесса гидроочистки бензина MATLAB
 
Машинное обучение с MATLAB
Машинное обучение с MATLABМашинное обучение с MATLAB
Машинное обучение с MATLABMATLAB
 
Машинное и глубокое обучение
Машинное и глубокое обучение Машинное и глубокое обучение
Машинное и глубокое обучение MATLAB
 
МОП для моно-колеса
МОП для моно-колесаМОП для моно-колеса
МОП для моно-колесаMATLAB
 
Моделирование и анализ дискретно-событийных систем
Моделирование и анализ дискретно-событийных системМоделирование и анализ дискретно-событийных систем
Моделирование и анализ дискретно-событийных системMATLAB
 
Presagis presentation
Presagis presentationPresagis presentation
Presagis presentationMATLAB
 
Тренинги Mathworks
Тренинги MathworksТренинги Mathworks
Тренинги MathworksMATLAB
 

More from MATLAB (10)

Автоматическая генерация C кода и тестирование на целевых вычислителях
Автоматическая генерация C кода и тестирование на целевых вычислителяхАвтоматическая генерация C кода и тестирование на целевых вычислителях
Автоматическая генерация C кода и тестирование на целевых вычислителях
 
Создание модели ЭП
Создание модели ЭПСоздание модели ЭП
Создание модели ЭП
 
Разработка сау для привода 2017
Разработка сау для привода 2017Разработка сау для привода 2017
Разработка сау для привода 2017
 
Использование нейросетей для моделирования процесса гидроочистки бензина
Использование нейросетей для моделирования процесса гидроочистки бензина Использование нейросетей для моделирования процесса гидроочистки бензина
Использование нейросетей для моделирования процесса гидроочистки бензина
 
Машинное обучение с MATLAB
Машинное обучение с MATLABМашинное обучение с MATLAB
Машинное обучение с MATLAB
 
Машинное и глубокое обучение
Машинное и глубокое обучение Машинное и глубокое обучение
Машинное и глубокое обучение
 
МОП для моно-колеса
МОП для моно-колесаМОП для моно-колеса
МОП для моно-колеса
 
Моделирование и анализ дискретно-событийных систем
Моделирование и анализ дискретно-событийных системМоделирование и анализ дискретно-событийных систем
Моделирование и анализ дискретно-событийных систем
 
Presagis presentation
Presagis presentationPresagis presentation
Presagis presentation
 
Тренинги Mathworks
Тренинги MathworksТренинги Mathworks
Тренинги Mathworks
 

Работа с Big Data

  • 2. 2 План доклада  Что нового в R2016b - R2017a  Анализ данных в MATLAB  ThingSpeak – IoT в облаке  Создание приложений 1ч
  • 3. 3 Как задать вопрос? Telegram Messenger @Exponenta_ru или matlab.ru/tg
  • 4. 4 Параллельные вычисления Зачем применять? • Темпы выпуска решения возрастают • Некоторые задачи требуют ускорения • Инфраструктура широко распространена (многоядерные процессоры, GPU, кластеры)
  • 5. 5 Параллельные вычисления Почему MATLAB? • Поддерживается большое количество «железа» • Минимум изменений в коде • Фокус на исследовании, а не на программировании Parallel Computing Toolbox MATLAB Distributed Computer Server
  • 6. 6 Параллельные вычисления в MATLAB Многоядерный компьютер MATLAB Core 1 Worker Core 3 Worker Core 4 Worker CPUParallel Computing Toolbox Core 2 Worker
  • 7. 7 Параллельные вычисления в MATLAB NVIDIA GPUs GPU cores Device MemoryMATLAB GPUParallel Computing Toolbox
  • 8. 8 Параллельные вычисления в MATLAB Вычислительный кластер MATLAB Кластер Core 3 Core 1 Core 2 Core 4 Worker Worker Worker Worker Core 3 Core 1 Core 2 Core 4 Worker Worker Worker Worker Core 3 Core 1 Core 2 Core 4 Worker Worker Worker Worker Core 3 Core 1 Core 2 Core 4 Worker Worker Worker Worker Parallel Computing Toolbox MATLAB Distributed Computer Server
  • 9. 9 Параллельные вычисления Вычислительный кластер Рабочий компьютер Главный узел Вычислительные узлы MATLAB Parallel Computing Toolbox MATLAB Distributed Computing Server Scheduler (MJS, HPC, Hadoop, …)
  • 10. 10  Прототип на рабочем компьютере (CPU, GPU)  Интегрируется в существующую инфраструктуру  Доступ напрямую из MATLAB Параллельные вычисления в MATLAB Вычислительный кластер: достоинства
  • 11. 11  Некоторые тулбоксы автоматически используют распараллеливание  Параллельные циклы parfor  Вычисления на GPU gpuArray Параллельные вычисления в MATLAB Возможности: распараллеливание
  • 12. 12 Тулбоксы, поддерживающие распараллеливание Optimizatio n Statistics & Machine Learning Neural NetworksImage Processing Computer VisionSignal Processing & Communications
  • 13. 13  Управление заданиями batch, createJob, createTask  Асинхронное выполнение (в фоне) parfeval Параллельные вычисления в MATLAB Возможности: управление
  • 14. 14  Распределённые (глобальные) массивы distributed  Технология MapReduce (с/без Hadoop) mapreduce  «Высокие» массивы (Tall arrays) tall Параллельные вычисления в MATLAB Возможности: большие данные
  • 15. 15 Пример: Моделирование стоимости опциона Метод Монте-Карло Задача: Моделирование стоимости опциона через 2 года с учётом случайных колебаний рынка Ускорение (в разы): Распараллеливание на ядра процессора Замена for на parfor Multi-core CPU
  • 16. 16 User Story: управление портфелем хедж-фондов EIM Group Цель: Разработка инструментов для анализа и оптимизации портфеля хедж- фондов Сложности  Аналитическое решение невозможно из-за сложности модели  Симуляция Монте-Карло – 1000 точек для 700 хедж-фондов портфеля каждого клиента Почему параллельные вычисления?  Время симуляции уменьшилось на 80% “Using Parallel Computing Toolbox, we easily parallelized our simulations without modifying the underlying algorithms. By distributing the tasks across three servers, we reduced the simulation time from 6 hours to 1.2 hours. Adding more processors would further reduce our simulation time.” Dr. Stéphane Daul, EIM Group
  • 17. 17 Пример: Выбор оптимального расположения базовых станций Задача оптимизации Задача: Оптимизация расположения базовых станций для максимальной зоны покрытия Ускорение (в разы): Распараллеливание на ядра процессора Multi-core CPU
  • 18. 18 Масштабирование parfor Меняются настройки среды, а не код MATLAB Parallel Computing Toolbox MATLAB Distributed Computing Server parpool(‘local’) Multi-core CPU parpool(<cluster>)
  • 19. 19 Ускорение расчётов на GPU  Идеальный случай • Большое количество параллельных или векторных операций • Сложные вычисления • Алгоритмы содержат поддерживаемые функции  300+ функций для GPU  GPU поддерживают тулбоксы • Neural Networks • Image Processing • Communications • Signal Processing
  • 20. 20 Ускорение расчётов на GPU Использование CUDA кода Ускорение поэлементных операций: arrayfun Расчёты на GPU: замена массивов на gpuArray Расчёты на CPU speed GPU
  • 21. 21 Пример: множество Мандельброта Сравнение способов ускорения Задача: моделирование множества Мандельброта Способы: • CPU • gpuArray • gpuArray + arrayfun • CUDA Kernel
  • 22. 22 Пример: Моделирование стоимости опциона Метод Монте-Карло Задача: Моделирование стоимости опциона через 2 года с учётом случайных колебаний рынка Ускорение (в десятки раз): Обработка данных на GPU gpuArray GPU
  • 23. 23 User Story: ускорение анализа акустических данных на GPU NASA Langley Задача Обработка записи звуков, производимых частями самолета во время исследований в аэродинамической трубе Сложности Большой объём данных (126 микрофонов генерируют 4Гб в минуту) «Раньше на анализ результатов одной продувки в аэродинамической трубе уходило до 40 минут. С помощью MATLAB и GPU время вычисления стало меньше минуты. Для перевода нашего MATLAB-кода на работу с GPU понадобилось 30 минут, т. к. не требовалось низкоуровневого программирования на CUDA» Кристофер Бар, инженер-исследователь отдела аэроакустики из Исследовательского центра NASA Langley
  • 24. 24 Максимальное ускорение  Поддержка нескольких GPU на компьютерах и кластерах MATLAB Parallel Computing Toolbox MATLAB Distributed Computing Server Multi-core CPU GPU GPU GPU GPU GPU
  • 25. 25 Заключение: параллельные вычисления  Для ускорения вычислений не нужно быть экспертом  Распараллеливание требует минимального изменения кода GPU Multi-core CPU GPU Multi-core CPU
  • 27. 27 В чём заключается проблема? Традиционные инструменты и подходы не работают!  Читать и обрабатывать данные не просто  Алгоритмы выполняются на кластерах  Приходится изучать новые инструменты  Необходимо переписывать алгоритмы на более низком уровне !
  • 28. 28 Анализ больших данных ЧТЕНИЕ ДАННЫХ которые не влезают в память МАСШТАБИРОВАНИЕ на традиционные и Big Data (Hadoop) кластеры РАБОТА НА КОМПЬЮТЕРЕ Разработка алгоритмов для Big Data 2 1 3 
  • 29. 29 Ключевые возможности 11 26 41 12 27 42 13 28 43 15 30 45 16 31 46 17 32 47 20 35 50 21 36 51 22 37 52 Distributed Arrays Apache Spark on Hadoop Tall Arrays Datastores
  • 30. 30 Доступ к Big Data datastore  Простой доступ к данным  Поддерживается много форматов − текстовые − таблицы − базы данных − HDFS − изображения, …  Последовательное чтение блоками  Распараллеливание
  • 31. 31 Работа с Big Data Distributed array (R2006b) Big Data по нескольким размерностям Линейная алгебра, фильтрация и т.д. Tall array (R2016b) «Высокие» массивы + статистика и машинное обучение
  • 32. 32 tall arrays  Параллельная обработка (Parallel Computing Toolbox)  Лёгкое масштабирование (MDCS, Spark) tall Cluster of Machines Memory Single Machine Memory Single Machine Memory Process Single Machine Memory Single Machine Memory Single Machine Memory Single Machine Memory Process Single Machine Memory Process Process Process
  • 33. 33 Работа с Tall arrays MATLAB MDCS (Spark + Hadoop) Develop applications once, change environment with mapreducer and datastore mapreducer(0) ds = datastore(<folder>) tall(ds); Multi-core CPU mapreducer(parpool.cluster.Hadoop)) ds = datastore(<HDFS>) tall(ds); Parallel Computing Toolboxmapreducer(parpool(‘local’)) ds = datastore(<folder>) tall(ds); Datastore HDFS
  • 34. 34 Демо: Анализ статистики NYC Taxi − Предсказание стоимости поездки
  • 35. 35 «Низкоуровневое» программирование  SPMD MPI-подобная параллельная обработка на традиционных кластерах  MapReduce Работает на компьютере и на кластерах (в т.ч. Hadoop)  MATLAB API for Spark Использование Spark RDD API из MATLAB для создания Spark приложений
  • 36. 36 Развёртывание алгоритмов Big Data MATLAB Compiler, MATLAB Compiler SDK Production Server Компьютеры Кластеры (Hadoop)
  • 37. 37 Сильные стороны MATLAB для Big Data Легко начать Быстрый доступ к распространённым типам файлов (БД и Hadoop) Эффективный анализ Вся мощь MATLAB для анализа и визуализации Бесшовная масштабируемость Алгоритмы с компьютера легко переносятся на кластеры Использование в бизнесе Развёртывание по нажатию кнопки
  • 38. 38 Почему MATLAB MATLAB – самая простая и продуктивная среда для экспертов в области анализа, позволяющая получать эффективные результаты из инженерных и бизнес данных
  • 39. 39 • Поставка MATLAB & Simulink • Обучение специалистов • Настройка решений под ключ • Консалтинг exponenta.ru info@exponenta.ru +7 (495) 009 65 85 Центр инженерных технологий и моделирования
  • 40. 40 MATLAB в Российском облаке (ActiveDesk)
  • 41. 41 MATLABinRussia mathworks.com matlab.ru • User stories • Products • Documentation • Мероприятия • Тренинги • Вводные ролики
  • 42. 42 День вебинаров: Методы анализа данных для интернета вещей 18 мая 11:00 - Анализ данных в MATLAB для IoT 13:30 - Машинное обучение в MATLAB 16:00 - Параллельные вычисления и Big Data подробнее