|

Since the beginnings of shared computers in the 1960s, computer operating systems have scheduled jobs to run in a round robin fashion, allocated the entire resources of the computer system to each job, one at a time. The fact that the
scheduler switched jobs every few milliseconds made it appear that all the jobs were running at the same time, in parallel, when in fact, they were running serially, one at a time. Diagrammatically, it looked like this:
Round Robin Scheduling
Our Micro Job Scheduler is a fundamental and dramatic improvement on how jobs are scheduled. A modern computer consists of four components: CPU, memory, disk and network. While round robin scheduling allocates all four of these components
to each job, resource-based scheduling allocates each component separately.
Suppose, in these diagrams, the blue job requires a lot of CPU time, but very little memory or disk; the red job requires a lot of disk activity, but very little CPU or memory; and the green job requires a lot of memory, but very little
CPU or disk. These three jobs can run simultaneously without impacting the performance of either of the other two jobs, and that is exactly what the Micro Job Scheduler does. Diagrammatically, it looks like this:
Micro Job Scheduling
What’s more, the Micro Job Scheduler analyzes each job and separates it into micro jobs based on the resources required by each part. It then optimally schedules the micro jobs so more work gets done in less time. This results in a
dramatic performance increase for all jobs.
|