VectorBoost

Last updated: April 21st, 2023 - 5 min. read

VectorBoost Git Repo: https://github.com/HomeGrid/GigaWireVB

VectorBoost technology improves the throughput of ReadyLinks lines by allocating network resources in real time according to the current needs of traffic, overcoming the throughput limit imposed by the lines’ crosstalk and providing the users with much higher peak capacity just when they need it. The VectorBoost Compute Engine (VBCE) can run locally inside the ReadyLinks switch or in the cloud, leveraging additional computing power and ensuring scalability for high density deployments.

  • Instantaneous Capacity adapts to real-time traffic usage
  • Innovative tracking of channel parameters (HLOG, XLOG and QLN) enables real-time crosstalk management
  • Increased peak capacity

*Note vectorboost only applies to twisted pair devices, it is not applicable to coax devices.


Terminology
  • VBE - VectorBoost Engine
  • VBD - VectorBoost Driver
  • DM - Domain Master (A port on a ReadyLinks switch)
  • EP - End Point (A ReadyLinks client)
  • PHY - The physical rate at which packets are being transmitted

VectorBoost Engine

The vectorboost compute "engine" is the mechanism responsible for computing the optimal transmission strategy based on the information provided by the "driver" for each instant. The strategy is then relayed to the "driver" which then distributes it to all the Domain Masters.

Engine States
State Description
DISCOVERING_DOMAIN_WAIT_EMPTY The vectorboost engine sends the driver a domain discovery request to get the nodes that it should manage, but finds the domain is empty.
ALIGNMENT_PREPARE_I The vectorboost engine initiates the alignment sequence.
ALIGNMENT_PREPARE_ALL The vectorboost engine prepares Inter Domain Synchronization (Alignment). Alignment is required to ensure that all of the lines that belong to the same engine share the same start of the MAC cycle and the same MAC sequence number.
ALIGNMENT_CHECK_SYNC The vectorboost engine checks that all the lines in the domain are synchronized.
MEASURING_COLLECT_MEAS This stage is where crosstalk measurements are collected from each node and relayed to the engine.
MEASURING_MEASPLAN_END_WAIT This stage enables the engine to measure the crosstalk impact of each line to the rest of the lines.
BOOSTING_WAIT_TRIGGERS The vectorboost engine has completed the domain discovery and alignment steps and is waiting for bandwidth to be requested.
PD_SHAPING The vectorboost engine is dynamically shaping the PSD of each node. The level of PSD that applies to a node is determined by the CDTA algorithm. This PSD level minimizes the crosstalk and maximizes the throughput.
BOOSTING_WAIT_UPDATE The vectorboost engine is currently allocating PSD levels to certain nodes, "boosting", and is waiting for new bandwidth utilization metrics to update the PSD.
CLOCK_RSP_WAIT A common clock signal that is usually 50Hz is shared by all DMs in the system. The vectorboost engine waits for the common clock to align, or semi align, the MAC cycle start time.

VectorBoost Driver

The vectorboost "driver" communicates with the Domain Masters and receives data regarding the network status such as interferences and throughput requirements. This data is then transmitted to the "engine" which then calculates the optimal transmission strategy.


Topology
Local

By default, ReadyLinks switches run vectorboost locally each device. You can modify this behaviour by disabling vectorboost completely or pointing the device to a remote vectorboost instance.

*Note that the vectorboost driver communicates with the Domain Master nodes on VLAN 1. Excluding VLAN 1 from G.hn ports will block communication between the G.hn nodes the vectorboost driver, which in turn, will negatively impact throughput performance.

GL-24xT-P600D# configure terminal
GL-24xT-P600D(config)# readyview vectorboost local
GL-24xT-P600D(config)# exit
GL-24xT-P600D# show readyview vectorboost
VectorBoost                : Local
VectorBoost Engine Version : 3.0 r067

VectorBoost Driver Version : 3.0 r187

VectorBoost Engine Status  : BOOSTING_WAIT_TRIGGERS

VectorBoost Driver Status  : CONNECTED

Remote

The vectorboost "driver" communicates with the Domain Masters and receives data regarding the network status such as interferences and throughput requirements. This data is then transmitted to the "engine" which then calculates the optimal transmission strategy.

GL-24xT-P600D# configure terminal
GL-24xT-P600D(config)# readyview vectorboost server-ip 10.180.20.10
GL-24xT-P600D(config)# exit
GL-24xT-P600D# show readyview vectorboost
VectorBoost                : Server-IP 10.180.20.10

Examples
Speed test

