Memory bank aware dynamic loop scheduling

Mahmut Kandemir, Taylan Yemliha, Woo Son Seung, Ozcan Ozturk

Research output: Chapter in Book/Report/Conference proceedingConference contribution

3 Citations (Scopus)

Abstract

In a parallel system with multiple CPUs, one of the key problems is to assign loop iterations to processors. This problem, known as the loop scheduling problem, has been studied in the past, and several schemes, both static and dynamic, have been proposed. One of the attractive features of dynamic schemes, as compared to their static counterparts, is their ability of exploiting the latency variations across the execution times of the different loop iterations. In all the dynamic loop scheduling techniques proposed in literature so far, performance has been the primary metric of interest. In a battery-operated embedded execution environment, however, power consumption is another metric to consider during iteration-to-processor assignment. In particular, in a banked memory system, this assignment can have an important impact on memory power consumption, which can be a significant portion of the overall energy consumption, especially for data-intensive embedded applications such as those from the domain of image data processing. This paper presents a bank aware dynamic loop scheduling scheme for array-intensive embedded media applications. The goal behind this new scheduling scheme is to minimize the number of memory banks that need to be used for executing the current working set (group of loop iterations) when all processors are considered together. That is, during the loop iteration-to-processor assignment, our approach considers the bank access patterns of loop iterations and carefully selects the set of iterations to assign to an idle processor so that, if possible, the number of memory banks that are used at the current state is not increased. Our experimental results show that the proposed scheduling scheme leads to much better energy results when compared to prior loop scheduling techniques and it is also competitive with the scheduler that generates the best performance. To our knowledge, this is the first dynamic loop scheduling scheme that is memory bank aware.

Original languageEnglish (US)
Title of host publicationProceedings - 2007 Design, Automation and Test in Europe Conference and Exhibition, DATE 2007
Pages1671-1676
Number of pages6
DOIs
StatePublished - Sep 4 2007
Event2007 Design, Automation and Test in Europe Conference and Exhibition - Nice Acropolis, France
Duration: Apr 16 2007Apr 20 2007

Publication series

NameProceedings -Design, Automation and Test in Europe, DATE
ISSN (Print)1530-1591

Other

Other2007 Design, Automation and Test in Europe Conference and Exhibition
CountryFrance
CityNice Acropolis
Period4/16/074/20/07

Fingerprint

Scheduling
Data storage equipment
Electric power utilization
Program processors
Computer systems
Energy utilization

All Science Journal Classification (ASJC) codes

  • Engineering(all)

Cite this

Kandemir, M., Yemliha, T., Seung, W. S., & Ozturk, O. (2007). Memory bank aware dynamic loop scheduling. In Proceedings - 2007 Design, Automation and Test in Europe Conference and Exhibition, DATE 2007 (pp. 1671-1676). [4212052] (Proceedings -Design, Automation and Test in Europe, DATE). https://doi.org/10.1109/DATE.2007.364542
Kandemir, Mahmut ; Yemliha, Taylan ; Seung, Woo Son ; Ozturk, Ozcan. / Memory bank aware dynamic loop scheduling. Proceedings - 2007 Design, Automation and Test in Europe Conference and Exhibition, DATE 2007. 2007. pp. 1671-1676 (Proceedings -Design, Automation and Test in Europe, DATE).
@inproceedings{059aca6bb1c542f6ac93d4c07bacb945,
title = "Memory bank aware dynamic loop scheduling",
abstract = "In a parallel system with multiple CPUs, one of the key problems is to assign loop iterations to processors. This problem, known as the loop scheduling problem, has been studied in the past, and several schemes, both static and dynamic, have been proposed. One of the attractive features of dynamic schemes, as compared to their static counterparts, is their ability of exploiting the latency variations across the execution times of the different loop iterations. In all the dynamic loop scheduling techniques proposed in literature so far, performance has been the primary metric of interest. In a battery-operated embedded execution environment, however, power consumption is another metric to consider during iteration-to-processor assignment. In particular, in a banked memory system, this assignment can have an important impact on memory power consumption, which can be a significant portion of the overall energy consumption, especially for data-intensive embedded applications such as those from the domain of image data processing. This paper presents a bank aware dynamic loop scheduling scheme for array-intensive embedded media applications. The goal behind this new scheduling scheme is to minimize the number of memory banks that need to be used for executing the current working set (group of loop iterations) when all processors are considered together. That is, during the loop iteration-to-processor assignment, our approach considers the bank access patterns of loop iterations and carefully selects the set of iterations to assign to an idle processor so that, if possible, the number of memory banks that are used at the current state is not increased. Our experimental results show that the proposed scheduling scheme leads to much better energy results when compared to prior loop scheduling techniques and it is also competitive with the scheduler that generates the best performance. To our knowledge, this is the first dynamic loop scheduling scheme that is memory bank aware.",
author = "Mahmut Kandemir and Taylan Yemliha and Seung, {Woo Son} and Ozcan Ozturk",
year = "2007",
month = "9",
day = "4",
doi = "10.1109/DATE.2007.364542",
language = "English (US)",
isbn = "3981080122",
series = "Proceedings -Design, Automation and Test in Europe, DATE",
pages = "1671--1676",
booktitle = "Proceedings - 2007 Design, Automation and Test in Europe Conference and Exhibition, DATE 2007",

}

