1. A method of facilitating data processing in a distributed computing environment, said method comprising: partitioning, by a processor executing on a node of the distributed computing environment, a program that represents a resource assignment task into a plurality of sub-instances, the partitioning reducing communication costs between the sub-instances and reducing convergence time for the program; and assigning the plurality of sub-instances to a plurality of nodes of the distributed computing environment, the plurality of nodes to execute the plurality of sub-instances to obtain a result for the resource assignment task.