Modeling and Verification of Dynamic Command Scheduling for Real-Time Memory Controllers

In modern multi-core systems with multiple real-time (RT) applications, memory traffic accessing the shared SDRAM is increasingly diverse, e.g., transactions have variable sizes. RT memory controllers with dynamic command scheduling can efficiently address the diversity by issuing appropriate commands subject to the SDRAM timing constraints. However, the scheduling dependencies between commands make it challenging to derive tight bounds for the worst-case response time (WCRT) and the worst-case bandwidth (WCBW) of a memory controller. Existing modeling and analysis techniques either do not provide tight WCRT and WCBW bounds for diverse memory traffic with variable transaction sizes or are difficult to adapt to different RT memory controllers. This paper models a memory controller using Timed Automata (TA), where model checking is applied for analysis. Our TA model is modular and accurately captures the behavior of a RT memory controller with dynamic command scheduling. We obtain WCRT and WCBW bounds, which are validated by simulating the worst- case transaction traces obtained by model checking with a cycle-accurate model of the memory controller. Our method outperforms three state-of-the-art analysis techniques. We reduce WCRT bound by up to 20%, while the average improvement is 7.7%, and increase the WCBW bound by up to 25% with an average improvement of 13.6%. In addition, our modeling is generic enough to extend to memory controllers with different mechanisms.

[1]  Kim G. Larsen,et al.  METAMOC: Modular Execution Time Analysis using Model Checking , 2010, WCET.

[2]  Björn Andersson,et al.  Response Time Analysis of COTS-Based Multicores Considering the Contention on the Shared Memory Bus , 2011, 2011IEEE 10th International Conference on Trust, Security and Privacy in Computing and Communications.

[3]  Björn Lisper,et al.  Towards WCET Analysis of Multicore Architectures Using UPPAAL , 2010, WCET.

[4]  Om Prakash Gangwal,et al.  Interconnect and Memory Organization in SOCs for Advanced Set-Top Boxes and TV , 2004 .

[5]  Miodrag Potkonjak,et al.  MediaBench: a tool for evaluating and synthesizing multimedia and communications systems , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[6]  C.H. van Berkel,et al.  Multi-core for mobile phones , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[7]  Kees G. W. Goossens,et al.  Conservative open-page policy for mixed time-criticality memory controllers , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[8]  Rolf Ernst,et al.  Bounding the shared resource load for the performance analysis of multiprocessor systems , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[9]  Rodolfo Pellizzoni,et al.  A formal approach to the WCRT analysis of multicore systems with memory contention under phase-structured task sets , 2014, Real-Time Systems.

[10]  Tomas Henriksson,et al.  Heterogeneous multi-core platform for consumer multimedia applications , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[11]  Kees G. W. Goossens,et al.  Architectures and modeling of predictable memory controllers for improved system integration , 2011, 2011 Design, Automation & Test in Europe.

[12]  Edward A. Lee,et al.  PRET DRAM controller: Bank privatization for predictability and temporal isolation , 2011, 2011 Proceedings of the Ninth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[13]  Kees G. W. Goossens,et al.  Classification and Analysis of Predictable Memory Patterns , 2010, 2010 IEEE 16th International Conference on Embedded and Real-Time Computing Systems and Applications.

[14]  David Broman,et al.  A predictable and command-level priority-based DRAM controller for mixed-criticality systems , 2015, 21st IEEE Real-Time and Embedded Technology and Applications Symposium.

[15]  Kees G. W. Goossens,et al.  Dynamic Command Scheduling for Real-Time Memory Controllers , 2014, 2014 26th Euromicro Conference on Real-Time Systems.

[16]  George A. Constantinides,et al.  Methodology for designing statically scheduled application-specific SDRAM controllers using constrained local search , 2009, 2009 International Conference on Field-Programmable Technology.

[17]  Francisco J. Cazorla,et al.  A Dual-Criticality Memory Controller (DCmc): Proposal and Evaluation of a Space Case Study , 2014, 2014 IEEE Real-Time Systems Symposium.

[18]  Björn Andersson,et al.  Bounding memory interference delay in COTS-based multi-core systems , 2014, 2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[19]  Aamer Jaleel,et al.  DRAMsim: a memory system simulator , 2005, CARN.

[20]  Hiren D. Patel,et al.  A framework for scheduling DRAM memory accesses for multi-core mixed-time critical systems , 2015, 21st IEEE Real-Time and Embedded Technology and Applications Symposium.

