流媒体弱网优化之路(机器学习应用)——了解我们的网络模型

2023-09-21 15:45:17

流媒体弱网优化之路(机器学习应用)——了解我们的网络模型

——
我正在的github给大家开发一个用于做实验的项目 —— github.com/qw225967/Bifrost

目标:可以让大家熟悉各类Qos能力、带宽估计能力,提供每个环节关键参数调节接口并实现一个json全配置,提供全面的可视化算法观察能力。

欢迎大家使用
——


一、导读

在这里插入图片描述

  最近在做机器学习与网络相关的内容,偶然间看到了一篇清华大学2020年发布的机器学习与网络相关综述论文,抽时间阅读了一下,感觉有所收获与大家分享——When Machine Learning Meets Congestion Control: A Survey and Comparison。在展开说的之前老规矩先给大家粘上他们的摘要翻译:


  机器学习(ML)已经在许多不同的应用程序中得到了显著的普及。它提供的高度灵活性、适应性和计算能力扩展了在包括网络运营和管理在内的多个领域中使用的传统方法。许多调查都探讨了ML在网络环境中的应用,如流量工程、性能优化和网络安全。许多ML方法侧重于聚类、分类、回归和强化学习(RL)。本研究的创新和贡献在于对基于学习的拥塞控制(CC)方法的详细总结和比较。与通常基于规则的传统CC算法相比,从历史经验中学习的能力是非常可取的。从文献中可以观察到,RL是基于学习的CC算法中的一个关键趋势。在本文中,我们探索了基于RL的CC算法的性能,并提出了当前基于RL的CC算法存在的问题。我们概述了与基于学习的CC算法相关的挑战和趋势。


二、模型与算法

2.1 丢包检测算法

随机、聚簇丢包模型相关的算法:

算法场景输入输出
决策树 [1]Wireless networks单向延迟 + 包间延迟链路丢包 \ 拥塞丢包
贝叶斯 [2]Networks with Reordered events丢失数据的RTT重排序丢包 \ 拥塞丢包
Hidden Markov模型 [3]Optica Burst Switching两次突发发送之间成功接收包数竞争丢包 \ 拥塞丢包
DT\Bagging\Boosting 神经网络 [4]Wireless networks队列延迟 + 到达时间差 + 包队列无线网络丢包 \ 拥塞丢包
决策树\决策树集合\套袋\随机森林\额外树\多层\感知器\K-最近邻 [5]Wireless networks单向延迟的最大值、最小值、标准差 + 包间间隔的最大值、最小值、标准差无线丢包 \ 拥塞丢包

2.1.1 无线网络丢包模型

  在上述的表格中,丢包相关的算法模型有一大半是为了检测无线网络丢包的,其中几篇论文对无线网络丢包的产生机制解释为:

  1. 无线链路故障——例如:无线设备损坏等;
  2. 用户移动——例如:移动导致的多个不同无线设备间切换;
  3. 信号干扰、条件差——例如:偏远地区以及强磁场区域;

  针对上述描述的几个场景,我们可以这样理解:无线网络的数据包与无线信号强相关,而无线信号又与地域以及物理设备息息相关,因此整个无线传输过程伴随着很强的随机性以及聚簇性。正因为每次一丢就一大片一大片的,很多论文都会考虑使用包接收间隔来区分是否产生了排队,只要包接收间隔没有明显变化的丢包就会被归类于无线网络丢包。

2.1.2 多信道重排序丢包模型

  多信道重排序丢包是由于不同路由之间链路的网络状态变化导致的。例如:当某些包从一个高延迟的路由转向一个低延迟的路由时,假设其他路由的延迟不变就会产生乱序的情况(但大概率在p2p的模式下发生比较明显)。这类情况也是随机而又聚簇的形式,假设这类路由出现明显的乱序也会出现和无线丢包类似的情况(这个在现代的流媒体传输中尤为重要,因为流媒体传输要保证绝对的时序性)。

2.1.3 光脉冲网络切换模型

  光脉冲网络有一个很明显的特点,就是节点处的大量数据包短时间聚合。同时光信号与电信号之间的转换会在整个传输链路中不断出现。当数据聚集开始,超过光电转换信号,数据不会进行缓存而是直接被丢弃,由此形成了一个随机而又聚簇的丢包网络。

  基于上述的几个模型特点,下图就是这些网络类型最常用的机器学习算法的控制图,基本是利用了对应网络的丢包特点来做明确的区分:
在这里插入图片描述
  由于区别上述网络造成的丢包与普通网络拥塞丢包的方式比较明确,就是使用接包间隔来确定是否产生排队,因此仅仅使用 决策树 这种方式也能实现比较明显的区分,但是网络的随机性导致我们几乎无法完全确定我们所做出的决策100%正确,因此根据这种随机性,我们很自然的考虑到了使用 贝叶斯定理 来提高准确度。而使用 隐马尔科夫模型 来区分光切换网络是因为作者发现光切换的 故障间突发数(NBBF) 遵循高斯分布,通过其特征值的变化我们可以使用迭代算法、隐马尔可夫模型进行推算,从而实现拥塞丢包与OBS丢包的检测。

[1] I. El Khayat, P. Geurts, and G. Leduc, “Improving tcp in wireless net- works with an adaptive machine-learnt classifier of packet loss causes,” in International Conference on Research in Networking. Springer, 2005, pp. 549–560.

[2] N. Fonseca and M. Crovella, “Bayesian packet loss detection for TCP,” in INFOCOM 2005. 24th Annual Joint Conference of the IEEE Computer and Communications Societies, 13-17 March 2005, Miami, FL, USA, 2005, pp. 1826–1837. [Online]. Available: https://doi.org/10.1109/INFCOM.2005.1498462

