-
近年来,机器学习方法在包括图像识别[1]、机器翻译[2]等多个领域得到了广泛应用。由于数据量及算法复杂度的增长,机器学习应用通常在一个由大量计算资源组成的集群系统上分布式运行。机器学习应用周期性地在集群网络中产生跨计算资源的数据分组,这些数据分组在网络中的传输延迟对机器学习应用的时间效率具有关键影响。
机器学习集群常用多阶段Clos网络[3-5],其通过多个阶段的交换机将各个计算资源互联起来。多阶段网络在两个计算资源间提供了大量可供选择的路径,且网络中同时有大量分组需要路由决策,所以分组的路由是一个组合优化难题。
基于最短路径的拟静态路由算法[6],如贝尔曼−福特算法、狄克斯特拉算法,无法跟随集群网络负载状态的迅速变化。而多阶段网络通常采用基于启发式的动态路由算法[3,7],目前,广泛使用的是基于“加入最短队列”策略[3]的启发式路由算法。该算法将分组转发到具有最少排队分组的下一跳交换机。这些启发式算法基于网络局部的负载信息进行路由决策,常导致网络全局负载不均衡,无法保证最小的平均分组传输延迟。
本文提出一种基于强化学习的分组路由算法,将多阶段网络的路由问题建模为一个马尔科夫决策过程[8](markov decision process, MDP),这是该问题的首个MDP模型。为了求解该MDP的最佳路由策略,本文提出了最大似然策略迭代(maximum likelihood policy iteration, MLPI)算法。该算法在策略评估步骤中使用最大似然价值函数估计器,该价值函数估计器克服了现有强化学习方法[9-10]中蒙泰卡罗(Monte Carlo, MC)或时间差分(temporal-difference, TD)价值函数估计器样本效率低的问题。为了应对MLPI算法策略改进步骤中涉及的组合优化难题,本文提出了一个序列最小化的方法,通过将组合优化分解为一系列可求解的简单优化子问题来进行有效的策略改进。
基于NS-3网络模拟器的仿真实验结果表明,本文的MLPI算法找到的路由策略较“加入最短队列”启发式策略减少了38.3%的平均排队分组数目,同时减少了17.6%的平均分组延迟。此外,MLPI算法的学习效率远高于基于蒙泰卡罗(MC)或时间差分(TD)价值函数估计器的强化学习算法。
-
本节将多阶段网络分组路由问题建模为一个马尔科夫决策过程MDP。该MDP由一个四元组
$ {\mathbb{S}, \mathbb{A},c,{\boldsymbol{P}}} $ 指定,其中$ \mathbb{S} $ 是状态空间,$ \mathbb{A} $ 是动作空间,$ c $ 是代价函数,$ {\boldsymbol{P}} $ 是状态转移概率。该MDP的具体定义如下。状态:该MDP在时刻
$ t $ 的状态表示为$ {s}_{t} $ ,是一个3维矩阵,其元素表示为$ {n}_{sij}^{\left(t\right)} $ ,表示第$ i $ 个交换机上第$ j $ 个队列在第$ s $ 个阶段的分组数目。动作:假设网络中有
$ M $ 个队首分组,该MDP在时刻$ t $ 的动作是为每一个队首分组选择的链路所组成的集合$ \{{a}_{1},{a}_{2},\cdots ,{a}_{M}\} $ 。动作产生的顺序是从在最上游阶段的最低指标输入交换机上最低指标队列中的队首分组开始,逐渐轮询到同一个输入交换机上更高指标队列中的队首分组,然后轮询到同一个阶段中更高指标的输入交换机上的各队首分组,最终轮询到更下游交换机上的各队首分组。为第$ m $ 个队首分组选择的链路$ {a}_{m} $ 是没有被其他队首分组选择的空闲下游链路中的一个。当一个交换机上的某些队列没有队首分组时,为了充分利用链路,该交换机上其他队列中的非队首分组也可能在队首分组选择链路后获得一个链路分配。代价:该MDP在时刻
$ t $ 的代价是在网络中排队分组的总数目,为$c\left({s}_{t}\right)=\displaystyle\sum\limits _{s,i,j}{n}_{sij}^{\left(t\right)}$ 。由Little定律[11],网络中排队分组的平均总数目与分组在通过这个网络时的平均传输延迟成正比,减少网络中的平均排队分组总数能减小平均分组传输延迟。状态转移方程:由于该问题的转移概率矩阵是无穷维的,且其表达式较繁琐,本文用等价的状态转移方程来表述该MDP。非输入阶段交换机的状态转移由如下随机差分方程所给定:
$$ {n}_{sij}^{(t+1)}={n}_{sij}^{\left(t\right)}-{d}_{sij}^{\left(t\right)}+{e}_{sij}^{\left(t+1\right)}\;\;s\ne 1\;\;\forall i,j $$ (1) 式中,
$ {d}_{sij}^{\left(t\right)} $ 为在时刻$ t $ 离开第$ sij $ 队列的分组数目;$ {e}_{sij}^{\left(t+1\right)} $ 表示在时刻$ t+1 $ 进入第$ sij $ 队列的分组数目。输入阶段交换机的状态转移由如下随机差分方程所给定:$$ {n}_{sij}^{(t+1)}={n}_{sij}^{\left(t\right)}-{d}_{sij}^{\left(t\right)}+{h}_{ij}^{\left(t+1\right)}\;\;s=1\;\;\forall i,j $$ (2) 式中,
$ {h}_{ij}^{\left(t+1\right)} $ 是在时刻$ t+1 $ 到达第$ i $ 个输入交换机上第$ j $ 个队列中的分组数目。给定一个路由策略$\pi$ 和一组泊松参数$ \boldsymbol{\varLambda } $ ,状态转移概率$ {\boldsymbol{P}} $ 可以从以上的状态转移方程中推导出来。最大似然策略迭代算法交替执行策略评估步骤和策略改进步骤来迭代地求解上述MDP。 -
一个状态的价值定义为开始于状态
$ {s}_{t} $ 的一个足够大的窗口内未来状态的总折扣代价的期望值,如式(3)所示[10]:$$ {V}_{\pi }\left({s}_{t}\right)=c\left({s}_{t}\right)+{\mathbb{E}}_{\pi ,\boldsymbol{\varLambda }}\left[\gamma c\left({S}_{t+1}\right)+{\gamma }^{2}c\left({S}_{t+2}\right)+\cdots +{\gamma }^{w}c\left({S}_{t+w}\right)\right] $$ (3) 式中,
$ {S}_{t+w} $ 表示时刻$ t+w $ 状态的随机变量,$ w $ 是窗口大小。窗口大小通常设为能使得更远未来状态的代价可以忽略不计的值,如在$ \gamma =0.99 $ 时设为500。$ {\mathbb{E}}_{\pi ,\boldsymbol{\varLambda }}[\bullet ] $ 是在策略$ \pi $ 和泊松参数$ \boldsymbol{\varLambda } $ 下,相对于$ {S}_{t+w} $ 的概率分布的期望。由于到达参数通常是未知的,作为其函数,上述价值函数需要从采样的状态样本轨迹中估计得到。现有强化学习算法使用蒙泰卡罗(MC)或时间差分(TD)价值函数估计器[9-10],但MC和TD价值估计样本效率低[9]。本文使用价值函数的最大似然估计器,推导如下。
给定一个策略
$\pi $ ,式(3)中价值函数是未知泊松到达参数$ \boldsymbol{\varLambda } $ 的函数。给定一个时间长度为$ T $ 的样本轨迹,参数$ {\{\lambda }_{ij}\} $ 的最大似然估计(maximum likelihood estimate, MLE)由如下的平均到达率给出[12]:$$ {\hat{\lambda }_{ij}}=\frac{1}{T}\sum _{t=1}^{T}{h}_{ij}^{\left(t\right)}\;\;\;\;\;\forall i,j $$ (4) 根据点估计理论[12],未知参数函数
$ f\left(\boldsymbol{\varLambda }\right) $ 的最大似然估计是将该函数作用到未知参数的最大似然估计$ f(\hat{\boldsymbol{\varLambda }}) $ 。利用最大似然估计的这种函数不变性,价值函数的最大似然估计,表示为$ {\hat{V}}_{\pi}^{\mathrm{M}\mathrm{L}}\left({s}_{t}\right) $ ,是把$ \hat{\boldsymbol{\varLambda }}= $ $ \hat{{\{\lambda }_{ij}}\} $ 代入价值函数的定义中,如下所示:$$ {\hat{V}}_{\pi}^{\mathrm{M}\mathrm{L}}\left({s}_{t}\right)=c\left({s}_{t}\right)+{\mathbb{E}}_{\pi,\hat{\boldsymbol{\varLambda }}}\left[\gamma c\left({S}_{t+1}\right)+{\gamma }^{2}c\left({S}_{t+1}\right)+\cdots +{\gamma }^{w}c\left({S}_{t+w}\right)\right] $$ (5) 式中,
$ {\hat{V}}_{\pi }^{\mathrm{M}\mathrm{L}}\left({s}_{t}\right) $ 是相对于充分统计量$ \hat{\boldsymbol{\varLambda }} $ 的一个条件期望,根据Rao-Blackwell定理[12],$ {\hat{V}}_{\pi }^{\mathrm{M}\mathrm{L}}\left({s}_{t}\right) $ 具有最小均方误差性质。所以,其能取得比MC和TD价值估计器更高的样本效率。式(5)中的期望是相对于策略$ \pi $ 和估计的到达参数$ \hat{\boldsymbol{\varLambda }} $ 下采样的状态取期望。然而计算最大似然价值估计需要对所有可能的状态轨迹取期望,对于该MDP庞大的状态空间,理论上准确地计算上述最大似然估计是不实际的。本文使用一种类似基于模型的强化学习[13-14]的方法来近似计算最大似然价值估计。首先从一条状态样本轨迹中估计到达参数
$ \hat{\boldsymbol{\varLambda }} $ ,这相当于建立了一个估计的状态转移模型。在这个估计的模型下,每个时刻到达网络输入阶段交换机的分组数目服从参数为$ \hat{\boldsymbol{\varLambda }} $ 的泊松分布。因此,可以在不与网络交互的情况下,通过模拟该MDP来产生大量仿真的状态转移。然后,用这些模拟状态转移下的总折扣代价值作为对最大似然价值函数估计的近似,表示为$ {\tilde {V}}_{\pi }^{\mathrm{M}\mathrm{L}}\left({s}_{t}\right) $ ,如下所示:$$ {\tilde {V}}_{\pi }^{\mathrm{M}\mathrm{L}}\left({s}_{t}\right)=c\left({s}_{t}\right)+\gamma c\left({s}_{t+1}\right)+\cdots +{\gamma }^{w}c\left({s}_{t+w}\right) $$ (6) 式中,样本轨迹
$ \{{s}_{t},{s}_{t+1},\cdots, {s_{t + w}}\} $ 是在估计的到达参数和策略$\pi $ 下模拟的状态转移。 -
在计算出价值函数估计
${\tilde{V}}_{\pi }^{\mathrm{M}\mathrm{L}}\left({s}_{t}\right)$ 后,一般的策略迭代方法[10]通过求解如下优化问题来得到一个更好的策略:$$ {\pi }'\left(s\right)=\underset{\{{a}_{1},{a}_{2},\cdots ,{a}_{M}\}}{\mathrm{argmin}}\sum _{s'}p\left({s}'\right|s,{a}_{1},{a}_{2},\cdots ,{a}_{M}){\tilde{V}}_{\pi }^{\mathrm{M}\mathrm{L}}\left(s'\right) $$ (7) 式中,
$ {s}' $ 是在状态$ s $ 采取动作序列$\{{a}_{1},{a}_{2},\cdots ,{a}_{M}\}$ 所导致的下一个状态。式(7)中的最小化问题是一个困难的组合优化问题,其搜索空间随网络中队首分组数目呈指数式增加。为了快速求解问题,本文使用一种在神经动态规划文献[15]中被称为动作空间复杂度与状态空间复杂度折衷的方法,通过引入一系列描述每个动作后果的人工状态使得策略改进步骤能序列地对每一个动作进行。具体而言,本文通过求解如下最小化问题来计算相对于
$ {\tilde{V}}_{\pi }^{\mathrm{M}\mathrm{L}}\left({s}_{t}\right) $ 的最佳动作$ {a}_{1}^{*} $ :$$ {a}_{1}^{*}=\underset{{a}_{1}}{\mathrm{argmin}}{\tilde{V}}_{\pi }^{\mathrm{M}\mathrm{L}}\left({s}'\left(s,{a}_{1}\right)\right) $$ (8) 式中,
$ {s}'\left(s,{a}_{1}\right) $ 是在状态$ s $ 采取动作$ {a}_{1} $ 所导致的中间状态,即将第一个队首分组移动到动作$ {a}_{1} $ 所选择的下游交换机后的那个中间状态。类似地,本文通过求解如下一系列最小化问题来计算第$ m $ 个队首分组的最佳动作$ {a}_{m}^{*} $ :$$ {a}_{m}^{*}=\underset{{a}_{m}}{\mathrm{argmin}}{\tilde{V}}_{\pi }^{\mathrm{M}\mathrm{L}}\left({s}'\left(s,{a}_{1}^{*},{a}_{2}^{*},\cdots ,{a}_{m-1}^{*},{a}_{m}\right)\right)\;\;\forall m $$ (9) 式中,
$ {s}'(s,{a}_{1}^{*},{a}_{2}^{*},\cdots ,{a}_{m-1}^{*},{a}_{m}) $ 是在状态$ s $ 对前$ m-1 $ 个队首分组采取最佳动作$ {a}_{1}^{*},{a}_{2}^{*},\cdots ,{a}_{m-1}^{*} $ ,并且对第$ m $ 个队首分组采取动作$ {a}_{m} $ 后所对应的中间状态。 -
如算法1所示,该MLPI算法首先初始化一个近似价值函数估计的卷积神经网络(convolutional neural network, CNN),
$ {V}_{{\theta }_{0}} $ 作为初始的价值函数估计。初始路由策略$ {\pi }_{0} $ 是相对于$ {V}_{{\theta }_{0}} $ 的$ \varepsilon $ -贪婪策略。具体地,在每步序列最小化时以概率为$ 1-\varepsilon $ 选取最佳动作而以概率$ \varepsilon $ 随机选取链路。在第$ n $ 次策略迭代时,该算法观察网络进行$ T $ 步状态转移,且累加到达输入交换机各队列的分组总数。然后,该算法计算泊松参数的最大似然估计$ \hat{\boldsymbol{\varLambda }} $ 。接下来,MLPI算法跟随策略
$ {\pi }_{n} $ 执行$ K(K\gg T) $ 步模拟的状态转移。模拟状态转移中经历的状态作为输入集$S=\{{s}_{l},l=1,2,\cdots ,L\}$ ,对应的折扣样本总代价$C=\{c\left({s}_{l}\right)+{\gamma ^1}c({s_{l + 1}})+\cdots +{\gamma }^{W}c\left({s}_{l+W}\right)\}$ 作为输出集构成了一个庞大的数据集$ {D}_{n} $ 。该数据集用来训练$ {V}_{{\theta }_{n}} $ 几个来回(epochs),得到的价值网络$ {V}_{{\theta }_{n+1}} $ 是最大似然价值函数的近似。之后,在下一次迭代中遇到的每个状态,该算法通过$ \varepsilon $ -贪婪地相对于$ {V}_{{\theta }_{n+1}} $ 求解式(9)中的序列最小化来产生新策略$ {\pi }_{n+1} $ 。算法1:最大似然策略迭代算法(MLPI)
设价值网络
$ {V}_{{\theta }_{0}} $ 、相对于$ {V}_{{\theta }_{0}} $ 的$ \varepsilon $ -贪婪策略$ {\pi }_{0} $ 设分组到达总数
$ {h}_{ij}=0 $ for(
$ n $ = 0, 1, 2, ···)观察网络进行
$ T $ 步状态转移统计到达输入阶段交换机的分组总数
$\displaystyle\sum\limits_{t=1}^{T}{h}_{ij}^{\left(t\right)}$ 更新
${h}_{ij}={h}_{ij}+\displaystyle\sum\limits_{t=1}^{T}{h}_{ij}^{\left(t\right)}, \forall i,j$ 计算
${\hat{\lambda }_{ij}}={h}_{ij}/\left[\right(n+1\left)T\right],\forall i,j$ 执行
$ K(K\gg T) $ 步模拟的状态转移存储模拟路由过程产生的数据集
$ {D}_{n} $ 使用
$ {D}_{n} $ 训练$ {V}_{{\theta }_{n}} $ 几个来回得到$ {V}_{{\theta }_{n+1}} $ 对
$ {V}_{{\theta }_{n+1}} $ 网络$ \varepsilon $ -贪婪地路由分组,得到$ {\pi }_{n+1} $ end for
-
NS-3网络模拟器是一个广泛使用的分组级别的离散事件仿真器[16]。本文基于NS-3搭建了一个多阶段的网络测试环境,参考强化学习中环境−代理(agent)的交互框架[10]搭建了一个网络路由代理。该网络路由代理使用由MLPI算法训练完成的价值网络产生最佳的路由动作序列。
具体来说,该测试网络是一个按时隙产生控制和进行传输的网络,在每个时隙
$ t $ ,该测试网络中各交换机将各队列的分组数目上报给网络路由代理。网络路由代理得到该时刻的网络状态,作为产生路由决策的初始状态。从该状态开始,路由代理相对于训练好的价值网络逐步求解序列最小化问题(无需$ \varepsilon $ -探索),来得到该状态下所有队首分组的最佳路由向量$ {\{a}_{1}^{*},{a}_{2}^{*},\cdots ,{a}_{M}^{*}\} $ 。之后,路由代理将该最佳路由动作序列下达给各交换机,各交换机按照指定的路由动作发送各队列的队首分组。当发送的各分组到达下游交换机后,网络进入下一个时隙$ t+\Delta t $ 并重复上述交互过程。 -
本文在一个每阶段包含16个或20个交换机的三阶段网络中测试MLPI算法。在实验前,分组到达率
$ {\{\lambda }_{ij}\} $ 由独立同分布的0~1之间的均匀分布产生,网络负载$ \rho $ 定义为总到达率除以单阶段的总链路容量。卷积神经网络(CNN)的输入是表示网络队列状态的3维矩阵,其元素为
$ {\{n}_{sij}^{\left(t\right)}\} $ 。对每阶段有20个交换机的网络,输入通过6个连续的卷积层和2个全连接层处理之后,输出该状态的价值估计值。对每阶段有16个交换机的网络,最后两个卷积层被移除。该训练损失度量是均方误差,CNN的超参数如表1所示,MLPI算法的超参数如表2所示。表 1 卷积神经网络的超参数
网络层 核数目 核尺寸 激活函数 卷积层1 64 7×7 relu 卷积层2 64 5×5 relu 卷积层3~6 64 3×3 relu 全连接层1 128 — relu 全连接层2 1 — relu 表 2 MLPI算法的超参数
参数名 参数值 L2正则化系数 0.0001 优化器 Adam[17] 学习速率 0.0003 批大小 256 窗口大小 500 折扣因子 0.99 探索系数 0.4 -
将MLPI算法与典型及现有最优的路由启发式算法进行对比。
1)随机路由(Rand)算法:交换机随机选择一个空闲链路来传输队首分组。
2)加入最短队列(join-the-shortest-queue, JSQ)[3,6]算法:对于交换机上第
$ j $ 个队列的队首分组,交换机在所有空闲链路里选择其下游交换机上第$ j $ 个队列最短的链路来传输该分组。3) Power-of-two-choices(Po2)[7,18]算法:对于交换机上第
$ j $ 个队列的队首分组,交换机首先随机选取两个空闲链路作为候选链路,再在候选链路中选择其下游交换机上第$ j $ 个队列更短的链路来传输该分组。4)基于蒙泰卡罗价值估计的强化学习(MC)[10]算法:该方法遵循相对于价值网络
$ \varepsilon $ -贪婪的策略来与测试网络进行交互,在交互过程中产生的状态转移样本集合被用来在线训练价值网络。对每个状态,价值网络的训练目标为在一个窗口范围内未来状态的总折扣代价值。在产生一批训练示例后,该算法相对于价值网络参数执行一步随机梯度下降。5)基于
$ n $ -步TD价值估计的强化学习(TD)[10]算法:类似于MC,对每个状态,价值网络的训练目标是在一个大小为$ n $ ($ n=100 $ )的窗口内的未来状态的总折扣代价,再加上第$ n+1 $ 个未来状态在$ {\gamma }^{n+1} $ 折扣后的价值估计值。在产生一批训练示例后,该算法执行一步随机梯度下降。 -
在实验中,MLPI算法执行一系列的策略迭代步骤直到策略不再改进。在第
$ n $ 次策略迭代时,MLPI算法观察测试网络,进行20个时隙的状态转移来更新对泊松参数的估计。然后,MLPI算法执行3200步模拟的状态转移,这个过程中收集到的训练示例(接近1000000个,包含中间状态)用来训练价值网络10个来回。训练完成后,从一个空的网络状态开始,路由代理使用现有价值网络对应的路由策略来控制测试网络200个时隙,且将平均排队分组总数和平均分组延迟记录下来,作为现有策略$ {\pi }_{n} $ 的性能度量。上述迭代持续进行,直到策略的性能不再改进。 -
图2的结果显示,对于每阶段16个交换机的网络,在6次最大似然策略迭代之后,MLPI找到的路由策略的平均排队分组总数达到最低点,其相对于JSQ和Po2算法分别减少了约26.6%和21.1%的平均分组总数。图3的结果显示,对于每阶段20个交换机的网络,在7次最大似然策略迭代后,MLPI找到的路由策略相对于JSQ和Po2分别减少了约20.7%和17.2%的平均排队分组总数。然而,MC或TD算法的平均排队分组总数始终保持在较高的程度,几乎没有从经验中学习的迹象。
-
如图4所示,经过8次最大似然策略迭代,MLPI收敛到的路由策略相对于JSQ和Po2分别减少约17.6%和13.9%的平均分组延迟。如图5所示,经过8次最大似然策略迭代,MLPI算法收敛到的路由策略相对于JSQ和Po2分别减少了约13.0%和10.3%的平均分组延迟。可以观察到平均分组延迟的下降趋势与平均排队分组总数的下降趋势一致。
-
图6展示了MLPI算法在各负载条件下收敛到的路由策略的平均排队分组总数。不论负载条件如何变化,MLPI算法找到的路由策略的平均排队分组总数都显著低于启发式路由策略。在越重的负载条件下,MLPI算法找到的路由策略相对于其他对比方案的平均排队分组总数减少量越大。当网络负载为0.8时,MLPI算法相对于JSQ和Po2算法的平均排队分组总数减少量分别约为38.3%和28.9%。
-
在对不同路由算法的测试运行中,记录在每个时隙泊松到达事件之前的网络状态,且对所收集的状态取平均来得到各路由算法下总体的排队行为。如图7所示,每一个热图代表一个16×16矩阵,其第
$ ij $ 个元素表示在某个阶段中第$ i $ 个交换机上的第$ j $ 个队列的平均排队分组数。图7的结果显示,在第一个阶段,在记录状态的时刻各队列中没有分组累积。在第二个阶段,MC算法找到的路由策略导致了一些拥塞的队列和不均衡的负载分布。在第三个阶段,Po2路由算法导致了显著的负载不均衡,这是因为其将队首分组路由到一些拥塞队列中而让其他队列保持空载。这种对链路资源的欠利用降低了网络吞吐量,导致分组滞留在网络中。对比之下,MLPI算法通过最大似然策略迭代学会了达到近乎理想的负载均衡状态。
强化学习算法如MC或TD,需要与实际网络进行大量的交互并收集大量的试错数据,这会在训练过程中显著损害网络的延迟性能。MLPI算法通过模拟的状态转移来学习路由策略,其训练过程不会对实际网络的正常运行产生干扰。由于集群网络需要不间断地为用户提供低延迟的传输服务,MLPI算法是一种更加实用的路由策略学习方法。
Packet Routing Method for Multi-Stage Networks Based on Reinforcement Learning
-
摘要: 多阶段网络被广泛应用于机器学习集群,由于多阶段网络中可用路径多,分组的路由是一个组合优化难题。现有基于启发式的路由算法由于缺乏性能保证,严重影响分组传输延迟。提出了基于强化学习的多阶段网络分组路由方法,使用一个新颖的策略迭代算法,通过学习的方式计算出最佳路由策略。算法通过在策略评估步骤中使用价值函数的最大似然估计器,克服了强化学习方法中蒙泰卡罗(MC)或时间差分(TD)价值估计器样本效率低的问题。为了应对组合优化时计算复杂度高的问题,算法在策略改进步骤中将组合动作空间上的优化分解为各组成动作的序列优化,以提高求解效率。基于NS-3网络模拟器的仿真实验结果表明,相较于现有最优的启发式路由策略,该算法学习到的路由策略降低了13.9%的平均分组延迟。Abstract: Multi-stage networks are widely used in machine learning clusters. Due to the large number of available paths in a multi-stage network, packet routing is a combinatorial optimization problem. Existing routing algorithms based on heuristics lack performance guarantee, which seriously affects the packet transmission delay. This paper proposes a packet routing method based on reinforcement learning for multi-stage networks, using a novel policy iteration algorithm to compute an optimal routing policy by learning. In the policy evaluation step, this algorithm uses the maximum likelihood estimator of the value function, which overcomes the low sample efficiency problem of Monte Carlo (MC) or Temporal-Difference (TD) value function estimators in reinforcement learning. To deal with the high computational complexity of the combinatorial optimization problem in the policy improvement step, this algorithm decomposes the optimization over a combinatorial action space into a sequential optimization of each action. Experiments based on NS-3 network simulator show that the routing policy learnt by the algorithm reduces 13.9% of the average packet transmission delay compared to existing best routing heuristics.
-
Key words:
- cluster network /
- policy iteration /
- packet routing /
- reinforcement learning
-
表 1 卷积神经网络的超参数
网络层 核数目 核尺寸 激活函数 卷积层1 64 7×7 relu 卷积层2 64 5×5 relu 卷积层3~6 64 3×3 relu 全连接层1 128 — relu 全连接层2 1 — relu 表 2 MLPI算法的超参数
参数名 参数值 L2正则化系数 0.0001 优化器 Adam[17] 学习速率 0.0003 批大小 256 窗口大小 500 折扣因子 0.99 探索系数 0.4 -
[1] HE K M, ZHANG X Y, REN S Q, et al. Deep residual learning for image recognitions[C]//IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016: 770-778. [2] BAHDANAU D, KYUNGHYUN C, BENGIO Y. Neural machine translation by jointly learning to align and translate[C]//International Conference on Learning Representations. San Diego: ACM, 2015: 1-15. [3] HOJABR R, MODARRESSI M, DANESHTALAB M, et al. Customizing Clos network-on-chip for neural networks[J]. IEEE Transactions on Computers, 2017, 66(11): 1865-1877. doi: 10.1109/TC.2017.2715158 [4] GEBARA N, GHOBADI M, COSTA P. In-network aggregation for shared machine learning clusters[C]// Proceedings of Machine Learning and Systems. San Jose: ACM, 2021: 1-16. [5] SINGH A, ONG J, AGARWAL A, et al. Jupiter rising: A decade of Clos topologies and centralized control in Google’s datacenter network[C]//Proceedings of the Conference of the ACM Special Interest Group on Data Communication. London: ACM, 2015: 183-197. [6] ZHENG W, CROWCROFT J. Analysis of shortest-path routing algorithms in a dynamic network environment[J]. ACM SIGCOMM Computer Communication Review, 1992, 22(2): 63-71. doi: 10.1145/141800.141805 [7] GHORBANI S, GODFREY B, GANJALI Y, et al. Micro load balancing in data centers with DRILL[C]//Proceedings of the ACM Workshop on Hot Topics in Networks. Philadelphia: ACM, 2015: 1-7. [8] PUTERMAN M L. Markov decision process: Discrete stochastic dynamic programming[M]. New Jersey: John Wiley & Sons, 2014. [9] PENEDONES H, RIQUELME C, VINCENT D. Adaptive temporal-difference learning for policy evaluation with per-state uncertainty estimates[C]//Advances in Neural Information Processing Systems. Vancouver: MIT, 2019: 1-22. [10] SUTTON R S, BARTO A G. Reinforcement learning: An introduction[M]. Cambridge: MIT, 2018. [11] LITTLE J. A proof for the queuing formula: L=λw[J]. Operations Research, 1961, 9(3): 383-387. doi: 10.1287/opre.9.3.383 [12] CASELLA G, GRAYBILL F A, BOES D C. Statistical inference[M]. Pacific Grove: Duxbury, 2002. [13] RAJESWARAN A, MORDATCH I, KUMAR V. A game theoretic framework for model-based reinforcement learning[C]//International Conference on Machine Learning. Vienna: JMLR, 2020: 7953-7963. [14] JANNER M, FU J, ZHANG M, et al. When to trust your model: Model-based policy optimization[C]//Advances in Neural Information Processing Systems. Vancouver: MIT, 2019: 1-18. [15] BERTSEKAS D P, TSITSIKLIS J N. Neuro-dynamic programming[M]. Belmont: Athena Scientific, 1996. [16] ABHIJITH A. NS-3[EB/OL]. [2021-09-08]. http://www.nsnam.org/. [17] KINGMA D P, BA J L. Adam: A method for stochastic optimization[C]//International Conference on Learning Representations. San Diego: ACM, 2015: 1-15. [18] MITZENMACHER M. The power of two choices in randomized load balancing[J]. IEEE Transactions on Parallel and Distributed Systems, 2001, 12(10): 1094-1104. doi: 10.1109/71.963420