Borg is Google's distributed cluster operating system: system software that organises the hardware. Borg treats datacentres as individual computers.#

  • Jobs made up of one or more identical Tasks.
  • Tasks can be indefinitely running servers or batch jobs like MapReduce.
  • Tasks are scheduled and monitored by Borg, which performs bin-packing.
  • Borg Naming Service allocates a name and index number which can be used to identify the task.

Attempted replacement with Omega

  • Chasing a moving target; Borg kept moving.
  • Early estimates of the difficulty of enhancing Borg were overly pessimistic, and improvements turned out to be simpler in practice.
  • Complexity of the migration was far more difficult in practice due to the pervasive ubiquity of Borg in system configurations.

This shelved development project led to many features being incorporated into future Borg iterations, and kickstarted development of Kubernetes.