[21]  Kees G. W. Goossens,et al.  Power/Performance Trade-Offs in Real-Time SDRAM Command Scheduling , 2016, IEEE Transactions on Computers.

[22]  Kees G. W. Goossens,et al.  A quantitative evaluation of a Network on Chip design flow for multi-core consumer multimedia applications , 2011, Des. Autom. Embed. Syst..

[23]  Jakob Engblom,et al.  The worst-case execution-time problem—overview of methods and survey of tools , 2008, TECS.

[24]  Kees G. W. Goossens,et al.  Mode-controlled data-flow modeling of real-time memory controllers , 2015, 2015 13th IEEE Symposium on Embedded Systems For Real-time Multimedia (ESTIMedia).

[25]  Kees G. W. Goossens,et al.  Composable Resource Sharing Based on Latency-Rate Servers , 2009, 2009 12th Euromicro Conference on Digital System Design, Architectures, Methods and Tools.

[26]  Todd M. Austin,et al.  SimpleScalar: An Infrastructure for Computer System Modeling , 2002, Computer.

[27]  Wang Yi,et al.  UPPAAL 4.0 , 2006, Third International Conference on the Quantitative Evaluation of Systems - (QEST'06).

[28]  Hyojin Choi,et al.  Memory access pattern-aware DRAM performance model for multi-core systems , 2011, (IEEE ISPASS) IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE.

[29]  Onur Mutlu,et al.  Self-Optimizing Memory Controllers: A Reinforcement Learning Approach , 2008, 2008 International Symposium on Computer Architecture.

[30]  Francisco J. Cazorla,et al.  Timing effects of DDR memory systems in hard real-time multicore architectures , 2013, ACM Trans. Embed. Comput. Syst..

[31]  Rodolfo Pellizzoni,et al.  Worst Case Analysis of DRAM Latency in Multi-requestor Systems , 2013, 2013 IEEE 34th Real-Time Systems Symposium.

[32]  Luca Benini,et al.  P2012: Building an ecosystem for a scalable, modular and high-efficiency embedded computing accelerator , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[33]  Lui Sha,et al.  Memory Access Control in Multiprocessor for Real-Time Systems with Mixed Criticality , 2012, 2012 24th Euromicro Conference on Real-Time Systems.

[34]  Kees G. W. Goossens,et al.  Dataflow formalisation of real-time streaming applications on a Composable and Predictable Multi-Processor SOC , 2015, J. Syst. Archit..

[35]  Kees G. W. Goossens,et al.  Architecture and analysis of a dynamically-scheduled real-time memory controller , 2016, Real-Time Systems.

[36]  Kees Goossens,et al.  Chapter 15 INTERCONNECT AND MEMORY ORGANIZATION IN SOCS FOR ADVANCED SET-TOP BOXES AND TV Evolution, Analysis, and Trends , 2005 .

[37]  K. B. Akesson,et al.  Memory-map selection for firm real-time memory controllers , 2012 .

[38]  Wang Yi,et al.  Building timing predictable embedded systems , 2014, ACM Trans. Embed. Comput. Syst..

[39]  Mor Harchol-Balter,et al.  Thread Cluster Memory Scheduling , 2011, IEEE Micro.

[40]  Alois Knoll,et al.  Bounding WCET of applications using SDRAM with Priority Based Budget Scheduling in MPSoCs , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[41]  Rodolfo Pellizzoni,et al.  A Rank-Switching, Open-Row DRAM Controller for Time-Predictable Systems , 2014, 2014 26th Euromicro Conference on Real-Time Systems.

[42]  Calvin Lin,et al.  Memory scheduling for modern microprocessors , 2007, TOCS.

[43]  Bruce Jacob,et al.  Memory Systems: Cache, DRAM, Disk , 2007 .

[44]  Kees G. W. Goossens,et al.  A Real-Time Multichannel Memory Controller and Optimal Mapping of Memory Clients to Memory Channels , 2015, TECS.

[45]  Wang Yi,et al.  Combining Abstract Interpretation with Model Checking for Timing Analysis of Multicore Software , 2010, 2010 31st IEEE Real-Time Systems Symposium.

[46]  Alois Knoll,et al.  Bounding SDRAM interference: Detailed analysis vs. latency-rate analysis , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[47]  Wang Yi,et al.  Timed automata as task models for event-driven systems , 1999, Proceedings Sixth International Conference on Real-Time Computing Systems and Applications. RTCSA'99 (Cat. No.PR00306).