Control-M is an orchestration program from BMC Software. By means of orchestration, individual services in IT can be combined into an overall service by so-called jobs, and a structured sequence planning of data workflows can be generated. A general goal is to automate an overall service and to monitor it.
What are resources used for?
Resources are used to control the parallel execution of jobs and/or to achieve load distribution in the overall service. Especially between jobs that are not directly connected to each other, dependencies can be defined by using resources.
What resources are there?
On the one hand there are the control resources, where you have to define a resource name and a type. An individual name can be assigned as Resources Name. All jobs with the same Resources Name receive a dependency. The type of dependency for the jobs is defined by selecting the type. “Shared” and “Exclusive” are available. “Shared” means that several jobs with this Resource Name can run at the same time. In an “Exclusive” configuration, only one job with this resource name can be executed at a time.
On the other hand, there are the quantitative resources, for which a Resource Name is also entered first. In addition, a quantity (Resource Quantity) is set, as this job should cost. If several jobs with the same Resource Name are running, the respective defined quantity is added or subtracted again when a job is finished. If the total amount defined in the basic settings is reached, the following jobs of the same name wait until points become free again, so that the total amount is never exceeded and a load balancing is achieved with regard to the assigned quantities.
Examples from practice
A simple practical example is writing to and reading from a database. In order to obtain the data without gaps, they must first be loaded completely. This process should not take place at the same time, otherwise data may be lost. The job that writes to the database is therefore configured as “Exclusive” and may only be executed alone. The jobs that want to access the written data are set as “Shared”. This setting allows multiple jobs to access the written data at the same time. “Shared“ and „Exclusive“ jobs can never run in parallel.
As mentioned before, Quantitative Resources can be used to create load balancing very well. In order to prevent an overload of the systems, the parallel running jobs can be reduced with this. As soon as a defined capacity limit is reached, the following jobs are put into a queue.