Dynamic Runtime Scheduler Support for SCORE

Michael Monkang Chu

EECS Department
University of California, Berkeley
Technical Report No. UCB/CSD-01-1134
2001

http://www2.eecs.berkeley.edu/Pubs/TechRpts/2001/CSD-01-1134.pdf

Reconfigurable computing devices offer substantial improvements in functional density and yield versus traditional microprocessors, yet remain out of general-purpose use due in part to their difficulty of programming and lack of cross-device compatibility. In a stream-based compute model called SCORE (Stream Computations Organized for Reconfigurable Execution) was introduced with a goal to provide a programming model for easily exploiting the computational density of reconfigurable devices. SCORE virtualizes reconfigurable resources (compute, storage, and communication) by dividing a computation up into fixed-size "pages" and time-multiplexing the virtual pages on available physical hardware. Consequently, SCORE applications can scale up or down automatically to efficiently run on a wide range of hardware. In this project we implemented project implements a dynamic runtime scheduler for SCORE that virtualizes the reconfigurable computation fabric and automatically manages the execution of SCORE applications in hardware. Initial performance scaling experiments show that a dynamic scheduler is able to automatically scale applications on reduced hardware and exploit hardware under-utilization to achieve reasonable area-time curves. In this paper, we present the basic scheduler details and runtime system flow along with key implementation highlights, such as scheduling heuristics, memory management, and deadlock detection.


BibTeX citation:

@techreport{Chu:CSD-01-1134,
    Author = {Chu, Michael Monkang},
    Title = {Dynamic Runtime Scheduler Support for SCORE},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {2001},
    URL = {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2001/6433.html},
    Number = {UCB/CSD-01-1134},
    Abstract = {Reconfigurable computing devices offer substantial improvements in functional density and yield versus traditional microprocessors, yet remain out of general-purpose use due in part to their difficulty of programming and lack of cross-device compatibility. In a stream-based compute model called SCORE (Stream Computations Organized for Reconfigurable Execution) was introduced with a goal to provide a programming model for easily exploiting the computational density of reconfigurable devices. SCORE virtualizes reconfigurable resources (compute, storage, and communication) by dividing a computation up into fixed-size "pages" and time-multiplexing the virtual pages on available physical hardware. Consequently, SCORE applications can scale up or down automatically to efficiently run on a wide range of hardware. In this project we implemented project implements a dynamic runtime scheduler for SCORE that virtualizes the reconfigurable computation fabric and automatically manages the execution of SCORE applications in hardware. Initial performance scaling experiments show that a dynamic scheduler is able to automatically scale applications on reduced hardware and exploit hardware under-utilization to achieve reasonable area-time curves. In this paper, we present the basic scheduler details and runtime system flow along with key implementation highlights, such as scheduling heuristics, memory management, and deadlock detection.}
}

EndNote citation:

%0 Report
%A Chu, Michael Monkang
%T Dynamic Runtime Scheduler Support for SCORE
%I EECS Department, University of California, Berkeley
%D 2001
%@ UCB/CSD-01-1134
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2001/6433.html
%F Chu:CSD-01-1134