|
A Job scheduler is a software application that is in charge of unattended background executions, commonly known as batch processing. This type of software is often known as batch queue manager because batch queues are commonly used to prioritize execution of multiple jobs. Job Schedulers are also sometimes known as a Distributed Resource Manager or Batch scheduler. Batch processing is the sequential execution of a series of programs (jobs) on a computer. ...
Overview
Basic features expected from a Job Scheduler software are: - Interfaces to define workflows and/or job dependencies
- Automatic submission of executions
- Interfaces to monitor the executions
- Priorities and/or queues to control the execution order of unrelated jobs
If software from a completely different area includes all or some of those features, this software has Job Scheduling capabilities. Many programs such as DBMS, backup, ERPs, and BPM include relevant Job Scheduling capabilities. To meet Wikipedias quality standards, this article or section may require cleanup. ...
To meet Wikipedias quality standards, this article or section may require cleanup. ...
Enterprise resource planning systems (ERPs) are management information systems (MISs) that integrate and automate many of the business practices associated with the operations or production and distribution aspects of a company engaged in manufacturing products or services. ...
The term Business Process Management (or BPM) refers to activities performed by businesses to optimize and adapt their processes. ...
Main Concepts There are many concepts that are central to almost every Job Scheduler implementation and that are widely recognised with minimal variations. - Jobs
- Dependencies
- Job Streams
- Users
Two major architectures exist for Job Scheduling software. - Master/Agent architecture — the historic architecture for Job scheduling software. The Job Scheduling software is installed on a single machine (Master) while on production machines only a very small component is installed (Agent) that waits commands from the Master, executes them, and returns the exit code back to the Master.
- Cooperative architecture — a decentralized model where each machine is capable of helping with scheduling and can offload locally scheduled jobs to other cooperating machines.
History From a historical point of view, we can distinguish two main eras about Job Schedulers: - The mainframe era
- The open system era
- modern schedulers on a variety of architectures and operating systems
Job Control Language (JCL) is a scripting language used on IBM mainframe operating systems to instruct the Job Entry Subsystem (that is, JES2 or JES3) on how to run a batch program or start a subsystem. ...
An IBM mainframe is a large, high-performance computer made by International Business Machines (IBM). ...
Scheduling Various schemes are used to decide which particular job to run. Parameters that might be considered include: - job priority
- compute resource availability
- license key if job is using licensed software
- execution time allocated to user
- number of simultaneous jobs allowed for a user
- estimated execution time
- elapsed execution time
Implementations There are many implementations of Job Scheduling software. Most are commercial implementations, with less open source implementations.
Commercial Implementations Grid MP is a commercial distributed computing computer software package developed and sold by United Devices, a privately held company based primarily in Austin, Texas. ...
LoadLeveler is a job scheduler written by IBM, to control scheduling of batch jobs. ...
Load Sharing Facility (or simply LSF) is a commercial computer software job scheduler sold by Platform Computing. ...
Cluster Resources logo Cluster Resources, Inc. ...
Maui Scheduler is an open source advanced job scheduler for use on clusters and supercomputers. ...
Sun GridEngine (SGE) is an open source batch-queuing system, supported by Sun Microsystems, that manages and schedules the allocation of distributed resources such as processors, memory, disk-space, and software licenses. ...
Portable Batch System (or simply PBS) is a computer software job scheduler that allocates network resources to batch jobs. ...
Open Source Implementations Open source development in the Job Scheduling category seems to be immature at present. |