Roman Aqueducts

Within a Roman city aqueducts would distribute water to customers. The aqueducts cross-section was triangular with a point at the bottom. At a customer site there would be at least two holes leading from the duct to the customer. A higher hole would deliver water when it was plentiful. A lower hole would deliver a lesser amount of water even when it was scarce. Of course not all customers were equal.

IBM’s operating systems defined service levels which were highly analogous to this regarding access to the CPU. A job to be run was like a roman aqueducts customer regarding hole sizes. CPU availability would vary and time allocated thereby.

Note the feedback situation. When CPU was plentiful apps would be granted time at the “large hole rate”. Otherwise they would get dibs and drabs.

IBM provided no software to provide a market in access to these levels. That would have been a natural extension.

Livermore did more and less than this in their 6600 timesharing system for the CDC 6600.