Abstract
Predictable execution time upon accessing shared memories in multi-core real-time systems is a stringent requirement. A plethora of existing works focus on the analysis of Double Data Rate Dynamic Random Access Memories (DDR DRAMs), or redesigning its memory to provide predictable memory behavior. In this paper, we show that DDR DRAMs by construction suffer inherent limitations associated with achieving such predictability. These limitations lead to (1) highly variable access latencies that fluctuate based on various factors such as access patterns and memory state from previous accesses, and (2) overly pessimistic latency bounds. As a result, DDR DRAMs can be ill-suited for some real-time systems that mandate a strict predictable performance with tight timing constraints. Targeting these systems, we promote an alternative off-chip memory solution that is based on the emerging Reduced Latency DRAM (RLDRAM) protocol, and propose a predictable memory controller (RLDC) managing accesses to this memory. Comparing with the state-of-the-art predictable DDR controllers, the proposed solution provides up to \(\mathbf{11 }\times \) less timing variability and \(\mathbf{6.4 }\times \) reduction in the worst case memory latency.
Similar content being viewed by others
Notes
we use the letter x since observations we make in this paper are generic for any DDR protocol (DDR2, DDR3, DDR4, etc.).
References
Akesson B, Goossens K, Ringhofer M (2007) Predator: a predictable SDRAM memory controller. In: IEEE/ACM international conference on hardware/software codesign and system synthesis (CODES+ ISSS)
Chatterjee N, Shevgoor M, Balasubramonian R, Davis A, Fang Z, Illikkal R, Iyer R (2012) Leveraging heterogeneity in DRAM main memories to accelerate critical word access. In: IEEE/ACM international symposium on microarchitecture (MICRO)
Ecco L, Ernst R (2015) Improved DRAM timing bounds for real-time DRAM controllers with read/write bundling. In: Real-time systems symposium, pp 53–64
Ecco L, Ernst R (2017) Tackling the bus turnaround overhead in real-time SDRAM controllers. IEEE Trans Comput 66(11):1961–1974
Ecco L, Tobuschat S, Saidi S, Ernst R (2014) A mixed critical memory controller using bank privatization and fixed priority scheduling. In: IEEE international conference on embedded and real-time computing systems and applications (RTCSA)
Ecco L, Kostrzewa A, Ernst R (2016) Minimizing DRAM rank switching overhead for improved timing bounds and performance. In: Euromicro conference on real-time systems (ECRTS)
Goossens S, Akesson B, Goossens K (2013) Conservative open-page policy for mixed time-criticality memory controllers. In: Proceedings of the conference on design, automation and test in Europe. EDA Consortium, pp 525–530
Gracioli G, Alhammad A, Mancuso R, Fröhlich AA, Pellizzoni R (2015) A survey on cache management mechanisms for real-time embedded systems. ACM Comput Surv (CSUR) 48(2):32
Guo D, Pellizzoni R (2016) DRAMController: a simulation framework for real-time DRAM controllers. https://ece.uwaterloo.ca/%7Erpellizz/techreps/dramcontroller.pdf. Retrieved 2018
Guo D, Pellizzoni R (2017) A requests bundling DRAM controller for mixed-criticality systems. In: IEEE real-time and embedded technology and applications symposium (RTAS)
Guo D, Hassan M, Pellizzoni R, Patel H (2018) A comparative study of predictable DRAM controllers. ACM Trans Embed Comput Syst (TECS) 17(2):53
Hassan M (2018) On the off-chip memory latency of real-time systems: is DDR dram really the best option? In: IEEE real-time systems symposium (RTSS)
Hassan M, Patel H (2017) MCXplore: automating the validation process of DRAM memory controller designs. IEEE Trans Comput Aided Des Integr Circuits Syst (TCAD) 37(5):1050–1063
Hassan M, Pellizzoni R (2018) Bounding DRAM interference in COTS heterogeneous MPSoCs for mixed criticality systems. In: ACM SIGBED international conference on embedded software (EMSOFT)
Hassan M, Patel H, Pellizzoni R (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), pp 307–316
Hassan M, Patel H, Pellizzoni R (2016) PMC: a requirement-aware DRAM controller for multi-core mixed criticality systems. ACM Trans Embed Comput Syst (TECS) 16(4): Article 100
Intel (2018) Arria 10 FPGA development kit, user guide (2018). https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug%5Fa10-fpga-prod-devkit.pdf. Accessed 12 Sept 2018
Jalle J, Quinones E, Abella J, Fossati L, Zulianello M, Cazorla FJ (2014) A dual-criticality memory controller (DCmc): proposal and evaluation of a space case study. In: IEEE real-time systems symposium (RTSS)
JEDEC DDR3 SDRAM (2018) JEDEC DDR3 SDRAM specifications jesd79-3d. http://www.jedec.org/standards-documents/docs/jesd-79-3d. Accessed 12 Sept 2018
Kim H, Lee J, Lakshminarayana NB, Sim J, Lim J, Pho T (2012) MacSim: a CPU-GPU heterogeneous simulation framework user guide. Georgia Institute of Technology, Atlanta
Kim H, De Niz D, Andersson B, Klein M, Mutlu O, Rajkumar R (2014) Bounding memory interference delay in COTS-based multi-core systems. In: IEEE real-time and embedded technology and applications symposium (RTAS)
Kim H, Broman D, Lee EA, Zimmer M, Shrivastava A, Oh J (2015) A predictable and command-level priority-based DRAM controller for mixed-criticality systems. In: Real-time and embedded technology and applications symposium (RTAS), pp 317–326
Krishnapillai Y, Wu ZP, Pellizoni R (2014) ROC: a rank-switching, open-row DRAM controller for time-predictable systems. In: Euromicro conference on real-time systems (ECRTS)
Lattice Semiconductors (2018) Developing high-speed memory interfaces: the LatticeSCM FPGA advantage, a white paper. http://www.latticesemi.com/view%5Fdocument?document%5Fid=18926. Accessed 12 Sept 2018
Li Y, Akesson B, Goossens K (2014) Dynamic command scheduling for real-time memory controllers. In: Euromicro conference on real-time systems (ECRTS), pp 3–14
Mancuso R, Pellizzoni R, Tokcan N, Caccamo M (2017) WCET derivation under single core equivalence with explicit memory budget assignment. In: Euromicro conference on real-time systems (ECRTS)
Micron Technology Inc. (2018a) Micron RLDRAM3 SDRAM part mt44k64m18rb 093e. https://www.micron.com/~/media/documents/products/data-sheet/dram/576mb_rldram3.pdf. Accessed 12 Sept 2018
Micron Technology Inc. (2018b) Micron RLDRAM3 SDRAM product flyer. https://www.micron.com/%7E/media/documents/products/product-flyer/rldram3%5Fproduct%5Fflyer.pdf. Accessed 12 Sept 2018
Mutlu O, Subramanian L (2014) Research problems and opportunities in memory systems. Supercomputing Front Innov 1(3):19–55
Northwest Logic (2018) RLDRAM 3 controller core. https://nwlogic.com/products/docs/RLDRAM%5F3%5FController%5FCore.pdf. Accessed 12 Sept 2018
Paolieri M, Quiñones E, Cazorla FJ, Valero M (2009) An analyzable memory controller for hard real-time CMPs. Embed Syst Lett (ESL) 1:86–90
Phadke S, Narayanasamy S (2011) MLP aware heterogeneous memory system. In: IEEE design, automation & test in Europe conference & exhibition (DATE)
Poovey JA, Conte TM, Levy M, Gal-On S (2009) A benchmark characterization of the EEMBC benchmark suite. IEEE Micro 29(5):18–29
Reineke J, Liu I, Patel HD, Kim S, Lee EA (2011) PRET DRAM controller: bank privatization for predictability and temporal isolation. In: IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis (CODES + ISSS)
Rosenfeld P, Cooper-Balis E, Jacob B (2011) DRAMSim2: a cycle accurate memory system simulator. IEEE Comput Architect Lett (CAL) 10(1):16–19
Soliman MR, Pellizzoni R (2017) WCET-driven dynamic data scratchpad management with compiler-directed prefetching. In: Euromicro conference on real-time systems (ECRTS)
Toal C, Burns D, McLaughlin K, Sezer S, O’Kane S (2007) An RLDRAM II implementation of a 10Gbps shared packet buffer for network processing. In: NASA/ESA conference on adaptive hardware and systems (AHS)
Valsan PK, Yun H (2015) MEDUSA: a predictable and high-performance DRAM controller for multicore based embedded systems. In: Cyber-physical systems, networks, and applications (CPSNA), pp 86–93
Wilhelm R, Engblom J, Ermedahl A, Holsti N, Thesing S, Whalley D, Bernat G, Ferdinand C, Heckmann R, Mitra T et al (2008) The worst-case execution-time problem-overview of methods and survey of tools. ACM Trans Embed Comput Syst (TECS) 7(3):1–53
Wu ZP, Krish Y, Pellizzoni R (2013) Worst case analysis of DRAM latency in multi-requestor systems. In: Real-time systems symposium (RTSS), pp 372–383
Xilnix (2018) VCU110 evaluation board, user guide. https://www.xilinx.com/support/documentation/boards%5Fand%5Fkits/vcu110/ug1073-vcu110-eval-bd.pdf. Accessed 12 Sept 2018
Yun H, Yao G, Pellizzoni R, Caccamo M, Sha L (2013) Memguard: memory bandwidth reservation system for efficient performance isolation in multi-core platforms. In: IEEE real-time and embedded technology and applications symposium (RTAS)
Yun H, Mancuso R, Wu ZP, Pellizzoni R (2014) PALLOC: DRAM bank-aware memory allocator for performance isolation on multicore platforms. In: IEEE real-time and embedded technology and applications symposium (RTAS)
Yun H, Pellizzon R, Valsan PK (2015) Parallelism-aware memory interference delay analysis for COTS multicore systems. In: IEEE Euromicro conference on real-time systems
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Hassan, M. Reduced latency DRAM for multi-core safety-critical real-time systems. Real-Time Syst 56, 171–206 (2020). https://doi.org/10.1007/s11241-019-09338-8
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11241-019-09338-8