DevCon12 // msdevcon.ru #msdevcon 23-24 мая, 2012 г. Microsoft.

Презентация:



Advertisements
Похожие презентации
Msdevcon.ru#msdevcon. ПРОФИЛИРОВАНИЕ WINDOWS STORE ПРИЛОЖЕНИЙ Филипп Панфилов Mail.Ru Group.
Advertisements

DevCon12 // msdevcon.ru #msdevcon мая, 2012 г. Microsoft.
Новые продукты Microsoft для повышения качества и эффективности образования Амит Миталь Старший вице-президент Microsoft по развитию социальных проектов.
Microsoft TechDays Людмила Шайкина Quarta Consulting
Microsoft TechDays Николай Миляев консультант Microsoft.
Microsoft TechDays Константин Трещев MCITP: Enterprise Administrator
Microsoft TechDays Евгений Марченков Эксперт по технологиям разработки ПО Microsoft.
Microsoft TechDays Заграничнов Александр Microsoft.
Innovation Day. 12 основных фактов о SaaS-бизнесе Оценка стоимости размещения в Azure.
Будущее режима /hosting в Exchange Иван Макаров Менеджер по маркетингу Exchange Microsoft Россия.
Microsoft TechDays Павел Дугаев Руководитель проектов Вебзавод
Вычислительные ресурсы и приложения доступные через Интернет в виде сервисов Облачные вычисления.
Microsoft TechDays Золотовицкий Аркадий Директор по производству «Интеллектуальные системы»
Microsoft TechDays Евгений Марченков Эксперт по технологиям разработки ПО Microsoft.
Msdevcon.ru#msdevcon. OPEN SOURCE РЕШЕНИЯ В ОБЛАКЕ WINDOWS AZURE Воркачёв Владимир.
Microsoft TechDays Черкас Дмитрий Специалист по технологиям Microsoft.
Microsoft TechDays Никоноров Евгений разработчик EPAM Systems.
Валерия Казбан, менежер по работе с государственным сектором, Майкрософт Украина Опыт внедрения концепции е- управления Майкрософт Украина: локальные особенности.
Microsoft TechDays Леонид Шапиро MCT ЦКО «Специалист»
DevCon12 // msdevcon.ru #msdevcon мая, 2012 г. Microsoft.
Транксрипт:

DevCon12 // msdevcon.ru #msdevcon мая, 2012 г. Microsoft

#msdevcon Технический консультант Кирилл Рогожин

// DevCon12 Создание многопоточных Windows* приложений c Intel® Parallel Studio XE 2013 beta КИРИЛЛ РОГОЖИН Технический консультант Intel