Kandemir, M, Yemliha, T, Seung, WS & Ozturk, O 2007, Memory bank aware dynamic loop scheduling. in Proceedings - 2007 Design, Automation and Test in Europe Conference and Exhibition, DATE 2007., 4212052, Proceedings -Design, Automation and Test in Europe, DATE, pp. 1671-1676, 2007 Design, Automation and Test in Europe Conference and Exhibition, Nice Acropolis, France, 4/16/07. https://doi.org/10.1109/DATE.2007.364542

Memory bank aware dynamic loop scheduling. / Kandemir, Mahmut; Yemliha, Taylan; Seung, Woo Son; Ozturk, Ozcan.

Proceedings - 2007 Design, Automation and Test in Europe Conference and Exhibition, DATE 2007. 2007. p. 1671-1676 4212052 (Proceedings -Design, Automation and Test in Europe, DATE).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

TY - GEN

T1 - Memory bank aware dynamic loop scheduling

AU - Kandemir, Mahmut

AU - Yemliha, Taylan

AU - Seung, Woo Son

AU - Ozturk, Ozcan

PY - 2007/9/4

Y1 - 2007/9/4

N2 - In a parallel system with multiple CPUs, one of the key problems is to assign loop iterations to processors. This problem, known as the loop scheduling problem, has been studied in the past, and several schemes, both static and dynamic, have been proposed. One of the attractive features of dynamic schemes, as compared to their static counterparts, is their ability of exploiting the latency variations across the execution times of the different loop iterations. In all the dynamic loop scheduling techniques proposed in literature so far, performance has been the primary metric of interest. In a battery-operated embedded execution environment, however, power consumption is another metric to consider during iteration-to-processor assignment. In particular, in a banked memory system, this assignment can have an important impact on memory power consumption, which can be a significant portion of the overall energy consumption, especially for data-intensive embedded applications such as those from the domain of image data processing. This paper presents a bank aware dynamic loop scheduling scheme for array-intensive embedded media applications. The goal behind this new scheduling scheme is to minimize the number of memory banks that need to be used for executing the current working set (group of loop iterations) when all processors are considered together. That is, during the loop iteration-to-processor assignment, our approach considers the bank access patterns of loop iterations and carefully selects the set of iterations to assign to an idle processor so that, if possible, the number of memory banks that are used at the current state is not increased. Our experimental results show that the proposed scheduling scheme leads to much better energy results when compared to prior loop scheduling techniques and it is also competitive with the scheduler that generates the best performance. To our knowledge, this is the first dynamic loop scheduling scheme that is memory bank aware.

AB - In a parallel system with multiple CPUs, one of the key problems is to assign loop iterations to processors. This problem, known as the loop scheduling problem, has been studied in the past, and several schemes, both static and dynamic, have been proposed. One of the attractive features of dynamic schemes, as compared to their static counterparts, is their ability of exploiting the latency variations across the execution times of the different loop iterations. In all the dynamic loop scheduling techniques proposed in literature so far, performance has been the primary metric of interest. In a battery-operated embedded execution environment, however, power consumption is another metric to consider during iteration-to-processor assignment. In particular, in a banked memory system, this assignment can have an important impact on memory power consumption, which can be a significant portion of the overall energy consumption, especially for data-intensive embedded applications such as those from the domain of image data processing. This paper presents a bank aware dynamic loop scheduling scheme for array-intensive embedded media applications. The goal behind this new scheduling scheme is to minimize the number of memory banks that need to be used for executing the current working set (group of loop iterations) when all processors are considered together. That is, during the loop iteration-to-processor assignment, our approach considers the bank access patterns of loop iterations and carefully selects the set of iterations to assign to an idle processor so that, if possible, the number of memory banks that are used at the current state is not increased. Our experimental results show that the proposed scheduling scheme leads to much better energy results when compared to prior loop scheduling techniques and it is also competitive with the scheduler that generates the best performance. To our knowledge, this is the first dynamic loop scheduling scheme that is memory bank aware.

UR - http://www.scopus.com/inward/record.url?scp=34548319749&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=34548319749&partnerID=8YFLogxK

U2 - 10.1109/DATE.2007.364542

DO - 10.1109/DATE.2007.364542

M3 - Conference contribution

SN - 3981080122

SN - 9783981080124

T3 - Proceedings -Design, Automation and Test in Europe, DATE

SP - 1671

EP - 1676

BT - Proceedings - 2007 Design, Automation and Test in Europe Conference and Exhibition, DATE 2007

ER -

Kandemir M, Yemliha T, Seung WS, Ozturk O. Memory bank aware dynamic loop scheduling. In Proceedings - 2007 Design, Automation and Test in Europe Conference and Exhibition, DATE 2007. 2007. p. 1671-1676. 4212052. (Proceedings -Design, Automation and Test in Europe, DATE). https://doi.org/10.1109/DATE.2007.364542