欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2020103308043
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
专利领域: 电通信技术
更新日期:2023-12-11
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种移动用户深度神经网络计算卸载时延最小化方法,其特征在于,所述方法包括如下步骤:步骤1:将深度神经网络所需的执行时间划分为多个不等长时间段,划分原则是用户移动过程中所连接的基站是否改变,每个基站均部署了云服务器,设定DNN请求发出的时刻为τstart,任务完成的时刻为τend,在这段时间内,用户在每个基站的通信区域内停留的时间即为一个时间段;

步骤2:将DNN模型建模为一张有n个顶点的有向无环图DAG,图中的每一个顶点代表深度神经网络模型中的一层,这一层网络可以选择在本地计算,也可以卸载到边缘云计算;

步骤3:用户完成该DNN任务需要m个时间段,m是需要优化的参数,基于图论的思想,把DNN拓扑图DAG划分为m个分块,记为SDAG={SDAG1,……,SDAGj,……,SDAGm},

每一个时间段完成一个分块的执行,每一个分块j由移动用户和边缘云服务器协作完成,我们把这一分块再分为两小分块,前一小分块SDAGjl由本地执行,后一小分块SDAGje卸载至边缘云执行;

步骤4:由于边缘云服务器的存储资源是有限的,采取用户按需上传模型,哪几层模型需要在边缘云执行,就把那几层的模型上传到边缘云,因此,用户需上传SDAGje的神经网络模型,为此,重定义SDAG={SDAG1l,SDAG1e,……,SDAGjl,SDAGje,……,SDAGml,SDAGme}所有带l下标的分块均在本地执行,所有带e下标的分块均卸载至边缘云服务器执行;

步骤5:根据SDAG,该任务的整体执行流程为:在第一个时间段内,移动用户本地执行SDAG1l,同时把SDAG1e的DNN模型传输给到边缘云服务器,当两者均执行完成后,移动设备将SDAG1l的计算结果传输给边缘云服务器,边缘云服务器执行SDAG1e,当边缘云服务器执行完SDAG1e之后,将最终结果传回给用户,用户接着进入到第二个基站的通信范围,第二个时间段的执行过程以此类推;

步骤6:根据上述步骤所描述,建立DNN卸载过程中时延的数学模型,该时延分为三部分:第一部分为SDAGjl的本地计算,同时还要上传SDAGje的网络模型,这部分的时延取两者中的较大值,数学表达式如下:其中,为第i层网络在本地计算所需的时间, 为第i层网络模型数据在网络中传输所需的时间;

第二部分为Vjt的网络传输时延,数学表达式如下:

其中,Vjt为需要在网络中传输输出数据的DNN层集合, 为第i层网络输出数据在网络中传输所需的时间;

第三部分为SDAGje在边缘云服务器中的处理时延,数学表达式如下:

其中, 为第i层网络卸载到边缘云的数据在边缘云计算所需的时间;

总时延即为上述三部分的时延之和;

步骤7:用最大流最小割求解一个时间段内的优化问题,要解决的问题是如何最优划分SDAGj以得到SDAGjl和SDAGje,使得执行SDAGj所需的时间最短;

步骤8:从全局最优角度出发,最小化完成整个DNN任务所需的时间段数,即m。

2.如权利要求1所述的一种移动用户深度神经网络计算卸载时延最小化方法,其特征在于,所述步骤7的过程如下:

7.1)假设在该阶段已经得到了SDAGj,要解决的问题是如何最优划分SDAGj以得到SDAGjl和SDAGje,使得执行SDAGj所需的时间最短,重新构建一张新图g,新增两个节点l和e,分别代表本地计算和边缘云计算,e和l分别连接SDAGj中的每一个节点;

7.2)基于图论的思想,使用最大流最小割方法把图g切割成两个子图,要求节点l和e分别在不同的子图内,切割的目标是达到时延最小。

3.如权利要求1或2所述的一种移动用户深度神经网络计算卸载时延最小化方法,其特征在于,所述步骤8的过程如下:

8.1)初始化SDAG1为该时间段内最多能由移动设备进行本地计算完成的节点数,对SDAG1进行粗粒度增加,设置一个常量K,K值的设置可根据具体情况具体分析;在SDAG1集合中往后增加K个节点,对新的SDAG1进行步骤7的最小时延求解,若求得的时延小于这个时间段的时间长度,则重复本步骤,直到求得的时延大于这个时间段的时间长度;

8.2)对通过上述步骤得到的SDAG1进行细粒度减少,在SDAG1中删除最后一个节点,对新的SDAG1进行步骤7的最小时延求解,若该值大于这个时间段的时间长度,则重复本步骤,直到时延小于等于这个时间段的时间长度,此时的SDAG1即为最优解;

8.3)从DAG中删除SDAG1,对剩余部分进行SDAG2的初始化,重复步骤8.2)和步骤8.3),直至最后一个节点也被分配完成,得到最优的SDAG。