A large number of current-generation switches and routers operate in a multi-protocol, non-blocking, packet segmentation, packet reassembly, parallel execution environment. The system must support quality of service (QOS) levels that take into account video frame rate constraints, switch-to-switch throttling control, packet priorities, error checking/correction, and retransmission of overflow packets consistent with internal buffering. Switches and routers also need to consider the topology and routing algorithms that can influence a switch fabric implementation or port buffering. The refinement of a new switch or router in terms of number of ports, port buffering, protocol mix per switch port, QOS by switch subscriber, throughput, and maximum latency can all drive price-performance points in a switch design process. This article discusses the use of performance modeling to explore and validate the design specification of a high-speed core router operation using a graphical modeling environment. The graphical model and simulation analysis were developed in approximately one week.
Early design exploration using a statistical modeling methodology can follow different approaches, listed below:
- The most common approach is to use statistical measurements from prior designs, and apply the lessons learned to modified or new designs. This approach starts with the assumption that most switch performance impacts are linearly correlated. This may or not be the case, as the contention for resources may be non-linear.
- Another approach is to use either code-based or spreadsheet-driven methods. Both of these tend to be analytical queuing models without considering the effects of concurrency and contention. These models also require considerable post-processing effort to generate analysis output.
- Another approach is to use a code-base simulation environment. These environments have a good library of networking protocols, workload generators and the capacity for large network models. They do not provide resource modeling capability and are not suited to include implementation details. As models have to be written using code, they require considerable time and effort.
This article focuses on the requirements for quick model construction, the attributes to be monitored and workloads to be generated. The design goal is to create a router that minimizes or eliminates congestion and ensures real-time data transfer. The analysis will determine the right sizing for the system attributes to maximize the Quality of Service and maintain the latency between the ingress and egress ports below a set threshold. A model of the switch will be constructed for exploration using networking and workload generator libraries provided in VisualSim. The port balancing across the input ports and the interaction between the ingress and egress ports will be analyzed. The system will be evaluated for different input packet rates, data sizes, queue depths and internal crossbar bus frequency.
VisualSim is a concept engineering software application that enables rapid exploration of networking systems for performance and power trade-off. Models in VisualSim can be constructed using the configurable, parameterized library blocks, application-specific functions, standard component generators (processors, memory, caches, bus and switches) and a template-driven SystemC. In addition, there are co-simulation links to Verilog, VHDL, STK, Excel and MATLAB and an open, timed-API for integrating simulators. VisualSim optimizes the initial concept through a series of modeling refinements and abstractions to allow the best architecture to become an executable specification.
System Overview
The proposed switch internals are show in Figure 1. There are variable numbers of ingress and egress ports with the range from 64-1024. 12-bytes sized frames arrive at each ingress ports in a uniform distribution around 200MHz. The input processing combines three frames into a single output frame before sending them out to the internal bus and the egress ports. The internal bus runs at half the speed of the arrival rate of each individual port. The ingress and egress ports have fixed length queues. The forward queues are polled using a slot-weighted round robin inspection. Every forward port is mapped to an output port. Multiple forward ports are mapped to a single output port. The mapping is stored in a routing table that is currently fixed. The back pressure is applied when the queues on the output exceed a set threshold.