Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Add_workflow_for_techpubs
AUTH1UserResourceIdentifier{userKey=8a00a02355cd1c2f0155cd26cb8305e9, userName='null'}
JIRAIDAUTHSBX-102120
REV5UserResourceIdentifier{userKey=8a00a02355cd1c2f0155cd26cb8305e9, userName='null'}
REV6UserResourceIdentifier{userKey=8a00a02355cd1c2f0155cd26cb8305e9, userName='null'}
REV3UserResourceIdentifier{userKey=8a00a02355cd1c2f0155cd26c752002f, userName='null'}
REV1UserResourceIdentifier{userKey=8a00a02355cd1c2f0155cd26cb1e054d, userName='null'}

The SBC can leverage Graphics Processing Units (GPUs) for increased transcoding capacity of T-SBC instances deployed in OpenStack cloud environments (Newton and above). GPU acceleration significantly increases transcoding capacity of virtual instances, which otherwise would have a limited scale. In many cases a GPU-accelerated solution performs better than specialized DSP hardware-based solutions. GPU-based solutions have the following benefits:

  • GPUs are ubiquitous, they are being offered as Commercial Off-the-Shelf (COTS) solutions by major hardware and cloud vendors.
  • GPU-based solutions leverage the steep rise in computing power delivered by increased industry investments in GPU technology.
  • GPUs have diverse applications. Unlike specialized DSP hardware, GPU devices can be reused for other applications.
  • GPUs can be leveraged by cloud-based virtual instances.
Include PageG
  • .
722_Silence_Suppression_Note
G.722_Silence_Suppression_Note


GPU Transcoding

Prior to SBC 8.0 release, for GPU-based solutions, the 

Spacevars
0product
could not offer more than one transcodable codec in the outgoing offer for following reasons:

  • Unlike CPU-based DSP that supports all the codecs, the GPU-based DSP supports specific codecs.
  • For GPU, if the configured codecs do not reside on the same DSP process, they cannot be used with a single DSP allocation.
  • Unaware of the cluster capabilities, the signaling SBC removes the codecs from the outgoing offer, which cannot be supported by the reserved DSP.


The

Spacevars
0product
 is enhanced to offer all the configured transcodable codecs that the 
Spacevars
0product
supports, in the outgoing offer and address the above GPU gaps.

The configured codecs include:

  • Codecs configured for transcoding
  • Codecs supported by same T-SBC instance that supports codecs received in the offer.

Supported Deployment Scenarios

GPU acceleration is currently supported on SBC SWe T-SBC instances and I-SBC instances, on OpenStack (Newton and above). The T-SBC is a component in Distributed SBC architecture that provides transcoding service.

It is also on I-SBC. 

GPU devices are attached to the SBC SWe instances through PCIe pass-through – a single GPU device can be used by only one instance at a time. The process of enabling PCIe pass-through in OpenStack is detailed later in this document. For performance considerations, NUMA locality of devices should be ensured.

 

NVIDIA GRID is not supported.

Supported GPU Devices

The following NVIDIA GPU devices are supported.

GPU Device NamePCI Vendor IDPCI Device IDReleases supportedRemarks
Tesla V100 PCIe 16GB10DE1DB47.0.0 onwardsrecommended
Tesla V100 SXM2 16GB10DE1DB17.2.0 onwards

Supported Codecs

  • AMR-NB
  • G729G.729AB
  • G722
  • AMR-WB
  • EVRC
  • EVRCB

In addition, G.711 is supported for GPU instances, but only when G.711 is being transcoded to a non-G.711 codec. You cannot currently configure transcoding from G.711 to G.711 on GPU instances. The coding rates and packetization times for the supported codecs are shown in the tables on the Audio Codecs page.

Include Page
GPU_T-SBC_Codec_Restriction
GPU_T-SBC_Codec_Restriction

OPUS Encoding

OPUS on GPU supports the following:

  • Input sampling rates of 8Khz (NB) and 16Khz (WB) is supported on the IDP interface (encoder input and decoder output)
  • For the OPUS encoder, the only supported frame size is 20ms . 
  • However, the OPUS decoder supports decoding of 10ms, 20ms, 40ms and 60ms frames and packets of size 10ms through 60ms.
  • Encoding output bandwidths of 8Khz and 16Khz are supported for Opus .
  • Inband FEC encoding is supported.
  • Inband FEC decoding is supported except for 10ms frame size.
  • Variable Bit Rate (VBR) as well as Constant Bit Rate (CBR) is supported
  • DTX mode is supported.
  • Only single channel mode is supported

  • RFC2833 and OOB transmission and reception is supported on OPUS leg.


  • For the Opus Encoder, the following configs are supported.

    • Application   - VOIP mode
    • Complexity   - 3
    • Channels      - 1 ( single channel encoding)
    • Frame size   - 20ms 
    • cVbr              - 0 (disabled)
    • Mode            - SILK mode only
    Caption
    0Table
    1Feature Differences between CPU and GPU


    Feature

    CPU

    GPU

    Native Frame Size (for Encoder)

    10ms

    20ms

    Packetization Times Supported

    10ms, 20ms, 30ms, 40ms, 50ms, 60ms

    20ms, 40ms and 60ms


    Feature Comparison of CPU and GPU T-SBC Solutions

    While GPU-based T-SBCs SBC SWes offer marked increase in scale when compared to CPU-based T-SBCs, there are some caveats with the GPU solution that are highlighted in the following table. 


    Caption
    0Figure
    1Feature comparison of CPU and GPU T-SBC solution


    Feature
    CPU Solution
    GPU Solution
    ProvisioningCodecs are not provisioned during instantiation.

    Codecs and their relative percentages are provisioned during instantiation using fields in the Heat template.

    Inband Tone DetectionYesYes (except in G722 - AMRWB transcoding scenario)
    RFC2833YesYes
    Fax Tone DetectionYesNo
    LRBT(TPAD)YesNo
    G711 Silence SupressionYesYes


     



    Pagebreak