skip to main content
research-article

A Predictable QoS-aware Memory Request Scheduler for Soft Real-time Systems

Published:24 January 2023Publication History
Skip Abstract Section

Abstract

A memory controller manages the flow of data to and from attached memory devices. The order in which a set of contending memory requests from different tasks are serviced significantly influences the rate of progress and completion times of these tasks. This in turn may affect the Quality-of-Service (QoS) delivered by these tasks. In this article, we focus towards the design of a QoS-aware memory controller targeted towards soft real-time systems. The proposed memory controller tries to generate an urgency-based schedule for the contending memory requests based on the allowable response time latencies associated with each request. The objective is to improve task-level response time predictability while maximizing acquired QoS. Exhaustive experiments carried out using real memory traces and standard simulation tools exhibit the practical efficacy of the proposed memory controller design.

REFERENCES

  1. [1] Akesson Benny and Goossens Kees. 2011. Memory Controllers for Real-time Embedded Systems. Springer.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. [2] Akesson Benny, Steffens Liesbeth, Strooisma Eelke, and Goossens Kees. 2008. Real-time scheduling using credit-controlled static-priority arbitration. In 14th IEEE International Conference on Embedded and Real-time Computing Systems and Applications. IEEE, 314.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. [3] Association JEDEC Solid State Technology et al. 2012. DDR3 SDRAM specification. JESD79- (2012).Google ScholarGoogle Scholar
  4. [4] Aswathy N., Kapoor Hemangee K., and Sarkar Arnab. 2021. A soft real-time memory request scheduler for phase change memory systems. In IEEE 27th International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA). IEEE, 109118.Google ScholarGoogle ScholarCross RefCross Ref
  5. [5] Ausavarungnirun Rachata, Chang Kevin Kai-Wei, Subramanian Lavanya, Loh Gabriel H., and Mutlu Onur. 2010. Staged memory scheduling: Achieving high performance and scalability in heterogeneous systems. In ACM SIGARCH Computer Architecture News, Vol. 40. IEEE, 112.Google ScholarGoogle Scholar
  6. [6] Bienia Christian. 2011. Benchmarking Modern Multiprocessors. Princeton University.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. [7] Binkert Nathan, Beckmann Bradford, Black Gabriel, Reinhardt Steven K., Saidi Ali, Basu Arkaprava, Hestness Joel, Hower Derek R., Krishna Tushar, Sardashti Somayeh et al. 2011. The gem5 simulator. ACM SIGARCH Computer Architecture News 39, 2 (2011), 17.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. [8] Carlson Trevor E., Heirman Wim, Eyerman Stijn, Hur Ibrahim, and Eeckhout Lieven. 2014. An evaluation of high-level mechanistic core models. ACM Trans. Archit. Code Optim.DOI:DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. [9] Chniter Hamza, Mosbahi Olfa, Khalgui Mohamed, Zhou Mengchu, and Li Zhiwu. 2020. Improved multi-core real-time task scheduling of reconfigurable systems with energy constraints. IEEE Access 8 (2020), 9569895713.Google ScholarGoogle ScholarCross RefCross Ref
  10. [10] Ecco Leonardo, Tobuschat Sebastian, Saidi Selma, and Ernst Rolf. 2014. A mixed critical memory controller using bank privatization and fixed priority scheduling. In IEEE 20th International Conference on Embedded and Real-Time Computing Systems and Applications. IEEE, 110.Google ScholarGoogle ScholarCross RefCross Ref
  11. [11] Gomony Manil Dev, Garside Jamie, Akesson Benny, Audsley Neil, and Goossens Kees. 2017. A globally arbitrate analyzable memory controllerd memory tree for mixed-time-criticality systems. IEEE Trans. Comput. 66, 2 (2017), 212225.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. [12] Guo Danlu and Pellizzoni Rodolfo. 2017. A requests bundling DRAM controller for mixed-criticality systems. In Real-Time and Embedded Technology and Applications Symposium (RTAS). IEEE, 247258.Google ScholarGoogle Scholar
  13. [13] Guthaus Matthew R., Ringenberg Jeffrey S., Ernst Dan, Austin Todd M., Mudge Trevor, and Brown Richard B.. 2001. MiBench: A free, commercially representative embedded benchmark suite. In 4th Annual IEEE International Workshop on Workload Characterization. IEEE, 314.Google ScholarGoogle Scholar
  14. [14] Hassan Mohamed, Patel Hiren, and Pellizzoni Rodolfo. 2015. A framework for scheduling DRAM memory accesses for multi-core mixed-time critical systems. In Real-Time and Embedded Technology and Applications Symposium (RTAS). IEEE, 307316.Google ScholarGoogle Scholar
  15. [15] Hassan Mohamed, Patel Hiren, and Pellizzoni Rodolfo. 2017. PMC: A requirement-aware DRAM controller for multicore mixed criticality systems. ACM Trans. Embed. Comput. Syst. 16, 4 (2017), 128.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. [16] Jacob Bruce, Ng Spencer, and Wang David. 2010. Memory Systems: Cache, DRAM, Disk. Morgan Kaufmann.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. [17] Jalle Javier, Quinones Eduardo, Abella Jaume, Fossati Luca, Zulianello Marco, and Cazorla Francisco J.. 2014. A dual-criticality memory controller (DCmc): Proposal and evaluation of a space case study. In Real-Time Systems Symposium (RTSS). IEEE, 207217.Google ScholarGoogle Scholar
  18. [18] Jin Xi, Xia Changqing, Guan Nan, and Zeng Peng. 2021. Joint algorithm of message fragmentation and no-wait scheduling for time-sensitive networks. IEEE/CAA J. Automat. Sinic. 8, 2 (2021), 478490.Google ScholarGoogle ScholarCross RefCross Ref
  19. [19] Kang Mengya, Wen Chenglin, and Wu Chenxi. 2018. A model predictive scheduling algorithm in real-time control systems. IEEE/CAA J. Automat. Sinic. 5, 2 (2018), 471478.Google ScholarGoogle ScholarCross RefCross Ref
  20. [20] Kim Hokeun, Broman David, Lee Edward A., Zimmer Michael, Shrivastava Aviral, and Oh Junkwang. 2015. A predictable and command-level priority-based DRAM controller for mixed-criticality systems. In Real-Time and Embedded Technology and Applications Symposium (RTAS). IEEE, 317326.Google ScholarGoogle Scholar
  21. [21] Kim Yoongu, Papamichael Michael, Mutlu Onur, and Harchol-Balter Mor. 2010. Thread cluster memory scheduling: Exploiting differences in memory access behavior. In 43rd Annual IEEE/ACM International Symposium on Microarchitecture. IEEE, 6576.Google ScholarGoogle Scholar
  22. [22] Krishnapillai Yogen, Wu Zheng Pei, and Pellizzoni Rodolfo. 2014. A rank-switching, open-row DRAM controller for time-predictable systems. In 26th Euromicro Conference on Real-Time Systems (ECRTS). IEEE, 2738.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. [23] Li Yonghui, Akesson Benny, Lampka Kai, and Goossens Kees. 2016. Modeling and verification of dynamic command scheduling for real-time memory controllers. In IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS). IEEE, 112.Google ScholarGoogle Scholar
  24. [24] Liu Wenjie, Huang Ping, Kun Tang, Lu Tao, Zhou Ke, Li Chunhua, and He Xubin. 2016. LAMS: A latency-aware memory scheduling policy for modern DRAM systems. In IEEE 35th International Performance Computing and Communications Conference (IPCCC). IEEE, 18.Google ScholarGoogle ScholarCross RefCross Ref
  25. [25] Moscibroda Thomas and Mutlu Onur. 2007. Memory performance attacks: Denial of memory service in multi-core systems. In 16th USENIX Security Symposium on USENIX Security Symposium. USENIX Association.Google ScholarGoogle Scholar
  26. [26] Mutlu Onur and Moscibroda Thomas. 2007. Stall-time fair memory access scheduling for chip multiprocessors. In 40th Annual IEEE/ACM International Symposium on Microarchitecture. IEEE Computer Society, 146160.Google ScholarGoogle Scholar
  27. [27] Mutlu Onur and Moscibroda Thomas. 2008. Parallelism-aware batch scheduling: Enhancing both performance and fairness of shared DRAM systems. In ACM SIGARCH Computer Architecture News, Vol. 36. IEEE Computer Society, 6374.Google ScholarGoogle Scholar
  28. [28] Paolieri Marco, Quinones Eduardo, Cazorla Francisco J., and Valero Mateo. 2009. An analyzable memory controller for hard real-time CMPs. IEEE Embed. Syst. Lett. 1, 4 (2009), 8690.Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. [29] Reineke Jan, Liu Isaac, Patel Hiren D., Kim Sungjun, and Lee Edward A.. 2011. PRET DRAM controller: Bank privatization for predictability and temporal isolation. In 9th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ ISSS). IEEE, 99108.Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. [30] Rixner Scott, Dally William J., Kapasi Ujval J., Mattson Peter, and Owens John D.. 2000. Memory access scheduling. In ACM SIGARCH Computer Architecture News, Vol. 28. ACM, 128138.Google ScholarGoogle Scholar
  31. [31] Rosenfeld Paul, Cooper-Balis Elliott, and Jacob Bruce. 2011. DRAMSim2: A cycle accurate memory system simulator. IEEE Comput. Archit. Lett. 10, 1 (2011), 1619.Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. [32] Sari Aitzan and Psarakis Mihalis. 2017. Scrubbing-aware placement for reliable FPGA systems. IEEE Trans. Emerg. Topics Comput. 8, 3 (2017), 564576.Google ScholarGoogle ScholarCross RefCross Ref
  33. [33] Wang Xi, Khemaissia Imen, Khalgui Mohamed, Li ZhiWu, Mosbahi Olfa, and Zhou MengChu. 2014. Dynamic low-power reconfiguration of real-time systems with periodic and probabilistic tasks. IEEE Trans. Autom. Sci. Eng. 12, 1 (2014), 258271.Google ScholarGoogle ScholarCross RefCross Ref
  34. [34] Yun Heechul, Mancuso Renato, Wu Zheng-Pei, and Pellizzoni Rodolfo. 2014. PALLOC: DRAM bank-aware memory allocator for performance isolation on multicore platforms. In IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS). IEEE, 155166.Google ScholarGoogle Scholar

Index Terms

  1. A Predictable QoS-aware Memory Request Scheduler for Soft Real-time Systems

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Embedded Computing Systems
        ACM Transactions on Embedded Computing Systems  Volume 22, Issue 2
        March 2023
        560 pages
        ISSN:1539-9087
        EISSN:1558-3465
        DOI:10.1145/3572826
        • Editor:
        • Tulika Mitra
        Issue’s Table of Contents

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 24 January 2023
        • Online AM: 7 September 2022
        • Accepted: 20 August 2022
        • Revised: 6 August 2022
        • Received: 27 September 2021
        Published in tecs Volume 22, Issue 2

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Refereed
      • Article Metrics

        • Downloads (Last 12 months)153
        • Downloads (Last 6 weeks)13

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Full Text

      View this article in Full Text.

      View Full Text

      HTML Format

      View this article in HTML Format .

      View HTML Format
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!