This thesis creates a new approach for task assignment in an edge-core multi-cloud architecture to reduce power consumption in service centers using multilevel graph partitioning technique. Multilevel graph partitioning has three phases of coarsening, refinement and uncoarsening. For the refinement phase, a new algorithm based on a modified Kernighan–Lin algorithm is proposed which takes into account multiple constraints, and that mitigates the problem of stopping at a local minimum. Once tasks are assigned to the edge and core, multidimensional bin-packing is used to deploy tasks to individual hosts so that power consumption can be calculated. The approach is validated by comparing it to extended simulated annealing and an extended modified Kernighan–Lin algorithm. The experiments show that our approach is fast and produces better results. It is also less prone to failure in finding a feasible deployment for given constraints.