Maximizing Common Idle Time on Multicore Processors with Shared Memory

Research output: Journal Publications and ReviewsRGC 21 - Publication in refereed journalpeer-review

4 Scopus Citations
View graph of relations

Author(s)

Related Research Unit(s)

Detail(s)

Original languageEnglish
Article number7869408
Pages (from-to)2095-2108
Number of pages14
Journal / PublicationIEEE Transactions on Very Large Scale Integration (VLSI) Systems
Volume25
Issue number7
Online published2 Mar 2017
Publication statusPublished - Jul 2017

Abstract

Nowadays, memory energy reduction attracts significant attention as main memory consumes large amount of energy among all the energy consuming components. This paper focuses on reducing the energy consumption of the shared main memory in multicore processors by putting the memory into sleep state when all cores are idle. Based on this idea, we present systematic analysis of different models and propose a series of scheduling schemes to maximize the common idle time of all cores. The target problem is classified into two cases based on whether task migration is allowed or not among cores. Considering task migration, an optimal scheduling scheme is proposed, assuming the number of cores is unbounded. When the number of cores is bounded, an integer linear programming formulation and two efficient heuristic algorithms are proposed. When task migration is not allowed, we first prove the NP-hardness of the problem, and then propose the optimal solutions when task partitions are given in advance. The energy overhead caused by transitions between active and sleep modes of the memory is analyzed. The experimental results show that the heuristic algorithms work efficiently and can save 7.25% and 11.71% system energy, respectively, with 1-GB memory, compared with an energy-efficient multicore scheduling scheme. Larger energy reduction can be further achieved with larger size of memory.

Research Area(s)

  • Energy efficiency, multicore processor, real-Time task, scheduling algorithms, shared main memory