Другие репортажи с московского IDF'2003:


Intel Developers Forum в Москве: первый день
Intel Developers Forum в Москве: второй день
Intel Developers Forum в Москве: советы по оптимизации ПК
РЕКЛАМА
ИНФОРМАЦИЯ
ПОЛЕЗНЫЕ ССЫЛКИ
Intel Developers Forum в Москве: первый день

Intel Developers Forum в Москве: второй день

Intel Developers Forum в Москве: советы по оптимизации ПК

Rambler's Top100 Рейтинг@Mail.ru

БИЗНЕС

Intel Developers Forum в Москве: глазами разработчика
Краткое содержание статьи: Наш следующий репортаж посвящён обзору докладов, прозвучавших на потоке "Программное обеспечение" на Форуме Intel для разработчиков. В статье отражены новые возможности программных продуктов для разработчиков ПО. Если вы являетесь программистом или разработчиком, то мы предлагаем ознакомиться с репортажем вашего коллеги.

Intel Developers Forum в Москве: глазами разработчика


Редакция THG,  2 ноября 2003
Страница: Назад  1 2 3 Далее


Секция "Программное обеспечение" на Форуме Intel для разработчиков

Наш следующий репортаж посвящён обзору докладов, прозвучавших на потоке "Программное обеспечение" на Форуме Intel для разработчиков. В статье отражены новые возможности программных продуктов для разработчиков ПО.

Поток состоял из 8 семинаров, по четыре каждый день:

  1. Услуги Intel для производителей программного обеспечения;
  2. Анализатор производительности VTune 7.0;
  3. Применение технологии Hyper-Threading;
  4. Реальные примеры параллелизации приложений;
  5. Intel Integrated Performance Primitives - инструмент для разработки не только мультимедиа-приложений;
  6. Программирование приложений для работы в условиях периодических потерь контакта с локальной сетью: что нужно знать разработчику;
  7. Как добиться высокой производительности и качества ПО?
  8. Компания Microsoft: будущее платформы Microsoft для разработчиков.

С докладами выступили как российские, так и зарубежные представители компании Intel. Доклады были посвящены новым разработкам компании Intel.

Услуги Intel для производителей программного обеспечения

Первым выступил Дмитрий Ильин с докладом о группе поддержки независимых разработчиков программного обеспечения. В докладе была представлена программа Intel Developer Services.

Что же такое Intel Developer Services? Это и семинары для разработчиков, и онлайновые тренинги, и программные продукты Intel для разработчиков программного обеспечения (включая компиляторы, библиотеки, средства оптимизации, средства анализа производительности), информационная поддержка, использование ресурсов лаборатории Intel Solutions Services, это доступ к базам данных (содержат ответы на наиболее распространённые вопросы), форумы для разработчиков, возможность оценки общей стоимости владения, а также оценки от вложения капитала в программный продукт, и, кроме того, специальные скидки на оборудование на базе платформы Intel и маркетинговая поддержка со стороны Intel.

Одной из замечательных возможностей, предоставляемых компанией Intel, является программа Early Access Problem (EAP). EAP предоставляет ресурсы для повышения производительности приложений и подготовки приложений для использования на новейших платформах Intel с применением передовых технологий Intel. Адрес подписки здесь.

Кроме этого, корпорация Intel обеспечивает разработчиков программными продуктами на всех этапах разработки программного обеспечения.

Во-первых, это компиляторы Intel (С++, Fortran), обеспечивающие доступ к новейшим возможностям процессоров Intel без изменения программного кода и оптимизацию приложений на платформе Intel.

Во-вторых, анализатор производительности - Intel VTune Performance Analyzer, оптимизирующий приложение за счёт экономии времени и ресурсов разработчика с помощью определения и анализа проблемных мест приложения, а также нахождения и исправления ошибок. Версия Intel VTune Enterprize Analyzer обеспечивает анализ и диагностику производительности распределённых web-приложений.

Для диагностики ошибок в многопоточных приложениях разработчикам предлагается пакет Intel Threading Tools. Он состоит из двух частей. Thread Checker обеспечивает определение ошибок не синхронизированного доступа к данным двумя и более потоками, а Thread Profiler - получение картины дисбаланса потоков для OpenMP-распределённых приложений.

