For example, one of your batch jobs needs to update 25 files. In this case, the system will take a lot of time to complete the task. At the same time, we have some restrictions on the CPU utilization, i.e., in most installations the maximum CPU allowed to a job is 10 to 15% of total CPU. Even though no other jobs are running on the system except your jobs, the system will allow you to use only 15 to 20% of CPU. If we can utilize the other 80% of the CPU, we can complete the job in one fifth of the time it previously took. The way we can use that 80% is by using the concurrent processing. What we need to do is split the whole job into logical pieces.
Submit all the split jobs concurrently; so that each job will take 10 to 15% of CPU i.e., if you split the original job into five pieces, then you can use 70% of CPU. So parallel, you can process the records of different files at the same time.
Along with the concurrent jobs you need to submit another job called MONITOR, what it will do is to monitor all the jobs to see if they are complete or not. Each concurrent job will update a data area position with some flag, say 'Y' before completing the job. The MONITOR job will check the respective positions and comes to know that a particular jobs is complete, how many jobs are complete, whether all jobs are complete or not etc., once MONITOR finds that all jobs are complete, it sends a message to the operator or it submits another job, which is depending on this job.
|Figure 1: Concurrent JOB Flow Diagram.doc.|
================================== MORE INFORMATION ON THIS TOPIC ==================================
The Best Web Links: tips, tutorials and more.
Ask your programming questions--or help out your peers by answering them--in our live discussion forums.
Ask the Experts yourself: Our application development gurus are waiting to answer your programming questions.
This was first published in November 2002