Abstract
In many modern embedded systems, the available resources (e.g., CPU clock cycles, memory, and energy) are consumed nonuniformly while the system is under exploitation. Typically, the resource requirements in the system change with different input data that the system process. These data trigger different parts of the embedded software, resulting in different operations executed that require different hardware platform resources to be used. A significant research effort has been dedicated to develop mechanisms for runtime resource management (e.g., branch prediction for pipelined processors, prefetching of data from main memory to cache, and scenario-based design methodologies). All these techniques rely on the availability of information at runtime about upcoming changes in resource requirements. In this article, we propose a method for detecting upcoming resource changes based on preliminary calculation of software variables that have the most dynamic impact on resource requirements in the system. We apply the method on a modified real-life biomedical algorithm with real input data and estimate a 40% energy reduction as compared to static DVFS scheduling. Comparing to dynamic DVFS scheduling, an 18% energy reduction is demonstrated.
- Mario Bambagini, Mauro Marinoni, Hakan Aydin, and Giorgio Buttazzo. 2016. Energy-aware scheduling for real-time systems: A survey. ACM Transactions on Embedded Computer Systems 15, 1, Article 7 (Jan. 2016), 34 pages. Google Scholar
Digital Library
- T.-F. Chen and J.-L. Baer. 1995. Effective hardware-based data prefetching for high performance processors. IEEETransComp 44, 5 (May 1995), 609--623. Google Scholar
Digital Library
- J. Engblom. 1999. Static properties of commercial embedded real-time programs, and their implication for worst-case execution time analysis. In Proceedings of the 5th IEEE Real-Time Technology and Applications Symposium. 46--55. Google Scholar
Digital Library
- Iason Filippopoulos, Francky Catthoor, and Per Gunnar Kjeldsberg. 2013. Exploration of energy efficient memory organisations for dynamic multimedia applications using system scenarios. Transactions on Biomedical Circuits and Systems 17, 3--4 (September 2013), 669--692.Google Scholar
- John W. C. Fu, Janak H. Patel, and Bob L. Janssens. 1992. Stride directed prefetching in scalar processors. In Proceedings of the 24th Annual International Symposium on Microarchitecture (MICRO 25). IEEE, Los Alamitos, CA, 102--110. Google Scholar
Digital Library
- S. V. Gheorghita, T. Basten, and H. Corporaal. 2006. Profiling driven scenario detection and prediction for multimedia applications. In Proceedings of the International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation (IC-SAMOS). IEEE, Los Alamitos, CA, 63--70.Google Scholar
- S. V. Gheorghita, S. Stuijk, T. Basten, and H. Corporaal. 2005. Automatic scenario detection for improved WCET estimation. In Proceedings of the 42nd Design Automation Conference. ACM Press, New York, 101--104. Google Scholar
Digital Library
- Stefan Valentin Gheorghita, Martin Palkovic, Juan Hamers, Arnout Vandecappelle, Stelios Mamagkakis, Twan Basten, Lieven Eeckhout, Henk Corporaal, Francky Catthoor, Frederik Vandeputte, and Koen De Bosschere. 2009. System-scenario-based design of dynamic embedded systems. Transactions on Design Automation of Electronic Systems (TODAES) 14, 3 (January 2009), 1--45. Google Scholar
Digital Library
- M. Grannaes, M. Jahre, and L. Natvig. 2010. Multi-level hardware prefetching using low complexity delta correlating prediction tables with partial matchins. In Proceedings of the 5th International Conference on High Performance Embedded Architectures and Compilers (HiPEAC’10). Springer-Verlag, Berlin, 247--261. Google Scholar
Digital Library
- E. Hammari, F. Catthoor, P. G. Kjeldsberg, J. Huisken, K. Tsakalis, and L. Iasemidis. 2012. Identifying data-dependent system scenarios in a dynamic embedded system. In Proceedings of the 2012 International Conference on Engineering of Reconfigurable Systems 8 Algorithms (ERSA’12). CSREA Press, Las Vegas, NV, 70--77.Google Scholar
- J. L. Hennesy and D. A. Patterson. 2012. Computer Architecture: A Quantitative Approach. Morgan Kaufmann, Burlington, MA. Google Scholar
Digital Library
- Jos Hulzink, Mario Konijnenburg, Maryam Ashouei, Arjan Breeschoten, Torfinn Berset, Jos Huisken, Jan Stuyt, Harmke de Groot, Francisco Barat, Johan David, and Johan Van Ginderdeuren. 2011. An ultra low energy biomedical signal processing system operating at near-threshold. Transactions on Biomedical Circuits and Systems 5, 6 (December 2011), 546--554.Google Scholar
Cross Ref
- L. D. Iasemidis, Deng-Shan Shiau, Panos M. Pardalos, Wanpracha Chaovalitwongse, K. Narayanana, Awadhesh Prasad, Konstantinos Tsakalis, Paul R. Carney, and J. Chris Sackellares. 2005. Long-term prospective on-line real-time seizure prediction. Clinical Neurophysiology 116, 3 (March 2005), 532--544.Google Scholar
Cross Ref
- L. D. Iasemidis. 2011. Long-term prospective on-line real-time seizure prediction. Neurosurgical Clinics of North America 22, 4 (October 2011), 489--506.Google Scholar
- Leon D. Iasemidis, Deng-Shan Shiau, Wanpracha Chaovalitwongse, J. Chris Sackellares, Panos M. Pardalos, Jose C. Principe, Paul R. Carney, Awadhesh Prasad, Balaji Veeramani, and Konstantinos Tsakalis. 2003. Adaptive epileptic seizure prediction system. Transactions on Biomedical Engineering 50, 5 (May 2003), 616--627.Google Scholar
- Z. Ma, P. Marchal, D. P. Scarpazza, P. Yang, C. Wong, J. I. Gomez, S. Himpe, C. Ykman-Couvreur, and F. Catthoor. 2007. Systematic Methodology for Real-Time Cost-Effective Mapping of Dynamic Concurrent Task-Based Systems on Heterogeneous Platforms. Springer, Dordrecht, The Netherlands. Google Scholar
Digital Library
- R. Nair. 1995. Optimal 2-bit branch predictors. IEEETransComp 44, 5 (May 1995), 698--702. Google Scholar
Digital Library
- Kyle J. Nesbit and James E. Smith. 2004. Data cache prefetching using a global history buffers. In 10th International Symposium on High Performance Computer Architecture (HPCA’04). IEEE, 96--106. Google Scholar
Digital Library
- Mladen Skelin, Marc Geilen, Francky Catthoor, and Sverre Hendseth. 2014. Worst-case throughput analysis for parametric rate and parametric actor execution time scenario-aware dataflow graphs. In Proceedings of the 1st International Workshop on Synthesis of Continuous Parameters (SynCoP). 65--79.Google Scholar
Cross Ref
- Alan Jay Smith. 1982. Cache memories. Computer Surveys 14, 3 (September 1982), 473--530. Google Scholar
Digital Library
- A. Wolf, J. B. Swift, H. L. Swinney, and A. Vastano. 1985. Determining Lyapunov exponents from a time series. Physica 16D 16 (1985), 285--317.Google Scholar
- Y. Yassin, P. G. Kjeldsberg, A. Perkis, and F. Catthoor. 2016. Dynamic Hardware Management of the H264/AVC Encoder Control Structure Using a Framework for System Scenarios. IEEE, 222--230.Google Scholar
- T.-Y. Yeh and Y. N. Patt. 1991. Two-level adaptive training branch prediction. In Proceedings of the 24th Annual International Symposium on Microarchitecture (MICRO 24). ACM, New York, 51--61. Google Scholar
Digital Library
- N. Zompakis, I. Filippopoulos, P. G. Kjeldsberg, F. Catthoor, and D. Soudris. 2014. Systematic exploration of power-aware scenarios for IEEE 802.11ac WLAN systems. In Proceedings of the 17th EUROMICRO Conference on Digital System Design (DSD). IEEE, 28--35. Google Scholar
Digital Library
Index Terms
Runtime Precomputation of Data-Dependent Parameters in Embedded Systems
Recommendations
Speculative precomputation: long-range prefetching of delinquent loads
Special Issue: Proceedings of the 28th annual international symposium on Computer architecture (ISCA '01)This paper explores Speculative Precomputation, a technique that uses idle thread context in a multithreaded architecture to improve performance of single-threaded applications. It attacks program stalls from data cache misses by pre-computing future ...
Speculative precomputation: long-range prefetching of delinquent loads
ISCA '01: Proceedings of the 28th annual international symposium on Computer architectureThis paper explores Speculative Precomputation, a technique that uses idle thread context in a multithreaded architecture to improve performance of single-threaded applications. It attacks program stalls from data cache misses by pre-computing future ...
Runtime reconfiguration of custom instructions for real-time embedded systems
DATE '09: Proceedings of the Conference on Design, Automation and Test in EuropeThis paper explores runtime reconfiguration of custom instructions in the context of multi-tasking real-time embedded systems. We propose a pseudo-polynomial time algorithm that minimizes processor utilization through customization and runtime ...






Comments