Analytical Modeling and Evaluation of On- Chip Interconnects Using Network Calculus M. BAkhouya, S. Suboh, J. Gaber, T. El-Ghazawi NOCS 2009, May 10-13, 2009
Plan Introduction Related work Network calculus: an overview Simulation and analytical modeling comparison Conclusions and perspectives 2
Introduction Simulation studies are usually carried out to better study and evaluate the performance of NoC architectures Simulation is extremely slow and provides little insight on how different design parameters affect the actual NoC performance Analytical models allow a fast evaluation of performance metrics of large systems in the early design process 3
Related work Analytical models use probabilistic approaches, such as queuing theory, to analyze the performance of NoCs, Consider the incoming and out going traffics as a probability distributions (e.g., Poisson traffic) Coarse-grained model that allows designers to perform a statistical analysis on the whole system NoC applications exhibit traffic patterns which are very different compared to poison models used in queuing theory 4
Related work Network calculus was introduced for Internet quality of service Uses cumulative functions rather than average case or equilibrium state using statistic functions like in queuing theory Allows designers to analyze the system at coarse- and fine-level granularity such as, buffers’ utilization, and latency per node and per data flow It was used in many fields such as switched Ethernet networks, sensor networks, optimal routing, etc The foundation of network calculus lies in the mathematical theory of dioids, and in particular, the Min-Plus dioid 5
Network Calculuc With network calculus, we are able to understand some fundamental properties, such as buffer dimensioning, and delay dimensioning S: a system (e.g., single buffer, a complex communication node, or even a complete network) R(t): its cumulative function at the input of S R*(t): cumulative function at the output of S R*(t)<=R(t) 6 S
Network Calculus: Backlog and delay The backlog at time t is the amount of bits that are held inside the system x(t)=R(t)-R*(t) The virtual delay at time t is the delay that would be experienced by a bit arriving at time t if all bits received before it are served before it, d(t)=inf{τ ≥ 0, R(t) ≤ R*(t+ τ)} 7 x(t) is the vertical deviation between input and output functions d(t) is the horizontal deviation between input and output functions
Network Calculus: Arrival and service curves One first principle is to put arrival curve constraints on flows, i.e., arrival curve Nodes in return need to offer some guarantees to flows, i.e., service curve Find some bounds on delay and backlog with consideration of the known arrival and service curves 8
Network Calculus: Arrival and service curves An input function tells us what traffic arrives, but we also need to know how it arrives, e.g., Some traffic is smooth, other traffic is “bursty” An arrival defines traffic’s shape, i.e., constrains the volume of traffic that can arrive in any given time interval A service curve constrains how traffic leaves an element, e.g., how many packets are minimally served when x time slots have elapsed 9
Network Calculus: an example Arrival curve: α r,b (t) = b + rt Rate-Latency Service Curve β R,T (t)=[R(t - T] +, 10 T b α(t) = b + rt β(t)=[R(t - T] + b + rT time bits T b α(t) = b + rt β(t)=[R(t - T] + T+b/R time bits
Simulation and analytical modeling comparison Compare analytical and simulation results using the same traffic pattern the maximum buffer size the e2e delay bound 11
Simulation and analytical modeling comparison Results obtained from simulation and analysis show the same increasing or decreasing trends in the same order of magnitude 12
Conclusions and perspectives Network calculus is a useful tool for NoC design and performance analysis The comparison of the performance analysis using Network Calculus with a cycle accurate simulator with more case studies Study the scalability of this approach by providing a formal methodology for analyzing and evaluating large NoCs 13
Thank you! 14