A lightweight run-time scheduler for multitasking multicore stream applications

Michael A. Baker, Karam S. Chatha

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

3 Citations (Scopus)

Abstract

Stream programming models promise dramatic improvements in developers' ability to express parallelism in their applications while enabling extremely efficient implementations on modern many-core processors. Unfortunately, the wide variation in the architectural features of available multi-core processors implies that a single compiler may be incapable of generating general solutions which can run on many target systems, or even on different configurations of the same system. In particular, off-line approaches for finding optimal mappings and schedules for a stream program on a specific processor are limited by their lack of portability across different processors, and by a lack of flexibility for run time variations in resource availability in typical multi-tasking environments. The paper presents a scheme that includes a lightweight compile-time sequencer, and a dynamic scheduler capable of mapping stream programs onto available cores in a multi-core processor at run-time. Unlike previous implementations, our scheme requires limited knowledge of the target architecture's resources at compile time. The off-line portion of the scheme generates canonical scheduling information about the stream program. This information is utilized by the lightweight run-time scheduling algorithm to generate application mappings in linear time based on available resources giving near optimal throughput. Evaluations of schedules generated for twelve streaming benchmarks gives an average of 96% and 93% of the theoretical optimum throughput for schedules with up to 4 and 128 cores, respectively.

Original languageEnglish (US)
Title of host publicationProceedings - IEEE International Conference on Computer Design: VLSI in Computers and Processors
Pages297-304
Number of pages8
DOIs
StatePublished - 2010
Event28th IEEE International Conference on Computer Design, ICCD 2010 - Amsterdam, Netherlands
Duration: Oct 3 2010Oct 6 2010

Other

Other28th IEEE International Conference on Computer Design, ICCD 2010
CountryNetherlands
CityAmsterdam
Period10/3/1010/6/10

Fingerprint

Multitasking
Throughput
Scheduling algorithms
Scheduling
Availability

ASJC Scopus subject areas

  • Electrical and Electronic Engineering
  • Hardware and Architecture

Cite this

Baker, M. A., & Chatha, K. S. (2010). A lightweight run-time scheduler for multitasking multicore stream applications. In Proceedings - IEEE International Conference on Computer Design: VLSI in Computers and Processors (pp. 297-304). [5647732] https://doi.org/10.1109/ICCD.2010.5647732

A lightweight run-time scheduler for multitasking multicore stream applications. / Baker, Michael A.; Chatha, Karam S.

Proceedings - IEEE International Conference on Computer Design: VLSI in Computers and Processors. 2010. p. 297-304 5647732.

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

Baker, MA & Chatha, KS 2010, A lightweight run-time scheduler for multitasking multicore stream applications. in Proceedings - IEEE International Conference on Computer Design: VLSI in Computers and Processors., 5647732, pp. 297-304, 28th IEEE International Conference on Computer Design, ICCD 2010, Amsterdam, Netherlands, 10/3/10. https://doi.org/10.1109/ICCD.2010.5647732
Baker MA, Chatha KS. A lightweight run-time scheduler for multitasking multicore stream applications. In Proceedings - IEEE International Conference on Computer Design: VLSI in Computers and Processors. 2010. p. 297-304. 5647732 https://doi.org/10.1109/ICCD.2010.5647732
Baker, Michael A. ; Chatha, Karam S. / A lightweight run-time scheduler for multitasking multicore stream applications. Proceedings - IEEE International Conference on Computer Design: VLSI in Computers and Processors. 2010. pp. 297-304
@inproceedings{3e64464f0a9847a4be3c8f24868edec2,
title = "A lightweight run-time scheduler for multitasking multicore stream applications",
abstract = "Stream programming models promise dramatic improvements in developers' ability to express parallelism in their applications while enabling extremely efficient implementations on modern many-core processors. Unfortunately, the wide variation in the architectural features of available multi-core processors implies that a single compiler may be incapable of generating general solutions which can run on many target systems, or even on different configurations of the same system. In particular, off-line approaches for finding optimal mappings and schedules for a stream program on a specific processor are limited by their lack of portability across different processors, and by a lack of flexibility for run time variations in resource availability in typical multi-tasking environments. The paper presents a scheme that includes a lightweight compile-time sequencer, and a dynamic scheduler capable of mapping stream programs onto available cores in a multi-core processor at run-time. Unlike previous implementations, our scheme requires limited knowledge of the target architecture's resources at compile time. The off-line portion of the scheme generates canonical scheduling information about the stream program. This information is utilized by the lightweight run-time scheduling algorithm to generate application mappings in linear time based on available resources giving near optimal throughput. Evaluations of schedules generated for twelve streaming benchmarks gives an average of 96{\%} and 93{\%} of the theoretical optimum throughput for schedules with up to 4 and 128 cores, respectively.",
author = "Baker, {Michael A.} and Chatha, {Karam S.}",
year = "2010",
doi = "10.1109/ICCD.2010.5647732",
language = "English (US)",
isbn = "9781424489350",
pages = "297--304",
booktitle = "Proceedings - IEEE International Conference on Computer Design: VLSI in Computers and Processors",

}

