Academia.eduAcademia.edu

Outline

Hardware Dynamic Memory Manager for Hard Real-Time Systems

2019, Annals of Emerging Technologies in Computing

https://doi.org/10.33166/AETIC.2019.04.005

Abstract

This paper presents novel hardware architecture of dynamic memory manager providing memory allocation and deallocation operations that are suitable for hard real-time and safety-critical systems due to very high determinism of these operations. The proposed memory manager implements Worst-Fit algorithm for selection of suitable free block of memory that can be used by the external environment, e.g. CPU. The deterministic timing of the memory allocation and deallocation operations is essential for hard real-time systems. The proposed memory manager performs these operations in nearly constant time thanks to the adoption of hardware-accelerated max queue, which is a data structure that continuously provides the largest free block of memory in two clock cycles regardless of actual number or constellation of existing free blocks of memory. In order to minimize the overhead caused by implementing the memory management in hardware, the max queue was optimized by developing a new sorting architecture, called Rocket-Queue. The Rocket-Queue architecture as well as the whole memory manager is described in this paper in detail. The memory manager and the Rocket-Queue architecture were verified using simplified version of UVM and applying billions of randomly generated instructions as testing inputs. The Rocket-Queue architecture was synthesized into Intel FPGA Cyclone V with 100 MHz clock frequency and the results show that it consumes from 17,06% to 38,67% less LUTs than the existing architecture, called Systolic Array. The memory manager implemented in a form of a coprocessor that provides four custom instructions was synthesized into 28nm TSMC HPM technology with 1 GHz clock frequency and 0.9V power supply. The ASIC synthesis results show that the Rocket-Queue based memory manager can occupy up to 24,59% smaller chip area than the Systolic Array based manager. In terms of total power consumption, the Rocket-Queue based memory manager consumes from 15,16% to 42,95% less power.

