Table of Contents Author Guidelines Submit a Manuscript
International Journal of Reconfigurable Computing
Volume 2016 (2016), Article ID 2478907, 11 pages
http://dx.doi.org/10.1155/2016/2478907
Review Article

Operating System Concepts for Reconfigurable Computing: Review and Survey

Faculty of Electrical Engineering, Helmut Schmidt University, Hamburg, Germany

Received 7 September 2016; Revised 4 November 2016; Accepted 7 November 2016

Academic Editor: Michael Hübner

Copyright © 2016 Marcel Eckert et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Linked References

  1. http://www.ccixconsortium.com/.
  2. http://www.hsafoundation.com/.
  3. A. S. Tanenbaum and H. Bos, Modern Operating Systems, Prentice Hall Press, Englewood Cliffs, NJ, USA, 2014.
  4. G. Brebner, “A virtual hardware operating system for the xilinx xc6200,” in Field-Programmable Logic Smart Applications, New Paradigms and Compilers, R. Hartenstein and M. Glesner, Eds., vol. 1142 of Lecture Notes in Computer Science, pp. 327–336, Springer, Berlin, Germany, 1996. View at Publisher · View at Google Scholar
  5. G. Wigley and D. Kearney, “The development of an operating system for reconfigurable computing,” in Proceedings of the 9th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM '01), pp. 249–250, IEEE, Rohnert Park, Calif, USA, March 2001.
  6. G. B. Wigley and D. A. Kearney, “Research issues in operating systems for reconfigurable computing,” in Proceedings of the International Conference on Engineering of Reconfigurable System and Algorithms (ERSA '02), 2002.
  7. D. Koch, C. Beckhoff, and J. Teich, “Recobus-builder—a novel tool and technique to build statically and dynamically reconfigurable systems for FPGAs,” in Proceedings of the International Conference on Field Programmable Logic and Applications (FPL '08), pp. 119–124, IEEE, Heidelberg, Germany, September 2008. View at Publisher · View at Google Scholar · View at Scopus
  8. H. So and B. University of California, BORPH: An Operating System for FPGA-Based Reconfigurable Computers, University of California, Berkeley, Calif, USA, 2007, https://books.google.de/books?id=A3jVa48owLgC.
  9. J. Angermeier and J. Teich, “Heuristics for scheduling reconfigurable devices with consideration of reconfiguration overheads,” in Proceedings of the 22nd IEEE International Parallel and Distributed Processing Symposium (IPDPS '08), pp. 1–8, April 2008. View at Publisher · View at Google Scholar · View at Scopus
  10. A. Oetken, S. Wildermann, J. Teich, and D. Koch, “A bus-based SoC architecture for flexible module placement on reconfigurable FPGAs,” in Proceedings of the 20th International Conference on Field Programmable Logic and Applications (FPL '10), pp. 234–239, Milano, Italy, September 2010. View at Publisher · View at Google Scholar · View at Scopus
  11. K. Compton, J. Cooley, S. Knol, and S. Hauck, “Configuration relocation and defragmentation for fpgas,” Tech. Rep., 2000. View at Google Scholar
  12. O. Diessel, H. Eigindy, M. Middendorf, H. Schmeck, and B. Schmidt, “Dynamic scheduling of tasks on partially reconfigurable FPGAs,” IEE Proceedings: Computers and Digital Techniques, vol. 147, no. 3, pp. 181–188, 2000. View at Publisher · View at Google Scholar · View at Scopus
  13. F. Redaelli, M. D. Santambrogio, and S. Ogrenci Memik, “An ILP formulation for the task graph scheduling problem tailored to bi-dimensional reconfigurable architectures,” in Proceedings of the International Conference on Reconfigurable Computing and FPGAs (ReConFig '08), pp. 97–102, Cancun, Mexico, December 2008. View at Publisher · View at Google Scholar · View at Scopus
  14. K. Jozwik, H. Tomiyama, M. Edahiro, S. Honda, and H. Takada, “Rainbow: an OS extension for hardware multitasking on dynamically partially reconfigurable FPGAs,” in Proceedings of the International Conference on Reconfigurable Computing and FPGAs (ReConFig '11), pp. 416–421, December 2011. View at Publisher · View at Google Scholar · View at Scopus
  15. J. Kelm, I. Gelado, K. Hwang et al., “Operating system interfaces: bridging the gap between cpu and fpga accelerators,” in Proceedings of the International Symposium on FPGAs, vol. 48, Monterey, Calif, USA, February 2007.
  16. M. Adler, K. E. Fleming, A. Parashar, M. Pellauer, and J. Emer, “Leap scratchpads: automatic memory and cache management for reconfigurable logic,” in Proceedings of the 19th ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA '11), pp. 25–28, ACM, Monterey, Calif, USA, March 2011. View at Publisher · View at Google Scholar · View at Scopus
  17. K. Fleming, H.-J. Yang, M. Adler, and J. Emer, “The LEAP FPGA operating system,” in Proceedings of the 24th International Conference on Field Programmable Logic and Applications (FPL '14), pp. 1–8, Munich, Germany, September 2014. View at Publisher · View at Google Scholar · View at Scopus
  18. 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. View at Publisher · View at Google Scholar · View at Scopus
  19. J. Teich, S. P. Fekete, and J. Schepers, “Optimization of dynamic hardware reconfigurations,” The Journal of Supercomputing, vol. 19, no. 1, pp. 57–75, 2001. View at Publisher · View at Google Scholar · View at Scopus
  20. C. Steiger, H. Walder, and M. Platzner, “Operating systems for reconfigurable embedded platforms: online scheduling of real-time tasks,” IEEE Transactions on Computers, vol. 53, no. 11, pp. 1393–1407, 2004. View at Publisher · View at Google Scholar · View at Scopus
  21. R. Pellizzoni and M. Caccamo, “Real-time management of hardware and software tasks for FPGA-based embedded systems,” IEEE Transactions on Computers, vol. 56, no. 12, pp. 1666–1680, 2007. View at Publisher · View at Google Scholar · View at MathSciNet · View at Scopus
  22. D. Koch, C. Beckhoff, and J. Teich, “Minimizing internal fragmentation by fine-grained two-dimensional module placement for runtime reconfigurable systems,” in Proceedings of the IEEE Symposium on Field Programmable Custom Computing Machines (FCCM '09), pp. 251–254, April 2009. View at Publisher · View at Google Scholar · View at Scopus
  23. A. Ahmadinia, J. Angermeier, S. P. Fekete et al., “ReCoNodes-optimization methods for module scheduling and placement on reconfigurable hardware devices,” in Dynamically Reconfigurable Systems, pp. 199–222, Springer, Berlin, Germany, 2010. View at Google Scholar
  24. A. Wold, A. Agne, and J. Torresen, “Relocatable hardware threads in run-time reconfigurable systems,” in Reconfigurable Computing: Architectures, Tools, and Applications: 10th International Symposium, ARC 2014, Vilamoura, Portugal, April 14–16, 2014. Proceedings, D. Goehringer, M. Santambrogio, J. Cardoso, and K. Bertels, Eds., vol. 8405 of Lecture Notes in Computer Science, pp. 61–72, Springer, Berlin, Germany, 2014. View at Publisher · View at Google Scholar
  25. J.-Y. Mignolet, V. Nollet, P. Coene, D. Verkest, S. Vernalde, and R. Lauwereins, “Infrastructure for design and management of relocatable tasks in a heterogeneous reconfigurable system-on-chip,” in Proceedings of the Design, Automation and Test in Europe Conference and Exhibition (DATE '03), pp. 986–991, Munich, Germany, March 2003. View at Publisher · View at Google Scholar · View at Scopus
  26. G. Charitopoulos, I. Koidis, K. Papadimitriou, and D. Pnevmatikatos, “Hardware task scheduling for partially reconfigurable fpgas,” in Applied Reconfigurable Computing, K. Sano, D. Soudris, M. Huebner, and P. C. Diniz, Eds., vol. 9040 of Lecture Notes in Computer Science, pp. 487–498, Springer, Berlin, Germany, 2015. View at Publisher · View at Google Scholar
  27. K. Rupnow, W. Fu, and K. Compton, “Block, drop or roll(back): alternative preemption methods for RH multi-tasking,” in Proceedings of the IEEE Symposium on Field Programmable Custom Computing Machines (FCCM '09), pp. 63–70, April 2009. View at Publisher · View at Google Scholar · View at Scopus
  28. K.-J. Shih, H.-Y. Sun, and P.-A. Hsiung, “Dynamic hardware-software task switching and relocation mechanisms for reconfigurable systems,” in Proceedings of the IET International Conference on Frontier Computing. Theory, Technologies and Applications, pp. 157–162, Taichung, Taiwan, August 2010. View at Publisher · View at Google Scholar · View at Scopus
  29. P. G. Zaykov, G. K. Kuzmanov, and G. N. Gaydadjiev, “Reconfigurable multithreading architectures: a survey,” in Embedded Computer Systems: Architectures, Modeling, and Simulation: 9th International Workshop, SAMOS 2009, Samos, Greece, July 20–23, 2009. Proceedings, vol. 5657 of Lecture Notes in Computer Science, pp. 263–274, Springer, Berlin, Germany, 2009. View at Publisher · View at Google Scholar
  30. Y. Wang, X. Zhou, L. Wang et al., “SPREAD: a streaming-based partially reconfigurable architecture and programming model,” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 21, no. 12, pp. 2179–2192, 2013. View at Publisher · View at Google Scholar · View at Scopus
  31. K. Compton, Z. Li, J. Cooley, S. Knol, and S. Hauck, “Configuration relocation and defragmentation for run-time reconfigurable computing,” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 10, no. 3, pp. 209–220, 2002. View at Publisher · View at Google Scholar · View at Scopus
  32. O. Diessel and G. Wigley, “Opportunities for operating systems research in reconfigurable computing,” Tech. Rep. ACRC-99-018, University of South Australia, Adelaide, Australia, 1999. View at Google Scholar
  33. G. Wigley and D. Kearney, “The first real operating system for reconfigurable computers,” in Proceedings of the 6th Australasian Computer Systems Architecture Conference (ACSAC '01), pp. 130–137, January 2001. View at Publisher · View at Google Scholar · View at Scopus
  34. J. H. Kelm and S. S. Lumetta, “HybridOS: runtime support for reconfigurable accelerators,” in Proceedings of the 16th International ACM/SIGDA Symposium on Field Programmable Gate Arrays (FPGA '08), pp. 212–221, ACM, Monterey, Calif, USA, February 2008. View at Publisher · View at Google Scholar
  35. L. P. Carloni, K. L. McMillan, and A. L. Sangiovanni-Vincentelli, “Theory of latency-insensitive design,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 20, no. 9, pp. 1059–1076, 2001. View at Publisher · View at Google Scholar · View at Scopus
  36. M. Jacobsen, Y. Freund, and R. Kastner, “RIFFA: a reusable integration framework for FPGA accelerators,” in Proceedings of the 20th IEEE International Symposium on Field-Programmable Custom Computing Machines (FCCM '12), pp. 216–219, IEEE, Toronto, Canada, April-May 2012. View at Publisher · View at Google Scholar · View at Scopus
  37. M. Jacobsen and R. Kastner, “RIFFA 2.0: a reusable integration framework for FPGA accelerators,” in Proceedings of the 23rd International Conference on Field Programmable Logic and Applications (FPL '13), pp. 1–8, Porto, Portugal, September 2013. View at Publisher · View at Google Scholar · View at Scopus
  38. V. Nollet, P. Coene, D. Verkest, S. Vernalde, and R. Lauwereins, “Designing an operating system for a heterogeneous reconfigurable SoC,” in Proceedings of the International Parallel and Distributed Processing Symposium (IPDPS '03), p. 7, IEEE, April 2003. View at Publisher · View at Google Scholar · View at Scopus
  39. D. Andrews, D. Niehaus, R. Jidin et al., “Programming models for hybrid FPGA-CPU computational components: a missing link,” IEEE Micro, vol. 24, no. 4, pp. 42–53, 2004. View at Publisher · View at Google Scholar · View at Scopus
  40. D. Andrews, D. Niehaus, and P. Ashenden, “Programming models for hybrid CPU/FPGA chips,” Computer, vol. 37, no. 1, pp. 118–120, 2004. View at Publisher · View at Google Scholar · View at Scopus
  41. D. Andrews, W. Peck, J. Agron et al., “hthreads: a hardware/software co-designed multithreaded RTOS kernel,” in Proceedings of the 10th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA '05), pp. 331–338, September 2005. View at Scopus
  42. W. Peck, E. Anderson, J. Agron, J. Stevens, F. Baijot, and D. Andrews, “Hthreads: a computational model for reconfigurable devices,” in Proceedings of the International Conference on Field Programmable Logic and Applications (FPL '06), pp. 885–888, Madrid, Spain, August 2006. View at Publisher · View at Google Scholar · View at Scopus
  43. E. Lübbers and M. Platzner, “Reconos: an RTOS supporting hard- and software threads,” in Proceedings of the International Conference on Field Programmable Logic and Applications (FPL '07), pp. 441–446, IEEE, Amsterdam, The Netherlands, August 2007. View at Publisher · View at Google Scholar · View at Scopus
  44. A. Agne, M. Happe, A. Keller et al., “ReconOS: an operating system approach for reconfigurable computing,” IEEE Micro, vol. 34, no. 1, pp. 60–71, 2014. View at Publisher · View at Google Scholar · View at Scopus
  45. M. Happe, A. Traber, and A. Keller, “Preemptive hardware multitasking in reconOS,” in Applied Reconfigurable Computing: 11th International Symposium, ARC 2015, Bochum, Germany, April 13–17, 2015, Proceedings, vol. 9040 of Lecture Notes in Computer Science, pp. 79–90, Springer, Berlin, Germany, 2015. View at Publisher · View at Google Scholar
  46. D. Gohringer and J. Becker, “High performance reconfigurable multi-processorbased computing on FPGAs,” in Proceedings of the IEEE International Symposium on Processing, Workshops and Phd Forum (IPDPSW '10), pp. 1–4, Atlanta, Ga, USA, 2010. View at Publisher · View at Google Scholar
  47. D. Göhringer, M. Hübner, L. Hugot-Derville, and J. Becker, “Message passing interface support for the runtime adaptive multi-processor system-on-chip RAMPSoC,” in Proceedings of the 10th International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation (IC-SAMOS '10), pp. 357–364, July 2010. View at Publisher · View at Google Scholar · View at Scopus
  48. D. Göhringer, M. Hübner, E. N. Zeutebouo, and J. Becker, “CAP-OS: operating system for runtime scheduling, task mapping and resource management on reconfigurable multiprocessor architectures,” in Proceedings of the IEEE International Symposium on Parallel and Distributed Processing, Workshops and Phd Forum (IPDPSW '10), pp. 1–8, April 2010. View at Publisher · View at Google Scholar · View at Scopus
  49. D. Göhringer, S. Werner, M. Hübner, and J. Becker, “RAMPSoCVM: runtime support and hardware virtualization for a runtime adaptive MPSoC,” in Proceedings of the 21st International Conference on Field Programmable Logic and Applications (FPL '11), pp. 181–184, IEEE, Chania, Greece, September 2011. View at Publisher · View at Google Scholar · View at Scopus
  50. D. Gohringer, M. Hubner, V. Schatz, and J. Becker, “Runtime adaptive multi-processor system-on-chip: RAMPSoC,” in Proceedings of the IEEE International Symposium on Parallel and Distributed Processing (IPDPS '08), pp. 1–7, Miami, Fla, USA, April 2008. View at Publisher · View at Google Scholar
  51. X. Iturbe, K. Benkrid, A. T. Erdogan et al., “R3TOS: a reliable reconfigurable real-time operating system,” in Proceedings of the NASA/ESA Conference on Adaptive Hardware and Systems (AHS '10), pp. 99–104, IEEE, Anaheim, Calif, USA, June 2010. View at Publisher · View at Google Scholar · View at Scopus
  52. X. Iturbe, K. Benkrid, C. Hong et al., “R3TOS: a novel reliable reconfigurable real-time operating system for highly adaptive, efficient, and dependable computing on FPGAs,” IEEE Transactions on Computers, vol. 62, no. 8, pp. 1542–1556, 2013. View at Publisher · View at Google Scholar · View at MathSciNet · View at Scopus
  53. A. Ismail and L. Shannon, “FUSE: front-end user framework for O/S abstraction of hardware accelerators,” in Proceedings of the 19th IEEE International Symposium on Field-Programmable Custom Computing Machines (FCCM '11), pp. 170–177, May 2011. View at Publisher · View at Google Scholar · View at Scopus
  54. Y. Wang, J. Yan, X. Zhou et al., “A partially reconfigurable architecture supporting hardware threads,” in Proceedings of the International Conference on Field-Programmable Technology (FPT '12), pp. 269–276, IEEE, Seoul, Republic of Korea, December 2012. View at Publisher · View at Google Scholar · View at Scopus