1. A method of performing a parallel computing task on a parallel computing system having a plurality of compute nodes, each compute node having at least a processor and a memory, the method comprising: generating, by a coordinator node, of the plurality of compute nodes, 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, of the plurality of compute nodes; generating, by the master node, one or more work units from each work unit description, wherein the master node is configured to manage distribution of the work units to a pool of one or more worker nodes, of the plurality of compute nodes; distributing, by the master node, the work units to the pool of worker nodes, wherein each worker node in the pool is configured to process the work units distributed to that worker node.