Some consideration for SMP scheduling With multiple CPUs, it is not as likely that a short task will get stuck waiting for a long task to complete. Therefore the selection of the next task is not as important. Any task can run on any CPU thereby allowing load balancing. Tasks should stay with a single CPU to take advantage of cache loading. Real-time programming is used in process control to ensure that the system reacts to input in time.
Examples are chemical plant control or robotic control.
Static predetermined schedules - A schedule is devised before hand from a list of known tasks, execution times and deadline times. Static predetermined priorities - Using a list of known tasks, execution times and deadline times, priorities are assigned to each task. A regular priority based scheduler is used. Dynamic planning based - When a task is scheduled, the algorithm determines if it can be feasibly executed in time. Dynamic best effort - The scheduler tries to meet deadlines by raising the priority of tasks as they approach their deadline.