skip to main content
research-article
Public Access

Task Transition Scheduling for Data-Adaptable Systems

Published:11 May 2017Publication History
Skip Abstract Section

Abstract

Data-adaptable embedded systems operate on a variety of data streams, which requires a large degree of configurability and adaptability to support runtime changes in data stream inputs. Data-adaptable reconfigurable embedded systems, when decomposed into a series of tasks, enable a flexible runtime implementation in which a system can transition the execution of certain tasks between hardware and software while simultaneously continuing to process data during the transition. Efficient runtime scheduling of task transitions is needed to optimize system throughput and latency of the reconfiguration and transition periods. In this article, we provide an overview of a runtime framework enabling the efficient transition of tasks between software and hardware in response to changes in system inputs. We further present and analyze several runtime transition scheduling algorithms and highlight the latency and throughput tradeoffs for two data-adaptable systems. To evaluate the task transition selection algorithms, a case study was performed on an adaptable JPEG2000 implementation as well as three other synchronous dataflow systems characterized by transition latency and communication load.

References

  1. S. Amarasinghe, M. Gordon, M. Karczmarek, J. Lin, D. Maze, R. M. Rabbah, and W. Thies. 2005. Language and compiler design for streaming applications. International Journal of Parallel Programming 33, 2, 261--278. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. E. Anderson, J. Argon, W. Peck, J. Stevens, F. Baijot, E. Komp, R. Sass, and D. Andrews. 2006. Enabling a uniform programming model across the software/hardware boundary. In Symposium on Field-Programmable Custom Computing Machines (FCCM). 89--98. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. A. Bakshi, V. K. Prasanna, and A. Ledeczi. 2001. Milan: A model based integrated simulation framework for design of embedded systems. In ACM SIGPLAN Workshop on Optimization of Middleware and Distributed Systems. 82--93.Google ScholarGoogle Scholar
  4. P. Banerjee, G. Mittal, D. Zaretsky, and X. Tang. 2004. Binachip-fpga: A tool to map DSP software binaries and assembly programs onto FPGAs. In Embedded Signal Processing Conference (GSPx).Google ScholarGoogle Scholar
  5. B. Bhattacharya and S. Bhattacharyya. 2001. Parameterized dataflow modeling for DSP systems. IEEE Transactions on Signal Processing 49, 10, 2408--2421. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. K. Bruneel, W. Heirman, and D. Stroobandt, 2011. Dynamic data folding with parameterizable configurations. ACM Transactions on Design Automation of Electronic Systems (TODAES), 16, 4, Article 43, 1--29.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. B. Buyukkurt, Z. Guo, and W. A. Najjar. 2006. Impact of loop unrolling on area, throughput and clock frequency in ROCCC: C to VHDL compiler for FPGAs. In International Workshop on Applied Reconfigurable Computing. 401--412. Google ScholarGoogle ScholarCross RefCross Ref
  8. T. Cervero, A. Gómez, S. López, R. Sarmiento, J. Dondo, F. Rincón, and J. C. López. 2013. A hierarchical scheduling and management solution for dynamic reconfiguration in FPGA-based embedded systems. SPIE Microtechnologies. International Society for Optics and Photonics. 1--9.Google ScholarGoogle Scholar
  9. J. A. Clemente, J. Resano, and D. Mozos. 2014. An approach to manage reconfigurations and reduce area cost in hard real-time reconfigurable systems. ACM Transactions on Embedded Computing Systems (TECS) 13, 4, Article 90, 1--24.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. P. Diguet, Y. Eustache, and G. Gogniat. 2010. Closed-loop-based self-adaptive hardware/software-embedded systems: design methodology and smart cam case study. ACM Transactions on Embedded Computing Systems (TECS) 10, 3, Article 38, 1--28.Google ScholarGoogle Scholar
  11. E. Faure, A. Greiner, and D. Genius. 2006. A generic hardware/software communication mechanism for multi-processor system on chip, targeting telecommunication applications. In Conference on Reconfigurable Communication-Centric SoCs (ReCoSoC). 237--242.Google ScholarGoogle Scholar
  12. P. Garcia, K. Compton, M. Schulte, E. Blem, and W. Fu. 2006. An overview of reconfigurable hardware in embedded systems. EURASIP Journal on Embedded Systems, 2006, 1, 1--19. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. Geilen. 2010. Synchronous dataflow scenarios. ACM Transactions on Embedded Computing Systems (TECS) 10, 2, Article 16, 1--31.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. Gokhale, J. Stone, J. Arnold, and M. Kalinowski. 2000. Stream-oriented FPGA computing in the streams-C high level language. In Symposium on Field-Programmable Custom Computing Machines (FCCM). 49--56. Google ScholarGoogle ScholarCross RefCross Ref
  15. M. Huang, V. Narayana, H. Simmler, O. Serres, and T. El-Ghazawi. 2010. Reconfiguration and communication-aware task scheduling for high-performance reconfigurable computing. ACM Transactions on Reconfigurable Technology and Systems (TRETS) 3, 4, Article 20, 1--25.Google ScholarGoogle Scholar
  16. Impulse Accelerated Technologies. 2010. Impulse CoDeveloper, www.impulseaccelerated.com.Google ScholarGoogle Scholar
  17. Jacqaurd Computing. 2001. ROCCC 2.0. Retrieved from http://www.jacquardcomputing.com/roccc/.Google ScholarGoogle Scholar
  18. JPEG 2000. 2004. ISO/IEC IS 15444--1: JPEG 2000 Image Coding System: Core Coding System.Google ScholarGoogle Scholar
  19. G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J. Loingtier, and J. Irwin. 1997. Aspect-Oriented Programming. Springer Berlin. Google ScholarGoogle ScholarCross RefCross Ref
  20. H. Kooti, E. Bozorgzadeh, S. Liao, and L. Bao. 2010. Transition-aware real-time task scheduling for reconfigurable embedded systems. In IEEE Design, Automation and Test in Europe (DATE). 232--237. Google ScholarGoogle ScholarCross RefCross Ref
  21. T. Marconi, Y. Lu, K. Bertels, and G. Gaydadjiev. 2010. 3D compaction: A novel blocking-aware algorithm for online hardware task scheduling and placement on 2D partially reconfigurable devices. In Reconfigurable Computing: Architectures, Tools and Applications. 194--206. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. S. Neema, J. Sztipanovits, G. Karsai, and K. Butts. 2003. Constraint-based design-space exploration and model synthesis. Embedded Software, Springer LNCS 2855/2003, 290--305.Google ScholarGoogle Scholar
  23. S. Neema, T. Bapty, J. Scott, and B. Eames. 2005. Signal processing platform: A tool chain for designing high performance signal processing applications. In IEEE SoutheastCon. 302--307. Google ScholarGoogle ScholarCross RefCross Ref
  24. K. Papadimitriou, A. Dollas, and S. Hauck. 2011. Performance of partial reconfiguration in FPGA systems: A survey and a cost model. ACM Transactions on Reconfigurable Technology and Systems (TRETS) 4, 4, Article 36, 1--24. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. D. Pnevmatikatos, T. Becker, A. Brokalakis, K. Bruneel, G. Gaydadjiev, W. Luk, K. Papadimitriou, I. Papaefstathiou, O. Pell, C. Pilato, et al. 2012. FASTER: Facilitating analysis and synthesis technologies for effective reconfiguration. In Euromicro Conference on Digital System Design (DSD), 234--241. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. V. Rana, M. D. Santambrogio, and D. Sciuto. 2007. Dynamic reconfigurability in embedded system design. In IEEE International Symposium on Circuits and Systems. 2734--2737. Google ScholarGoogle ScholarCross RefCross Ref
  27. J. Resano, J. Clemente, C. Gonzalez, D. Mozos, and F. Catthoor. 2008. Efficiently scheduling runtime reconfigurations. ACM Transactions on Design Automation of Electronic Systems (TODAES) 13, 4, Article 58, 1--12.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. N. Sandoval, C. Mackin, S Whitsitt, R. Lysecky, and J. Sprinkle. 2013a. System throughput optimization and runtime communication middleware supporting dynamic software-hardware task migration in data adaptable embedded systems. In IEEE Conference on Engineering of Computer Based Systems (ECBS). 59--68. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. N. Sandoval, C. Mackin, S. Whitsitt, R. Lysecky, and J. Sprinkle. 2013b. Runtime hardware/software task transition scheduling for runtime-adaptable embedded systems. International Conference on Field-Programmable Technology (FPT). 342--345. Google ScholarGoogle ScholarCross RefCross Ref
  30. M. Santambrogio. 2009. From reconfigurable architecture to self-adaptive autonomic systems. In International Conference on Computational Science and Engineering. 926--931. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. M. Santambrogio, S. Memik, V. Rana, U. Acar, and D. Sciuto. 2007. A novel SOC design methodology combining adaptive software and reconfigurable hardware. In International Conference on Computer-Aided Design (ICCAD). 303--308 Google ScholarGoogle ScholarCross RefCross Ref
  32. V. Sima and K. Bertels. 2009. Runtime decision of hardware or software execution on a heterogeneous reconfigurable platform. In International Symposium on Parallel and Distributed Processing (IPDPS). 1--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. F. Sironi, D. Bartolini, S. Campanoni, F. Cancare, H. Hoffmann, D. Sciuto, and M. Santambrogio. 2012. Metronome: Operating system level performance management via self-adaptive computing. In Design Automation Conference (DAC). 856--865. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. S. Stuijk, M. Geilen, and T. Basten. 2006. SDF∧3: SDF for free. In International Conference on Application of Concurrency to System Design (ACSD). 276--278. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. G. Venkataramani, W. Najjar, F. Kurdahi, N. Bagherzadeh, and W. Bohm. 2001. A compiler framework for mapping applications to a coarse-grained reconfigurable computer architecture. In Conference on Compiler, Architecture and Synthesis for Embedded Systems (CASES). 116--125. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. N. S. Voros, M. Hübner, J. Becker, M. Kühnle, F. Thomaitiv, and A. Grasset. 2013. MORPHEUS: A heterogeneous dynamically reconfigurable platform for designing highly complex embedded systems. ACM Transactions on Embedded Computing Systems (TECS) 12, 3, Article 70, 1--33. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. S. Whitsitt, J. Sprinkle, and R. Lysecky. 2012. An overseer control methodology for data adaptable embedded systems. In International Workshop on Multi-Paradigm Modeling (MPM). 1--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. J. Williams, N. Bergmann, and X. Xie. 2005. FIFO communication models in operating systems for reconfigurable computing. In Field-Programmable Custom Computing Machines (FCCM). 277--278. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. X. Xie, J. Williams, and N. Bergmann. 2007. Asymmetric multi-processor architecture for reconfigurable system-on-chip and operating system abstractions. In Field-Programmable Technology (FPT). 41--48. Google ScholarGoogle ScholarCross RefCross Ref
  40. Xilinx, Inc. 2010. Fast Simplex Link (FSL). Retrieved from www.xilinx.com/products/ipcenter/FSL.htm.Google ScholarGoogle Scholar
  41. M. Yuan, Z. Gu, X. He, X. Liu, and L. Jiang. 2010. Hardware/software partitioning and pipelined scheduling on runtime reconfigurable FPGAs. ACM Transactions on Design Automation of Electronic Systems (TODAES) 15, 2, Article 13, 1--41.Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. M. Zeller and C. Prehofer. 2012. Timing constraints for runtime adaptation in real-time, networked embedded systems. In International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS). 73--82. Google ScholarGoogle ScholarCross RefCross Ref
  43. J. Zhu, I. Sander, and A. Jantsch. 2010. Pareto efficient design for reconfigurable streaming applications on CPU/FPGAs. In Design, Automation and Test in Europe (DATE). 1035--1040.Google ScholarGoogle Scholar

Index Terms

  1. Task Transition Scheduling for Data-Adaptable Systems

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!