关于SBC的完整技术文章,读者可以参考:
图解边界会话控制器(SBC)的20个最常用功能
在传统的X86技术架构中,CPU可以处理大部分的功能要求,CPU设计的目的是支持标准的业务处理能力,对高并发处理,大数据计算和媒体数据的计算相对比较弱。GPU的技术架构为媒体计算服务带来了一个很好的机会,通过GPU的计算能力可以极大提升对媒体处理的能力。
在Ribbon提出的SBC解决方案中,针对编码转换能力的支持中,CPU负责信令处理,媒体数据的处理,GPU媒体编码转换。这种设计方式可以完美实现在物理服务器设备的部署,也可以非常方便地支持基于云部署方式的语音编码转换能力。
ribbon建议的部署方式中通过CPU+GPU的实现方式,CPU负责SIP/H323等信令,会话管理,会话安全,数据包转发处理,协议之间的兼容性切换处理,媒体安全处理。因为, 因为CPU的天然属性,如果让CPU继续承担编码转换的能力,CPU的技术设计架构很难多大并发支持的很好,也不能很好支持编码转换的大并发处理。在最新的实现方式中,CPU仍然承担信令,会话管理,数据转发工作,但是GPU承担媒体编码的处理。通过GPU对媒体转换的处理是相对比较好的设计架构,同时也提升了编码转换的能力。因此,GPU的SBC(GPU 会话边界控制器)是一个比较好的设计架构。通过GPU SBC的设计架构根据系统资源配置可以实现兼顾编码转换的同时实现对会话能力的支持,可以拓展服务从几千到几万路,十几万路一直到百万级的处理。
![](http://www.ctiforum.com/uploadfile/2021/0311/20210311102201623.jpg)
基于CPU-SBC vs GPU SBC
不同解决方案的部署需要进行测试。在编码转换测试指标中,用户非常关注编码处理的可拓展性,语音质量以及每个编码转换通道的处理成本。通过GPU SBC和CPU SBC的测试评价,基于GPU的SBC在各个指标中都优于基于CPU的SBC性能指标。ribbon通过测试实验证明:
可拓展性方面,通过多种语音编码之间的转换,包括:G.711 和 G.722, G.729, AMR-NB, AMR-WB 和 EVRC codecs,使用GPU SBC的技术架构中,提升了400%到1300%的性能。在Ribbon SBC实验室的独立测试中,使用各种编码转换进行不同的编码转换的话,从整体性能来看,使用GPU SBC可以获得425%到1100%的拓展性能提升。
两种技术架构针对语音质量的影响中,因为CPU是基于fixed-point 计算,GPU是基于floating-point计算,因为计算方式的不同,SBC需要根据两种计算方式对其语音质量进行评价。在VQA测试中,SBC实验室数据表明,在语音质量方面,GPU比CPU处理方式的语音质量稍微好一点(使用GPU提示了1-5%),没有很大的差别。
在两种平台架构中,针对每个编码转换通道的成本计算中,主要考虑了其软硬件的耗电成本。在带GPU的环境中,从整体环境测试中,通过各种编码转换组合方式的测试,实验室发现,其整体成本消耗相对比较低。在节电性能测试中,针对一个转换会话测试中,GPU的SBC比CPU的SBC更节省电能,其指标提升从54% 到456%不等。如果随着编码转换的支持的处理能力不断增加的话,GPU的单媒体转换通道的成本会大幅下降。实验发现,通过GPU 的SBC技术架构更好地实现了高并发情况下媒体转换成本的下降。具有非常高的性价比。
在语音网络环境中,特别是基于云平台的SBC部署环境中,编码转换的功能是其非常核心功能之一。编码转换的性能决定了VoIP网络的稳定性和其质量。核心处理器的使用可以增加其处理性能,并且决定了部署的成本。通过CPU技术架构和GPU SBC技术架构的对比试验,实验人员发现,基于GPU 处理器的SBC和CPU技术架构的SBC相比,具有更好的可拓展性,比较好的语音质量和相对非常低的处理成本,因此,GPU的SBC比CPU技术架构的SBC对物理硬件成本和云平台部署的SBC具有更好的支持,具有更强的市场竞争力。
参考资料:
https://ribboncommunications.com/
www.hiastar.com
www.freepbx.org.cn