T_CI 164-2023 面向移动边缘计算的软件自适应卸载技术规范.docx
《T_CI 164-2023 面向移动边缘计算的软件自适应卸载技术规范.docx》由会员分享,可在线阅读,更多相关《T_CI 164-2023 面向移动边缘计算的软件自适应卸载技术规范.docx(25页珍藏版)》请在咨信网上搜索。
1、ICS 35.240.50 CCS L70CI团体标准T/CI 164-2023面向移动边缘计算的软件自适应卸载技术规范Standard on adaptively offloading the software for mobile edge computing2023-10-16 发布2023-10-16 实施中国国际科技促进会发 布T/CI 164-2023目 次前 言II面向移动边缘计算的软件自适应卸载技术规范11 范围12 规范性引用文件13.术语和定义14 针对自适应卸载的软件自动重构34.1 针对 OO 软件自适应卸载的程序自动重构34.2 针对 DNN 软件自适应卸载的程序自动
2、重构45 计算卸载的开销评估55.1 OO 模型的开销评估55.2 DNN 模型的开销评估86 计算卸载的智能调度116.1 卸载方案的求解加速116.2 卸载方案在线决策算法13II前 言本文件按照标准化工作导则 第 1 部分:标准的结构和编写GB/T 1.1-2020 给出的规则起草。某些内容可能涉及专利,本文件的发布机构不承担识别这些专利的责任。 本文件由福州大学提出。本文件中国国际科技促进会归口。本文件起草单位:福州大学、福建师范大学、上海交通大学、北京大学、国网信通亿 力科技有限责任公司、厦门盈趣科技股份有限公司、长威信息科技发展股份有限公司、国 科联盟(北京)国际信息科学研究院。本
3、文件主要起草人:陈星、陈哲毅、李鸣、张建山、林兵、钟浩、马郓、林晓康、罗 义旺、李金湖、陈建成、林志斌、陈征宇、黄炳裕、赵芳萱。本文件为首次提出。T/CI 164-2023面向移动边缘计算的软件自适应卸载技术规范1 范围本文件规范了面向移动边缘计算的软件自适应卸载的相关技术,包括针对自适应卸载 的软件自动重构、计算卸载的开销评估、计算卸载的智能调度等。本文件适用于解决电力物联网、智能家居、智慧生态等领域中存在的移动边缘环境下 软件自适应卸载的相关问题。2 规范性引用文件下列文件对于本标准的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本 适用于本标准。凡是不注日期的引用文件,其最新版本(
4、包括所有的修改单)适用于本标 准。ISO/IEC TR 23188:2020 Edge computing landscape ISO/IEC TR 30164:2020 Edge computing T/ZGTXXH 0102021 边缘计算总体架构与要求3.术语和定义下列术语和定义适用于本文件。3.1计算密集型任务 Compute-intensive task计算量远大于访问存储器、通信和输入输出的一类任务。3.2中间件 Middleware中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能
5、共享的目的。3.3移动云计算 Mobile Cloud Computing, MCC移动云计算是指通过移动网络以按需、易扩展的方式获得所需的基础设施、平台、软2件(或应用)等的一种 IT 资源或(信息)服务的交付与使用模式。3.4移动边缘计算 Mobile Edge Computing, MEC可利用无线接入网络就近提供电信用户 IT 所需服务和云端计算功能,而创造出一个具备高性能、低延迟与高带宽的电信级服务环境,加速网络中各项内容、服务及应用的快速 下载,让消费者享有不间断的高质量网络体验。3.5服务器 Server服务器是计算机的一种,它比普通计算机运行更快、负载更高、价格更贵。服务器在
6、网络中为其它客户机(如 PC 机、智能手机、ATM 等终端甚至是火车系统等大型设备)提供计算或者应用服务。服务器具有高速的 CPU 运算能力、长时间的可靠运行、强大的 I/O 外部数据吞吐能力以及更好的扩展性。3.6面向对象 Object Oriented, OO面向对象的方法就是利用抽象、封装等机制,借助于对象、类、继承、消息传递等概 念进行软件系统构造的软件开发方法。3.7深度神经网络 Deep Neural Networks, DNN深度神经网络是机器学习(ML, Machine Learning)领域中一种技术,是一种具备至少一个隐藏层的,利用激活函数去线性化,使用交叉熵作损失函数,利
7、用反向传播优化算法(随机梯度下降算法、批量梯度下降算法)进行学习训练(调整并更新神经元之间的权重) 的前馈神经网络。3.8怀卡托智能分析环境 Waikato Environment for Knowledge Analysis, WekaWeka 是一款免费的,非商业化的,基于 JAVA 环境下开源的机器学习以及数据挖掘软件。3.9决策树 Decision Tree决策树是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值 大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析T/CI 164-2023的一种图解法。3.10随机森林 Random For
8、est, RF在机器学习中,随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个 别树输出的类别的众数而定3.11R 语言R 是用于统计分析、绘图的语言和操作环境。R 是属于 GNU 系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。3.12深度强化学习 Deep Reinforcement Learning, DRL深度强化学习将深度学习的感知能力和强化学习的决策能力相结合,可以直接根据输 入的图像进行控制,是一种更接近人类思维方式的人工智能方法。4 针对自适应卸载的软件自动重构针对 OO 模型和 DNN 模型,以对象实例和 DNN 层为卸载单元,实现
9、自适应卸载使能机制。4.1 针对 OO 软件自适应卸载的程序自动重构为支持 Android 应用的计算迁移,需要将应用进行重构。图 1 展示了重构步骤,具体内容如下:图 1 重构步骤步骤 1: 检测哪些类是 Movable 的。对于给定的应用程序, 将 Java 类分为两类: Anchored 和 Movable。Anchored 类必须留在移动设备上,因为它们直接使用仅在移动设备上可用的一些特殊资源,例如显示的 GUI(图形用户界面),重力传感器,加速度传感器,5指纹传感器和其他传感器。除了 Anchored 类之外,剩余的类都是 Movable 类。步骤 2:使 Movable 类能够迁移
10、。当迁移类时,将该类与其交互类之间的本地调用结构变为按需远程调用结构。如果迁移类调用 Anchored 类,则后者需要前者的代理。代理生成是将应用程序代码中所有对象创建方式转换成如下:(1)当目标位置是本地主机时,直接创建实例及其 ID,然后使用类名和实例 ID 生成代理;(2)当目标位置是远程节点资源时,本地将序列化参数(类 N 的完全限定类名,要创建的实例的目标位置和类实例的构造函数参数值)并将它们传输到远程。然后远程反序列化参数,并在远程节点资源上创建实 例及其 ID 和代理。然后,返回 ID,本地使用它来生成代理。步骤 3:检测哪些类应作为一个整体迁移。将经常交互的类应作为一个整体迁移
11、。步骤 4:打包可部署文件。完成上述三个步骤后,打包 Android 应用程序的 Java 字节码文件以及引用的资源文件,例如图像,xml 文件和 jar 库,然后生成两个工件。第一个是重构的 Android 应用程序,即.apk 文件,可以安装在手机上。第二个是可执行 jar 文件,其中包含从重构的应用程序克隆的可移动 Java 字节码文件,能够在远程服务节点上运行。4.2 针对 DNN 软件自适应卸载的程序自动重构为支持 DNN 应用的计算迁移,需要对 Python 源码进行如下几个步骤的重构:步骤 1:入参准备。在传入初始化数据至 DNN 网络中时,新增参数 InitL、EndL 和Cu
12、rrentL,分别表示当前节点处理的初始层标号和结束层标号以及 DNN 应用执行的进度。步骤 2:新增管道机制。新增方法 Pipe(i)于执行每一层 layeri之前,该方法决定layeri是否由当前节点的过滤器执行,对过滤器起激活作用,具体算法如下:算法 1: Pipe(i)算法Input:The configuration file of DNN layers config-file; The number of current DNN layer CurrentLOutput:Target layer information Declare:remote(,CurrentL, k) th
13、e remote execution,where k is the last layer on the remote Procedure pipe(x, config-file, CurrentL)1: if x CurrentLthenT/CI 164-20232:return3: end if4: if x= CurrentLand config-file x = LOCAL then 5:return CurrentL6: end if7: if x= CurrentLand config-file x.contains(REMOTE) then 8:transfer Output th
14、rough RPC9:calculate the number of the next filter on the current node k10:layerk - 1 = remote(Output, CurrentL, k - 1) 11:return k12: end if End Procedurepipe()函数的入参包括卸载方案以及即将激活的 DNN 层序号 x。如果该计算节点不负责 DNN 层 x的执行,直接返回从而卸载 DNN 层(第 1-3 行)。如果当前计算节点负责DNN 层 x的执行,因此直接返回需激活的过滤器标号从而激活过滤器 x(第 4-6 行)。如果执行至当前位置
15、,然而下一个待激活的 DNN 层为不在当前计算节点上时,先将上述参数Output 通过该管道的 RPC 机制传输并激活远程节点的过滤器(第 7-8 行);在等待远程卸载的结果返回后,计算下一个在当前计算节点上执行的 DNN 层,并将接收到的远程执行结果赋值给 DNN 层的前序 DNN 层 k- 1(第 9-10 行);最后,返回下一个在本地待激活的DNN 层(第 11 行)。步骤 3:新增过滤器。新增两个判断语句。第一个判断语句用以控制当前网络层是否执行,第二个判断语句用以包装并存储本次调用中最后一个网络层执行的结果。5 计算卸载的开销评估针对 OO 模型和 DNN 模型,基于程序静态分析技术
16、从程序结构角度建立软件的高层抽象模型,然后针对代码片段建立具有高准确率的预测模型,以评估 MEC 中软件卸载方案的执行开销。5.1 OO 模型的开销评估要实现对 OO 模型的开销评估,需要三个步骤:(1)应用程序的权重调用图提取;(2)预测模型的构建;(3)卸载方案评估。5.1.1 应用程序的权重调用图提取8根据 Android 应用程序的 main 方法,通过 Soot 工具去建立应用程序的权重调用图,具体流程如算法 2 所示。算法 2: 权重调用图生成算法Input:rrrrA main method mr ,its statement UOutput:= u1 , u 2 , ., un
17、 ;A weighted call graph Gp = (M , R)1:M M + mr2:R rr3: for each ui U dor4:keywords Soot(ui )5:if $invoke keywords then6:ms getMethodName (keywords )7:M M + ms 8:if mr ms R.key then 9:+ + rrs10:else11:12:rrs 1R R + rrs13:end if14:mr ms15:end if16: end for使用哈希图来存储边, 它的密钥格式为 mi mj , 其中 mi 表示 mj 的后继。集合r
18、rrrrrrrU = u1 , u 2 , ., un 表示方法 m 中的所有语句,每个ui U 表示U 中的第 i 个语句。第3 行遍历U ,对于每个元素,第 4 行使用 Soot 提取中 ui 的关键字。这里的关键词是由rrSoot 定义的指令,例如,关键字 JAssignStmt 表示赋值语句;关键字 JReturnStmt 表示方法的返回语句;关键字 JGotoStmt 表示跳转语句;而关键字 invoke 表示一个方法调用。对于T/CI 164-2023每个方法调用,第 6 到 14 行根据关键字更新集合 M 和 R 。如果边 mr ms 已经存在,则对应的值 rrs 加一,否则将边
19、记录到 R 中。更新后,输入被调用方法 ms ,再次执行第 3 行。除了调用关系之外,对于每个方法,还需要提取块深度、语句数及其复杂度等特征。10Mij = , 其中 blockDepth 表 示 函 数 的 深 度 , 计 算 为 mi中 分 支 的 嵌 套 级 别 。percentBranchStatements 表示分支语句的比例,即 if、for、while 和 switch 等分支语句 占总语句的比例。complexity 表示 mi 中的路径数,其计算公式为: complexity =e - n +2 ,e 为控制流图的边的数量, n 为控制流图的节点数; statements 表
20、示方法的语句数, calls表示方法内部调用的次数;5.1.2 预测模型的构建通过设定以下参数,构建预测模型:(1) 模 型 输 入 : complexity , blockDepth , statements , calls ,percentBranchStatements 。(2) 模型输出:方法的执行时间(3) 随机森林的类型:回归(4) 模型参数设定:基于回归树的数量( Ntree )设置为 50,决策树分支时随机抽样的变量个数( Mtry )设置为 3在构建好预测模型后,使用 5 个以上的 Android 应用,每个应用需要包含至少 4 个方法。将这些应用抽取到的特征信息,以及在计算
21、节点上执行收集到每个方法的执行成本作 为数据集。其中,70%用作训练集来训练通过上述参数构建好的模型,另外 30%作为验证集来判断模型的准确率。表 1 展示了 OO 预测模型的数据集样本作为样例。表 1 OO 预测模型数据集样本方法complexityblockDepthstatementscallspercentBranchStatementTime(ms)Grey.clear ()4251280.07823207.27Detect.detect()105028022734.94Compare.get ()43134770.0371302.265.1.3 卸载方案评估5.1.3.1 方法执行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- T_CI 164-2023 面向移动边缘计算的软件自适应卸载技术规范 164 2023 面向 移动 边缘 计算 软件 自适应 卸载 技术规范
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【Fis****915】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【Fis****915】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。