TY - GEN

T1 - A lightweight run-time scheduler for multitasking multicore stream applications

AU - Baker, Michael A.

AU - Chatha, Karam S.

PY - 2010

Y1 - 2010

N2 - Stream programming models promise dramatic improvements in developers' ability to express parallelism in their applications while enabling extremely efficient implementations on modern many-core processors. Unfortunately, the wide variation in the architectural features of available multi-core processors implies that a single compiler may be incapable of generating general solutions which can run on many target systems, or even on different configurations of the same system. In particular, off-line approaches for finding optimal mappings and schedules for a stream program on a specific processor are limited by their lack of portability across different processors, and by a lack of flexibility for run time variations in resource availability in typical multi-tasking environments. The paper presents a scheme that includes a lightweight compile-time sequencer, and a dynamic scheduler capable of mapping stream programs onto available cores in a multi-core processor at run-time. Unlike previous implementations, our scheme requires limited knowledge of the target architecture's resources at compile time. The off-line portion of the scheme generates canonical scheduling information about the stream program. This information is utilized by the lightweight run-time scheduling algorithm to generate application mappings in linear time based on available resources giving near optimal throughput. Evaluations of schedules generated for twelve streaming benchmarks gives an average of 96% and 93% of the theoretical optimum throughput for schedules with up to 4 and 128 cores, respectively.

AB - Stream programming models promise dramatic improvements in developers' ability to express parallelism in their applications while enabling extremely efficient implementations on modern many-core processors. Unfortunately, the wide variation in the architectural features of available multi-core processors implies that a single compiler may be incapable of generating general solutions which can run on many target systems, or even on different configurations of the same system. In particular, off-line approaches for finding optimal mappings and schedules for a stream program on a specific processor are limited by their lack of portability across different processors, and by a lack of flexibility for run time variations in resource availability in typical multi-tasking environments. The paper presents a scheme that includes a lightweight compile-time sequencer, and a dynamic scheduler capable of mapping stream programs onto available cores in a multi-core processor at run-time. Unlike previous implementations, our scheme requires limited knowledge of the target architecture's resources at compile time. The off-line portion of the scheme generates canonical scheduling information about the stream program. This information is utilized by the lightweight run-time scheduling algorithm to generate application mappings in linear time based on available resources giving near optimal throughput. Evaluations of schedules generated for twelve streaming benchmarks gives an average of 96% and 93% of the theoretical optimum throughput for schedules with up to 4 and 128 cores, respectively.

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

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

U2 - 10.1109/ICCD.2010.5647732

DO - 10.1109/ICCD.2010.5647732

M3 - Conference contribution

SN - 9781424489350

SP - 297

EP - 304

BT - Proceedings - IEEE International Conference on Computer Design: VLSI in Computers and Processors

ER -