Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Open access

Extending the WCET Problem to Optimize for Runtime-Reconfigurable Processors

Published: 12 December 2016 Publication History

Abstract

The correctness of a real-time system does not depend on the correctness of its calculations alone but also on the non-functional requirement of adhering to deadlines. Guaranteeing these deadlines by static timing analysis, however, is practically infeasible for current microarchitectures with out-of-order scheduling pipelines, several hardware threads, and multiple (shared) cache layers. Novel timing-analyzable features are required to sustain the strongly increasing demand for processing power in real-time systems.
Recent advances in timing analysis have shown that runtime-reconfigurable instruction set processors are one way to escape the scarcity of analyzable processing power while preserving the flexibility of the system. When moving calculations from software to hardware by means of reconfigurable custom instructions (CIs)—additional to a considerable speedup—the overestimation of a task’s worst-case execution time (WCET) can be reduced. CIs typically implement functionality that corresponds to several hundred instructions on the central processing unit (CPU) pipeline. While analyzing instructions for worst-case latency may introduce pessimism, the latency of CIs—executed on the reconfigurable fabric—is precisely known.
In this work, we introduce the problem of selecting reconfigurable CIs to optimize the WCET of an application. We model this problem as an extension to state-of-the-art integer linear programming (ILP)-based program path analysis. This way, we enable optimization based on accurate WCET estimates with integration of information about global program flow, for example, infeasible paths. We present an optimal solution with effective techniques to prune the search space and a greedy heuristic that performs a maximum number of steps linear in the number of partitions of reconfigurable area available. Finally, we show the effectiveness of optimizing the WCET on a reconfigurable processor by evaluating a complex multimedia application with multiple reconfigurable CIs for several hardware parameters.

References

