Enabling Runtime Profiling To Hide And Exploit Heterogeneity Within Chip Heterogeneous Multiprocessor Systems (Chmps)