Controlling The Costs Of Coordination In Large-Scale Distributed Software Systems