Среда выполнения с параллелизмом
Исполняющая среда с параллелизмом для C++ помогает создавать надежные, масштабируемые, быстро реагирующие параллельные приложения. Она повышает уровень абстракции, чтобы пользователю не приходилось управлять подробностями инфраструктуры, связанными с параллелизмом. Ее также можно использовать для указания политик планирования, соответствующих требованиям качества обслуживания приложений. Эти ресурсы помогут вам начать работу с исполняющей средой с параллелизмом.
Справочная документация см. в справочной документации.
Совет
Исполняющая среда с параллелизмом интенсивно использует возможности C++11 и соответствует более современному стилю программирования на C++. Дополнительные сведения см. в статье "Добро пожаловать в C++".
Выбор возможности среды выполнения с параллелизмом
Статья | Описание |
---|---|
Обзор | Объясняет, почему важна среда выполнения с параллелизмом и описывает ее основные компоненты. |
Сравнение с другими моделями параллелизма | Показывает характеристики среды выполнения с параллелизмом в сравнении с другими моделями параллелизма, например пулом потоков Windows и OpenMP, чтобы использовать ту модель параллелизма, которая лучше всего соответствует требованиям приложения. |
Переход от OpenMP к среде выполнения с параллелизмом | Здесь OpenMP сравнивается с исполняющей средой с параллелизмом, и предоставляются примеры способов миграции существующего кода OpenMP для использования исполняющей среды с параллелизмом. |
Библиотека параллельных шаблонов | Здесь представлены общие сведения о работе с PPL, предоставляющей параллельные циклы, задачи и контейнеры. |
Библиотека асинхронных агентов | Здесь приводятся способы использования асинхронных агентов и функций передачи сообщений, позволяющих встроить в приложения потоки данных и обеспечить конвейерную обработку задач. |
Планировщик заданий | Содержит описание планировщика задач, который позволяет точно настроить производительность ваших приложений для настольных систем, использующих исполняющую среду с параллелизмом. |
Параллелизм задач в PPL
Статья | Описание |
---|---|
Параллелизм задач Практическое руководство. Использование функции parallel_invoke для написания программы параллельной сортировки Практическое руководство. Использование функции parallel_invoke для выполнения параллельных операций Практическое руководство. Создание задачи, выполняемой после задержки |
Содержит описание задач и групп задач, которые могут помочь в создании асинхронного кода и декомпозиции параллельной работы на меньшие части. |
Пошаговое руководство. Реализация фьючерсов | Здесь показано, как объединить возможности исполняющей среды с параллелизмом для выполнения более объемной задачи. |
Пошаговое руководство. Удаление задач из потока пользовательского интерфейса | Здесь показано, как переместить работу, выполняемую потоком ИП, в рабочий поток в приложении MFC. |
Рекомендации по работе с библиотекой параллельных шаблонов Общие рекомендации в среде выполнения с параллелизмом |
Рекомендации по работе с PPL. |
Параллелизм данных в PPL
Отмена задач и параллельных алгоритмов
Статья | Описание |
---|---|
Отмена в библиотеке параллельных шаблонов | Здесь описывается роль отмены в PPL, включая способы создания запросов отмены и реагирования на них. |
Практическое руководство. Использование отмены для выхода из параллельного цикла Практическое руководство. Использование обработки исключений для выхода из параллельного цикла |
Здесь демонстрируются два способа отмены работы с параллельными данными. |
Приложения универсальной платформы Windows
Статья | Описание |
---|---|
Создание асинхронных операций на C++ для приложений UWP | Описывает некоторые ключевые моменты, которые следует учитывать при использовании среды выполнения параллелизма для создания асинхронных операций в приложении UWP. |
Пошаговое руководство. Подключение с использованием задач и HTTP-запросов XML | Показывает, как объединить задачи PPL с IXMLHTTPRequest2 IXMLHTTPRequest2Callback интерфейсами для отправки HTTP-запросов GET и POST в веб-службу в приложении UWP. |
примеры приложений среда выполнения Windows | Содержит загружаемые примеры кода и демонстрационные приложения для среда выполнения Windows. |
Программирование потоков данных в библиотеке асинхронных агентов
Обработка и отладка исключений
Статья | Описание |
---|---|
Обработка исключений | Здесь описана работа с исключениями в среде выполнения с параллелизмом. |
Средства диагностики параллельного выполнения | Описывает способы оптимизации приложений и наиболее эффективного использования среды выполнения с параллелизмом. |
Настройка производительности
Статья | Описание |
---|---|
Средства диагностики параллельного выполнения | Описывает способы оптимизации приложений и наиболее эффективного использования среды выполнения с параллелизмом. |
Экземпляры планировщика Практическое руководство. Управление экземпляром планировщика Политики планировщика Практическое руководство. Задание определенных политик планировщика Практическое руководство. Создание агентов, использующих определенные политики планировщика |
Здесь показаны способы управления экземплярами планировщиков и политиками планировщика. В классических приложениях политики планировщика позволяют связывать определенные правила с определенными типами рабочих нагрузок. Например, можно создать один экземпляр планировщика для выполнения некоторых задач с повышенным приоритетом потока и использовать планировщик по умолчанию для выполнения задач с обычным приоритетом потока. |
Группы планирования Практическое руководство. Использование групп планирования для определения порядка выполнения |
Демонстрирует использование групп планирования для группировки связанных задач. Например, вам может потребоваться высокая локальность связанных задач, если эти задачи лучше выполнять в одном узле процессора. |
Упрощенные задачи | Здесь описывается полезность легковесных задач при создании работы, которая не требует распределения нагрузки или отмены, и как они также могут использоваться для адаптации существующего кода для использования с исполняющей средой с параллелизмом. |
Контексты Практическое руководство. Использование класса Context для реализации семафора, поддерживающего параллельный доступ Практическое руководство. Использование лимита подписки для устранения задержек |
Здесь приводятся способы управления поведением потоков, управляемых исполняющей средой с параллелизмом. |
Функции управления памятью Практическое руководство. Использование функций Alloc и Free для повышения производительности операций с памятью |
Здесь описываются функции управления памятью, предоставляемые исполняющей средой с параллелизмом для параллельного выделения и высвобождения памяти. |
Дополнительные ресурсы
Статья | Описание |
---|---|
Шаблоны асинхронного программирования и советы по Hilo (приложения Магазина Windows на C++ и XAML) | Узнайте, как мы использовали среду выполнения параллелизма для реализации асинхронных операций в Hilo, приложения среда выполнения Windows с помощью C++ и XAML. |
Блог Parallel Programming in Native Code | Содержит дополнительные подробные статьи о параллельном программировании в среде выполнения с параллелизмом. |
Форум Parallel Computing in C++ and Native Code | Позволяет участвовать в обсуждениях сообщества о среде выполнения с параллелизмом. |
Параллельное программирование | Узнайте о модели параллельного программирования, доступной в платформа .NET Framework. |