Планировщик заданий - Job scheduler
А планировщик заданий это компьютерное приложение для управления автоматическим выполнением фоновой программы рабочие места.[1] Это обычно называется пакетное планирование, поскольку выполнение неинтерактивных заданий часто называют пакетная обработка хотя и традиционный работа и партия выделяются и противопоставляются; подробности см. на этой странице. Другие синонимы включают пакетная система, распределенная система управления ресурсами (DRMS), распределенный менеджер ресурсов (DRM), и, как правило, сегодня автоматизация рабочей нагрузки (WLA). Структура данных выполняемых заданий известна как очередь работ.
Современные планировщики заданий обычно имеют графический пользовательский интерфейс и единая точка контроля для определения и мониторинга фоновых выполнений в распределенной сети компьютеров. Все чаще от планировщиков заданий требуется координировать интеграцию бизнес-операций в реальном времени с традиционной фоновой ИТ-обработкой в различных Операционная система платформы и среды бизнес-приложений.
Планирование работы не следует путать с планирование процессов, который является назначением запущенных в данный момент процессов Процессоры посредством Операционная система.
Обзор
Основные функции, ожидаемые от программного обеспечения планировщика заданий, включают:
- интерфейсы, которые помогают определять рабочие процессы и / или зависимости работы
- автоматическая подача казней
- интерфейсы для отслеживания выполнения
- приоритеты и / или очереди для управления порядком выполнения несвязанных заданий
Если программное обеспечение из совершенно другой области включает все или некоторые из этих функций, это программное обеспечение может считаться имеющим возможности планирования заданий.
Наиболее операционные системы, такие как Unix и Windows, предоставить базовые возможности планирования заданий, в частности в и партия, cron, а Планировщик задач Windows. Услуги веб-хостинга предоставлять возможности планирования заданий через панель управления или решение webcron. Многие программы, такие как СУБД, резервный, ERP, и BPM также включать соответствующие возможности планирования заданий. Планирование заданий, предоставляемое операционной системой («ОС») или точечной программой, обычно не обеспечивает возможность планирования за пределами одного экземпляра ОС или за пределами компетенции конкретной программы. Организации, которым необходимо автоматизировать Несвязанная ИТ-рабочая нагрузка может также использовать дополнительные расширенные функции планировщика заданий, такие как:
- планирование в реальном времени на основе внешних непредсказуемых событий
- автоматический перезапуск и восстановление в случае сбоев
- оповещение и уведомление оперативного персонала
- формирование отчетов об инцидентах
- аудит тропы для соответствие нормативным требованиям цели
Эти расширенные возможности могут быть написаны собственными разработчиками, но чаще предоставляются поставщиками, специализирующимися на системы-менеджмент программного обеспечения.
Основные концепции
Существует множество концепций, которые являются центральными практически для каждой реализации планировщика заданий и широко признаны с минимальными вариациями:
- Вакансии
- Зависимости
- Потоки вакансий
- Пользователи
Помимо основных инструментов планирования отдельных экземпляров ОС, существуют две основные архитектуры для программного обеспечения планирования заданий.
- Архитектура Мастер / Агент - историческая архитектура программного обеспечения для планирования заданий. Программное обеспечение для планирования заданий устанавливается на одном компьютере (главном), в то время как на производственных машинах установлен только очень маленький компонент (агент), который ожидает команд от главного устройства, выполняет их, а затем возвращает код выхода обратно мастеру.
- Кооперативная архитектура - децентрализованная модель, в которой каждая машина способна помогать с планированием и может выгружать локально запланированные задания на другие взаимодействующие машины. Это обеспечивает динамическую балансировку рабочей нагрузки для максимального использования аппаратных ресурсов и высокая доступность для обеспечения предоставления услуг.
Пакетная организация очереди для кластеров HPC
Важная ниша для планировщиков вакансий - управление очередь работ для кластера компьютеров. Как правило, планировщик планирует задания из очереди по мере простоя достаточного количества ресурсов (узлов кластера).
- Портативная система дозирования (PBS)
- Slurm Workload Manager
- Платформа LSF
- Univa Grid Engine
- Моав
- LoadLeveler
- Кондор
- OpenLava
- Рабочие процессы и планирование ProActive
История
Планирование заданий имеет долгую историю. Планировщики заданий были одним из основных компонентов ИТ-инфраструктура с ранних систем мэйнфреймов. Сначала стопки перфокарты обрабатывались один за другим, отсюда и термин "пакетная обработка ".
С исторической точки зрения можно выделить две основные эпохи в планировщиках заданий:
- Эпоха мэйнфреймов
- Язык управления заданиями (JCL) на Мэйнфреймы IBM. Первоначально основанная на функциональности JCL для обработки зависимостей, эта эпоха характеризуется развитием сложных решений планирования (таких как Подсистема ввода вакансий 2/3 ), составляющие часть набора инструментов системного управления и автоматизации на мэйнфрейме.
- В открытые системы эра
- Современные планировщики на множестве архитектур и операционных систем. Стандартные инструменты планирования ограничены такими командами, как в и партия, потребность в стандартных планировщиках заданий для мэйнфреймов выросла с увеличением распространения распределенных вычислительных сред.
По типу расписания тоже есть разные эпохи:
- Пакетная обработка - традиционное выполнение фоновых задач на основе даты и времени на основе определенного периода, в течение которого ресурсы были доступны для пакетной обработки ( пакетное окно ). Фактически оригинальный подход к мэйнфреймам перенесен в среду открытых систем.
- Управляемая событиями автоматизация процессов - когда фоновые процессы не могут быть просто запущены в определенное время, либо потому, что природа бизнеса требует, чтобы рабочая нагрузка основывалась на возникновении внешних событий (таких как прибытие заказа от клиента или складских запасов). обновление из филиала магазина), или из-за отсутствия / недостаточного окна пакетной обработки.
- Планирование работ, ориентированное на обслуживание - последние разработки в Сервис-Ориентированная Архитектура (SOA) наблюдается тенденция к развертыванию планирования заданий как многократно используемой услуги ИТ-инфраструктуры, которая может сыграть роль в интеграции существующей рабочей нагрузки бизнес-приложений с новой. Веб-сервисы основанные на приложениях реального времени.
Планирование
Чтобы решить, какое именно задание выполнять, используются различные схемы. Параметры, которые могут быть рассмотрены, включают:
- Приоритет работы
- Доступность вычислительных ресурсов
- Лицензионный ключ, если в работе используется лицензионное ПО
- Время выполнения, выделенное пользователю
- Количество одновременных заданий, разрешенных для пользователя
- Расчетное время выполнения
- Истекшее время выполнения
- Наличие периферийных устройств
- Возникновение предписанных событий
- Зависимость от работы
- Файловая зависимость
- Зависимость от подсказки оператора