Abstract-Homogeneous multi-cores, while ubiquitous today, cannot provide the desired performance and energyefficiency for various application domains. A promising alternative design is heterogeneous multi-core architecture where cores with different functional characteristics (CPU, GPU, DSP etc.) and/or performance-energy characteristics (simple versus complex micro-architecture) co-exist on the same die. Given an application, only the cores that best fit the application can be exploited leading to faster and energy-efficient computing. This paper describes heterogeneous multi-core architectures and the runtime management strategies to leverage the potential of such architectures for improved energy-efficiency.