Vectorboost allows end users to run 1Gbps symmetrical speedtests by dynamically allocating bandwidth based on download and upload throughput requirements.

  1. Before the speed test begins, the vectorboost engine is in a state of 'BOOSTING_WAIT_TRIGGERS' and the VectorBoost drive status shows CONNECTED. You will notice the PHY rates on the port are low, as the port is not requesting any bandwidth
  2. GL-12xT-P600D# show readyview vectorboost
    VectorBoost                : Local
    VectorBoost Engine Version : 3.0 r067
    
    VectorBoost Driver Version : 3.0 r187
    
    VectorBoost Engine Status  : BOOSTING_WAIT_TRIGGERS
    
    VectorBoost Driver Status  : CONNECTED
    				
    GL-12xT-P600D# show ghn interface
    Interface Master_ID Link Local_MAC      Remote_MAC     Physical_DS/US_Speed(Mbps) Wire_Length(m) Estimated_XPUT(Mbps) Estimated_XPUT_DS/US(Mbps)
    ------------------------------------------------------------------------
    Ghn1      97        down 0013.ba0a.5a30 0000.0000.0000 -/-                        -(m)           -(Mbps)
    Ghn1.1    98        up   0013.ba0a.5a30 0013.ba0a.3b4e 246/260                    3(m)            2672(Mbps)          1336/1336
    
  3. Once the speed test starts, the engine begins to calculate the optimal transmission strategy, allocating higher PHY rates in the downstream direction as the speed test starts to download. You will notice the vectorboost engine state change to 'BOOSTING_WAIT_UPDATE' and the vectorboost driver status change to 'PDSHAPING' as it relays the transmission stategy to the domain masters.
  4. GL-12xT-P600D# show readyview vectorboost
    VectorBoost                : Local
    VectorBoost Engine Version : 3.0 r067
    
    VectorBoost Driver Version : 3.0 r187
    
    VectorBoost Engine Status  : BOOSTING_WAIT_UPDATE
    
    VectorBoost Driver Status  : PDSHAPING
    				
    GL-12xT-P600D# show ghn interface
    Interface Master_ID Link Local_MAC      Remote_MAC     Physical_DS/US_Speed(Mbps) Wire_Length(m) Estimated_XPUT(Mbps) Estimated_XPUT_DS/US(Mbps)
    ------------------------------------------------------------------------
    Ghn1      97        down 0013.ba0a.5a30 0000.0000.0000 -/-                        -(m)           -(Mbps)
    Ghn1.1    98        up   0013.ba0a.5a30 0013.ba0a.3b4e 1243/260                    3(m)            2672(Mbps)          1336/1336
    
  5. Once the download portion of the speed test finished, the upload begins. You will notice the PHY rate shift in the upstream direction as more bandwidth is requested for the upload test.
  6. GL-12xT-P600D# show readyview vectorboost
    VectorBoost                : Local
    VectorBoost Engine Version : 3.0 r067
    
    VectorBoost Driver Version : 3.0 r187
    
    VectorBoost Engine Status  : BOOSTING_WAIT_UPDATE
    
    VectorBoost Driver Status  : PDSHAPING
    				
    GL-12xT-P600D# show ghn interface
    Interface Master_ID Link Local_MAC      Remote_MAC     Physical_DS/US_Speed(Mbps) Wire_Length(m) Estimated_XPUT(Mbps) Estimated_XPUT_DS/US(Mbps)
    ------------------------------------------------------------------------
    Ghn1      97        down 0013.ba0a.5a30 0000.0000.0000 -/-                        -(m)           -(Mbps)
    Ghn1.1    98        up   0013.ba0a.5a30 0013.ba0a.3b4e 255/1124                    3(m)            2672(Mbps)          1336/1336
    

Troubleshooting
Slow Speeds

Before troubleshooting VectorBoost, it is crucial that the copper connection between the ReadyLinks switch port and the ReadyLinks client is connected properly. For more information on how on cabling best practices, click here.

  1. Step 1: Check the PHY rates on your port. You can see in the output below that the PHY rates are high (1732/1643) and the estimated throughput is 0mbps. This is an indication that the domain masters are not communicating with the vectorboost engine.
  2. GL-12xT-P600D# show ghn interface		
    Interface Master_ID Link Local_MAC      Remote_MAC     Physical_DS/US_Speed(Mbps) Wire_Length(m) Estimated_XPUT(Mbps) Estimated_XPUT_DS/US(Mbps)
    ------------------------------------------------------------------------
    Ghn1      97        down 0013.ba0a.5a30 0000.0000.0000 -/-                        -(m)           -(Mbps)
    Ghn1.1    98        up   0013.ba0a.5a30 0013.ba0a.3b4e 1732/1643                  34(m)          0(Mbps)          0/0
    
  3. Check the status of vectorboost. Notice in the ouput below that the engine status is 'MEASURING_COLLECT_MEAS'. This is an okay status, but if the engine is stuck in this status, or any status other than BOOSTING_WAIT_TRIGGERS, its an indication that the vectorboost engine is not communicating with the domain masters.
  4. GL-12xT-P600D# show readyview vectorboost		
    VectorBoost                : Local
    VectorBoost Engine Version : 3.0 r067
    
    VectorBoost Driver Version : 3.0 r187
    
    VectorBoost Engine Status  : MEASURING_COLLECT_MEAS
    
    VectorBoost Driver Status  : CONNECTED
    
  5. Ensure VLAN 1 is untagged on every G.hn port. VLAN 1 is used as the communication network between the vectorboost driver and the domain master nodes. If you remove VLAN 1 from these ports, they will lose communication with vectorboost. You can untag multiple VLANs on a G.hn port and user traffic will traverse whichever VLAN is specified as the PVID on the G.hn port. For more information on switch port settings such as PVID, click here.
  6. GL-12xT-P600D# configure terminal	
    GL-12xT-P600D(config)# vlan 1
    GL-12xT-P600D(vlan1)# switchport untagged ethernet Ghn1
    

Restart vectorboost

You can restart vectorboost by simply disabling and re-enabling it. Note that each G.hn domain master restarts when you disable or enable VectorBoost.

GL-12xT-P600D# configure terminal	
GL-12xT-P600D(config)# readyview vectorboost disable
GL-12xT-P600D(config)#  readyview vectorboost local