This paper proposes a thread scheduling mechanism
primed for heterogeneously configured multicore systems. Our approach uses a relativistic sense of mapping running threads CPU utilization with the appropriate core that can potentially deliver the actual needed capacity. The paper also introduces a mapping algorithm that is able to map threads to cores in an O(NLogM) time complexity, where N is the number of cores and M is the number of types of cores. In addition to that we also introduced a method of profiling heterogeneous architectures based on the discrepancy between the performances of individual cores. Our heterogeneity aware scheduler was able to speedup processing by 52.62% and save power by 2.22% as compared to Linux’s default CFS scheduler.