Содержание Intel® Advisor XE моделирование параллелизма Intel® Composer XE Оптимизирующие компиляторы Intel® Inspector XE Анализ корректности Intel® VTune Amplifier XE Профилировка производительности

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Реалии параллельных программ Дизайн проекта –С чего начать распараллеливание? Корректность кода –Правильно распараллелить нужный код –Идентифицировать разделяемые ресурсы –Трудности отладки кода Производительность –Декомпозиция задач –Использование ресурсов –Накладные расходы Сопровождение –Усложнение кода и всего проекта –Поддержка потоковой инфраструктуры

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Intel ® Parallel Studio XE 2013 Beta Advanced Performance Distributed Performance C++ and Fortran developers Windows* and Linux* High performance, cross platform apps C++ and Fortran developers on Windows* and Linux* High performance MPI clusters

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Intel ® Parallel Studio XE

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Intel ® Parallel Studio Цикл параллельной разработки 8 Создавайте потоки, компилируйте и отлаживайте Создавайте потоки, компилируйте и отлаживайте Оптимизируйте производительность Ищите ошибки памяти и многопоточности Найдите места для параллелизма Найдите места для параллелизма

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Intel ® Advisor XE Design phase Средство этапа проектирования –Распараллеливайте существующий последовательный код –Короткий путь к многопоточности Оценка прироста производительности ДО реализации многопоточности Функционал Интеграция в Visual Studio, отдельный GUI и CLI интерфейс Поддержка C++, Fortran, C#.NET

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Survey Target –Выявляет «горячие точки» приложения Annotate Sources – Вставляйте комментарии в код для дальнейших экспериментов Check Suitability – Оценивает будущий выигрыш в производительности Check Correctness – Выявляет возможные ошибки Intel ® Advisor XE Workflow

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Выпадающий список вызовов, циклов Можно сразу перейти к коду Intel ® Advisor XE Survey Target Фокусирует внимание разработчика на наиболее часто используемых вызовах функций и циклах

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Intel ® Advisor XE Annotate Sources Разработчик вставляет аннотации в участки кода, найденные на стадии Survey Аннотация Advisor XE: – Макрос. Не влияет на приложение при отсутствии Advisor XE – Используется на следующих этапах (Suitability и Correctness) – Совместима со многими популярными технологиями параллельного программирования Мастер по созданию аннотаций

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Прогноз производительности: Intel® TBB Intel® Cilk Plus OpenMP* Microsoft* TPL* Intel ® Advisor XE Check Suitability Результат изменения программы Масштабируемость Задачи и блокировки, эмулированные в рассматриваемом фрагменте кода Как увеличить выигрыш в производительности

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Intel ® Advisor XE Check Correctness Нахождение потенциальных ошибок доступа к общим данным, возникающих после распараллеливания Проблемы и сообщения Проблемный код Детализированный вид

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Принятие верных решений на этапе проектирования Предсказывает : Можно легко экспериментировать с разными подходами Оценка конкретных технологий параллельного программирования Автоматический анализ находит вещи, которые люди упускают Intel ® Advisor XE Чем полезно моделирование с Advisor XE? масштабируемостьраспределение нагрузки гонки данныхнакладные расходы Advisor XE увеличивает ROI распараллеливания

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Intel ® Composer XE Build and Debug phase Встроенный оптимизатор и библиотеки обеспечивают быстродействие программ С++ и Fortran-компиляторы Эффективные параллельные модели

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Intel ® Cilk Plus for (int i=0; i

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Intel ® Threading Building Blocks #include "tbb/blocked_range.h" #include "tbb/parallel_for.h int main (){ int a[n]; // initialize array here… tbb::parallel_for (0, n, 1, [=](int i) { Foo (a[i]); }); return 0; }

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. OpenMP* Переносимый API для систем с общей памятью Fortran, C, и C++ Поддерживается многими производителями #pragma omp parallel #pragma omp for Implicit barrier i = 0 i = 1 i = 2 i = 3 i = 4 i = 5 i = 6 i = 7 i = 8 i = 9 i = 10 i = 11 int N=12; #pragma omp parallel for for (i = 0; i < N; i++) { c[i] = a[i] + b[i]; }

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Intel ® Inspector XE Verify phase Находит ошибки доступа к памяти, приводящие к «зависаниям» и «падениям» Находит уязвимые места в коде Обнаруживает «гонки» и взаимные блокировки в многопоточной программе

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Intel ® Inspector XE Где в моём приложении проблемы в... памятипотокахбезопасности Некорректный доступ Утечки памяти Гонки данных Взаимные блокировки Доступ к чужим стекам Переполнение буферов Некорректные указатели Jean Kypreos Advanced Video Processing Team Manager, Envivio "Having such a tool this early in the development stage frees the validation from trivial bug reports and gives our engineers the opportunity to code more efficiently from the very beginning of the product cycle." Intel® Inspector XE повышает надёжность и безопасность приложения Динамический анализ C/C++, Fortran, C#.NET

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Intel ® Inspector XE Средства визуализации Фильтрация для выбора файла, модуля, типа ошибки... Выберите ошибку для анализа Место проблемы в коде Статус проблемы Время возникновения проблемы

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Intel ® Inspector XE Работаем с исходным кодом Код некорректного использования памяти Код, где выделялась память Стеки вызовов функций

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Intel ® Inspector XE Правила подавления Маркируем известные ошибки либо удаляем их из диагностики Указываем тип ошибки, модуль, файл, строку... Правила подавления хранятся в одном или нескольких файлах Инструмент может использовать все файлы подавления в папке Папки публичного и приватного подавления диагностик Копируем приватные подавления в папку с публичными для пользования ими всей командой

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Статический анализ кода –Обнаруживает до 250 типов ошибок кодирования –Поддержка Microsoft Standard Annotation Language* (SAL*) Поддержка.NET на Windows –Доступен только Threading Analysis для программ на C# Исполнение из командной строки –Автоматическое тестирование – основная среда применения инструмента –Анализ дерева процессов (скрипты) –Конфигурация, запуск анализа и подавление (suppression) известных ошибок средствами командной строки –Анализ результатов как в GUI, так и средствами автоматического парсинга текстов Intel ® Inspector XE Продвинутые фичи :)

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Использование отладчиков –Анализ можно остановить при обнаружении проблемы и начать отладочную сессию Работа в команде –Текстовые описания проблем –Делитесь комментариями с командой Улучшенные правила подавления –Расширенные правила управления стеками Intel ® Inspector XE Новые возможности

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Находит узкие места, ограничивающие производительность и масштабируемость Результаты профилировки, отображаемые в исходном коде Большой набор профилей на выбор Intel ® VTune Amplifier XE Tune phase

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Без накладных расходов Без специальной перекомпиляции Intel ® VTune Amplifier XE Профилировщик производительности Где мое приложение… тратит время? теряет время? ожидает? Фокусируемcя на горячих функциях Анализируем стеки Исходный код cache misses (промах) в исходном коде Сортировка фунций по количеству промахов Время ожидания в блокировках потока Подсветка уровня загрузки CPU Claire Cates Principal Developer, SAS Institute Inc. We improved the performance of the latest run 3 fold. We wouldn't have found the problem without something like Intel ® VTune Amplifier XE. Профилировка приложений для масштабирования производительности на многоядерных системах

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Intel ® VTune Amplifier XE Анализ параллельности приложения Использование ядер CPU аттрибутированное по функциям и их стекам Визуализация занятости потоков Насколько хорошо распараллелено мое приложение?

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Intel ® VTune Amplifier XE Анализ данных в исходном коде и asm Время атрибутированное к строке или asm инструкции Быстрая навигация в asm: выбери строку кода Right click по asm- инструкции для справки Навигация по asm jump- адресам гиперссылками Шкала горячих точек кода в scroll bar

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Intel ® VTune Amplifier XE Визуализация поведения потоков во времени + Используйте API для маркирования frames и user tasks + Маркируйте события вручную CPU Time Hovers: Transitions HotspotsLightweight HotspotsLocks & Waits

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Intel ® VTune Amplifier XE Advanced Features Результат в исходном коде ASM Hardware-Event Based Sampling –Использование кэш-памяти –Пропускная способность шины –Декодирование команд –Предсказатель ветвлений –Исполнительные устройства Детальный анализ –Более 1000 счетчиков производительности –Предупреждение о критичных заданиях –Исходный код –Дизассемблер –Гиперссылки ветвлений –Справка по asm и счетчикам

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Intel ® VTune Amplifier XE Новые возможности. Платформы и средства разработки Поддержка Windows 8 –Windows 8 Consumer Preview (desktop) Интеграция в Microsoft* Visual Studio* 2011 Beta –Experimental Instance

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Intel ® VTune Amplifier XE Новые возможности. Поддержка Java –Java приложения и смешанный нативный/Java код (JNI calls) –Отображение результатов в Java коде –Oracle JRE 6 and 7, IBM 6, для Hotspots-анализа Разрабатываете производительный код на Java? С-функция в хотспотах Нативный модуль Cмешанный нативный/Java стек вызовов Стек вызовов Java-методов

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Intel ® VTune Amplifier XE Новые возможности. Новые процессоры Поддержка новых архитектур –Intel® Many Integrated Core (MIC) –Sandy Bridge-EP (Xeon E5) –Ivy Bridge (22-nm Core i5 и Core i7) Power Analysis –Новые типы анализа для CPU Sleep State и частоты CPU Поддержка Compute on Processor Graphics (IVB) –Подсчёт GT Events –Поддержка OpenCL (для CPU и GT) Пользовательские метрики –Создание собственных метрик из Hardware Events Используете новейшее «железо» в своих проектах?

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. VTune Amplifier XE PMU Event-Based анализ со стеками Intel ® VTune Amplifier XE 2013 Новые возможности

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. Заключение Найдите что распараллелить Найдите что распараллелить Создавайте потоки, компилируйте и отлаживайте Создавайте потоки, компилируйте и отлаживайте Ищите ошибки памяти и многопоточности Оптимизируйте производительность DESIGN – Intel® Advisor XE Оцените, где параллелизм принесёт наилучший эффект в имеющемся коде BUILD & DEBUG – Intel® Composer XE Создавайте эффективные приложения с помощью C/C++ и Fortran компиляторов и производительных многопоточных инфраструктур VERIFY – Intel® Inspector XE Помогает повысить надёжность приложения, находя ошибки памяти и многопоточности TUNE – Intel® VTune Amplifier XE Добейтесь максимальной производительности приложения с помощью профилировщика

Уведомление об оптимизации Компиляторы Intel могут не обеспечивать для процессоров других производителей такой же уровень оптимизации для оптимизаций, которые не являются присущими только процессорам Intel. В число этих оптимизаций входят наборы команд SSE2, SSE3 и SSSE3, а также другие оптимизации. Корпорация Intel не гарантирует наличие, функциональность или эффективность оптимизаций микропроцессоров других производителей. Содержащиеся в данной продукции оптимизации, зависящие от микропроцессора, предназначены для использования с микропроцессорами Intel. Некоторые оптимизации, не характерные для микроархитектуры Intel, резервируются только для микропроцессоров Intel. Более подробную информацию о конкретных наборах команд, покрываемых настоящим уведомлением, можно получить в соответствующих руководствах пользователя и справочниках на продукт. Уведомление, редакция

Пожалуйста Оцените доклад и мастерство докладчика. Форма для оценки находится в вашем инфопакете.

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.