[1]
AbsInt. 2016. aiT Worst-Case Execution Time Analyzers. Retrieved May 16, 2016 from http://www.absint.com/ait/.
[2]
Sebastian Altmeyer, Björn Lisper, Claire Maiza, Jan Reineke, and Christine Rochange. 2015. WCET and mixed-criticality: What does confidence in WCET estimations depend upon? In OASIcs-OpenAccess Series in Informatics, Vol. 47. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik.
[3]
Philip Axer, Rolf Ernst, Heiko Falk, Alain Girault, Daniel Grund, Nan Guan, Bengt Jonsson, Peter Marwedel, Jan Reineke, Christine Rochange, Maurice Sebastian, Reinhard Von Hanxleden, Reinhard Wilhelm, and Wang Yi. 2014. Building timing predictable embedded systems. ACM Trans. Embed. Comput. Syst. 13, 4 (2014), 82.
[4]
Clément Ballabriga, Hugues Cassé, Christine Rochange, and Pascal Sainrat. 2010. OTAWA: An open toolbox for adaptive WCET analysis. In SEUS. Springer, 35--46.
[5]
Lars Bauer, Muhammad Shafique, and Jörg Henkel. 2008. A computation-and communication-infrastructure for modular special instructions in a dynamically reconfigurable processor. In Proc. Int. Conf. on Field Programmable Logic and Applications. IEEE, 203--208.
[6]
Margrit Betke, Esin Haritaoglu, and Larry S. Davis. 2000. Real-time multiple vehicle detection and tracking from a moving vehicle. Mach. Vis. Appl. 12, 2 (2000), 69--83.
[7]
Armelle Bonenfant, Hugues Cassé, Marianne De Michiel, Jens Knoop, Laura Kovács, and Jakob Zwirchmayr. 2012. FFX: A portable WCET annotation language. In Proceedings of the 20th International Conference on Real-Time and Network Systems. ACM, 91--100.
[8]
Marvin Damschen, Lars Bauer, and Jörg Henkel. 2016. Timing analysis of tasks on runtime reconfigurable processors. IEEE Trans. VLSI Syst. (2016). online first
[9]
Stephen A. Edwards and Edward A. Lee. 2007. The case for the precision timed (PRET) machine. In Proc. of Design Automat. Conf. ACM, 264--265.
[10]
Andreas Ermedahl, Friedhelm Stappert, and Jakob Engblom. 2005. Clustered worst-case execution-time calculation. IEEE Trans. Comput. 54, 9 (2005), 1104--1122.
[11]
Heiko Falk and Jan C. Kleinsorge. 2009. Optimal static WCET-aware scratchpad allocation of program code. In Proc. of Design Automat. Conf. ACM, 732--737.
[12]
Heiko Falk, Sascha Plazar, and Henrik Theiling. 2007. Compile-time decided instruction cache locking using worst-case execution paths. In Proc. of Int. Conf. on Hardware/Software Codesign and Syst. Synthesis. ACM, 143--148.
[13]
Carlo Galuzzi and Koen Bertels. 2011. The instruction-set extension problem: A survey. ACM Trans. Reconfig. Technol. Syst. 4, 2 (2011), 18.
[14]
Jörg Henkel, Lars Bauer, Michael Hübner, and Artjom Grudnitsky. 2011. i-Core: A run-time adaptive processor for embedded multi-core systems. In Proc. Int. Conf. on Engineering of Reconfig. Syst. and Algorithms.
[15]
Jörg Henkel, Andreas Herkersdorf, Lars Bauer, Thomas Wild, Michael Hübner, Ravi Kumar Pujari, Artjom Grudnitsky, Jan Heisswolf, Aurang Zaib, Benjamin Vogel, and others. 2012. Invasive manycore architectures. In Proc. 17th Asia and South Pacific Design Automation Conf. (ASP-DAC). 193--200.
[16]
Silvia Heubach and Toufik Mansour. 2004. Compositions of n with parts in a set. Congress Numer. 168 (2004), 127.
[17]
Raimund Kirner, Jens Knoop, Adrian Prantl, Markus Schordan, and Albrecht Kadlec. 2011. Beyond loop bounds: Comparing annotation languages for worst-case execution time analysis. Softw. Syst. Model. 10, 3 (2011), 411--437.
[18]
Yau-Tsun Steven Li, Sharad Malik, and Andrew Wolfe. 1995. Efficient microarchitecture modeling and path analysis for real-time software. In Proc. of Real-Time Syst. Symp. IEEE, 298--307.
[19]
Tiantian Liu, Minming Li, and Chun Jason Xue. 2009. Minimizing WCET for real-time embedded systems via static instruction cache locking. In Real-Time and Embed. Technol. and Applications Symp. IEEE, 35--44.
[20]
Chang Yun Park and Alan C. Shaw. 1990. Experiments with a program timing tool based on source-level timing schema. In Proc. of Real-time Syst. Symp. IEEE, 72--81.
[21]
Sascha Plazar, Jan C. Kleinsorge, Peter Marwedel, and Heiko Falk. 2012. WCET-aware static locking of instruction caches. In Proc. 10th International Symposium on Code Generation and Optimization. ACM, 44--52.
[22]
Jan Reineke, Björn Wachter, Stephan Thesing, Reinhard Wilhelm, Ilia Polian, Jochen Eisinger, and Bernd Becker. 2006. A definition and classification of timing anomalies. WCET 4 (2006).
[23]
Balaram Sinharoy, J. A. Van Norstrand, Richard J. Eickemeyer, Hung Q. Le, Jens Leenstra, Dung Q. Nguyen, B. Konigsburg, K. Ward, M. D. Brown, José E. Moreira, and others. 2015. IBM POWER8 processor core microarchitecture. IBM J. Res. Dev. 59, 1 (2015), 2--1.
[24]
Christoph Steiger, Herbert Walder, Marco Platzner, and Lothar Thiele. 2003. Online scheduling and placement of real-time tasks to partially reconfigurable devices. In Proc. of Real-Time Syst. Symp. IEEE, 224--225.
[25]
Russell Tessier, Kenneth Pocek, and Andre DeHon. 2015. Reconfigurable computing architectures. Proc. IEEE 103, 3 (2015), 332--354.
[26]
Lothar Thiele and Reinhard Wilhelm. 2004. Design for timing predictability. Real-Time Syst. 28, 2--3 (2004), 157--177.
[27]
Reinhard Wilhelm, Jakob Engblom, Andreas Ermedahl, Niklas Holsti, Stephan Thesing, David Whalley, Guillem Bernat, Christian Ferdinand, Reinhold Heckmann, Tulika Mitra, Frank Mueller, Isabelle Puaut, Peter Puschner, Jan Staschulat, and Per Stenström. 2008. The worst-case execution-time problem—overview of methods and survey of tools. ACM Trans. Embed. Comput. Syst. 7, 3, Article 36 (May 2008), 53 pages.
[28]
Reinhard Wilhelm, Daniel Grund, Jan Reineke, Marc Schlickling, Markus Pister, and Christian Ferdinand. 2009. Memory hierarchies, pipelines, and buses for future architectures in time-critical embedded systems. Trans. Comput.-Aid. Des. Integr. Circ. Syst. 28, 7 (2009), 966--978.
[29]
Ming Yang, Ying Wu, James Crenshaw, Bruce Augustine, and Russell Mareachen. 2006. Face detection for automatic exposure control in handheld camera. In Proc. 4th IEEE Int. Conf. on Computer Vision Systems (ICVS’06). IEEE, 17--17.
[30]
Pan Yu and Tulika Mitra. 2004. Scalable custom instructions identification for instruction-set extensible processors. In Proc. of Int. Conf. on Compilers, Architecture and Synthesis for Embed. Syst. ACM, 69--78.
[31]
Pan Yu and Tulika Mitra. 2005. Satisfying real-time constraints with custom instructions. In Proc. Int. Conf. on Hardware/Software Codesign and System Synthesis. IEEE, 166--171.

