边缘计算卸载算法--GT-GAOA

本文介绍了一种名为GT-GAOA的计算卸载算法,适用于边缘计算环境中的单个工作流。该算法通过初始化卸载策略并采用迭代方式优化每个移动设备上的任务卸载决策,最终达到整体最小计算成本的目的。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GT-GAOA卸载算法

背景:我实现该算法是在边缘计算单个工作流环境中,下面可以看到此背景下的java代码实现。

1.算法伪代码

在这里插入图片描述
下面是procedure1与procedure2:
在这里插入图片描述

2.参数说明

M是任意移动设备 i 计算任务的类型数,C是迭代次数,N是移动设备数。

3.结果

一个最优的计算卸载决策S,整体最小计算费用…

4.分析

(1)Algorithm2:

  1. 初始化:初始化每个终端设备MD上的一个工作流的所有任务(假设任务数为taskNum个)设置为不卸载{0,0,…,0}。
  2. 对于每一个MD i 上的一个工作流:按照Procedure1计算MD i 的局部最优卸载决策(这个卸载决策具有最小的优化目标值),如果新计算出来的MD i 的优化目标值小于之前的优化目标值,则将该MD i 添加到博弈更新圈。
  3. 只要博弈更新圈不为空:从博弈更新圈中随机挑选一个MD i ,赋予 i 更新卸载决策的机会,i 进行更新,并广播给其他MD(因为该更新的MD会占用公共资源),保存 i 更新后的卸载策略。博弈圈中的其他MD暂不更新。
  4. 基于计算卸载决策 S 计算整体最小的优化目标值(eg:Time、Energy)。
  5. 返回 S 与最小优化目标值。

(2)Procedure1~2:

  1. 对于工作流中的每一个job(卸载任务):
  2. 分别计算job在本地、边缘服务器、云服务器上的优化目标值 a,b,c。
  3. 先找出不卸载的job:如果当前 job 在本地执行优化目标值最小,则设置它的卸载策略为0(不卸载),卸载的 job 放在一个集合M中。
  4. 再遍历M集合,分别计算该任务 job 卸载到云服务器、边缘服务器的优化目标值 c,d。
  5. 若c < d 卸载到云服务器,反之,卸载到边缘服务器。
5.我的java代码实现
/**
 * 卸载策略初始化
 */
void GT_GAOAInit(){
   
   
    offloadStra = new int[taskNum];
    offloadJobIndex = new ArrayList<>();
    for (int i = 0; i < taskNum; i++) {
   
   
        offloadStra[i] = 0;
    }
}
/**
 * 根据贪心近似最优卸载策略对每个job选取最优卸载位置
 */
void GreedyApproximationOffloading(){
   
   
    // 依次是卸载到云层、雾层、本地
    double time1 = 0, time2 = 0, time3 = 0;
    double energy1 = 0, energy2 = 0, energy3 = 0;
    powerModel = (FogLinearPowerModel) getmobile().getHost(
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值