И, наконец, библиотеки Intel Performance Libraries обеспечивают определение типа процессора во время загрузки приложения и загрузку наилучшего кода для данного типа процессора, а также сокращают необходимость написания процессор-ориентированного кода.

Представленные программные продукты доступны для операционных систем Windows и Linux на всех платформах Intel

Анализатор производительности VTune 7.0

Обо всех этих продуктах и шла, в разной степени, речь в докладах этого потока. Евгений Харченко очень подробно осветил возможности анализатора VTune, причём все эти возможности были продемонстрированы на реальных приложениях.

Процесс оптимизации приложения представлен на следующей иллюстрации.

Анализатор производительности VTune 7.0

Для оптимизации приложения Intel предлагает использовать и Intel VTune Performance Analyzer for Linux 2.0.

Intel VTune Performance Analyzer собирает, систематизирует и отображает данные о производительности ПО, начиная с общесистемного уровня и до уровня конкретного модуля, функции, строки программного кода.

Intel VTune Performance Analyzer 7.0 поддерживает платформы семейств Intel, Itanium, XScale; операционные системы Windows и Linux; Java и .Net; локальный и удалённый сбор данных; интерфейс командной строки; до 64 процессов. Кроме того, интегрируется в Visual Studio 7, обеспечивает различные функциональные возможности.

Первая функциональная возможность - это Sampling. Во время работы исследуемого приложения VTune собирает информацию о временных затратах и событиях процессора, ассоциированных с модулем, функцией и строкой кода.

Используется для тестирования 32- и 64-битных приложений Windows, 32- и 64-битных динамических библиотек, библиотек COM+, Java-приложений, приложений .NET и ASP.NET.

При использовании Sampling не надо специально модифицировать код, достаточно скомпилироваться/слинковаться с отладочной информацией, используя релизную конфигурацию с включённой оптимизацией. При этом технология Sampling распространяется на всю систему, что приводит к отображению результатов не только на тестируемое приложение, но и на все работающие в ОС модули.

VTune предоставляет возможность построения графа вызовов функций. Call-graph собирает данные о иерархии и количестве вызовов, временных затратах по каждой функции (собственное время - время используемое функцией, общее время - собственное время с вызываемыми из нее функциями; общее время ожидания, время ожидания), и отображает данные в виде графа и таблиц.

Анализатор производительности VTune 7.0

Call-graph-технологии позволяют анализировать алгоритмические проблемы, предоставляя данные о иерархии вызовов и критическом пути исполнения (обратите внимание, на рисунке широкое ребро графа указывает критический путь исполнения).

Инструментарий производится автоматически, без вмешательства пользователя, достаточно только скомпилироваться/слинковаться с отладочной информацией.

Отличие от технологии Sampling заключается в том, что в данном случае профилируется только тестируемый модуль.

Технологию call-graph можно применять также для тестирования 32- и 64-битных приложений Windows, 32- и 64-битных динамических библиотек, библиотек COM+, Java-приложений, приложений .NET и ASP.NET.

Таким образом, Sampling и Call-graph дополняют друг друга, предоставляя в совокупности целостную картину

Кроме этих двух технологий, VTune отслеживает производительность системы путём сбора данных о производительности аппаратных и программных средств, отображает их в режиме реального времени и интегрально по окончании сессии, сопоставляет эти данные с данными Sampling. Эта функциональность возложена на Counter monitor.

С помощью системных счётчиков можно определить, насколько эффективно работает система: как используются аппаратные средства (в частности, процессор), память, достаточна ли пропускная способность, или какие системные ресурсы наиболее критичны.

Следующая часть VTune - это Intel Tuning Assistant, база знаний, способная идентифицировать проблему и предоставить советы по оптимизации приложения на основе собранных данных о производительности. Для получения справочной информации достаточно щёлкнуть мышкой по существующей спрогнозированной проблеме.

Обработка данных позволяет сравнить результаты версий, предоставляет целостную картину работы приложения из нескольких запусков, покрывающих лишь отдельные ветки исполнения, а также обеспечивает возможность выполнить упаковку и перенос проекта на другую машину, экспорт данных, а также Sampling-распределение событий процессора по времени.

