1. A method comprising: receiving, at a device, information regarding a data set to be processed by a map-reduce process; generating a set of virtual clusters for the map-reduce process based on network bandwidths between nodes of the virtual clusters, each node of a virtual cluster corresponding to a resource device; associating the data set with a map-reduce process task; and scheduling the execution of the task by a node of the virtual clusters based on the network bandwidth between the node and a source node on which the data set resides.