The focus of this project is to develop a dynamic power management strategy for both processing cores and communication fabric of a multi-core system. Due to manufacturing process variations, each core has its own maximum frequency and the corresponding power consumption, resulting in a heterogeneous multi-core system. The idea is to take advantage of this heterogeneity and re-distribute the available power budget to a certain processing core or on-chip router by boosting its maximum frequency via a Turbo mode-like approach. While doing so, all physical constraints, such as the maximum temperature constraint, need to be satisfied to make the proposed strategy feasible. By applying the proposed power management strategy, the best system performance under power budget and all physical constraints can be achieved.