Object-Oriented Programming · Microsoft · Medium
A machine-learning platform runs many short-lived jobs concurrently, each on its own thread. Every job belongs to exactly one of two categories: a generation job ("gen") or a scoring job ("score"). The two categories use the same hardware in ways that conflict, so the platform enforces a coordination rule: any number of jobs of the same category are allowed to run simultaneously, but a job of one category and a job of the other category must never execute at the same time.…