The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.04 - April (2013 vol.62)
pp: 758-771
Duhee Lee , Real-Time Ubiquitous Syst. Lab., Seoul Nat. Univ., Seoul, South Korea
Jong-Chan Kim , Real-Time Ubiquitous Syst. Lab., Seoul Nat. Univ., Seoul, South Korea
Chang-Gun Lee , Real-Time Ubiquitous Syst. Lab., Seoul Nat. Univ., Seoul, South Korea
Kanghee Kim , Sch. of Electr. Eng., Soongsil Univ., Seoul, South Korea
ABSTRACT
This paper proposes a novel technique called mRT-PLRU (Multitasking Real-Time constrained combination of Pinning and LRU), which forms a generic framework to use inexpensive nonvolatile NAND flash memory for storing and executing real-time programs in multitasking environments. In order to execute multiple real-time tasks stored in NAND flash memory with the minimal usage of expensive RAM, the mRT-PLRU is optimally configured in two steps. In the first step, the per-task analysis finds the function of RAM size versus execution time (and the corresponding optimal pinning/LRU combination) for each individual task. Using these functions for all the tasks as inputs, the second-step called a stochastic-analysis-in-loop optimization conducts an iterative convex optimization with the stochastic analysis for the probabilistic schedulability check. As a result, the optimization loop can optimally determine the RAM sizes for multiple tasks such that their deadlines are probabilistically guaranteed with the minimal size of total RAM. The usefulness of the developed technique is intensively verified through both simulation and actual implementation. Our experimental study shows that mRT-PLRU can save up to 80 percent of RAM required by the industry-common shadowing approach.
INDEX TERMS
stochastic programming, flash memories, NAND circuits, probability, real-time systems, scheduling, industry-common shadowing approach, mRT-PLRU, general framework, real-time multitask executions, NAND flash memory, multitasking real-time constrained combination of pinning and LRU, generic framework, real-time program storage, real-time program execution, multitasking environments, per-task analysis, RAM size, execution time, stochastic-analysis-in-loop optimization, iterative convex optimization, probabilistic schedulability check, Random access memory, Silicon, Ash, Real time systems, Optimization, Time factors, Probabilistic logic, mRT-PLRU, Soft real-time programs, NAND flash memory, multitasking, paging
CITATION
Duhee Lee, Jong-Chan Kim, Chang-Gun Lee, Kanghee Kim, "mRT-PLRU: A General Framework for Real-Time Multitask Executions on NAND Flash Memory", IEEE Transactions on Computers, vol.62, no. 4, pp. 758-771, April 2013, doi:10.1109/TC.2012.33
REFERENCES
[1] R. Arnold, F. Mueller, D.B. Whalley, and M. Harmon, "Bounding Worst-Case Instruction Cache Performance," Proc. IEEE 15th Real-Time Systems Symp., pp. 172-181, Dec. 1994.
[2] A.-H. Badawy, A. Aggarwal, D. Yeung, and C.-W. Tseng, "The Efficacy of Software Prefetching and Locality Optimizations on Future Memory Systems," J. Instruction-Level Parallelism, vol. 6, July 2004.
[3] B.D. Bui, M. Caccamo, L. Sha, and J. Martinez, "Impact of Cache Partitioning on Multi-Tasking Real-Time Embedded Systems," Proc. IEEE 14th Int'l Conf. Embedded and Real-Time Computing Systems and Applications, pp. 101-110, 2008.
[4] J.V. Busquets-Mataix, J.J. Serrano-Martin, R. Ors, P. Gil, and A. Wellings, "Adding Instruction Cache Effect to Schedulability Analysis of Preemptive Real-Time Systems," Proc. IEEE Second Real-Time Technology and Applications Symp., June 1996.
[5] M. Campoy, A.P. Ivars, and J.V. Busquets-Mataix, "Static Use of Locking Caches in Multitask Preemptive Real-Time Systems," Proc. IEEE/IEE Real-Time Embedded Systems Workshop, Dec. 2001.
[6] L.-P. Chang and T.-W. Kuo, "An Adaptive Striping Architecture for Flash Memory Storage Systems of Embedded Systems," Proc. IEEE Real-Time and Embedded Technology and Applications Symp., pp. 187-196, Dec. 2002.
[7] L.-P. Chang, T.-W. Kuo, and S.-W. Lo, "Real-Time Garbage Collection for Flash-Memory Storage Systems of Real-Time Embedded Systems," ACM Trans. Embedded Computing Systems, vol. 3, no. 4, pp. 837-863, Nov. 2004.
[8] J. Diaz, J. Lopez, M. Garcia, A. Campos, K. Kim, and L. Bello, "Pessimism in the Stochastic Analysis of Real-time Systems: Concept and Applications," Proc. IEEE 25th Real-Time Systems Symp., pp. 197-207, 2004.
[9] J. Guo, F. Liu, and Z. Zhu, "Estimate the Call Duration Distribution Parameters in GSM System Based on Kl Divergence Method," Proc. Int'l Conf. Wireless Comm., Networking and Mobile Computing (WiCom '07), pp. 2988-2991, 2007.
[10] S. Irani, "Competitive Analysis of Paging," Proc. Online Algorithms, pp. 52-73, 1998.
[11] S. Jain and Y.-H. Lee, "A Real-Time Flash-Memory File System (RTFFS) for Embedded Applications," Int'l J. Computer and Their Applications, vol. 13, no. 3, pp. 153-166, Sept. 2006.
[12] J.-U. Kang, J.-S. Kim, C. Park, H. Park, and J. Lee, "A Multi-Channel Architecture for High-Performance NAND Flash-Based Storage System," J. Systems Architecture, vol. 53, no. 9, pp. 644-658, Sept. 2007.
[13] J. Kim, J.M. Kim, S.H. Noh, S.L. Min, and Y. Cho, "A Space-Efficient Flash Translation Layer for CompactFlash Systems," IEEE Trans. Consumer Electronics, vol. 48, no. 2, pp. 366-375, May 2002.
[14] J.-C. Kim, D. Lee, C.-G. Lee, and K. Kim, "RT-PLRU: A New Paging Scheme for Real-Time Execution of Program Codes on NAND Flash Memory for Portable Media Players," IEEE Trans. Computers, vol. 60, no. 8, pp. 26-1141, Aug. 2011.
[15] J.-C. Kim, D. Lee, C.-G. Lee, K. Kim, and E.-Y. Ha, "Real-Time Program Execution on NAND Flash Memory for Portable Media Players," Proc. IEEE 29th Real-Time Systems Symp., pp. 244-255, Nov. 2008.
[16] K. Kim, J.L. Diaz, L.L. Bello, J.M. Lopez, C.-G. Lee, and S.L. Min, "An Exact Stochastic Analysis of Priority-Driven Periodic Real-Time Systems and Its Approximations," IEEE Trans. Computers, vol. 54, no. 11, pp. 1460-1466, Nov. 2005.
[17] D.B. Kirk, "SMART (Strategic Memory Allocation for Real-Time) Cache Design," Proc. IEEE 10th Real-Time Systems Symp., pp. 229-237, Dec. 1989.
[18] C. Lee, J. Lehoczky, R. Rajkumar, and D. Siewiorek, "On Quality of Service Optimization with Discrete QoS Options," Proc. IEEE Real-Time Technology and Applications Symp., June 1998.
[19] C.-G. Lee, J. Hahn, Y.-M. Seo, S.L. Min, R. Ha, S. Hong, C.Y. Park, M. Lee, and C.S. Kim, "Analysis of Cache-Related Preemption Delay in Fixed-Priority Preemptive Scheduling," IEEE Trans. Computers, vol. 47, no. 6, pp. 700-713, June 1998.
[20] D. Lee, J.-C. Kim, C.-G. Lee, and K. Kim, "A New Paging Scheme for Real-Time Multi-Task Executions on NAND Flash Memory," technical report, Seoul Nat'l Univ., http://rubis.snu.ac.kr/ publication/get_paper 98, 2011.
[21] S.-S. Lim, Y.H. Bae, G.T. Jang, B.-D. Rhee, S.L. Min, C.Y. Park, H. Shin, K. Park, and C.S. Kim, "An Accurate Worst Case Timing Analysis Technique for RISC Processors," Proc. IEEE 15th Real-Time Systems Symp., pp. 97-108, Dec. 1994.
[22] C. Manning, "Yet Another Flash File System," http:/www. yaffs.net/, June 2006.
[23] C. Park, J. Lim, K. Kwon, J. Lee, and S.L. Min, "Compiler-Assisted Demand Paging for Embedded Systems with Flash Memory," Proc. Fourth ACM Int'l Conf. Embedded Software, pp. 114-124, Sept. 2004.
[24] S.-Y. Park, D. Jung, J.-U. Kang, J.-S. Kim, and J. Lee, "CFLRU: A Replacement Algorithm for Flash Memory," Proc. Int'l Conf. Compilers, Architecture, and Synthesis for Embedded Systems, pp. 234-241, Oct. 2006.
[25] R. Rajkumar, C. Lee, J. Lehoczky, and D. Siewiorek, "Practical Solutions for QoS-Based Resource Allocation Problems," Proc. 19th Real-Time Systems Symp., Dec. 1998.
[26] R. Rakvic, B. Black, and J.P. Shen, "Completion Time Multiple Branch Prediction for Enhancing Trace Cache Performance," Proc. 27th Ann. Int'l Symp. Computer architecture (ISCA '00), pp. 47-58, 2000.
[27] RUBIS LAB, Qualities of Shadowing, LRU, and mRT-PLRU, http://rubis.snu.ac.krmrtplru.html, 2012.
[28] Samsung Electronics Co. K9F2G08UXA 256M x 8 Bit NAND Flash Memory, http://www.samsung.com/global/business semiconductor /, Aug. 2006.
[29] L. Sha, R. Rajkumar, and J. Lehoczky, "Priority Inheritance Protocol: An Approach to Real-Time Synchronization," IEEE Trans. Computers, vol. 39, no. 9, pp. 1175-1185, Sept. 1990.
[30] H. Tomiyama and H. Yasuura, "Code Placement Techniques for Cache Miss Rate Reduction," ACM Trans. Design Automation of Electronic Systems, vol. 2, no. 4, pp. 410-429, Oct. 1997.
[31] I. Toshiba America Electronic Components, Cost Savings with NAND Shadowing Reference Design with Motorola MPC8260 and Toshiba CompactFlash, 2002.
[32] X. Vera, B. Lisper, and J. Xue, "Data Cache Locking for Higher Program Predictability," Proc. ACM SIGMETRICS Int'l Conf. Measurement and Modeling of Computer Systems, pp. 272-282, 2003.
[33] A. Wolfe, "Software-Based Cache Partitioning for Real-Time Applications," Proc. Third Int'l Workshop Responsive Computer Systems, Sept. 1993.
[34] D. Woodhouse, "JFFS: The Journalling Flash File System," http://sources.redhat.comjffs2/, July 2003.
30 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool