This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Operating Systems for Reconfigurable Embedded Platforms: Online Scheduling of Real-Time Tasks
November 2004 (vol. 53 no. 11)
pp. 1393-1407
Today's reconfigurable hardware devices have huge densities and are partially reconfigurable, allowing for the configuration and execution of hardware tasks in a true multitasking manner. This makes reconfigurable platforms an ideal target for many modern embedded systems that combine high computation demands with dynamic task sets. A rather new line of research is engaged in the construction of operating systems for reconfigurable embedded platforms. Such an operating system provides a minimal programming model and a runtime system. The runtime system performs online task and resource management. In this paper, we first discuss design issues for reconfigurable hardware operating systems. Then, we focus on a runtime system for guarantee-based scheduling of hard real-time tasks. We formulate the scheduling problem for the 1D and 2D resource models and present two heuristics, the horizon and the stuffing technique, to tackle it. Simulation experiments conducted with synthetic workloads evaluate the performance and the runtime efficiency of the proposed schedulers. The scheduling performance for the 1D resource model is strongly dependent on the aspect ratios of the tasks. Compared to the 1D model, the 2D resource model is clearly superior. Finally, the runtime overhead of the scheduling algorithms is shown to be acceptably low.

[1] Xilinx, Inc., Virtex-II Pro Platform FPGAs: Complete Data Sheet, November 11, 2003 http:/www.xilinx.com.
[2] Altera Corp., Excalibur Device Overview, May 2002 http:/www.altera.com.
[3] B.L. Hutchings and M.J. Wirthlin, Implementation Approaches for Reconfigurable Logic Applications Proc. Int'l Workshop Field-Programmable Logic and Applications (FPL), pp. 419-428, 1995.
[4] C. Plessl, R. Enzler, H. Walder, J. Beutel, M. Platzner, L. Thiele, and G. Tröster, The Case for Reconfigurable Hardware in Wearable Computing Personal and Ubiquitous Computing, pp. 299-308, Oct. 2003.
[5] IMEC Interuniversity Micro Electronic Center, T-ReCS Gecko http:/www.imec.be, year?
[6] S. Chakraborty, M. Gries, S. Künzli, and L. Thiele, Design Space Exploration of Network Processor Architectures Network Processor Design: Issues and Practices, Volume 1, pp. 55-89 Morgan Kaufmann, Oct. 2002.
[7] G. Brebner, A Virtual Hardware Operating System for the Xilinx XC6200 Proc. Int'l Workshop Field-Programmable Logic and Applications (FPL), pp. 327-336, 1996.
[8] H. Walder and M. Platzner, Reconfigurable Hardware Operating Systems: From Concepts to Realizations Proc. Int'l Conf. Eng. of Reconfigurable Systems and Algorithms (ERSA), pp. 284-287, 2003.
[9] J.-Y. Mignolet, S. Vernalde, D. Verkest, and R. Lauwereins, Enabling Hardware-Software Multitasking on a Reconfigurable Computing Platform for Networked Portable Multimedia Appliances Proc. Int'l Conf. Eng. of Reconfigurable Systems and Algorithms (ERSA), pp. 116-122, 2002.
[10] K. Compton, Z. Li, J. Cooley, S. Knol, and S. Hauck, Configuration Relocation and Defragmentation for Run-Time Reconfigurable Computing IEEE Trans. Very Large Scale Integration (VLSI) Systems, vol. 10, no. 3, pp. 209-220, June 2002.
[11] H. Walder and M. Platzner, Non-Preemptive Multitasking on FPGAs: Task Placement and Footprint Transform Proc. Int'l Conf. Eng. of Reconfigurable Systems and Algorithms (ERSA), pp. 24-30, 2002.
[12] K.M. GajjalaPurna and D. Bhatia, Temporal Partitioning and Scheduling Data Flow Graphs for Reconfigurable Computers IEEE Trans. Computers, vol. 48, no. 6, pp. 579-591, June 1999.
[13] S. Fekete, E. Köhler, and J. Teich, Optimal FPGA Module Placement with Temporal Precedence Constraints Proc. Design Automation and Test in Europe Conf. (DATE), pp. 658-665, 2001.
[14] G. Brebner, "The Swappable Logic Unit: A Paradigm for Virtual Hardware," Proc. IEEE Symp. FPGAs for Custom Computing Machines, pp. 77-86, 1997.
[15] J.S. Jean, K. Tomko, V. Yavagal, J. Shah, and R. Cook, Dynamic Reconfiguration to Support Concurrent Applications IEEE Trans. Computers, vol. 48, no. 6, pp. 591-602, June 1999.
[16] P. Merino, J.C. Lopez, and M. Jacome, A Hardware Operating System for Dynamic Reconfiguration of FPGAs Proc. Int'l Workshop Field Programmable Logic and Applications (FPL), pp. 431-435, 1998.
[17] P. Merino, M. Jacome, and J.C. Lopez, A Methodology for Task Based Partitioning and Scheduling of Dynamically Reconfigurable Systems Proc. IEEE Symp. FPGAs for Custom Computing Machines (FCCM), pp. 324-325, 1998.
[18] H. Simmler, L. Levinson, and R. Männer, Multitasking on FPGA Coprocessors Proc. Int'l Conf. Field Programmable Logic and Applications (FPL), pp. 121-130, 2000.
[19] J. Burns, A. Donlin, J. Hogg, S. Singh, and M. Wit, “A Dynamic Reconfiguration Run-Time System,” Proc. FCCM, pp. 66-75, 1997.
[20] N. Shirazi, W. Luk, and P. Cheung, Run-Time Management of Dynamically Reconfigurable Designs Proc. Int'l Workshop Field-Programmable Logic and Applications (FPL), pp. 59-68, 1998.
[21] O. Diessel and H. ElGindy, On Scheduling Dynamic FPGA Reconfigurations Proc. Australasian Conf. Parallel and Real-Time Systems (PART), pp. 191-200, 1998.
[22] O. Diessel, H. ElGindy, M. Middendorf, H. Schmeck, and B. Schmidt, Dynamic Scheduling of Tasks on Partially Reconfigurable FPGAs} IEE Proc. Computers and Digital Techniques, vol. 147, no. 3, pp. 181-188, May 2000.
[23] K. Compton, J. Cooley, S. Knol, and S. Hauck, Configuration Relocation and Defragmentation for Reconfigurable Computing Proc. IEEE Symp. FPGAs for Custom Computing Machines (FCCM), pp. 279-280, 2001.
[24] G. Brebner and O. Diessel, Chip-Based Reconfigurable Task Management Proc. Int'l Conf. Field Programmable Logic and Applications (FPL), pp. 182-191, 2001.
[25] K. Bazargan, R. Kastner, and M. Sarrafzadeh, Fast Template Placement for Reconfigurable Computing Systems IEEE Design and Test of Computers, vol. 17, no. 1, pp. 68-83, 2000.
[26] H. Walder, C. Steiger, and M. Platzner, Fast Online Task Placement on FPGAs: Free Space Partitioning and 2D-Hashing Reconfigurable Architectures Workshop (RAW), Proc. Int'l Parallel and Distributed Processing Symp. (IPDPS), 2003.
[27] G. Wigley and D. Kearney, The Development of an Operating System for Reconfigurable Computing Proc. IEEE Symp. FPGAs for Custom Computing Machines (FCCM), 2001.
[28] T. Marescaux, A. Bartic, D. Verkest, S. Vernalde, and R. Lauwereins, Interconnection Networks Enable Fine-Grain Dynamic Multi-Tasking on FPGAs Proc. Int'l Conf. Field-Programmable Logic and Applications (FPL), pp. 795-805, 2002.
[29] V. Nollet, P. Coene, D. Verkest, S. Vernalde, and R. Lauwereins, Designing an Operating System for a Heterogeneous Reconfigurable SoC Reconfigurable Architectures Workshop (RAW), Proc.e Int'l Parallel and Distributed Processing Symp. (IPDPS), 2003.
[30] C. Steiger, H. Walder, and M. Platzner, Heuristics for Online Scheduling Real-Time Tasks to Partially Reconfigurable Devices Proc. Int'l Conf, Field Programmable Logic and Applications (FPL), pp. 575-584, 2003.
[31] D. Lim and M. Peattie, Two Flows for Partial Reconfiguration: Module Based or Small Bit Manipulations XAPP 290, Xilinx, 2002.
[32] H. Walder and M. Platzner, A Runtime Environment for Reconfigurable Hardware Operating Systems Proc. Int'l Conf. Field-Programmable Logic and Applications (FPL), 2004.
[33] H. Walder, S. Nobs, and M. Platzner, XF-BOARD: A Prototyping Platform for Reconfigurable Hardware Operating Systems Proc. Int'l Conf. Eng. of Reconfigurable Systems and Algorithms (ERSA), 2004.
[34] G. Buttazzo, Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications. Kluwer, 2000.
[35] D. Feitelsen, Job Scheduling in Multiprogrammed Parallel Systems IBM Research Report, vol. RC 87657, Aug. 1997.
[36] A. Borodin and R. El-Yaniv, {Online Computation and Competitive Analysis. Cambridge Univ. Press, 1998.
[37] J. Csirik and G. Woeginger, Online Algorithms: The State of the Art. Springer-Verlag, 1998.
[38] B. Baker, E. Coffman, and R. Rivest, Orthogonal Packings in Two Dimensions SIAM J. Computing, no. 9, pp. 846-855, 1980.
[39] S.A. Goldman, J. Parwatika, and S. Suri, Online Scheduling with Hard Deadlines J. Algorithms, vol. 34, pp. 370-387, 2000.
[40] W. Zhao, K. Ramamritham, and J.A. Stankovic, Preemptive Scheduling under Time and Resource Constraints IEEE Trans. Computers, vol. 36, no. 8, pp. 949-960, Aug. 1987.
[41] S.-M. Yoo, H. Youn, and H. Choo, Dynamic Scheduling and Allocation in Two-Dimensional Mesh-Connected Multicomputers for Real-Time Tasks IEICE Trans. Information and Systems, vol. E84-D, no. 5, pp. 613-622, 2001.

Index Terms:
FPGA, partial reconfiguration, operating system, online scheduling, real-time.
Citation:
Christoph Steiger, Herbert Walder, Marco Platzner, "Operating Systems for Reconfigurable Embedded Platforms: Online Scheduling of Real-Time Tasks," IEEE Transactions on Computers, vol. 53, no. 11, pp. 1393-1407, Nov. 2004, doi:10.1109/TC.2004.99
Usage of this product signifies your acceptance of the Terms of Use.