A method implemented by data processing apparatus, the method comprising: accessing, by a manager agent executing in data processor, a grain hierarchy that represents a state for a computation that is to performed by a distributed processing system that includes a plurality of data processors, the grain hierarchy organizing a set of grains according to a tree structure, and wherein each grain included in the set of grains comprises metadata that specifies a portion of the state for the computation, wherein a load balancer manages allocation of work within the distributed processing system, and wherein the grain hierarchy comprises: manager agent grains specifying metadata for manager agent processes that manage the performance of the computation by the distributed processing system, wherein metadata for the load balancing agent includes data indicating the progress of each worker agent in the distributed processing system; and worker agent grains including, for tasks to be performed by the distributed processing system, metadata for worker agents that each correspond to a subset of the plurality of data processors for performing the task, wherein the worker agents are components of the distributed processing system and interact with a hub device to modify the state of the computation over time, wherein the worker agents update the hub device 108 with their progress on tasks over time, and the hub device propagates and aggregates statistics indicating a measure of progress, up the grain hierarchy; performing, by the manager agent, manager agent processes defined by a manager agent grain to manage the computation by worker agents and storing, within the grain, metadata describing the manager agent process performed by the manager agent; and performing, by each of a plurality of worker agents, tasks assigned to the worker agents, each task assigned to a worker agent based on an assignment of a respective worker agent grain to the worker agent. accessing, by a manager agent executing in data processor, a grain hierarchy that represents a state for a computation that is to performed by a distributed processing system that includes a plurality of data processors, the grain hierarchy organizing a set of grains according to a tree structure, and wherein each grain included in the set of grains comprises metadata that specifies a portion of the state for the computation, wherein a load balancer manages allocation of work within the distributed processing system, and wherein the grain hierarchy comprises: manager agent grains specifying metadata for manager agent processes that manage the performance of the computation by the distributed processing system, wherein metadata for the load balancing agent includes data indicating the progress of each worker agent in the distributed processing system; and worker agent grains including, for tasks to be performed by the distributed processing system, metadata for worker agents that each correspond to a subset of the plurality of data processors for performing the task, wherein the worker agents are components of the distributed processing system and interact with a hub device to modify the state of the computation over time, wherein the worker agents update the hub device 108 with their progress on tasks over time, and the hub device propagates and aggregates statistics indicating a measure of progress, up the grain hierarchy; manager agent grains specifying metadata for manager agent processes that manage the performance of the computation by the distributed processing system, wherein metadata for the load balancing agent includes data indicating the progress of each worker agent in the distributed processing system; and worker agent grains including, for tasks to be performed by the distributed processing system, metadata for worker agents that each correspond to a subset of the plurality of data processors for performing the task, wherein the worker agents are components of the distributed processing system and interact with a hub device to modify the state of the computation over time, wherein the worker agents update the hub device 108 with their progress on tasks over time, and the hub device propagates and aggregates statistics indicating a measure of progress, up the grain hierarchy; performing, by the manager agent, manager agent processes defined by a manager agent grain to manage the computation by worker agents and storing, within the grain, metadata describing the manager agent process performed by the manager agent; and performing, by each of a plurality of worker agents, tasks assigned to the worker agents, each task assigned to a worker agent based on an assignment of a respective worker agent grain to the worker agent.