tl =(cl*10.0)//pl>>#### deadline和tmax的精度不对dead=np.random.randint(5,10,100)
print(x)
for k in x:
if k==100:
break;
if tl[k]> dead[k]:
if tl[k]> dead[k]:
print('success')
GR.append(k)
elif tl[k]<=dead[k]:
le = cl*el
print('wonderful')
ns=d/((dead-cl/4)*log((1+40),2))#【【⼤和⼩的传输功率未知这⾥统⼀成20W】】
nm=d/((dead-cl/4)*log((1+80),2))#【【⼤和⼩的传输功率未知这⾥统⼀成20W】】
L=[ns[k],nm[k]]
p=findMin(L)
if el[k]<p:
GL.append(k)
print('1')
else:
GO.append(k)
print('2')
print('next is the answer of first jih')
print(GR)
print(GL)
print(GO)
##第⼆级卸载机制##
##第三级卸载机制##
最后的结果,做出前两级机制,并没有考虑第三级信道的分配
⼤体图已经画出
由于信道不好量化就省略了第⼆级和第三级卸载机制
⽬前拟理解是分配信道的量化是通过速度来衡量,不同的信道速度不同# -*- coding: utf-8 -*-
"""
Created on Sun Dec 22 11:28:38 2019
@author: han
"""
import numpy as np
import matplotlib.pyplot as plt
from math import log
###正常情况⽆卸载机制###
el=np.random.randint(1,10,100)#⼀个cpu周期的本地的能耗
y=[]
cl=np.random.randint(1,10,100)#计算此任务所需的能⼒,能cpu周期规划
d =np.random.randint(300,800,100)#每个计算任务的⼤⼩
x = np.linspace(10,100,10,dtype=int)#x个移动设备
print(x)
for i in x:
print(i)
sum=0
for j in range(i):
sum=sum+(2*cl[j]*el[j])/100#加了个2调整系数
# print(sum)
y.append(sum);
print(y)
plt.plot(x,y,color='blue',linestyle='-')
plt.title('Handsome Programmers picture')
>>#第⼀级卸载机制如下>>>pl=np.random.randint(1,10,100)#扩⼤了10倍,使⽤的时候请注意,本地功率
tl=[]#本地计算任务消耗时间
GR=[]#传给MEC服务器的设备集合
GL=[]#本地计算任务的集合
GO=[]#继续筛选的集合
le=[]#单个任务本地消耗的能耗
ns=[]#在⼩计算的设备数⽬
nm=[]#在⼤计算的设备数⽬
L=[]
p={}
def findMin(alist):
findMin = alist[0];
for i in range(1,len(alist)):
if alist[i]< findMin:
findMin = alist[i]
return findMin
tl =(cl*10.0)//pl# deadline和tmax的精度不对,已修正
dead=np.random.randint(5,10,100)
print(x)
for i in range(0,99):
print('this i is=====',i)
if tl[i]> dead[i]:
print('success')
GR.append(i)
elif tl[i]<=dead[i]:
运维流程管理
le = cl*el
print('wonderful')
ns=d/((dead-cl/4)*log((1+40*20/100),2))#{论⽂⾥的公式}【【⼤和⼩的传输功率未知这⾥统⼀成20W】】??背景噪声功率 nm=d/((dead-cl/4)*log((1+80*20/100),2))#{论⽂⾥的公式}【【⼤和⼩的传输功率未知这⾥统⼀成20W】】??背景噪声功率 L=[40*ns[i],80*nm[i]]#warni
ng!40和80的单位,⽽且忘记乘10000
c=findMin(L)
p[i]=c/100#调整系数
if el[i]<p[i]:
GL.append(i)
print('GL!')
elif el[i]>=p[i]:
GO.append(i)
print('2')
print('next is the answer of first Offloading')