Max-IT

The Problem

Consider the case of two running (single-threaded) applications, a well-behaved word processor (figure 3) and a runaway CPU spinner (figure 4). Assuming a quantum length of 10 milliseconds, each thread is eligible to use the CPU for up to 10 ms at a time (the time slice). A thread could potentially use up its entire time slice if it has enough work to do to fill up the time slice. Being a runaway application, the CPU spinner will steadily use the CPU for the duration of its time slice. Being a well-behaved application, the word processor will almost never use up its time slice. Instead, its CPU requirements are conservative as it will only consume a small to moderate portion of its time slice (if any). Occasionally, it may not even have anything to do (e.g., waiting on user input) and will remain in the WAITING state until something happens (e.g., user input is received).

Figure 3

Figure 3 – A well-behaved application

Figure 4

Figure 4 – An ill-behaved (aka. runaway or rogue) application

Next: Max-IT (CPU) - The Solution next