Abstract
In embedded systems, SPM (scratchpad memory) is an attractive alternative to cache memory due to its lower energy consumption and higher predictability of program execution. This paper studies the problem of placing variables of a program into an SPM such that its WCET (worst-case execution time) is minimized. We propose an efficient dynamic approach that comprises two novel heuristics. The first heuristic iteratively selects a most beneficial variable as an SPM resident candidate based on its impact on the k longest paths of the program. The second heuristic incrementally allocates each SPM resident candidate to the SPM based on graph coloring and acyclic graph orientation. We have evaluated our approach by comparing with an ILP-based approach and a longest-path-based greedy approach using the eight benchmarks selected from Powerstone and Mälardalen WCET Benchmark suites under three different SPM configurations. Our approach achieves up to 21% and 43% improvements in WCET reduction over the ILP-based approach and the greedy approach, respectively.
- Angiolini, F., Menichelli, F., Ferrero, A., Benini, L., and Olivieri, M. A post-compiler approach to scratchpad mapping of code. In Proceedings of the 2004 International Cconference on Compilers, Architecture and Synthesis for Embedded Systems (2004), pp. 259--267. Google Scholar
Digital Library
- Deverge, J.-F., and Puaut, I. WCET-directed dynamic scratchpad memory allocation of data. In Proceedings of the 19th Euromicro Conference on Real-Time Systems (2007), pp. 179--190. Google Scholar
Digital Library
- Egger, B., Lee, J., and Shin, H. Dynamic scratchpad memory management for code in portable systems with an MMU. ACM Transactions on Embedded Computing Systems 7, 2 (2008), 11:1--11:38. Google Scholar
Digital Library
- Falk, H., and Kleinsorge, J. C. Optimal static WCET-aware scratchpad allocation of program code. In Proceedings of the 46th Annual Design Automation Conference (2009), pp. 732--737. Google Scholar
Digital Library
- Falk, H., Plazar, S., and Theiling, H. Compile-time decided instruction cache locking using worst-case execution paths. In Proceedings of the 5th IEEE/ACM International Conference on Hardware/Software Codesign and System Synthesis (2007), pp. 143--148. Google Scholar
Digital Library
- Francesco, P., Marchal, P., Atienza, D., Benini, L., Catthoor, F., and Mendias, J. M. An integrated hardware/software approach for run-time scratchpad management. In Proceedings of the 41st annual Design Automation Conference (2004), pp. 238--243. Google Scholar
Digital Library
- Goldberg, A., Wang, T., and Zimmermann, D. Applications of feasible path analysis to program testing. In Proceedings of the 1994 ACM SIGSOFT International Symposium on Software Testing and Analysis (1994), pp. 80--94. Google Scholar
Digital Library
- Gustafsson, J., Betts, A., Ermedahl, A., and Lisper, B. The Mälardalen WCET benchmarks -- past, present and future. In Proceedings of the 10th International Workshop on Worst-Case Execution Time Analysis (2010), pp. 137--147.Google Scholar
- Hennessy, J. L., and Patterson, D. A. Computer Architecture: A Quantitative Approach. Morgan Kaufmann Publishers, 2007. Google Scholar
Digital Library
- Janapsatya, A., Ignjatovic, A., and Parameswaran, S. A novel instruction scratchpad memory optimization method based on concomitance metric. In Proceedings of the 2006 Asia and South Pacific Design Automation Conference (2006), pp. 612--617. Google Scholar
Digital Library
- Janapsatya, A., Parameswaran, S., and Ignjatovic, A. Hardware/software managed scratchpad memory for embedded system. In Proceedings of the 2004 IEEE/ACM International Conference on Computer-Aided Design (2004), pp. 370--377. Google Scholar
Digital Library
- Kandemir, M. T., Ramanujam, J., Irwin, M. J., Vijaykrishnan, N., Kadayif, I., and Parikh, A. Dynamic management of scratch-pad memory space. In Proceedings of the 38th annual Design Automation Conference (2001), pp. 690--695. Google Scholar
Digital Library
- Li, L., Feng, H., and Xue, J. Compiler-directed scratchpad memory management via graph coloring. ACM Transactions on Architecture and Code Optimization 6, 3 (2009), 9:1--9:17. Google Scholar
Digital Library
- Li, L., Nguyen, Q. H., and Xue, J. Scratchpad allocation for data aggregates in superperfect graphs. In Proceedings of the 2007 ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (2007), pp. 207--26. Google Scholar
Digital Library
- Li, L., Xue, J., and Knoop, J. Scratchpad memory allocation for data aggregates via interval coloring in superperfect graphs. ACM Transactions on Embedded Computing Systems 10, 2 (2011), 28:1--28:42. Google Scholar
Digital Library
- Li, X., Liang, Y., Mitra, T., and Roychoudhury, A. Chronos: A timing analyzer for embedded software. Science of Computer Programming 69, 1--3 (2007), 56--67. Google Scholar
Digital Library
- Liu, T., Li, M., and Xue, C. J. Minimizing WCET for real-time embedded systems via static instruction cache locking. In Proceedings of the 15th IEEE Symposium on Real-Time and Embedded Technology and Applications (2009), pp. 35--44. Google Scholar
Digital Library
- Palem, K. V., and Simons, B. B. Scheduling time-critical instructions on risc machines. ACM Transactions on Programming Languages and Systems 15, 4 (1993), 632--658. Google Scholar
Digital Library
- Plazar, S., Falk, H., Kleinsorge, J. C., and Marwedel, P. WCET-aware static locking of instruction caches. In Proceedings of the International Symposium on Code Generation and Optimization (2012), pp. 44--52. Google Scholar
Digital Library
- Puaut, I., and Pais, C. Scratchpad memories vs locked caches in hard real-time systems: a quantitative comparison. In Proceedings of the conference on Design, Automation and Test in Europe (2007), pp. 1484--1489. Google Scholar
Digital Library
- Scott, J., Lee, L. H., Arends, J., and Moyer, B. Designing the low-power M*CORE architecture. In Proceedings of IEEE Power Driven Micro Architecture Workshop (1998), pp. 145--150.Google Scholar
- Suhendra, V., Mitra, T., Roychoudhury, A., and Chen, T. WCET centric data allocation to scratchpad memory. In Proceedings of the 26th IEEE International Real-Time Systems Symposium (2005), pp. 223--232. Google Scholar
Digital Library
- Suhendra, V., Mitra, T., Roychoudhury, A., and Chen, T. Efficient detection and exploitation of infeasible paths for software timing analysis. In Proceedings of the 43rd annual Design Automation Conference (2006), pp. 358--363. Google Scholar
Digital Library
- Udayakumaran, S., and Barua, R. Compiler-decided dynamic memory allocation for scratch-pad based embedded systems. In Proceedings of the 2003 International Conference on Compilers, Architecture and Synthesis for Embedded Systems (2003), pp. 276--286. Google Scholar
Digital Library
- Vera, X., Lisper, B., and Xue, J. Data cache locking for higher program predictability. In Proceedings of the 2003 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems (2003), pp. 272--282. Google Scholar
Digital Library
- Vera, X., Lisper, B., and Xue, J. Data cache locking for tight timing calculations. ACM Transactions on Embedded Computing Systems 7, 1 (2007), 4:1--4:38. Google Scholar
Digital Library
- Verma, M., and Marwedel, P. Overlay techniques for scratchpad memories in low power embedded processors. IEEE Transactions on Very Large Scale Integration Systems 14, 8 (2006), 802--815. Google Scholar
Digital Library
- Wu, H., Xue, J., and Parameswaran, S. Optimal WCET-aware code selection for scratchpad memory. In Proceedings of the 10th ACM International Conference on Embedded Software (2010), pp. 59--68. Google Scholar
Digital Library
- Yang, X., Wang, L., Xue, J., Deng, Y., and Zhang, Y. Comparability graph coloring for optimizing utilization of stream register files in stream processors. In Proceedings of the 14th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (2009), pp. 111--120. Google Scholar
Digital Library
Index Terms
WCET-aware data selection and allocation for scratchpad memory
Recommendations
WCET-aware data selection and allocation for scratchpad memory
LCTES '12: Proceedings of the 13th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, Tools and Theory for Embedded SystemsIn embedded systems, SPM (scratchpad memory) is an attractive alternative to cache memory due to its lower energy consumption and higher predictability of program execution. This paper studies the problem of placing variables of a program into an SPM ...
WCET-Aware Energy-Efficient Data Allocation on Scratchpad Memory for Real-Time Embedded Systems
Scratchpad memory (SPM) is a software-managed, small, on-chip form of memory. For real-time embedded systems, worst case execution time (WCET) is more important than average-case performance. We address the problem of allocating program data variables ...
Endurance-Aware Allocation of Data Variables on NVM-Based Scratchpad Memory in Real-Time Embedded Systems
Nonvolatile memory (NVM) has many benefits compared to the traditional static RAM, such as improved reliability and reduced power consumption, but it has long write latency and limited write endurance. Scratchpad memory (SPM) is software-managed small on-...






Comments