References (37)

  1. R. Mall, "Real-Time Systems: Theory and Practice," 2nd edition, 2008, ISBN 978-81-317-0069-3.
  2. C.A. O'Reilly, A.S. Cromarty, "Fast" is not "Real-time" in designing effective real-time AI systems," SPIE Vol. 5~8 Application of Artificial Intelligence II, pp. 249-257, 1985.
  3. J. A. Stankovic, K. Ramamritham, Tutorial hard real-time systems, Computer Society Press, 1988.
  4. G.C. Buttazzo, "Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications," 2011.
  5. S. Heath, Embedded Systems Design, Newnes, 2003, ISBN: 0750655461.
  6. Lee, I.; Leung, J. Y.-T. & Son, S. H., Handbook of Real-Time and Embedded Systems, Chapman & Hall/CRC, 2007.
  7. M. Joseph, "Real-time Systems Specification, Verification and Analysis," Prentice Hall International, London, 2001.
  8. P. Marwedel: Embedded System Design: Embedded Systems Foundations of Cyber-physical Systems, 2010, ISBN 9400702566.
  9. M. Pohronská, "Utilization of FPGAs in Real-Time and Embedded Systems," in M. Bielikova, ed.,'Proceedings in Informatics and Information Technologies Student Research Conference', Vydavateľstvo STU, 2009.
  10. C. Ferreira, and A.S.R. Oliveira, "Hardware Co-Processor for the OReK Real-Time Executive," 2010.
  11. C. Ferreira, A. S. R. Oliveira, "RTOS Hardware Coprocessor Implementation in VHDL," 2009.
  12. A. B. Lange, K. H. Andersen, U. P. Schultz, A. S. Sorensen: HartOS -a Hardware Implemented RTOS for Hard Real-time Applications, 2012, s. 207-213.
  13. S.E. Ong, and S.C. Lee, "SEOS: Hardware Implementation of Real-Time Operating System for Adaptability," Computing and Networking (CANDAR), 2013 First International Symposium, 2013.
  14. S. Liu, Y. Ding, G. Zhu, Y. Li: Hardware scheduler of Real-time Operating. In: Advanced Science and Technology Letters Vol.31, 2013, s. 159-160.
  15. G. Bloom, G. Parmer, B. Narahari, R. Simha: Real-Time Scheduling with Hardware Data Structures, 2010.
  16. M. Varela, R. Cayssials, E. Ferro, E. Boemo, "Real-time scheduling coprocessor for NIOS II processor", Proc. VIII Southern Conf. Programmable Logic, pp. 1-6, 2012.
  17. R. Chandra, O. Sinnen: Improving Application Performance with Hardware Data Structures, 2010, ISSN 11783680.
  18. S.W. Moon, "Scalable Hardware Priority Queue Architectures for High-Speed Packet Switches," IEEE Transactions on Computers, 2000.
  19. W. M. Zabołotny, "Dual port memory based heapsort implementation for fpga," Proceedings of SPIE, 2011.
  20. Y. Tang, and N.W. Bergmann, "A Hardware Scheduler Based on Task Queues for FPGA-Based Embedded Real-Time Systems," IEEE Transactions on Computers, 2015.
  21. J. Starner, J. Adomat, J. Furunas, and L. Lindh, "Real-Time Scheduling Co-Processor in Hardware for Single and Multiprocessor Systems," Proceedings of the EUROMICRO Conference, 1996.
  22. K. Kim, D. Kim, and Ch. Park, "Real-Time Scheduling in Heterogeneous Dual-core Architectures," Proceedings of the 12th International Conference on Parallel and Distributed Systems, 2006.
  23. L. Kohutka, "Hardware task scheduling in real-time systems" in IIT.SRC 2015, Student Research Conference, 2015.
  24. L. Kohutka, M. Vojtko, and T. Krajcovic, "Hardware Accelerated Scheduling in Real-Time Systems," Engineering of Computer Based Systems Eastern European Regional Conference, 2015.
  25. L. Kohutka, V. Stopjakova, "Hardware Accelerated Task Scheduling in Real-Time Systems", Adept, 2016.
  26. L. Kohutka, V. Stopjakova, "Hardware Accelerated Task Scheduling in Real-Time Systems: Deadline Based Coprocessor for Dual-Core CPUs", DDECS, 2016.
  27. L. Kohutka and V. Stopjakova, "Task scheduler for dual-core real-time systems," 23 rd International Conference Mixed Design of Integrated Circuits and Systems, 2016.
  28. L. Kohutka and V. Stopjakova, "Improved Task Scheduler for Dual-Core Real-Time Systems," Euromicro Conference on Digital System Design (DSD), 2016.
  29. L. Kohutka and V. Stopjakova, "A Novel Hardware-Accelerated Real-Time Task Scheduler based on Robust Earliest Deadline Algorithm," 13th International Conference on Design & Technology of Integrated Systems In Nanoscale Era (DTIS), 2018.
  30. L. Kohutka and V. Stopjakova, "A New Hardware-Accelerated Scheduler for Soft Real-Time Tasks," 8th Mediterranean Conference on Embedded Computing (MECO), 2019.
  31. K. Churnetski, "Real-time scheduling algorithms, task visualization," Computer Science Department Rochester Institute of Technology, 2006.
  32. A. Mohammadi, S. G. Akl, "Scheduling Algorithms for Real-Time Systems," School of Computing, Kingston, Ontario, 2005.
  33. F. Klass and U Weiser, "Efficient systolic arrays for matrix multiplication," in Proc. Int. Conf. Parallel Processing, Austin, Tex., Aug. 1991, vol. III, pp. 21-25.
  34. L. Kohutka and V. Stopjakova, "Rocket-Queue: New Data Sorting Architecture for Real-Time Systems," 20 th IEEE International Symposium on Design and Diagnostics of Electronic Circuits and Systems (DDECS), 2017.
  35. L. Kohutka and V. Stopjakova, "A New Efficient Sorting Architecture for Real-Time Systems," 6 th Mediterranean Conference on Embedded Computing (MECO), 2017.
  36. H.-K. Choi, Y.C. Chung, S.-M. Moon, "Java Memory Allocation with Lazy Worst Fits for Small Objects", The Computer J., vol. 48, no. 4, July 2005.
  37. IEEE Standard for Universal Verification Methodology Language Reference Manual, IEEE 1800.2-2017, 2017.