We run a few different buildmasters -- they're monitoring different repos, and in general are for different teams. But we use the same (large) set of build VMs for both. Currently we run two buildslave instances on each build VM, which is inefficient in a few ways: it's a lot of duplicated data in RAM, since Python bytecode isn't shared the way .so's are; and it means that builds for two different projects can be taking place simultaneously on the same VM.
It would be nice to have the option of pointing a single buildslave at multiple buildmasters, with some sort of locking to only allow it to run a single build at a time.