Cited By

View all
  • (2019)Analyses and architectures for mixed-critical systemsProceedings of the International Conference on Embedded Software Companion10.1145/3349568.3356997(1-2)Online publication date: 13-Oct-2019
  • (2019)i-Core: A Runtime-Reconfigurable Processor Platform for Cyber-Physical SystemsEmbedded, Cyber-Physical, and IoT Systems10.1007/978-3-030-16949-7_1(1-36)Online publication date: 29-Jun-2019
  • (2018)RESEARCH OF LIMIT TIME INDICES OF SOFTWARE ENVIRONMENTS OF REAL TIME OPERATING SYSTEMSScience and Transport Progress10.15802/stp2018/133384(105-112)Online publication date: 12-Jun-2018
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Architecture and Code Optimization
ACM Transactions on Architecture and Code Optimization  Volume 13, Issue 4
December 2016
648 pages
ISSN:1544-3566
EISSN:1544-3973
DOI:10.1145/3012405
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 December 2016
Accepted: 01 October 2016
Revised: 01 September 2016
Received: 01 May 2016
Published in TACO Volume 13, Issue 4

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. WCET
  2. custom instructions
  3. instruction set extension
  4. predictability
  5. real-time
  6. reconfigurable processors
  7. timing analysis

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

  • German Research Foundation (DFG) as part of the Transregional Collaborative Research Center “Invasive Computing”

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)45
  • Downloads (Last 6 weeks)7
Reflects downloads up to 09 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2019)Analyses and architectures for mixed-critical systemsProceedings of the International Conference on Embedded Software Companion10.1145/3349568.3356997(1-2)Online publication date: 13-Oct-2019
  • (2019)i-Core: A Runtime-Reconfigurable Processor Platform for Cyber-Physical SystemsEmbedded, Cyber-Physical, and IoT Systems10.1007/978-3-030-16949-7_1(1-36)Online publication date: 29-Jun-2019
  • (2018)RESEARCH OF LIMIT TIME INDICES OF SOFTWARE ENVIRONMENTS OF REAL TIME OPERATING SYSTEMSScience and Transport Progress10.15802/stp2018/133384(105-112)Online publication date: 12-Jun-2018
  • (2018)Preemption of the Partial Reconfiguration Process to Enable Real-Time Computing With FPGAsACM Transactions on Reconfigurable Technology and Systems10.1145/318218311:2(1-24)Online publication date: 26-Jul-2018
  • (2018)Shallow Water Waves on a Deep Technology Stack: Accelerating a Finite Volume Tsunami Model Using Reconfigurable Hardware in Invasive ComputingEuro-Par 2017: Parallel Processing Workshops10.1007/978-3-319-75178-8_54(676-687)Online publication date: 8-Feb-2018
  • (2017)CoRQ: Enabling Runtime Reconfiguration Under WCET Guarantees for Real-Time SystemsIEEE Embedded Systems Letters10.1109/LES.2017.27148449:3(77-80)Online publication date: 28-Aug-2017

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media