Планировщик задач (среда выполнения с параллелизмом)

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

Совет

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

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

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

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

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

Связанные разделы

Название

Описание

Экземпляры планировщика

Описывает экземпляры планировщиков и управление ими с помощью классов Scheduler и CurrentScheduler. Экземпляры планировщика используются, когда нужно связать явные политики планирования с определенными типами рабочих нагрузок.

Политики планировщика

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

Группы расписаний

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

Упрощенные задачи

Описывает роль упрощенных задач. Упрощенные задачи удобно использовать при адаптации существующего кода для использования функции планирования в среде выполнения с параллелизмом.

Контексты

Описывает роль контекстов, функции wait и класса Context. Эти функции используются, если нужно управлять контекстами, когда они блокируются, разблокируются и передают выполнение, а также если нужно превысить лимит подписки в приложении.

Функции управления памятью

Описывает функции Alloc и Free. Эти функции могут улучшить производительность памяти, параллельно выделяя и высвобождая память.

Сравнение среды выполнения с параллелизмом с другими моделями параллелизма

Описывает различия между механизмами планирования с вытеснением и совместной работой.

Библиотека параллельных шаблонов

Описывает использование в приложении различных параллельных шаблонов, например параллельных алгоритмов.

Библиотека асинхронных агентов

Описывает использование в приложениях асинхронных агентов.

Среда выполнения с параллелизмом

Описывает среду выполнения с параллелизмом, которая упрощает процесс параллельного программирования, и содержит ссылки на соответствующие разделы.

Журнал изменений

Дата

Журнал

Причина

Июль 2010

Содержимое реорганизовано.

Улучшение информации.