1. A computer-implemented method of distributing a value within a distributed computing system having a master system in communication with a plurality of worker systems, comprising: assigning partitions of a graph to the worker systems, the graph representing relationships among a set of tangible items that model a real-world condition having an associated problem; determining configuration information describing a configuration of the distributed computing system; for each distribution scheme of a plurality of distribution schemes, each distribution scheme distributing a value from the master system to the plurality of worker systems, and each distribution scheme defining a different hierarchal arrangement from each other distribution scheme for distributing the value from the master system to the plurality of worker systems: determining, based on the configuration information, an amount of time required to distribute the value from the master system to each worker system in the plurality of worker systems; selecting a distribution scheme, from among the plurality of distribution schemes, for distributing the value from the master system to the plurality of worker systems based on the determined amounts of time; and distributing the value from the master system to the worker systems according to the selected distribution scheme, wherein the worker systems are configured to use the value to produce an output representing a solution to the real-world problem.