Второй анализатор - это Intel for Linux 2.0. Его функциональные возможности несколько ограничены и включают Sampling-технологию (причём она ограничена только сбором информации о событиях процессора), Call-graph, Source code, обработку данных, обеспечивающую возможность переноса проекта с одной машины на другую, дополняет данную версию дополнение Man-страницы и HTML-руководство.

Одновременно с VTune Performance Analyzer 7.1 и VTune Performance Analyzer for Linux поставляется VTune Performance Analyzer Driver Kit. Эта программа позволяет собрать драйвер для VTune для специфического ядра системы. Содержит GPL код драйвера, инсталляционные скрипты, документацию и бинарники для поддерживаемых ядер. Доступна по следующему адресу.

В заключение Евгений Харченко дал несколько довольно-таки прозрачных советов по оптимизации приложения, которые можно свести к нижеследующим.

Правильный выбор алгоритма является безусловным приоритетом при работе над производительностью, причём алгоритмы имеют определённые требования к структурированию памяти и могут иметь проблемы с зависимостью по данным.

Использование специфики данных приложения обеспечивает возможность улучшить алгоритм, т.е. иногда эффективнее будет работать разработанный алгоритм, нежели взятый в библиотеке.

Использование системных и библиотечных функций увеличивает производительность приложения.

Зависимость по данным приводит к непредсказуемым ошибкам.

Использование потоков улучшает производительность, а знание специфики процессора позволяет минимизировать количество непредсказуемых условных переходов.

Обратите внимание на использование кэша - используйте меньше памяти для сокращения загрузки кэша; выровняйте данные и храните их в памяти в соответствии с порядком доступа; используйте память блоками, меньшими размера кэша.

При работе с плавающей точкой избегайте исключений и выходов за предельные значения; используйте минимально возможную точность данных и вычислений; избегайте конвертаций типов с плавающей точкой в целочисленные.

Следующие несколько слайдов иллюстрируют советы Евгения Харченко.

Анализатор производительности VTune 7.0

Анализатор производительности VTune 7.0

Разделение переменных и возможность параллелизации увеличивают скорость вычисления значений переменных

Анализатор производительности VTune 7.0

Выделить память один раз гораздо быстрее, чем по частям

Анализатор производительности VTune 7.0

Использование встроенных функций и функций библиотек оптимизирует программный код.
Страница: Назад  1 2 3 Далее


СОДЕРЖАНИЕ

Обсуждение в Клубе Экспертов THG Обсуждение в Клубе Экспертов THG


Свежие статьи
RSS
Logitech G910 Orion Spectrum: обзор и тест игровой клавиатуры Обзор Google Home Mini: первый соперник Amazon Echo Dot 7 альтернатив Apple AirPods: беспроводные наушники-вкладыши Canon EOS 200D: компактная зеркалка с отличным качеством съёмки Fossil Q Marshal: смарт-часы с упором на внешность
Обзор Logitech G910 Orion Spectrum Обзор Google Home Mini 7 альтернатив Apple AirPods Обзор зеркальной фотокамеры Canon EOS 200D Обзор смарт-часов Fossil Q Marshal
РЕКЛАМА
РЕКОМЕНДУЕМ ПРОЧЕСТЬ!

История мейнфреймов: от Harvard Mark I до System z10 EC
Верите вы или нет, но были времена, когда компьютеры занимали целые комнаты. Сегодня вы работаете за небольшим персональным компьютером, но когда-то о таком можно было только мечтать. Предлагаем окунуться в историю и познакомиться с самыми знаковыми мейнфреймами за последние десятилетия.

Пятнадцать процессоров Intel x86, вошедших в историю
Компания Intel выпустила за годы существования немало процессоров x86, начиная с эпохи расцвета ПК, но не все из них оставили незабываемый след в истории. В нашей первой статье цикла мы рассмотрим пятнадцать наиболее любопытных и памятных процессоров Intel, от 8086 до Core 2 Duo.

ССЫЛКИ
Портативный рамановский анализатор химэксперт переносной рамановский анализатор.
Реклама от YouDo