Custom Search
|
|
INFORMATION NEEDS Regardless of the scheduling method used, you will need to know specific types of information. Some information is job-related; that is, information about the resources, media, and time needed for a particular job. Some information is AIS facility-related; for example, workload, anticipated resource changes, number of operators available, the system capabilities and capacities, and so on. You will need to consider both. Let's look at the job-related and AIS facility-related areas in a little more depth. One of the most apparent pieces of job-related information is that every job has resource requirements. These requirements vary considerably from one job to the next. One job may require 125K of memory with no other peripheral devices except a printer for output. Another job may require four tape drives, two disk drives, a printer, and only 40K of memory. But a job's resources cannot be looked at in these terms alone. Can you recall the terms PREcomputer and POSTcomputer processing? All AIS facility resources must be considered. You must consider data entry functions, job setup functions, and output control functions. Overloading data entry can delay jobs, causing them to be assembled for computer processing later than scheduled. Suppose I/O control is overloaded. What difference would it make if jobs were processed and completed as scheduled? They would only be delayed because work is backed up or personnel are not available. Overutilization of resources affects service. Underutilization of resources is expensive and wasteful. The balance will be up to you and the efficiency of your schedule. Another piece of job-related information to consider is processing time. To set aside a sufficient amount of time for processing, you must know how long a job will reside in memory. Processing time is normally estimated for a multiprogramming environment since most computers today process programs/data in this fashion, and job mix affects the overall processing time for a job. Let's assume you have a static workload with no jobs being added to or deleted from the schedule. Even under these conditions, you can expect job processing to deviate from the schedule. Why? you might ask. The reasons for this are the uncertainty about job processing time and disrupted processing. Take, for example, a job that normally has a processing time of 45 minutes. Today, because of a large increase in input, the job processing time is 1 hour, thus delaying all the following jobs by 15 minutes. This is unavoidable and must be expected. The same is true of disrupted processing, whether it is hardware failure or software problems. One way to avoid these delays is to include a specified amount of buffer time in your schedule. You might add a safety factor of 10 percent to the expected processing time. In our previous example where processing time increased from 45 minutes to 1 hour, a buffer time of 10 percent would only give you an additional 4.5 minutes of processing time. This would still have been inadequate. However, since all the following jobs also have buffer time built into their scheduled processing time, the job overrun should not be that critical for meeting the overall schedule of a shift. Another piece of job-related information to consider applies to multiprogramming environments. The challenge here is to combine as many jobs as possible so that each resource is used to its maximum. In a nonmultiprogramming environment, you have no problem in scheduling jobs because you can process only one job at a time. However, resources are underutilized, and that's a fact you must live with. This is a direct result of having all resources dedicated to one computer, even when they are not needed. On the other hand, multiprogramming allows you to execute several jobs at the same time using as many resources as possible. The difficulty of manually preparing such a schedule for a system that runs in a multiprogramming environment is in trying to obtain a job mix that makes the best use of most resources without bogging down the entire computer system.
Figure 1-5 gives you some idea of how main storage and peripherals can be fully utilized as a result of the proper job mix. It shows where the jobs are in memory, and what tapes and disk drives are used by each job. It also shows information about printing and printers. It
Figure 1-5.-Resource utilization in a multiprogramming environment. is difficult to obtain an optimum job mix using manual scheduling techniques, but it can be done. Most often, the solution to obtaining maximum throughput in a multiprogramming environment (on a continuous 24-hour basis) is to use one of the more sophisticated automated scheduling packages. These packages have all of the considerations we have been discussing programmed into the software. Another piece of job-related information to consider is job dependencies. Most AIS facilities process both single-program jobs and multiprogram systems. Examples of multiprogram systems are the supply and 3-M systems. These systems consist of many programs that are normally executed as separate job steps within a system. Or, the programs may be processed as separate jobs that must be processed in a specific sequence. Therefore, you must know their proper sequence. It would be foolish to execute a job that prints the output of an updated file that had yet to be updated. It should be just as obvious if a job abnormally terminates that all jobs following it must be canceled and rescheduled, allowing sufficient time for the terminated job to be rerun. Canceling and rescheduling dependent jobs may seem like an easy task to perform. However, in reality, it can become a complex and difficult operation. And finally, we have priorities and deadlines to consider. Some scheduling methods place primary importance on priority. Each job is assigned a priority, and the jobs are processed according to the highest-priority job that can be scheduled based on available resources. Priority scheduling is often used in automated scheduling systems. Some scheduling methods place primary importance on deadlines, processing jobs according to the earliest deadline or sometimes latest deadline. When you prepare a schedule, remember to take into account job requirements that include the following: l Data entry; l Job setup and output control functions; l Computer processing time; l Operating environment; l Job dependencies; l Job priorities; and l Deadlines. Now that we have covered job-related information, we will discuss AIS facility-related areas and how these can affect your production schedule. You may recall that to prepare an effective schedule, you must know your AIS facility's resources: how work comes into, flows through, and leaves your facility; the capabilities and capacities of your system; and workload demands on the system. As a scheduler, your goal is to match resource capacities (people, places, and things) to workload demands while satisfying user deadlines and priorities. This is often difficult to do, especially when resource capacities vary because of hardware failures, specific shift requirements, personnel on leave, and unpredictable user demands. Your workload can exceed capacity, which has a direct effect on service. Or, the capacity can exceed the workload. This leaves AIS resources underutilized. So how do you reach a happy medium? you might ask. You do it by ensuring that the workload demands put upon the AIS facility's resources are balanced as much as possible and that the total resources available are kept as close to the maximum capacity as possible. The effective use of resources has a lot to do with how you prepare a schedule. However, other things affect scheduling effectiveness. One thing that disrupts schedules is the late receipt of input from the users. This often results in a lot of hectic activity. Data entry, possibly I/O control, and computer operations have to try to meet original deadline commitments. If they cannot, you, as the scheduler, have to reschedule jobs, while dissatisfied users complain because their jobs are not out on time. But you say the user has no right to complain? You are right. Often, the users do not realize they are the cause of the delays. So what can you do? Educate them! Inform the users of the effects late input submissions have on the schedule. They sometimes do not realize how long it takes to prepare their input. All jobs scheduled should have an established input receipt time. When scheduling, include in your schedule sufficient buffer time between scheduled receipt time and actual due time. And last, but not least, report scheduling deviations and their causes to your superiors. In this way, the process can be reviewed and improved. Something else you have to consider in connection with scheduling effectiveness is your ability to reschedule quickly. You must be prepared to make adjustments to schedules. You will have to contend with power outages, corrective maintenance, deadlines or priority changes, special job requests, and so on. You must also consider processing delays. Rejected transactions may have to be reentered before a priority job can continue. An unreadable tape or disk file may have to be recreated. Errors in SCL statements in the job stream may have to be corrected. The most serious delays usually result from abnormally terminated jobs and hardware failures. Regardless of what the situation may be, you must be prepared to readjust schedules as quickly as possible with a minimum of disruption. |
|