Resources are an integral part of cloud. Resources are required to be allocated and deallocated for the tasks in an optimized manner such that the resources available are utilized to the maximum extent. In addition to that, the resources are to be allocated in such a way that the best resource is allocated to the task with higher complexity in order to speed up the execution time, thereby reducing the waiting time for the tasks in the queue. This paper discusses resource allocation with reference to CPU cycles and memory across multiple data center uniformly, by taking into account the task complexity and to achieve effective utilization of resources.