A temperature-aware virtual submesh allocation scheme for noc-based manycore chips
Authors: Xiongfei Liao, Wu Jigang, Thambipillai Srikanthan
Venue: Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures (2008)

Various continuous and non-continuous submesh allocation schemes have been proposed for traditional mesh-connected multiprocessor systems. Discussions of these schemes are limited to issues such as fragmentation, system performance and algorithmic complexity. NoC-based manycore chips with mesh topology are envisaged to enter the domain of parallel computing and cores of them are allocated to applications in the forms of submeshes. However, unlike the processors in traditional systems, these cores may face severe runtime thermal non-uniformities and a promising strategy to avoid these thermal crises is keeping good heat balance throughout chips at runtime. One opportunity for good heat balance is to include thermally favorable cores when submeshes are allocated. This requires a suitable temperature sensitive submesh allocation scheme for manycore chips. We propose a novel temperature-aware virtual submesh allocation scheme for NoC-based manycore chips. This scheme considers transient temperatures of cores when OSes allocate submeshes. Further, this scheme accommodates jobs with dynamically constructed virtual submeshes that are different from physical submeshes in existing schemes. In a virtual submesh, cores belonging to a virtual column (row) may come from different physical columns (rows). When chosen into virtual submeshes, cores with lower temperatures are preferred to ones with higher temperatures. Thus, cores which are not occupied and not overheated are considered for allocation; overheated cores can cool down during an idle or sleeping period. Our scheme aims to accommodate a job with a virtual submesh with low average temperature, called a cool virtual submesh. Our scheme constructs a cool virtual submesh in steps to reduce complexity since finding an optimal submesh allocation is NP-complete. Firstly, we adopt algorithm, namely GCR, to construct a suitable-sized virtual submesh for a job J. If submeshes by GCR can not satisfy the request of this job even after switching request orientation, our scheme keeps this job waiting. Secondly, we construct a cool virtual submesh based on the virtual submesh constructed by GCR if it satisfy the request of this job. We dynamically construct "areas" with left and right boundaries. A local optimal cool virtual column which is the virtual column having the lowest average temperature of cores is to be searched in each of these areas. We search local optimal cool virtual columns one by one from right to left. We model this searching problem as finding the shortest weighted paths of a directed network. We develop an algorithm, namely TA_Local_Opt_Col, to solve the problem using dynamic programming approach. Finally, a cool virtual submesh is formed by combining the local optimal cool virtual columns found in these areas. From this cool virtual submesh, a suitable-sized submesh with the lowest average temperature is allocated for J at one of its "corners".