1. A method of performing a parallel computing task, comprising: generating, by a coordinator node, a plurality of work unit descriptions, wherein each description includes metadata describing a work unit to be performed as part of the parallel computing task; distributing, by the coordinator node, the work unit descriptions to at least one master node, wherein each master node is configured to generate work units from the work unit descriptions and further configured to manage the distribution of work units to a pool of one or more worker nodes; distributing, by the master node, the work units to the pool of worker nodes, wherein a worker node in the pool is configured to process the work units distributed to the worker node.