[3] A. Jayaraj, T. Venkatesh, and C. S. R. Murthy, “Loss classification in optical burst switching networks using machine learning techniques: improving the performance of TCP,” IEEE J. Sel. Areas Commun., vol. 26, no. 6-Supplement, pp. 45–54, 2008. [Online]. Available: https://doi.org/10.1109/JSACOCN.2008.033508

[4] “Enhancement of tcp over wired/wireless networks with packet loss classifiers inferred by supervised learning,” Wireless Networks, vol. 16, no. 2, pp. 273–290, 2010.

[5] P. Geurts, I. E. Khayat, and G. Leduc, “A machine learning approach to improve congestion control over wireless computer networks,” in Proceedings of the 4th IEEE International Conference on Data Mining (ICDM 2004), 1-4 November 2004, Brighton, UK, 2004, pp. 383–386. [Online]. Available: https://doi.org/10.1109/ICDM.2004.10063

2.2 延迟检测算法

更多推荐

看期权哪个软件更好用?数据比较全面直观的那种?

在介绍期权看盘软件之前,我们先来了解一下期权交易的发展史。2015年,国内首只期权上市交易,2019年深交所期权上市,期权市场越来越火,期权分仓软件也是横空出世发展至今,下文介绍看期权哪个软件更好用?数据比较全面直观的那种?常用的看盘期权软件有:掌上财富、东方财富、同花顺、通达信、文华财经等。一般来说,多数行情走势软件

合同被篡改,被变更,被调换风险大?君子签电子合同有效化解

纸质合同签署文件类型多,签署量大,人为干预较多,合同被篡改,被变更,被调换风险大,难以防范和避免。请注意,出现以下几个情况,代表你已经遭遇合同“调包计”了!1、合同内容被PS篡改利用PS工具可以轻易将预先商定好的合同内容,包括合同金额、时间、日期、数量、报酬、利率等进行修改,还可以对骑缝印文进行拼接处理,盖印痕迹。内容

计算机网络 实验二 交换机的基本配置

实验二交换机的基本配置实验目的•掌握交换机的配置方式及切换命令;•掌握交换机端口的基本配置;•掌握交换机mac地址的查看与管理方法。实验设备以太网交换机一台服务器一台PC机五台配置电缆、网线若干网络拓扑及IP地址分配给计算机Pc0~Pc4配置IP地址,分别是192.168.1.1、192.168.1.2、192.168

【SpringCloud】微服务技术栈入门2 - Nacos框架与Feign

目录Nacos下载Nacos并运行配置NacosNacos集群Nacos负载均衡Nacos环境隔离Nacos注册细节Nacos更多配置项快速上手自动更新Feign取代RestTemplateFeign自定义配置性能优化Nacos下载Nacos并运行首先下载对应的release包,主要要选择已经打包编译好的nacos-s

MongoDB(二)基础操作 创建、删除等

mongodb有一个特点,如果某个库,库下面没数据(mongodb成集合),该库等于不存在的mongodb只要创建一个库,在库下写入数据,该库才会生成mongoshe[-h=host-p=xxx]创建数据库use数据库名#如果数据库名已经存在,则表示切换到这个数据库,如果没有,则创建,但不是持久化到磁盘,查看有权限查看

Linux的常见指令

目录pwd命令ls指令mkdir指令touch指令cd指令rmdir指令&&rm指令man指令nanocp指令mv指令cat指令more指令less指令head指令tail指令grep指令热键zip/unzip指令tar指令uname–r指令输出重定向图形化界面和命令行操作本质都是对操作系统进行直接或间接的操作pwd命

租用独立服务器有哪些常见的误区?

租用独立服务器有哪些常见的误区?如今,租用独立服务器的市场随着idc行业良好的发展趋势而变得越来越广泛,其最明显的地方在于出现了许多的代理商,而成为代理商的门槛非常低,这样一来就会出现许多问题,导致很多企业在面对层出不穷的代理商做选择时,都会非常困扰,因为租用服务器还存在后续使用的售后、机器的质量保障等等,不泛一些不良

Immutable.js简介

引子看一段大家熟悉的代码conststate={str:'wwming',obj:{y:1},arr:[1,2,3]}constnewState=stateconsole.log(newState===state)//truenewState和state是相等的原因:由于js的对象和数组都是引用类型。所以newStat

vue-cli安装与搭建SPA项目

文章目录一、VueCLI1.1脚手架1.2VueCLI1.3安装VueCLI二、用CLI完成spa项目的构建2.1使用脚手架创建项目骨架2.2“一问一答”模式2.3安装项目所需nmp2.4项目结构简介三、基于spa项目完成路由3.1自定义组件3.2创建路由集合3.3挂载四、嵌套路由4.1创建组件4.2创建路由集合4.3

插入/希尔/选择/堆/冒泡/快速/归并/计数排序 && 排序原理 && 搜索树原理 && 哈希概念

第1题(编程题)题目名称:插入排序和希尔排序题目内容://插入排序publicstaticvoidinsertSort(int[]array){//writecodehere}//希尔排序publicstaticvoidshellSort(int[]array){//writecodehere}第2题(编程题)题目名称

关于远程工作的面试可能存在的陷阱

附上看到的完整帖子地址:面试POPER的后端开发工程师的离奇经历分享一下我遇到过的,我至少面试过10个远程工作,其中有3个的面试是直接让我完成一个需求的,前两次都耐心做了,第3次看到相同要求时我都懒得回复了,直接视为白嫖了。可能很多企业会反驳你这只是测试,可这就是CRUD而已,能考验什么?对某个框架、库、SDK的使用熟

热文推荐