Dynamic scheduling of stream programs on embedded multi-core processors

Haeseung Lee, Weijia Che, Karam S. Chatha

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

11 Citations (Scopus)

Abstract

Stream computing has emerged as an important model of computation for embedded system applications particularly in the multimedia and network processing domains. In recent past several programming languages and embedded multicore processors have been proposed for streaming applications. This paper examines the execution and dynamic scheduling of stream programs on embedded multi-core processors. The paper addresses the problem in the context of a multi-tasking environment with a time varying allocation of processing elements for a particular streaming application. As a solution the paper proposes a two step approach where the stream program is first compiled to gather key application information, and to generate re-targetable code. A light weight dynamic scheduler incorporates the second stage of the approach. The dynamic scheduler utilizes the static information and available resources to assign or partition the application across the multi-core architecture. The objective of the dynamic scheduler is to maximize the throughput of the application, and it is sensitive to the resource (processing elements, scratch-pad memory, DMA bandwidth) constraints imposed by the target architecture. We evaluate the proposed approach by compiling and scheduling benchmark stream programs on a representative embedded multi-core processor. We present experimental results that evaluate the quality of the solutions generated by the proposed approach by comparisons with existing techniques.

Original languageEnglish (US)
Title of host publicationCODES+ISSS'12 - Proceedings of the 10th ACM International Conference on Hardware/Software-Codesign and System Synthesis, Co-located with ESWEEK
Pages93-102
Number of pages10
DOIs
StatePublished - 2012
Event10th ACM International Conference on Hardware/Software-Codesign and System Synthesis, CODES+ISSS 2012, Co-located with 8th Embedded Systems Week, ESWEEK 2012 - Tampere, Finland
Duration: Oct 7 2012Oct 12 2012

Other

Other10th ACM International Conference on Hardware/Software-Codesign and System Synthesis, CODES+ISSS 2012, Co-located with 8th Embedded Systems Week, ESWEEK 2012
CountryFinland
CityTampere
Period10/7/1210/12/12

Fingerprint

Scheduling
Processing
Multitasking
Dynamic mechanical analysis
Embedded systems
Computer programming languages
Program processors
Throughput
Bandwidth
Data storage equipment

Keywords

  • Dynamic scheduling
  • Embedded systems
  • Multi-core architectures
  • Stream programming

ASJC Scopus subject areas

  • Hardware and Architecture
  • Software

Cite this

Lee, H., Che, W., & Chatha, K. S. (2012). Dynamic scheduling of stream programs on embedded multi-core processors. In CODES+ISSS'12 - Proceedings of the 10th ACM International Conference on Hardware/Software-Codesign and System Synthesis, Co-located with ESWEEK (pp. 93-102) https://doi.org/10.1145/2380445.2380465

Dynamic scheduling of stream programs on embedded multi-core processors. / Lee, Haeseung; Che, Weijia; Chatha, Karam S.

CODES+ISSS'12 - Proceedings of the 10th ACM International Conference on Hardware/Software-Codesign and System Synthesis, Co-located with ESWEEK. 2012. p. 93-102.

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

