Мы покажем, как можно перенести разработанные алгоритмы для работы с Big Data с минимальными изменениями исходных программ. Рассмотрим возможности по распараллеливанию счета на многоядерных процессорах (вычислительных кластерах) и графических процессорах, поддерживающих CUDA.
В рамках этого доклада мы продемонстрируем преимущества сквозного моделирования систем связи, рассмотрим методики повышения точности описания компонентов модели, а также познакомимся с платформами программно-определяемого радио (SDR).
Завершающий доклад дня будет посвящён реализации и верификации разработанных алгоритмов обработки сигналов на конечных целевых платформах. Мы продемонстрируем современный подход к решению этой задачи в рамках концепции МОП, подразумевающий активное использование поведенческой модели алгоритма, а также автоматизацию многих этапов разработки и тестирования.
Использование отладочных стендов является естественным шагом при внедрении модельно-ориентированного проектирования. Мы хотим показать как быстро и эффективно строить стенды реального времени для проведения безопасных испытаний систем управления.
Доклад посвящен различным способам построения математического описания ОУ с точностью достаточной для разработки алгоритмов управления. Мы продемонстрируем как построить модель, имея математическое описание и данные экспериментов, снятые с объекта. Покажем как совместить имеющиеся модели и эксперименты для повышения точности.
В рамках этого доклада мы продемонстрируем преимущества сквозного моделирования систем связи, рассмотрим методики повышения точности описания компонентов модели, а также познакомимся с платформами программно-определяемого радио (SDR).
Завершающий доклад дня будет посвящён реализации и верификации разработанных алгоритмов обработки сигналов на конечных целевых платформах. Мы продемонстрируем современный подход к решению этой задачи в рамках концепции МОП, подразумевающий активное использование поведенческой модели алгоритма, а также автоматизацию многих этапов разработки и тестирования.
Использование отладочных стендов является естественным шагом при внедрении модельно-ориентированного проектирования. Мы хотим показать как быстро и эффективно строить стенды реального времени для проведения безопасных испытаний систем управления.
Доклад посвящен различным способам построения математического описания ОУ с точностью достаточной для разработки алгоритмов управления. Мы продемонстрируем как построить модель, имея математическое описание и данные экспериментов, снятые с объекта. Покажем как совместить имеющиеся модели и эксперименты для повышения точности.
На данном докладе мы познакомимся с новейшими методами проектирования сложных междисциплинарных систем (на примере РЛС), и посмотрим, как Модельно-Ориентированное Проектирование (МОП) помогает создавать подобные системы с меньшими трудозатратами.
· Различные подходы построения модели
· Новые возможности импорта, обработки и визуализации данных
· Работа с облаком ThingSpeak для интернета вещей
· Создание графических приложений с App Designer
Лучшие практики для повышения надежности разрабатываемых вами систем начиная от организации командной разработки до автоматизации тестирования алгоритмов и применения формальных методов для доказательства отсутствия ошибок.
Первый доклад дня будет посвящён современным методам создания алгоритмов ЦОС, решению типовых задач обработки, а также преодолению таких трудностей, как обработка и визуализация потоковых данных, генерация специализированных сигналов, связь с контрольно-измерительным оборудованием.
Flame graph: новый взгляд на старое профилированиеКирилл Борисов
Все хотят знать, как выполняется их код. Многие догадываются, чем это можно измерить. И лишь немногие находят в себе силы продраться через результаты измерений. Проблема ещё более усложняется, если приложение исполняется в нескольких процессах, потоках или на разных серверах. Вал измерений захлестывает разработчика, и уже не видно конца...
В этом докладе мы попытаемся упростить все это с помощью визуализации, а именно — flame graph'ов, красивых и наглядных . Также вместе рассмотрим процесс сбора данных, их подготовку и на примерах поучимся читать получившиеся графики.
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...Iosif Itkin
Tools & Methods of Program Analysis TMPA-2013
Senov, А , Kostroma State Technological University
Applying OLAP and MapReduce Technologies for Performance Testing Results Processing
TMPA-2013: Shipin System-C Control PointsIosif Itkin
Tools & Methods of Program Analysis (TMPA-2013)
Shipin, А.А., Sokolov, V.А., Chaliy, D.U., Yaroslavl State University
The Usage of Check Points for System-C Program Verification
Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...Alexander Borzunov
Описание декоратора для автоматической оптимизации алгоритмов с помощью быстрого возведения матриц в степень в Python.
Смотрите подробнее:
GitHub: https://github.com/borzunov/cpmoptimize
Хабрахабр: http://habrahabr.ru/post/236689/
Python Package Index: https://pypi.python.org/pypi/cpmoptimize
Anti-fraud solutions in RTB / Вадим Антонюк (IPONWEB)Ontico
Во вступлении мы рассмотрим, какие виды фрода существуют в RTB (bots, ad stacking, spoof sites).
Далее поговорим о том, что из вышеперечисленного мы умеем ловить алгоритмически, и дадим общее описание подхода к кластеризации бид-реквестов на "хорошие" (люди) и "плохие" (боты) с использованием методов machine learning. Обсудим, какой из способов обучения лучше подходит для данной задачи, по каким ключевым признакам кластеризуем, каким методом.
В технической части обсудим область параметров, при которых решалась задача, а именно: размер learning sample 200 млрд. строк бид запросов, при реализации на Hadoop расчет велся в GCE на 140 машинах класса n1-highmem-8 и занимал 22 расчетных часа. Реализация достаточно ресурсозатратная как с точки зрения времени, так и денег, поэтому встал запрос на вычислительную оптимизацию.
В оптимизационной части мы обсудим, как при переходе на Spark framework уже на первой фазе получилось достигнуть выигрыша в производительности в 3 раза по сравнению с Hadoop framework и это далеко не предел. Сейчас проект перехода в активной фазе и к моменту доклада мы ожидаем довести этот показатель до ~10 раз.
На данном докладе мы познакомимся с новейшими методами проектирования сложных междисциплинарных систем (на примере РЛС), и посмотрим, как Модельно-Ориентированное Проектирование (МОП) помогает создавать подобные системы с меньшими трудозатратами.
· Различные подходы построения модели
· Новые возможности импорта, обработки и визуализации данных
· Работа с облаком ThingSpeak для интернета вещей
· Создание графических приложений с App Designer
Лучшие практики для повышения надежности разрабатываемых вами систем начиная от организации командной разработки до автоматизации тестирования алгоритмов и применения формальных методов для доказательства отсутствия ошибок.
Первый доклад дня будет посвящён современным методам создания алгоритмов ЦОС, решению типовых задач обработки, а также преодолению таких трудностей, как обработка и визуализация потоковых данных, генерация специализированных сигналов, связь с контрольно-измерительным оборудованием.
Flame graph: новый взгляд на старое профилированиеКирилл Борисов
Все хотят знать, как выполняется их код. Многие догадываются, чем это можно измерить. И лишь немногие находят в себе силы продраться через результаты измерений. Проблема ещё более усложняется, если приложение исполняется в нескольких процессах, потоках или на разных серверах. Вал измерений захлестывает разработчика, и уже не видно конца...
В этом докладе мы попытаемся упростить все это с помощью визуализации, а именно — flame graph'ов, красивых и наглядных . Также вместе рассмотрим процесс сбора данных, их подготовку и на примерах поучимся читать получившиеся графики.
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...Iosif Itkin
Tools & Methods of Program Analysis TMPA-2013
Senov, А , Kostroma State Technological University
Applying OLAP and MapReduce Technologies for Performance Testing Results Processing
TMPA-2013: Shipin System-C Control PointsIosif Itkin
Tools & Methods of Program Analysis (TMPA-2013)
Shipin, А.А., Sokolov, V.А., Chaliy, D.U., Yaroslavl State University
The Usage of Check Points for System-C Program Verification
Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...Alexander Borzunov
Описание декоратора для автоматической оптимизации алгоритмов с помощью быстрого возведения матриц в степень в Python.
Смотрите подробнее:
GitHub: https://github.com/borzunov/cpmoptimize
Хабрахабр: http://habrahabr.ru/post/236689/
Python Package Index: https://pypi.python.org/pypi/cpmoptimize
Anti-fraud solutions in RTB / Вадим Антонюк (IPONWEB)Ontico
Во вступлении мы рассмотрим, какие виды фрода существуют в RTB (bots, ad stacking, spoof sites).
Далее поговорим о том, что из вышеперечисленного мы умеем ловить алгоритмически, и дадим общее описание подхода к кластеризации бид-реквестов на "хорошие" (люди) и "плохие" (боты) с использованием методов machine learning. Обсудим, какой из способов обучения лучше подходит для данной задачи, по каким ключевым признакам кластеризуем, каким методом.
В технической части обсудим область параметров, при которых решалась задача, а именно: размер learning sample 200 млрд. строк бид запросов, при реализации на Hadoop расчет велся в GCE на 140 машинах класса n1-highmem-8 и занимал 22 расчетных часа. Реализация достаточно ресурсозатратная как с точки зрения времени, так и денег, поэтому встал запрос на вычислительную оптимизацию.
В оптимизационной части мы обсудим, как при переходе на Spark framework уже на первой фазе получилось достигнуть выигрыша в производительности в 3 раза по сравнению с Hadoop framework и это далеко не предел. Сейчас проект перехода в активной фазе и к моменту доклада мы ожидаем довести этот показатель до ~10 раз.
Разработка ресурсоемких приложений в среде Visual C++Tatyanazaxarova
Статья познакомит разработчиков прикладного программного обеспечения с задачами, которые ставит перед ними массовое внедрение многоядерных 64-битных вычислительных систем, знаменующих революционное увеличение вычислительной мощности, доступное рядовому пользователю. Будут рассмотрены вопросы эффективного использования аппаратных ресурсов для решения повседневных прикладных задач в рамках операционной системы Windows x64.
Мы постараемся показать, как любой технический специалист может использовать различные методы машинного обучения в своей повседневной работе. Продемонстрируем специализированные инструменты Classification Learner и Regression Learner для быстрого обучения классификаторов и сравнения точности распознавания. Особе внимание уделим созданию и обучению сверточных нейронных сетей (CNN)
Моделирование и анализ дискретно-событийных системMATLAB
В этом вебинаре вы узнаете, как инструменты MathWorks могут быть использованы для моделирования событийных систем, как например логистические (цепи поставок), системы телекоммуникации и связи или системы бизнес процессов и управления. SimEvents дополняет инструменты MATLAB и Simulink для дискретно-событийного моделирования (discrete-event simulation , DES). Данный инструмент расширяет возможности, позволяя оценивать такие параметры систем, как простои и заторы, конфликт ресурсов, задержки в процессах.
4. 4
Параллельные вычисления
Зачем применять?
• Темпы выпуска решения возрастают
• Некоторые задачи требуют ускорения
• Инфраструктура широко распространена
(многоядерные процессоры, GPU, кластеры)
5. 5
Параллельные вычисления
Почему MATLAB?
• Поддерживается большое количество
«железа»
• Минимум изменений в коде
• Фокус на исследовании, а не на
программировании
Parallel Computing Toolbox
MATLAB Distributed Computer Server
10. 10
Прототип на рабочем компьютере
(CPU, GPU)
Интегрируется в существующую
инфраструктуру
Доступ напрямую из MATLAB
Параллельные вычисления в MATLAB
Вычислительный кластер: достоинства
11. 11
Некоторые тулбоксы автоматически
используют распараллеливание
Параллельные циклы
parfor
Вычисления на GPU
gpuArray
Параллельные вычисления в MATLAB
Возможности: распараллеливание
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
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
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
35. 35
«Низкоуровневое» программирование
SPMD
MPI-подобная параллельная обработка на традиционных
кластерах
MapReduce
Работает на компьютере и на кластерах (в т.ч. Hadoop)
MATLAB API for Spark
Использование Spark RDD API из MATLAB для создания
Spark приложений
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
Центр инженерных технологий
и моделирования
42. 42
День вебинаров:
Методы анализа данных для
интернета вещей
18 мая
11:00 - Анализ данных в MATLAB для IoT
13:30 - Машинное обучение в MATLAB
16:00 - Параллельные вычисления и Big Data
подробнее