John Rodewald
Personal notes I've decided to make public for some reason.


Ticket Scheduling

Posted on

A non-deterministic method of splitting up CPU time proportionally rather than based on time. Each process has a number of tickets (based on priority) and a 'winning' number is drawn at set intervals to determine the next process to run.

This random approach is:

Processes can own tickets in their own ' currency'. The scheduler will convert as needed. They can also transfer their own tickets to other processes.

In systems where processes trust each other, a process can also boost its number of tickets temporarily (' ticket inflation').

Tags: programming ostep