15. High Scale QoS IOM

15.1. Introduction

This section describes the capabilities of the High Scale QoS (HSQ) IOM. The HSQ IOM is an FP3-based IOM that has a multicore CPU and accepts up to two MDA-e cards. The HSQ IOM supports an enhanced egress QoS traffic manager architecture to provide scalable network, service, and subscriber QoS. At ingress, the HSQ IOM supports regular FP3 QoS with a high ingress policer scaling.

The HSQ IOM (iom4-e-hs) supports six scheduling classes across multiple hierarchical levels of hardware egress shaping with very stringent egress burst control. The scheduling allows a mix of strict priority and weighted round-robin (WRR) queues. A flexible buffer pool structure permits both buffer isolation and buffer oversubscription for the queue buffer allocation.

The HSQ IOM supports 768k queues, which are grouped into 96k queue groups; each comprises eight queues (referred to as HSQ queue groups). HSQ queue groups are used for SAP and subscriber egress queues, network egress queues, and both access and network egress queue group instance queues.

The components of the HSQ IOM operation are follows:

15.1.1. HSQ Shaping

The HSQ egress shaping uses the following objects:

  1. HSQ queue groups — An HSQ queue group comprises eight egress queues with two WRR groups. One HS queue group is allocated to each of the following:
    1. an egress SAP
    2. an egress network port
    3. an egress access queue group instance
    4. an egress network queue group instance
    5. a subscriber egress (a single SLA profile instance in single HS SLA mode)
  2. primary shapers — A primary shaper is allocated for each secondary shaper because it is required in the hierarchy. It does not perform any QoS control except when allocated for subscriber egress configured with multiple SLA profile instances in extended HS SLA mode.
  3. secondary shapers — Secondary shapers provide an abstraction to be used for QoS control of traffic to a downstream device, such as an access node. Shaping can be performed on all traffic or on each scheduling class within the secondary shaper.
  4. ports — The traffic forwarded to each port can be shaped. In addition, traffic in each scheduling class within a port can be shaped individually or within a single WRR group.

Six scheduling classes are supported across all the preceding objects.

The egress QoS scheduling hierarchy is shown in Figure 50.

Figure 50:  Egress HSQ IOM Scheduling Hierarchy 

The available egress shaping encompasses:

  1. Per-queue or per-WRR group of queues
  2. per-HSQ queue group aggregate
  3. per-primary shaper aggregate
  4. per-secondary shaper aggregate
  5. per-secondary shaper per scheduling class
  6. per-port aggregate
  7. per-port per scheduling class

15.1.2. HSQ Scheduling

HSQ scheduling allows a combination of strict priority and WRR. There are six scheduling classes which are implemented from the HSQ queue group queues through the primary shaper, secondary shaper, and port. The scheduling classes are serviced in a strict priority order (scheduling class 6 having the highest priority and scheduling class 1 having the lowest priority), with WRR groups at the HSQ queue group and port levels, and a dynamic weight at the primary and secondary shaper levels.

Packet forwarding is achieved using service lists. The objects at each level are on a service list at the same level if they are in a state ready to send packets. The objects are off the service list if they have exceeded their configured PIR together with its related burst. When a port has a scheduling opportunity, it selects the secondary shaper to be serviced next, which selects the primary shaper to be serviced next, which selects the HSQ queue group to be serviced next, which selects a queue to be serviced next, resulting in a packet from that queue being forwarded.

At the HSQ queue group level, queues can be attached to one of two WRR groups. Each group is scheduled at a single scheduling class, with packets being taken from the constituent queues based on a configured queue weighting.

Weighting is also supported between queues and WRR groups in different HSQ queue groups per-primary shaper scheduling class. This allows the capacity available at the primary shaper scheduling class to be shared in a WRR manner between the HSQ queue group queues and WRR groups attached to that scheduling class.

There is a single WRR group at the port level that allows multiple scheduling classes to be collapsed to a single class per port, with each class in the group being assigned a weight.

The dynamic weights at the primary and secondary shapers are managed by the system, based on the number of pending packets for each of the shapers, not on the number of attached objects in each. The more pending packets a shaper has, the higher the weight it is assigned. The goal of the scheduling is to ensure a balanced distribution of capacity between each of the primary shapers and each of the secondary shapers. For example, this allows a secondary shaper with 10,000 active HSQ queue groups to receive proportionately more scheduling opportunities than another secondary shaper with only 100 active HSQ queue groups.

15.1.3. HSQ Buffer Management

The HSQ supports a flexible buffer management configuration that allows both buffer isolation and buffer oversubscription for the queue buffer allocation. There are four levels to the buffer hierarchy with the total buffer allocation being divided into a system-reserved portion and a user-provisioned portion, as shown in Figure 51.

  1. root pools
  2. mid pools
  3. port class pools
  4. queue group queues
Figure 51:  HSQ Buffer Pool Hierarchy 

15.1.4. HSQ LAGs

LAGs are supported on HSQ ports. The LAG port-type must be set to hs to add an HSQ port to a LAG, at which point only HSQ ports can be added to that LAG. When an HSQ queue group is created on a LAG, an HSQ queue group is allocated on each LAG port.

15.2. HSQ IOM-Specific Configurations

The HSQ IOM functionality is configured using the following set of HSQ-specific policies:

  1. HS attachment policy — Configures how HSQ queue group queues and WRR groups within SAP egress QoS policies, network queue policies, and egress queue group templates are attached to a scheduling class managed by the port scheduler
  2. HS pool policy — Configures the buffer allocation and hierarchy for the root and mid pools on the HSQ IOM
  3. HS port pool policy — Configures the buffer allocation and hierarchy for the port standard and alternative class pools
  4. HS scheduler policy — Configures the scheduling behavior of the HSQ scheduler classes at a port

The HSQ queue groups are configured using SAP egress QoS policies, network queue policies, and egress queue group templates, in which there are HSQ-specific commands corresponding to the HSQ functionality.

The HS secondary shapers, which provide QoS control for traffic to a downstream device, are configured directly in the port context on which the QoS control is required.

Overrides are available under ports and SAPs for the HSQ-specific configuration.

See to the High Scale QoS IOM Command Reference section for details about command syntax and descriptions.

15.3. Non-Applicable HSQ IOM Functions

As the HSQ IOM traffic manager replaces several egress FP QoS functions, the following configurations are not applicable to an HSQ IOM.

  1. QoS related
    1. advanced configuration policies
    2. egress access and network MDA and port pools
    3. egress agg-rate queue-frame-based-accounting
    4. egress H-QoS virtual scheduling, including Vports
    5. FP egress queue
      1. drop tails and CBS
      2. WRED per queue (an HSQ equivalent is available)
      3. CIR
      4. highplus slope in a slope policy
      5. burst limit (an HSQ equivalent is available)
      6. dynamic MBS
      7. network queue MBS (replaced by the hs-mbs command)
    6. HS-MDAv2
    7. multi-service sites
    8. PBB egress B-SAP per ISID shaping
  2. subscriber related
    1. Access Node Control Protocol Management (ANCP)
    2. PCC rule-based subscriber services (Gx or RADIUS)
    3. Web Authentication Protocol (WPP)
  3. MPLS related
    1. Generalized Multiprotocol Label Switching (GMPLS) UNI
  4. Service related
    1. G.8031 protected Ethernet tunnels
  5. System related
    1. Ethernet satellite host ports
    2. port cross-connects (PXC)
    3. Sflow