Abstract
One major issue in the design of multi-core systems is scheduling execution threads on the many cores. Heterogeneity complicates the issue given the different types of cores with various functionality and power requirements. In a large multi-core chip with long interconnect latencies, minimizing thread migration costs is essential in minimizing the power consumption and maximizing performance. In this paper, we present a thread scheduling scheme for a class-based 2D Mesh-interconnected multi-core system which considers intercore distances in its scheduling decisions. We also consider various thread migration policies in case a thread's previous core in unavailable and the thread must be reassigned to a different core. A performance simulator is developed to weigh the various thread scheduling and migration policies. The simulation results reveal that scheduling algorithms which both consider core affinity and support distance-based migration outperform the other considered algorithms.