Lee, H, Che, W & Chatha, KS 2012, Dynamic scheduling of stream programs on embedded multi-core processors. in CODES+ISSS'12 - Proceedings of the 10th ACM International Conference on Hardware/Software-Codesign and System Synthesis, Co-located with ESWEEK. pp. 93-102, 10th ACM International Conference on Hardware/Software-Codesign and System Synthesis, CODES+ISSS 2012, Co-located with 8th Embedded Systems Week, ESWEEK 2012, Tampere, Finland, 10/7/12. https://doi.org/10.1145/2380445.2380465
Lee H, Che W, Chatha KS. Dynamic scheduling of stream programs on embedded multi-core processors. In CODES+ISSS'12 - Proceedings of the 10th ACM International Conference on Hardware/Software-Codesign and System Synthesis, Co-located with ESWEEK. 2012. p. 93-102 https://doi.org/10.1145/2380445.2380465
Lee, Haeseung ; Che, Weijia ; Chatha, Karam S. / Dynamic scheduling of stream programs on embedded multi-core processors. CODES+ISSS'12 - Proceedings of the 10th ACM International Conference on Hardware/Software-Codesign and System Synthesis, Co-located with ESWEEK. 2012. pp. 93-102
@inproceedings{781b34411e614d618a7b21d785575157,
title = "Dynamic scheduling of stream programs on embedded multi-core processors",
abstract = "Stream computing has emerged as an important model of computation for embedded system applications particularly in the multimedia and network processing domains. In recent past several programming languages and embedded multicore processors have been proposed for streaming applications. This paper examines the execution and dynamic scheduling of stream programs on embedded multi-core processors. The paper addresses the problem in the context of a multi-tasking environment with a time varying allocation of processing elements for a particular streaming application. As a solution the paper proposes a two step approach where the stream program is first compiled to gather key application information, and to generate re-targetable code. A light weight dynamic scheduler incorporates the second stage of the approach. The dynamic scheduler utilizes the static information and available resources to assign or partition the application across the multi-core architecture. The objective of the dynamic scheduler is to maximize the throughput of the application, and it is sensitive to the resource (processing elements, scratch-pad memory, DMA bandwidth) constraints imposed by the target architecture. We evaluate the proposed approach by compiling and scheduling benchmark stream programs on a representative embedded multi-core processor. We present experimental results that evaluate the quality of the solutions generated by the proposed approach by comparisons with existing techniques.",
keywords = "Dynamic scheduling, Embedded systems, Multi-core architectures, Stream programming",
author = "Haeseung Lee and Weijia Che and Chatha, {Karam S.}",
year = "2012",
doi = "10.1145/2380445.2380465",
language = "English (US)",
isbn = "9781450314268",
pages = "93--102",
booktitle = "CODES+ISSS'12 - Proceedings of the 10th ACM International Conference on Hardware/Software-Codesign and System Synthesis, Co-located with ESWEEK",

}

TY - GEN

T1 - Dynamic scheduling of stream programs on embedded multi-core processors

AU - Lee, Haeseung

AU - Che, Weijia

AU - Chatha, Karam S.

PY - 2012

Y1 - 2012

N2 - Stream computing has emerged as an important model of computation for embedded system applications particularly in the multimedia and network processing domains. In recent past several programming languages and embedded multicore processors have been proposed for streaming applications. This paper examines the execution and dynamic scheduling of stream programs on embedded multi-core processors. The paper addresses the problem in the context of a multi-tasking environment with a time varying allocation of processing elements for a particular streaming application. As a solution the paper proposes a two step approach where the stream program is first compiled to gather key application information, and to generate re-targetable code. A light weight dynamic scheduler incorporates the second stage of the approach. The dynamic scheduler utilizes the static information and available resources to assign or partition the application across the multi-core architecture. The objective of the dynamic scheduler is to maximize the throughput of the application, and it is sensitive to the resource (processing elements, scratch-pad memory, DMA bandwidth) constraints imposed by the target architecture. We evaluate the proposed approach by compiling and scheduling benchmark stream programs on a representative embedded multi-core processor. We present experimental results that evaluate the quality of the solutions generated by the proposed approach by comparisons with existing techniques.

AB - Stream computing has emerged as an important model of computation for embedded system applications particularly in the multimedia and network processing domains. In recent past several programming languages and embedded multicore processors have been proposed for streaming applications. This paper examines the execution and dynamic scheduling of stream programs on embedded multi-core processors. The paper addresses the problem in the context of a multi-tasking environment with a time varying allocation of processing elements for a particular streaming application. As a solution the paper proposes a two step approach where the stream program is first compiled to gather key application information, and to generate re-targetable code. A light weight dynamic scheduler incorporates the second stage of the approach. The dynamic scheduler utilizes the static information and available resources to assign or partition the application across the multi-core architecture. The objective of the dynamic scheduler is to maximize the throughput of the application, and it is sensitive to the resource (processing elements, scratch-pad memory, DMA bandwidth) constraints imposed by the target architecture. We evaluate the proposed approach by compiling and scheduling benchmark stream programs on a representative embedded multi-core processor. We present experimental results that evaluate the quality of the solutions generated by the proposed approach by comparisons with existing techniques.

KW - Dynamic scheduling

KW - Embedded systems

KW - Multi-core architectures

KW - Stream programming

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

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

U2 - 10.1145/2380445.2380465

DO - 10.1145/2380445.2380465

M3 - Conference contribution

SN - 9781450314268

SP - 93

EP - 102

BT - CODES+ISSS'12 - Proceedings of the 10th ACM International Conference on Hardware/Software-Codesign and System Synthesis, Co-located with ESWEEK

ER -