skip to main content
research-article

Timing Analysis of Tasks on Runtime Reconfigurable Processors

Published: 01 January 2017 Publication History

Abstract

Real-time embedded systems need to be analyzable for timing guarantees. Despite significant scientific advances, however, timing analysis lags years behind current microarchitectures with out-of-order scheduling pipelines, several hardware threads, and multiple (shared) cache layers. To satisfy the increasing performance demands, analyzable performance features are required. We propose a novel timing analysis approach to introduce runtime reconfigurable instruction set processors as one way to escape the scarcity of analyzable performance while preserving the flexibility of the system. We introduce extensions to the state-of-the-art Integer linear programming (ILP)-based program path analysis for computing precise worst case time bounds in the presence of the widely used technique to continue processor execution during reconfiguration by emulating not yet reconfigured custom instructions (CIs) in software. We identify and safely bound a timing anomaly of runtime reconfiguration, where executing faster than worst case time during reconfiguration extends the execution time of the whole program. Stalling the processor during reconfiguration (easier to analyze but not state-of-the-art for reconfigurable processors) is not required in our approach. Finally, we show the precision of our analysis on a complex multimedia application with multiple reconfigurable CIs for several hardware parameters and give advice on how to deal with reconfiguration delay under timing guarantees.

References

[1]
R. Wilhelm, D. Grund, J. Reineke, M. Schlickling, M. Pister, and C. Ferdinand, “Memory hierarchies, pipelines, and buses for future architectures in time-critical embedded systems,” IEEE Trans. Comput.-Aided Design Integr. Circuits Syst., vol. Volume 28, no. Issue 7, pp. 966–978, 2009.
[2]
P. Puschner and C. Koza, “Calculating the maximum, execution time of real-time programs,” Real-Time Syst., vol. Volume 1, no. Issue 2, pp. 159–176, 1989.
[3]
J. Reineke et al., “A definition and classification of timing anomalies,” in Proc. WCET, vol. Volume 4 . 2006.
[4]
R. Wilhelm et al., “<chapter-title>Static timing analysis for hard real-time systems</chapter-title>,” in Verification, Model Checking, and Abstract Interpretation . Berlin, Germany: Springer, 2010, pp. 3–22.
[5]
P. Cousot and R. Cousot, “Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints,” in Proc. ACM Symp. Principles Program. Lang., 1977, pp. 238–252.
[6]
M. Schoeberl, “Time-predictable computer architecture,” EURASIP J. Embedded Syst., vol. Volume 2009, 2009, Art. no. .
[7]
L. Thiele and R. Wilhelm, “Design for timing predictability,” Real-Time Syst., vol. Volume 28, nos. Issue 2</issue>–<issue>3, pp. 157–177, 2004.
[8]
S. A. Edwards and E. A. Lee, “The case for the precision timed (PRET) machine,” in Proc. ACM Design Autom. Conf., 2007, pp. 264–265.
[9]
P. Axer et al., “Building timing predictable embedded systems,” ACM Trans. Embedded Comput. Syst., vol. Volume 13, no. Issue 4, 2014, Art. no. .
[10]
S. Hauck, T. W. Fry, M. M. Hosler, and J. P. Kao, “The Chimaera reconfigurable functional unit,” IEEE Trans. Very Large Scale Integr. (VLSI) Syst., vol. Volume 12, no. Issue 2, pp. 206–217, 2004.
[11]
S. Vassiliadis, S. Wong, G. Gaydadjiev, K. Bertels, G. Kuzmanov, and E. M. Panainte, “The MOLEN polymorphic processor,” IEEE Trans. Comput., vol. Volume 53, no. Issue 11, pp. 1363–1375, 2004.
[12]
L. Bauer, M. Shafique, S. Kramer, and J. Henkel, “RISPP: Rotating instruction set processing platform,” in Proc. ACM 44th Design Autom. Conf., 2007, pp. 791–796.
[13]
C. Steiger, H. Walder, and M. Platzner, “Operating systems for reconfigurable embedded platforms: Online scheduling of real-time tasks,” IEEE Trans. Comput., vol. Volume 53, no. Issue 11, pp. 1393–1407, 2004.
[14]
J. R. Hauser and J. Wawrzynek, “Garp: A MIPS processor with a reconfigurable coprocessor,” in Proc. IEEE Symp. Field-Program. Custom Comput. Mach., Apr. 1997, pp. 12–21.
[15]
R. D. Wittig and P. Chow, “OneChip: An FPGA processor with reconfigurable logic,” in Proc. IEEE Int. Symp. FPGAs Custom Comput. Mach., Apr. 1996, pp. 126–135.
[16]
M. Dales, “Managing a reconfigurable processor in a general purpose workstation environment,” in Proc. IEEE Comput. Soc. Conf. Design, Autom. Test Eur., Mar. 2003, pp. 980–985.
[17]
L. Bauer, M. Shafique, and J. Henkel, “A computation- and communication- infrastructure for modular special instructions in a dynamically reconfigurable processor,” in Proc. IEEE Int. Conf. Field Program. Logic Appl., Sep. 2008, pp. 203–208.
[18]
C. Galuzzi and K. Bertels, “The instruction-set extension problem: A survey,” ACM Trans. Reconfigurable Technol. Syst., vol. Volume 4, no. Issue 2, 2011, Art. no. .
[19]
J. Henkel et al., “Invasive manycore architectures,” in Proc. 17th Asia South Pacific Design Autom. Conf. (ASP-DAC), 2012, pp. 193–200.
[20]
J. Cong, M. A. Ghodrat, M. Gill, B. Grigorian, H. Huang, and G. Reinman, “Composable accelerator-rich microprocessor enhanced for adaptivity and longevity,” in Proc. Int. Symp. Low Power Electron. Design (ISLPED), Piscataway, NJ, USA, 2013, pp. 305–310.
[21]
A. Grudnitsky, L. Bauer, and J. Henkel, “COREFAB: Concurrent reconfigurable fabric utilization in heterogeneous multi-core systems,” in Proc. ACM Int. Conf. Compil., Archit. Synthesis Embedded Syst., 2014, Art. no. .
[22]
P. Yu and T. Mitra, “Satisfying real-time constraints with custom instructions,” in Proc. IEEE Int. Conf. Hardw./Softw. Codesign Syst. Synthesis, Sep. 2005, pp. 166–171.
[23]
C. Park and A. C. Shaw, “Experiments with a program timing tool based on source-level timing schema,” in Proc. IEEE Real-Time Syst. Symp., Dec. 1990, pp. 72–81.
[24]
J. Whitham and N. Audsley, “MCGREP—A predictable architecture for embedded real-time systems,” in Proc. IEEE Real-Time Syst. Symp., Dec. 2006, pp. 13–24.
[25]
S. Uhrig, S. Maier, G. Kuzmanov, and T. Ungerer, “Coupling of a reconfigurable architecture and a multithreaded processor core with integrated real-time scheduling,” in Proc. IEEE Int. Symp. Parallel Distrib. Process. Symp., Apr. 2006, pp. 1–4.
[26]
S. Uhrig, S. Maier, and T. Ungerer, “Toward a processor core for real-time capable autonomic systems,” in Proc. IEEE Int. Symp. Signal Process. Inf. Technol., Dec. 2005, pp. 19–22.
[27]
F. Dittmann and S. Frank, “Hard real-time reconfiguration port scheduling,” in Proc. IEEE Conf. Design, Autom. Test Eur., Apr. 2007, pp. 1–6.
[28]
H. P. Huynh and T. Mitra, “Runtime reconfiguration of custom instructions for real-time embedded systems,” in Proc. IEEE Conf. Design, Autom. Test Eur., Apr. 2009, pp. 1536–1541.
[29]
A. Luppold, B. Menhorn, H. Falk, and F. Slomka, “A new concept for system-level design of runtime reconfigurable real-time systems,” ACM SIGBED Rev., vol. Volume 10, no. Issue 4, pp. 57–60, 2013.
[30]
A. Agne et al., “ReconOS: An operating system approach for reconfigurable computing,” IEEE Micro, vol. Volume 34, no. Issue 1, pp. 60–71, 2014.
[31]
J. A. Clemente, J. Resano, and D. Mozos, “An approach to manage reconfigurations and reduce area cost in hard real-time reconfigurable systems,” ACM Trans. Embedded Comput. Syst., vol. Volume 13, no. Issue 4, 2014, Art. no. .
[32]
V. Suhendra, T. Mitra, A. Roychoudhury, and T. Chen, “WCET centric data allocation to scratchpad memory,” in Proc. 26th IEEE Int. Real-Time Syst. Symp. (RTSS), Washington, DC, USA, Dec. 2005, pp. 223–232.
[33]
R. Wilhelm et al., “The worst-case execution-time problem—Overview of methods and survey of tools,” ACM Trans. Embedded Comput. Syst., vol. Volume 7, no. Issue 3, 2008, Art. no. .
[34]
Y.-T. S. Li, S. Malik, and A. Wolfe, “Efficient microarchitecture modeling and path analysis for real-time software,” in Proc. IEEE Real-Time Syst. Symp., Dec. 1995, pp. 298–307.
[35]
H. Theiling, C. Ferdinand, and R. Wilhelm, “Fast and precise WCET prediction by separated cache and path analyses,” Real-Time Syst., vol. Volume 18, nos. Issue 2</issue>–<issue>3, pp. 157–179, 2000.
[36]
C. Rochange and P. Sainrat, “<chapter-title>A context-parameterized model for static analysis of execution times</chapter-title>,” in Transactions on High-Performance Embedded Architectures and Compilers II . Berlin, Germany: Springer, 2009, pp. 222–241.
[37]
F. Martin, M. Alt, R. Wilhelm, and C. Ferdinand, “<chapter-title>Analysis of loops</chapter-title>,” in Compiler Construction . Berlin, Germany: Springer, 1998, pp. 80–94.
[38]
J. Henkel, L. Bauer, M. Hübner, and A. Grudnitsky, “i-Core: A run-time adaptive processor for embedded multi-core systems,” in Proc. Int. Conf. Eng. Reconfigurable Syst. Algorithms, 2011, pp. 1–8.
[39]
aiT Worst-Case Execution Time Analyzers, accessed on 13, 2015. {Online}. Available: http://www.absint.com/ait/

Cited By

View all
  1. Timing Analysis of Tasks on Runtime Reconfigurable Processors

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image IEEE Transactions on Very Large Scale Integration (VLSI) Systems
    IEEE Transactions on Very Large Scale Integration (VLSI) Systems  Volume 25, Issue 1
    January 2017
    392 pages

    Publisher

    IEEE Educational Activities Department

    United States

    Publication History

    Published: 01 January 2017

    Qualifiers

    • Research-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 31 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    View options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media