CN113300970B - 基于深度学习的tcp拥塞动态控制方法及装置 - Google Patents
基于深度学习的tcp拥塞动态控制方法及装置 Download PDFInfo
- Publication number
- CN113300970B CN113300970B CN202110078903.1A CN202110078903A CN113300970B CN 113300970 B CN113300970 B CN 113300970B CN 202110078903 A CN202110078903 A CN 202110078903A CN 113300970 B CN113300970 B CN 113300970B
- Authority
- CN
- China
- Prior art keywords
- rtt
- action
- agent
- historical
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于深度学习的TCP拥塞动态控制方法及装置,包括:代理获取传输环境的状态按照策略确定一个动作,动作为TCP会话的数据传输动作;传输环境基于动作对下一个传输环境进行改变,并将改变后的环境信息作为回报传输至代理;获取时序上连续的K个历史经验,对所述K个历史经验进行处理后作为输入至时序卷积网络模型中得到历史信息;代理基于所述历史信息以及回报和\或累积回报确定下一个动作。基于深度强化学习通过挖掘网络历史经验为处理网络拥塞提供了一种新的方案,通过实验分析历史经验K的取值,并进行调整进行动作的改变,使得本发明能够在瓶颈链路带宽较小的网络中部署TRL‑CC,TRL‑CC较NewReno和RL‑CC在吞吐量和延迟方面达到了更好的性能。
Description
技术领域
本发明涉及数据传输技术,尤其涉及一种基于深度学习的TCP拥塞动态 控制方法及装置。
背景技术
随着互联网规模和网络应用的不断增加,网络拥塞现象日益显著,尽管 高带宽的网络链路能够在一定程度上满足网络服务的需求,提高吞吐量和降 低延迟等,但更高端的硬件资源价格昂贵且没有从本质上解决网络拥塞问题, 更可行的是对高层的拥塞控制协议进行设计或改进。
在有线和无线网络中,TCP是被广泛探讨的话题。同时,拥塞控制是网 络中最基本的问题。多年来,许多端到端拥塞控制理论被提出。例如,Reno 根据返回的确认字符(ACK)信息调整拥塞窗口,在低带宽、低时延的网络中可 以发挥出优势。但是在高带宽延时网络中,RTT很大,拥塞窗口增长慢,导 致带宽利用率降低。Cubic使用cubic函数调整拥塞窗口,其优点在于只要 没检测到丢包,就不会主动降低发送速率,可以最大程度的利用网络剩余带 宽。但这也将会成为其短板。Vegas将时延作为拥塞出现的信号。如果RTT 超过了预期的值则开始减小拥塞窗口。还有包括BBR,Compound等端到端的 拥塞控制协议。这些协议都有各自独特的设计,他们使用固定的函数或者规 则调整拥塞窗口的变化。对于上述传统的拥塞控制协议,固定规则策略限制 了他们适应现代网络的复杂性和快速变化。更重要的是,这些拥塞控制协议 不能从历史经验中学习。
在过去研究者们已经利用机器学习方法来解决传统TCP协议的局限性。 例如,Remy使用机器学习的方式生成拥塞控制算法模型,针对不同网络状态 采用不同的方式调整拥塞窗口。它通过离线方式进行训练,通过输入各种参 数(如瓶颈链路带宽、时延等),反复调节目标函数使其达到最优,最终会生 成一个网络状态到调节方式的映射表。当训练的网络模型假设和实际网络的 假设一致时,Remy可以很好的工作。但是当实际网络假设发生改变时,Remy 的性能会下降。它的映射表是在训练时计算得出的,与传统的TCP及其变种一样,它无法适应不断变化的网络环境,每当网络环境发生变化时,它必须 重新计算映射表。PCC摒弃基于规则的模式,可以快速适应网络中不断变化 的条件。它不断地通过“微型实验”积极寻找更优的发送速率。但是,贪婪 地寻找更优的发送速率会让其陷入局部最优的地步。并且,它的性能需要依 靠准确的时钟。不论是Remy还是PCC,它们都把网络环境视为黑匣子,抛弃 了传统的基于规则的设计模式,专注于寻找可以达到最好性能的发送速率改 变规则。但是,它们都没有利用先前的经验。
拥塞控制算法在保证应用数据进行可靠传输中起着重要的作用。但是, 网络环境是复杂且动态变化的,链路的信息具有非透明性,这对设计拥塞控 制算法提出了更高的挑战。如附图1A,通信双方的通信链路带宽不均衡。当 以1Mb/s从S向R发送数据时,超过链路所提供的最大带宽,在M处会发生 拥塞,导致网络性能变差甚至崩塌。此时S就会减小拥塞窗口,降低其发送 速率。NewReno遇到此类问题时执行固定的AIMD规则,在网络出现拥塞时, 拥塞窗口的大小默认缩减至原始值的1/2,这种设计浪费了网络资源,从而 严重降低了网络的性能。
传统的TCP NewReno是通过AIMD规则维持调拥塞窗口大小。AIMD主要 包含三个步骤:
慢开始:cwnd=cwnd+1(每个ACK都被发送方收到)
拥塞避免:cwnd=cwnd+1/cwnd(每个ACK都被发送方收到)
快恢复:cwnd=cwnd/2(收到三次重复ACKs)
如附图1B所示,TCP NewReno流的拥塞窗口(包的数量)随时间的变化。 它通过AIMD规则控制拥塞窗口变化。一个TCP会话建立时,发送方并不知道 拥塞窗口应该取多大的值适合当前的网络状况,所以数据包刚注入网络时拥 塞窗口会快速提升到某个值(①慢开始),尽管这种策略被称为慢开始,但是 拥塞窗口呈指数增长。TCP设置了一个慢开始门限限制拥塞窗口无限增加。 发送方根据确认字符判断网络出现拥塞,进入拥塞避免阶段(②拥塞避免), 拥塞窗口增长缓慢(在接收到每个确认信息ACK)。直到链路发生丢包或发送 方收到三个重复冗余ACK,进入第三阶段(③快重传),跳过慢开始阶段直接 进入拥塞避免。AIMD原理说明TCP过程将会收敛到一个同时满足效率和公平 性的平衡点上,也表明多个流在共享一个链路时最终能得到收敛。由于这种 基于规则的设计模式,它在动态变化的网络环境中未能更好地均衡吞吐量和 时延。在网络构建的过程中上述规则被定义为“事件-动作”,即在面对丢包 或者拥塞时此类网络协议只能根据单一的映射关系选择固定“动作”,尽管 这一“动作”会降低网络吞吐量等性能指标。这些网络协议也未能根据网络 的过去经验对拥塞窗口做出动态的自适应调整。基于规则的协议主要存在两 个问题:首先当网络环境发生变化时,这些基于规则的协议不能动态地对新 的网络环境更好地适应。即不同的网络环境存在不同的带宽、延迟和网络拓 扑。因此,适用于特定网络下的TCP拥塞控制协议很难甚至无法在另一个网 络中起作用;其次在构建网络的时候,人为地建立标准性的假设,在这些假 设之上成立规则。
所以,当前的TCP拥塞控制方法适应性较差,实用性较低。
发明内容
本发明实施例提供一种基于深度学习的TCP拥塞动态控制方法及装置, 基于深度强化学习通过挖掘网络历史经验为处理网络拥塞提供了一种新的方 案,使得其适应于不同的网络环境,适应性较强,实用性较高。
本发明实施例的第一方面,提供一种基于深度学习的TCP拥塞动态控制 方法,包括:
代理获取传输环境的状态按照策略确定一个动作,所述动作为TCP会话 的数据传输动作;
传输环境基于所述动作对下一个传输环境进行改变,并将改变后的环境 信息作为回报传输至代理;
获取时序上连续的K个历史经验,对所述K个历史经验进行处理后作为 输入至时序卷积网络模型中得到历史信息;
代理基于所述历史信息以及回报和\或累积回报确定下一个动作。
可选地,在第一方面的一种可能实现方式中,所述代理基于所述历史信 息以及回报进行确定下一个TCP会话的数据传输动作中,基于以下公式进行 计算下一个动作Ai的Q函数值,包括:
可选地,在第一方面的一种可能实现方式中,所述策略基于以下步骤获 得,包括:
策略π(a|st)基于状态空间(S)到动作空间a映射,通过以下公式表达, 包括:
π(a|st)·S→A。
可选地,在第一方面的一种可能实现方式中,所述回报基于以下步骤 获得,包括:
代理根据当前状态st随机和\或根据所述策略固定的选取动作at并从环 境中获得回报r(st,at),通过以下公式表达,包括:
Rt=r(st,at)+γ·Rt+1。
可选地,在第一方面的一种可能实现方式中,计算代理在状态st下执 行动作at后获得的累计回报,通过以下公式表达,包括:
可选地,在第一方面的一种可能实现方式中,获取时序上连续的K个历 史经验包括:
选取以下信息,包括拥塞窗口w、一次发包时间内的吞吐量(tp)、往 返时间(RTT)、最小RTT和RTT之比υRTT、RTT和最小RTT两者之间的差值 dRTT、发送数据包后返回的确认字符τACK,基于以上信息生成状态空间,状 态空间S通过以下集合表达,包括:
S=[s1,s2,...,sk];
其中st表示通过以下公式表达,包括:
St=[w(t),tp(t),RTT(t),υRTT(t),dRTT(T),τACK(T)];
代理选取状态空间S集合中的K个历史经验作为时序卷积网络的输入, 提取时序上隐式的因果关系,代理将提取的隐式特征压成一维张量作为 DQN的输入。
可选地,在第一方面的一种可能实现方式中,所述回报的取值基于效用 函数得到映射;
其中效用函数基于以下公式表达,包括:
U=Utilityt+RTT-Utilityt;
其中Utility为回报函数,通过以下方式计算每个时刻的回报函数, 包括:
Utilityt=α×log(tp(t))-βlog(RTT(t));
其中α,β代表吞吐量,RTT的权重,且α+β=1。
本发明实施例的第二方面,提供一种基于深度学习的TCP拥塞动态控制 装置,包括:
环境获取模块,用于使代理获取传输环境的状态按照策略确定一个动作, 所述动作为TCP会话的数据传输动作;
回传模块,用于使传输环境基于所述动作对下一个传输环境进行改变, 并将改变后的环境信息作为回报传输至代理;
历史经验获取模块,用于获取时序上连续的K个历史经验,对所述K个 历史经验进行处理后作为输入至时序卷积网络模型中得到历史信息;
确定模块,用于使代理基于所述历史信息以及回报和\或累积回报确定下 一个动作。
可选地,在第二方面的一种可能实现方式中,还包括特征处理模块,所 处特征处理模块用于执行以下步骤,包括:
选取以下信息,包括拥塞窗口w、一次发包时间内的吞吐量(tp)、往 返时间(RTT)、最小RTT和RTT之比υRTT、RTT和最小RTT两者之间的差值 dRTT、发送数据包后返回的确认字符τACK,基于以上信息生成状态空间,状 态空间S通过以下集合表达,包括:
S=[s1,s2,...,sk];
其中st表示通过以下公式表达,包括:
St=[w(t),tp(t),RTT(T),υRTT(t),dRTT(t),τACK(T)];
代理选取状态空间S集合中的K个历史经验作为时序卷积网络的输入, 提取时序上隐式的因果关系,代理将提取的隐式特征压成一维张量作为DQN 的输入。
本发明实施例的第三方面,提供一种可读存储介质,所述可读存储介质 中存储有计算机程序,所述计算机程序被处理器执行时用于实现本发明第一 方面及第一方面各种可能设计的所述方法。
本发明提供的一种基于深度学习的TCP拥塞动态控制方法及装置,基于 深度强化学习通过挖掘网络历史经验为处理网络拥塞提供了一种新的方案, 通过实验分析历史经验K的取值,并进行调整进行动作的改变,使得本发明 能够在瓶颈链路带宽较小的网络中部署TRL-CC,TRL-CC较NewReno和 RL-CC(未考虑过去经验在时序上存在的因果关系)在吞吐量和延迟方面达到 了更好的性能。并且,达到其适应于不同的网络环境,适应性较强,实用性 较高的目的和效果。
附图说明
图1a为现有技术中通信双方的通信链路不均衡的示意图;。
图1b为拥塞窗口随时间的变化示意图;
图2为基于深度学习的TCP拥塞动态控制方法的流程图;
图3为本发明TRL-CC的流程示意图;
图4为代理的结构示意图;
图5a为拥塞窗口的变化示意图;
图5b为往返时延的变化示意图;
图5c为吞吐量的变化示意图;
图6a为不同算法的往返时间示意图;
图6b为不同算法的吞吐量示意图;
图6c为不同算法的平均往返时间示意图;
图6d为不同算法的平均吞吐量示意图;
图7a为K不同取值时的往返时间对比示意图;
图7b为K不同取值时的吞吐量对比示意图;
图7c为K不同取值时的平均往返时间对比示意图;
图7d为K不同取值时的平均吞吐量对比示意图;
图8a为链路带宽为20Mbps的往返时间示意图;
图8b为链路带宽为20Mbps的吞吐量示意图;
图8c为链路带宽为20Mbps的平均往返时间示意图;
图8d为链路带宽为20Mbps的平均吞吐量示意图;
图9为基于深度学习的TCP拥塞动态控制装置的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发 明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述, 显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。 基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下 所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、 “第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述 特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换, 以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的 顺序实施。
应当理解,在本发明的各种实施例中,各过程的序号的大小并不意味着 执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对 本发明实施例的实施过程构成任何限定。
应当理解,在本发明中,“包括”和“具有”以及他们的任何变形,意 图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、 系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有 清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本发明中,“多个”是指两个或两个以上。“和/或”仅仅 是一种描述关联对象的关联关系,表示可以存在三种关系,例如,和/或B, 可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/” 一般表示前后关联对象是一种“或”的关系。“包含A、B和C”、“包含A、 B、C”是指A、B、C三者都包含,“包含A、B或C”是指包含A、B、C三者 之一,“包含A、B和/或C”是指包含A、B、C三者中任1个或任2个或3 个。
应当理解,在本发明中,“与A对应的B”、“与A相对应的B”、“A 与B相对应”或者“B与A相对应”,表示B与A相关联,根据A可以确定B。 根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确 定B。A与B的匹配,是A与B的相似度大于或等于预设的阈值。
取决于语境,如在此所使用的“若”可以被解释成为“在……时”或“当…… 时”或“响应于确定”或“响应于检测”。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具 体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例 不再赘述。
本发明的实施例提供一种动态改变拥塞窗口大小的基于深度强化学习(Reinforcement learning)的TCP拥塞控制方法-Temporal convolutional network andReinforcement Learning Congestion Control(TRL-CC)。其可 以习到一个较好的控制拥塞窗口大小变化的策略。
如图2所示,为本发明的一种实施方式,包括以下步骤:
S10、代理获取传输环境的状态按照策略确定一个动作,所述动作为TCP 会话的数据传输动作;
其中,所述代理基于所述历史信息以及回报进行确定下一个TCP会话的 数据传输动作中,基于以下公式进行计算下一个动作Ai的Q函数值,包括:
S20、传输环境基于所述动作对下一个传输环境进行改变,并将改变后的 环境信息作为回报传输至代理;
S30、获取时序上连续的K个历史经验,对所述K个历史经验进行处理后 作为输入至时序卷积网络模型中得到历史信息;
S40、代理基于所述历史信息以及回报和\或累积回报确定下一个动作。
深度强化学习通过挖掘网络历史经验为处理网络拥塞提供了新模式, 可以有效地克服上述问题,学习到一个较好的控制拥塞窗口大小变化的策 略。TRL-CC的设计如附图3所示,它可以从历史经验中隐式学习和预测未 来网络情况。它大致可以分为三部分:(i)对网络实行控制和决策的代理; (ii)执行代理选择的动作并对这些动作做出标准性评价的环境;(iii)存 放历史经验的缓冲区。
TRL-CC通过利用历史经验实现拥塞控制智能化和摆脱基于规则的模式。 在这种情况下,每个发送方作为一个代理,代理与网络环境直接进行交互, 代理不需要了解网络的全部信息,相反的它只需要观测网络环境的状态 (例如:往返时间(RTT),吞吐量,拥塞窗口等)。一次TCP会话建立到会 话结束称为一个片段。在一个片段内的每个时间步,代理通过接收网络环 境的状态选择一个合适的动作,此时的动作会被反馈给环境并且影响环境的下个状态,同时代理将得到执行这一动作带来的回报,目的是最大化未 来折扣累积回报。
代理的设计如附图4所示。代理将时序上连续的K个历史经验经作为 输入,并且输出是动作空间中的下一个动作。
在单独使用强化学习实现拥塞控制时,仅仅是把过去经验直接作为输 入。尽管可以得到比传统模型好的效果,但RL-CC却忽略了历史经验中隐 式的因果关系。时序卷积网络(Temporal convolutional network,TCN) 在处理时序上的序列时是一个非常有前景的方法。在t时刻,代理从缓冲 区中选取t时刻之前的K个连续的历史经验作为TCN的输入。TCN的卷积 网络层层之间是有因果关系的,意味着不会“遗漏”历史信息的情况发生。 而且它使用大量的空洞卷积扩大感受野,可获得更长的历史信息。网络参 数的丢弃概率是0.3。最后,代理通过两个全连接网络来计算最合适的动 作的Q函数值。
在附图4中,代理使用全连接层网络计算每个动作的Q函数值时,采 用的是softmax激活函数,定义如下:
代理选取最大概率的动作Ai计算对应的Q函数值。
本发明提供的以上方法,具有以下优点,分别包括:
(1)TRL-CC利用时序卷积网络对历史经验进行时序上因果关系处理, 并结合强化学习选取合适的动作对拥塞窗口进行调整。利用当前的网络状况 跟过去一段时间内的网络情况有着密切联系这一隐式条件,TRL-CC可以学习 到更优的策略来实现智能化的拥塞控制。
(2)TRL-CC在实现智能化的拥塞控制方案时,对往返时间进行量化。 拥塞窗口通过结合量化往返时间进行自适应动态调整。
(3)本发明考虑到环境执行动作到代理收到执行这一动作的回报存在延 迟。所以,TRL-CC在学习过程中对Q函数的更新作了修改。代理用t+1时刻 的回报代替t时刻的回报。
当一个网络的拓扑和参数发生改变时,网络需要重新被规划以充分利用 瓶颈链路带宽和降低往返时间。事实上,在保证充分利用带宽和降低往返时 间的前提下,本发明提出基于强化学习的TRL-CC通过学习历史经验达到自适 应动态规划网络目的。强化学习包含两个实体:代理和环境。通常情况下, 深度强化学习用于解决马尔科夫决策问题(MDP)。但在本发明中,网络内部信 息并不透明,代理不能完全了解网络信息。因此,网络环境建模为部分可观 测马尔科夫问题(POMDP)。
没有先验知识的代理通过学习得到最优策略π(a|st),通常情况,策略 π(a|st)是通过状态空间(S)到动作空间a映射,定义为:
π(a|st)·S→A
(1)
代理根据当前状态st随机或根据策略(1)固定的选取动作at并从环境中获得 回报r(st,at),目的是最大化长期累积折扣回报,被定义为:
Rt=r(st,at)+γ·Rt+1
(2)
γ∈[0,1]表示折扣因子。
即便在相同的环境中,当策略发生变化时,累计回报也会发生改变。 这是因为累计回报取决于选取的动作。此时,需要计算代理在状态st下执 行动作at后获得的累计回报,这得以从Q函数体现,被定义为:
在一个TCP会话建立时,有许多的状态变量可以描述网络情况,例如 往返时间(RTT)和最小往返时间(RTTmin)(RTTmin),上次发包的时间,慢开始 的阈值(ssThresh),拥塞窗口大小(cwnd),连续两次发包的拥塞窗口的差值,平 均往返时间(avg_RTT),收到确认信息的总和(sum_ACKs),在一个时间间隔内接 收到的平均确认信息(avg_ACKs),网络吞吐量等。选取只与代理目标相关的 特征并做预处理是必要的,因为能更好的解释模型。
数据包的传输时,通过最小往返时间可以估计出链路的传输时延,但 是链路可能会发生动态变化。因此,最小延迟比vrtt=RTTmin/RTT也作为衡 量网络状况特征,它表示在动态变化的链路中数据的传播时延所占的比例。 同时,数据包的传输过程中需要考虑队列延迟,把 drtt=RTT-RTTmindRTT=RTT-RTTmin作为队列延迟的估计。此外,返回确认信息(ACKs)表明在一次数据传输过程,接收方是否收到数据包还是丢失数据包, 一定程度上可以反映网络情况,所以确认信息(ACK)也作为一个特征。
通过上述讨论,下一步定义TRL-CC的状态空间。在一个TCP会话期间, 代理对观测状态的处理之后,我们考虑以下特征:(1)(1)拥塞窗口(cwnd)大 小,用w表示,(2)(2)一次发包时间内的吞吐量(tp),(3)往返时间(RTT), (4)最小RTT和RTT之比υRTTυRTT,(5)(5)RTT和最小RTT两者之间的差值 dRTTdRTT,(6)发送数据包后返回的确认字符,用τACK表示。因此,状态空间 定义为:
S=[s1,s2,...,sk]
(4)
其中st表示为:
St=[w(t),tp(t),RTT(t),υRTT(t),dRTT(t),τACX(t)]
(5)
代理选取式(5)中的s1,s2,...,s,K个历史经验作为时序卷积网络的输入, 提取时序上隐式的因果关系。最终,代理把提取的隐式特征压成一维张量 作为DQN的输入。
代理通过在动态变化网络中学习合适的策略,处理每个观测状态后选择 合适的动作,构成<状态,动作>对,并将动作映射为拥塞窗口的改变。如 表1所示拥塞窗口改变规则,
表1
拥塞窗口调整的状态空间A,共有5个动作。代理结合往返时间的量化 对拥塞窗口做动态改变。本发明对往返时间均匀量化为M个区间,如式(6) 所示:
Δμ=(RTTmax-RTTmin)/M
(6)
ΔμΔμ称为乘性因子,拥塞窗口随乘性因子做不定的改变。代理预测的 任何一个动作对改变拥塞窗口满足下式:
回报是指代理在每个时间步选取动作后作用于环境中,然后从环境中 获得的评价性响应。回报取值通过效用函数得到映射。TRL-CC的效用函数 目标是最大化吞吐量且最小化延迟。因此,效用函数的定义如下:
Utilittt=α×log(tp(t))-βlog(RTT(t))
(8)
其中α,β代表吞吐量,RTT的权重,且α+β=1。公式(8)表明应该努 力的最大化吞吐量的同时最小化延迟。
尽管效用函数是模型要实现的目标,但值得注意的是,代理仅仅采用上 式作为回报函数,代理可能持续选择相同的动作,使得效用函数一直是最 大化,但网络的性能并不一直是最优的。为了能够更好地均衡吞吐量和RTT。 本发明采用时间步t和t+RTT连续时间的效用函数值之差来定义效用函数, 如下:
U=Utilityt+RTT-Utilityt;
(9)
其中,表格2为效用函数回报。
U | 回报值 |
U≥ε | 10 |
U<ε | -20 |
表2
表2中,ε表示两个连续效用值差值的容忍度。当连续的两个效用函 数值的差大于ε,代理会得到一个正的回报值,反之亦然。
本发明还提供一种基于深度学习的TCP拥塞动态控制装置,如图9所示, 包括:
环境获取模块,用于使代理获取传输环境的状态按照策略确定一个动作, 所述动作为TCP会话的数据传输动作;
回传模块,用于使传输环境基于所述动作对下一个传输环境进行改变, 并将改变后的环境信息作为回报传输至代理;
历史经验获取模块,用于获取时序上连续的K个历史经验,对所述K个 历史经验进行处理后作为输入至时序卷积网络模型中得到历史信息;
确定模块,用于使代理基于所述历史信息以及回报和\或累积回报确定下 一个动作。
在一个实施例中,还包括特征处理模块,所处特征处理模块用于执行以 下步骤,包括:
选取以下信息,包括拥塞窗口w、一次发包时间内的吞吐量(tp)、往 返时间(RTT)、最小RTT和RTT之比υRTT、RTT和最小RTT两者之间的差值 dRTT、发送数据包后返回的确认字符τACK,基于以上信息生成状态空间,状 态空间S通过以下集合表达,包括:
S=[s1,s2,...,sk];
其中st表示通过以下公式表达,包括:
St=[w(t),tp(t),RTT(t),υRTT(t),dRTT(t),τACX(t)];
代理选取状态空间S集合中的K个历史经验作为时序卷积网络的输入, 提取时序上隐式的因果关系,代理将提取的隐式特征压成一维张量作为DQN 的输入。
首先本发明方法与传统的拥塞控制算法TCP NewReno、未考虑时序特征 的基于强化学习的拥塞控制方案进行对比。随后通过实验分析历史经验K的 取值。最后,TRL-CC不作任何改变的部署在高带宽网络进行试验分析。
本发明在瓶颈链路带宽较小的网络中部署TRL-CC。TRL-CC较NewReno和 RL-CC(未考虑过去经验在时序上存在的因果关系)在吞吐量和延迟方面达到 了更好的性能。在平均吞吐量方面,TRL-CC比NewReno提升32.8%,比RL-CC 提升8.5%。同时TRL-CC的时延比NewReno降低41.3%,比RL-CC降低了12%。 然后,把训练好的TRL-CC迁移到高带宽网络环境中,不需要再次训练。通过 试验分析,TRL-CC的吞吐量比NewReno和RL-CC分别提升25.8%和8.3%;延 迟降低33%和15%。最终,本文对历史经验K取值进行探讨,发现代理“考虑” 历史经验越多时,TRL-CC越可以更好的均衡吞吐量和时延。
TRL-CC性能
附图5是代理在进行20个片段的训练后得到的拥塞窗口和往返时延以及 吞吐量的变化曲线。它包含代理学习的三个过程:(i)随机探索;(ii)随机学 习;(iii)收敛阶段。拥塞窗口的变化符合公式(7),在图5a和b中可以看出 拥塞窗口是通过往返时延量化的。标注①之间是随机探索过程,代理以一定 概率随机选取动作,随机选择动作的概率为0.1。在代理学习的过程中随机 选择概率会减小,但是最终它不会为零,因为面对动态变化的网络保持一定 的概率探索环境是有必要的。标注②之间是随机学习过程,代理通过学习到 的策略选择合适的动作,然和结合效用函数确保代理达到收敛阶段(标注③), 最终往返时延收敛到最小往返时延附近波动。
通过附图5c可以看出,尽管代理在学习过程中使得拥塞窗口自适应减小 (发包数量减少),但是吞吐量却一直保持稳定。这也进一步说明,TRL-CC在 减小延迟的同时也能充分利用瓶颈链路带宽,提高链路利用率。
对比实验
本发明方法还与目前存在的方法从吞吐量和延迟方面进行了比较。充分 展示了TRL-CC在吞吐量和延迟方面具有良好的性能。主要以下面三个拥塞控 制方法进行比较:
TCP NewReno:如今广泛应用的经典拥塞控制算法之一。
RL-CC:基于强化学习的拥塞控制方案,没有利用历史经验在时序上的 关系。将其作为TRL-CC的对比实验。
TRL-CC:在RL-CC的基础之上,考虑过去经验在时序上的因果关系。 即此刻的网络情况与之前某段时间内的网络情况是有联的。利用时序卷积网 络提取网络中潜在的关系,对未来网络情况做更好的规划。
从附图6a可以看出,TCP NewReno的时延上下浮动剧烈且时延较于其它 两者相对较高,在附图6b中,TCP NewReno的吞吐量存在波动且不能保持稳 定。这主要是因为TCPNewReno中固定的AIMD规则,当代理观测到有包丢失 时,拥塞窗口减半。而另一方面,在TCP连接刚建立时,RL-CC方案随机探 索阶段时延波动大,收敛较慢,同时吞吐量的稳定性比较差。TRL-CC较RL-CC 可以学习到控制网络行为更优的策略,时延可以快速收敛且在最小往返时间 附近波动,吞吐量保持相对稳定。主要原因是,历史经验中存在时序上隐式 关系,这种关系一旦被提取利用,代理就可以更好地结合过去经验和现在的 网络情况,并对未来网络情况做好规划。
通过附图6a和b,得到了附图c和d。可以进一步看出,TRL-CC无论在 时延方面还是吞吐量,它的性能较于前两者都是最好的。这是因为它利用历 史经验中潜在的因果关系,并且得以从效用函数中体现。TRL-CC在吞吐量方 面较NewReno提升32.8%,较RL-CC提升8.5%,瓶颈带宽链路得到了充分利 用;较NewReno时延降低41.3%,较RL-CC时延降低12%。
TRL-CC不仅在吞吐量和延迟方面达到了较高的性能,而且相较于其它两 个方案更均衡吞吐量和时延,更加具有鲁棒性。
K取值分析
在考虑过去经验时,过去经验选取数量(K)对拥塞控制有着很大影响。对 历史经验K取值进行比较,同时取不同K值的方案也与TCP NewReno以及RL-CC 作对比。如附图7所示。
正如附图7a,K=64和K=128时,延迟波动较小且在最小往返时间附近, 相对较小。反观K=16和K=32时,尽管时延在TCP NewReno和RL-CC下面浮 动,但却几乎没有收敛到最小往返时间附近。这种原因有两种:(i)在定义状 态空间时,代理加入了队列延迟这一特征,(ii)关键是时序卷积网络处理较 长时间的历史经验,它能够存储更长时间的信息,代理可以从更丰富的信息 中学习,使队列延迟一直保持较小值。另一方面,附图7b表示吞吐量的变化, K取值大(K=64,128),吞吐量变化保持稳定。结果表明,历史经验K越大时,TRL-CC方案的性能越优。同时,通过附图7a和b,TRL-CC通过效用函数均 衡了吞吐量和往返时间。最后,柱状图(附图7c,d)进一步诠释了上述结论。
高带宽网络
在面对高带宽网络时,本方法也可以让网络性能保证最优。附图8表示 三种拥塞控制方案的自适应性。TCP NewReno因基于规则的设计,不能从历 史经验中学习,导致它在面对网络变化时表现出很差的性能甚至使网络出现 崩塌。TRL-CC的在面对网络变化时仍然可以从历史经验中学习到最优策略, 具有更好的鲁棒性。附图8a,随着瓶颈链路带宽的增大(与2Mbps相比),往 返时间变小。这是由于带宽变大时队列延迟降低,这显然是合理的。附图8b 是相应的吞吐量随模拟时间的变化,当历史经验K取值较大时,代理在学习 过程中会谨慎。这是因为代理综合“考虑”历史经验,避免出现网络性能下 降。历史经验K取值越大,延迟越小且在最小往返时间附近波动;吞吐量也 越稳定。
附图8c和d表明,TRL-CC较TCP NewReno吞吐量提升25.8%,较RL-CC 吞吐量提升8.3%。另一方面,TRL-CC较TCP NewReno延迟降低33%,比RL-CC 降低15%。最终,在变化的网络中,TRL-CC的自适应性更好,仍然能保持最 优性能。
本发明关键是如何选取历史经验,并利用历史经验学如何学习。针对 以上本发明对传统的强化学习策略做了改进。首先,每过一个RTT时间, 缓冲区更新一次。数据以元组(st,at,rt,st+RTT)的形式存放在缓冲区中。 TRL-CC利用时序卷积网络提取历史经验中隐式的关系作为输入,每次选取 K个历史经验。最后,t时刻的回报经过RTT时间才会被代理收到。本发 明考虑这一延迟,改变了Q函数的更新方式。
在实现拥塞控制时,在每个时间步t,代理会接收到来自环境的状态向 量st,基于策略p(st)选择动作at。并且在下一个时间t+RTT,代理收到标 量值回报r(st,at),表示在时间步t执行动作at的回报。但是,环境执 行动作at的回报被代理在时间t+RTT收到,这表明在学习中存在延迟τ。 在强化学习中,像这样的延迟大多都被忽略掉。然而,对于拥塞控制来说, 它对维持网络稳定有着重要的作用。出于此原因,TRL-CC在学习过程中对 Q函数(公式(3))的更新做了修改。代理把rt+1rt+1作为行动作atat的回报。 因此,在时间t+1t+1开始时,修改QQ函数的更新方式为:
Qπ(st,at)←rt+1+γQπ(st+2,at+2)
(10)
上式中,Q函数利用神经网络进行近似,即:
ω表示神经网络权重,将代理得到的观测状态通过时序神经网络进行 处理后和权重作为神经网络的输入,然后通过迭代和学习得到近似的Q函 数。
在神经网络进行训练时,假设公式(11)成立,由此定义损失函数为:
yt是目标值,根据公式(10)Q函数的更新方式,得到
其中,可读存储介质可以是计算机存储介质,也可以是通信介质。通信 介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机 存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,可读存 储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可 向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部 分。处理器和可读存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。另外,该ASIC可以位于用户设备中。 当然,处理器和可读存储介质也可以作为分立组件存在于通信设备中。可读 存储介质可以是只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁 带、软盘和光数据存储设备等。
Claims (8)
1.一种基于深度学习的TCP拥塞动态控制方法,其特征在于,包括:
代理获取传输环境的状态按照策略确定一个动作,所述动作为TCP会话的数据传输动作;
传输环境基于所述动作对下一个传输环境进行改变,并将改变后的环境信息作为回报传输至代理;
获取时序上连续的K个历史经验,对所述K个历史经验进行处理后作为输入至时序卷积网络模型中得到历史信息;
代理基于所述历史信息以及回报和\或累积回报确定下一个动作;
获取时序上连续的K个历史经验包括:
选取以下信息,包括拥塞窗口w、一次发包时间内的吞吐量(tp)、往返时间(RTT)、最小RTT和RTT之比υRTT、RTT和最小RTT两者之间的差值dRTT、发送数据包后返回的确认字符τACK,基于以上信息生成状态空间,状态空间S通过以下集合表达,包括:
S=[s1,s2,...,sk];
其中st表示通过以下公式表达,包括:
St=[w(t),tp(t),RTT(t),υRTT(t),dRTT(t),τACK(t)];
代理选取状态空间S集合中的K个历史经验作为时序卷积网络的输入,提取时序上隐式的因果关系,代理将提取的隐式特征压成一维张量作为DQN的输入。
3.根据权利要求2所述的TCP拥塞动态控制方法,其特征在于,
所述策略基于以下步骤获得,包括:
策略π(a|st)基于状态空间(S)到动作空间a映射,通过以下公式表达,包括:
π(a|st)·S→A。
4.根据权利要求3所述的TCP拥塞动态控制方法,其特征在于,
所述回报基于以下步骤获得,包括:
代理根据当前状态st随机和\或根据所述策略固定的选取动作at并从环境中获得回报r(st,at),通过以下公式表达,包括:
Rt=r(st,at)+γ·Rt+1。
6.根据权利要求1所述的TCP拥塞动态控制方法,其特征在于,
所述回报的取值基于效用函数得到映射;
其中效用函数基于以下公式表达,包括:
U=Utilityt+RTT-Utilityt;
其中Utility为回报函数,通过以下方式计算每个时刻的回报函数,包括:
Utilityt=α×log(tp(t))-βlog(RTT(t));
其中α,β代表吞吐量,RTT的权重,且α+β=1。
7.一种基于深度学习的TCP拥塞动态控制装置,其特征在于,包括:
环境获取模块,用于使代理获取传输环境的状态按照策略确定一个动作,所述动作为TCP会话的数据传输动作;
回传模块,用于使传输环境基于所述动作对下一个传输环境进行改变,并将改变后的环境信息作为回报传输至代理;
历史经验获取模块,用于获取时序上连续的K个历史经验,对所述K个历史经验进行处理后作为输入至时序卷积网络模型中得到历史信息;
确定模块,用于使代理基于所述历史信息以及回报和\或累积回报确定下一个动作;
还包括特征处理模块,所处特征处理模块用于执行以下步骤,包括:
选取以下信息,包括拥塞窗口w、一次发包时间内的吞吐量(tp)、往返时间(RTT)、最小RTT和RTT之比υRTT、RTT和最小RTT两者之间的差值dRTT、发送数据包后返回的确认字符τACK,基于以上信息生成状态空间,状态空间S通过以下集合表达,包括:
S=[s1,s2,...,sk];
其中st表示通过以下公式表达,包括:
St=[w(t),tp(t),RTT(t),υRTT(t),dRTT(t),τACX(t)];
代理选取状态空间S集合中的K个历史经验作为时序卷积网络的输入,提取时序上隐式的因果关系,代理将提取的隐式特征压成一维张量作为DQN的输入。
8.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现权利要求1至6 任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110078903.1A CN113300970B (zh) | 2021-01-22 | 2021-01-22 | 基于深度学习的tcp拥塞动态控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110078903.1A CN113300970B (zh) | 2021-01-22 | 2021-01-22 | 基于深度学习的tcp拥塞动态控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113300970A CN113300970A (zh) | 2021-08-24 |
CN113300970B true CN113300970B (zh) | 2022-05-27 |
Family
ID=77318862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110078903.1A Active CN113300970B (zh) | 2021-01-22 | 2021-01-22 | 基于深度学习的tcp拥塞动态控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113300970B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104640155A (zh) * | 2013-11-11 | 2015-05-20 | 西南科技大学 | 基于灰色吞吐量预测的无线Ad Hoc网络TCP拥塞避免机制 |
CN106160953A (zh) * | 2016-07-06 | 2016-11-23 | 四川大学 | 一种基于学习型能效模型的传输方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107171842B (zh) * | 2017-05-22 | 2020-01-03 | 南京大学 | 基于强化学习的多路径传输协议拥塞控制方法 |
CN110581808B (zh) * | 2019-08-22 | 2021-06-15 | 武汉大学 | 一种基于深度强化学习的拥塞控制方法及系统 |
CN111092823B (zh) * | 2019-12-25 | 2021-03-26 | 深圳大学 | 一种自适应调节拥塞控制初始窗口的方法和系统 |
-
2021
- 2021-01-22 CN CN202110078903.1A patent/CN113300970B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104640155A (zh) * | 2013-11-11 | 2015-05-20 | 西南科技大学 | 基于灰色吞吐量预测的无线Ad Hoc网络TCP拥塞避免机制 |
CN106160953A (zh) * | 2016-07-06 | 2016-11-23 | 四川大学 | 一种基于学习型能效模型的传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113300970A (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xu et al. | Experience-driven congestion control: When multi-path TCP meets deep reinforcement learning | |
Li et al. | SmartCC: A reinforcement learning approach for multipath TCP congestion control in heterogeneous networks | |
CN107634911B (zh) | 一种信息中心网络中基于深度学习的自适应拥塞控制方法 | |
Xu et al. | Experience-driven networking: A deep reinforcement learning based approach | |
Yao et al. | Machine learning aided load balance routing scheme considering queue utilization | |
Pandana et al. | Near-optimal reinforcement learning framework for energy-aware sensor communications | |
Zhang et al. | Using grouped linear prediction and accelerated reinforcement learning for online content caching | |
CN112770353B (zh) | 拥塞控制模型的训练方法和装置及拥塞控制方法和装置 | |
CN112804125B (zh) | 一种基于模糊综合评判算法的命名数据网络拥塞控制方法 | |
Li et al. | A comparative simulation study of TCP/AQM systems for evaluating the potential of neuron-based AQM schemes | |
CN111526036B (zh) | 一种短流量实时性优化方法、系统、网络传输终端 | |
CN107070802A (zh) | 基于pid控制器的无线传感器网络拥塞控制技术 | |
KR102389104B1 (ko) | Tcp 혼잡 윈도우를 최적화하는 통신 장치 및 방법 | |
CN112422443A (zh) | 一种拥塞算法的自适应控制方法、存储介质、设备及系统 | |
Sun et al. | Accelerating convergence of federated learning in MEC with dynamic community | |
CN115529278A (zh) | 基于多智能体强化学习的数据中心网络ecn自动调控方法 | |
Li et al. | Tcp-neuroc: Neural adaptive tcp congestion control with online changepoint detection | |
CN113300970B (zh) | 基于深度学习的tcp拥塞动态控制方法及装置 | |
Mei et al. | Semi-decentralized network slicing for reliable V2V service provisioning: A model-free deep reinforcement learning approach | |
CN115037672B (zh) | 多路径拥塞控制方法及装置 | |
Zhang et al. | Cooperative task offloading in cybertwin-assisted vehicular edge computing | |
Wang et al. | Towards adaptive packet scheduler with deep-q reinforcement learning | |
Nisioti et al. | Decentralized reinforcement learning based MAC optimization | |
Masoumzadeh et al. | Deep blue: A fuzzy q-learning enhanced active queue management scheme | |
Tafa et al. | The emerging internet congestion control paradigms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |