文章目录

  • 一、最终分配算法
    • 1.1 平衡的情况
    • 1.2 不平衡的情况
    • 1.3 TDM 约束

一、最终分配算法

  上一步合法化后,group 的 TDM 情况大致分为两类,一类是平衡的,最大的一些 group 的 TDM 比较接近。另外一种情况就是不平衡的,最大的 group远超其他的 group【这种情况是由于该 group 的边远超其他网组】。对于,这两类情况,最终分配有不同的处理方式。

1.1 平衡的情况

  对于 e 来说,经过 e 的网络都会分配一个 TDM ,而 TDM 的倒数和要小于等于 1 【即 1≤1Te,n1+1Te,n2+⋯1Te,nm1 \le \frac{1}{T_{e,n1}}+ \frac{1}{T_{e,n2}} + \cdots \frac{1}{T_{e,nm}}1Te,n11+Te,n21+Te,nm1 】。所以我们可以尝试从 TDM 的倒数方面入手,可以将 TDM 的倒数可以看成我们为经过 e 的网络分配资源 r ,资源总和要小于等于 0 。

  经过前面的算法,会剩余一些资源,我们这步要做的就是利用这些剩余资源。对于平衡的情况,那么我们就将资源根据比例分配给每个边【肯定不能平均分配,对于 TDM 大的边,一些资源就可以降低比较大的 TDM ,所以 TDM 越大,分配的资源就要越多】。所以我们可以得到公式:
r′=r+R(e)⋅p\begin{equation} r'=r+R(e)\cdot p \end{equation} r=r+R(e)p
  其中 r 表示该边分配的资源,其倒数就是 TDM ;R(e) 表示 e 的剩余资源 ;p 表示该边分配资源的比例,考虑到 TDM 越大,则应该要分配越多的资源,所以比例我们可以这样设计,我们先计算经过 e 的网络的 TDM 总和【参与计算的是 Te,nT_{e,n}Te,n】,然后根据其 TDM 在总和的比例来分配。所以我们得到下面公式:
1Te,n′=1Te,n+(1−∑n∈Ne1Te,n)Te,nTe\begin{equation} \frac{1}{T'_{e,n}}=\frac{1}{T_{e,n}}+(1-\sum\limits_{n\in N_e}\frac{1}{T_{e,n}})\frac{T_{e,n}}{T_e} \end{equation} Te,n1=Te,n1+(1nNeTe,n1)TeTe,n
  右边通分得:
1Te,n′=Te+(1−∑n∈Ne1Te,n)Te,n2Te,nTe\frac{1}{T'_{e,n}}=\frac{T_e+(1-\sum\limits_{n\in N_e}\frac{1}{T_{e,n}})T^2_{e,n}}{T_{e,n}T_e}Te,n1=Te,nTeTe+(1nNeTe,n1)Te,n2
  两边同时倒数得:【就是公式 16 】
Te,n′=Te,nTeTe+(1−∑n∈Ne1Te,n)Te,n2T'_{e,n}=\frac{T_{e,n}T_e}{T_e+(1-\sum\limits_{n\in N_e}\frac{1}{T_{e,n}})T^2_{e,n}}Te,n=Te+(1nNeTe,n1)Te,n2Te,nTe

1.2 不平衡的情况

  对于不平衡的情况【不平衡的情况一定是存在一些网组的边很多,而在 TDM 合法化后,每条边都有概率加 1 ,所以整体就变得很大】

  在满足剩余资源 >=0 的情况下,我们则先将最大 group 的每条边的 TDM 都 - 2 ,同时记得更新剩余资源。

  在上一步,我们的剩余资源已经被消耗的比较多了,所以接下来就要考虑将剩下的剩余资源分配给哪些边,对于 TDM 比较大的边,分配给一点资源就可以降低比较多的 TDM 。例如:TDM 为 10 和 100 的两条边,分配给 0.1 的资源:

  • 对于 TDM 为 10 的边, TDM 可以从 10 降到 5 ,只减少了 5 。
    【原本该边占有资源为 110\frac{1}{10}101,在分配 0.1 的资源就是 110+110=15\frac{1}{10}+\frac{1}{10}=\frac{1}{5}101+101=51,TDM 为 5 】
  • 对于 TDM 为 100 的边,则其 TDM 可以从 100 降到 10,减少了 90。
    【原本该边的资源为 1100\frac{1}{100}1001,分配给 0.1 的资源后就是 1100+110=11100\frac{1}{100}+\frac{1}{10}=\frac{11}{100}1001+101=10011,TDM 为 10011≈9.8\frac{100}{11} ≈ 9.8111009.8 ,合法化后为 10 】

  所以,我们优先考虑降资源分配给 TDM 较大的边,如何考虑这条边是否要分配资源 ,我们则按照这条边的 TDM 是否大于穿过这条边的 net 数决定。【只是选取一个阈值,因为对于不同的 e 来说,他们内部的资源分配情况不一样,比如有的 TDM 为 2,4,4 。有的 TDM 为 10 个 10 。所以不同的 e 必须要选取不同的阈值,而穿过 e 的网络数就比较合适】

  对于 e 来说,有很多条边,我们先统计需要分配资源的边的 TDM 和 sum ,然后根据该边在 sum 的占比分配资源,就像公式 (2) 那样,只不过我们将资源分配给部分边,所以占比的分母 TeT_eTe 就要修改为前面统计的部分边的 TDM 和。

  例如:边 e 存在 TDM :2 ,10,10,10。根据该算法,网络数是 4 ,剩余资源为 1−12−110−110−110=2101-\frac12-\frac{1}{10}-\frac{1}{10}-\frac{1}{10}=\frac{2}{10}121101101101=102

  • TDM 为 2 的边不分配资源,因为他的 TDM 小于网络数 4 。
  • 所以我们将这 210\frac{2}{10}102 的资源分配给 TDM 为 10 的三条边。每条边占比为 1030\frac{10}{30}3010,所以每条边的资源都是 110+2101030=16\frac{1}{10}+\frac{2}{10}\frac{10}{30}=\frac{1}{6}101+1023010=61 ,即每条边的 TDM 都变为 6

1.3 TDM 约束

  对于 TDM 约束,肯定是满足的,我们只是将剩余资源再分配而已,无论怎么分配,资源总量肯定小于等于 1 。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/915194.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/915194.shtml
英文地址,请注明出处:http://en.pswp.cn/news/915194.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《大数据技术原理与应用》实验报告七 熟悉 Spark 初级编程实践

目 录 一、实验目的 二、实验环境 三、实验内容与完成情况 3.1 Spark读取文件系统的数据。 3.2 编写独立应用程序实现数据去重。 3.3 编写独立应用程序实现求平局值问题。 四、问题和解决方法 五、心得体会 一、实验目的 1. 掌握使用 Spark 访问本地文件和 HDFS 文件的…

机器学习漫画小抄 - 彩图版

斯坦福机器学习漫画小抄,中文版来啦! 下载地址: 通过网盘分享的文件:机器学习知识点彩图版.pdf 链接: https://pan.baidu.com/s/1-fH9OpC_u_OrTqWy6gVUCA 提取码: 246r

1.初始化

业务模块核心技术栈业务(亮点)解决方案课程安排01 认识Vue3为什么需要学Vue3?Vue3组合式API体验Vue3更多的优势2 使用create-vue搭建Vue3项目认识 create-vue使用create-vue创建项目3 熟悉项目目录和关键文件项目目录和关键文件4 组合式API - setup选项…

Milvus分布式数据库工作职责

主导腾讯云Milvus服务化项目,设计多租户隔离方案,支撑日均10亿向量请求,延迟降低40%。优化IVF_PQ索引构建流程,通过量化编码压缩使内存占用减少60%,QPS提升35%。开发基于Kubernetes的Milvus Operator,实现自…

FMEA-CP-PFD三位一体数字化闭环:汽车部件质量管控的速效引擎

FMEA-CP-PFD三位一体数字化闭环:汽车部件质量管控的速效引擎 全星FMEA软件系统通过​​FMEA(失效模式分析)、CP(控制计划)、PFD(过程流程图)三大工具的一体化协同管理​​,为汽车部件…

VUE2 学习笔记1

目录 VUE特点 文档tips 开发者工具 从一个Hello world开始 hello world Demo 容器和实例的对应关系 差值语法{{}} VUE特点 构建用户界面:可以用来把数据构建成用户界面。 渐进式:自底向上,可以先从一个非常轻量级的框架开始&#xf…

嵌入式学习系统编程(四)进程

目录 一、进程 1.程序和进程 2.进程的八种状态 3. 几个状态 4.关于进程常用命令 二、关于进程的函数 1.fork 2.面问 3.孤儿进程 后台进程 2. exec函数族 (只保留父子关系,做新的事情) strtok函数 三、进程的结束 1.分类 exit和_exit的区别 wait函数…

Linux中添加重定向(Redirection)功能到minishell

前言:在谈论添加minishell之前,我再重谈一下重定向的具体实现等大概思想!!!方便自己回顾!!! 目录 一、重定向(Redirection)原理详解 1、文件描述符基础 2、…

Django由于数据库版本原因导致数据库迁移失败解决办法

在django开发中,一般我们初始化一个项目之后,创建应用一般就会生成如下的目录:django-admin startproject myproject python manage.py startapp blogmyproject/ ├── manage.py └── myproject/ | ├── __init__.py | ├── se…

C++STL系列之vector

前言 vector是变长数组,有点像数据结构中的顺序表,它和list也是经常被拿出作对比的, vector使用动态分配数组来存储它的元素。当新元素插入时候,这个数组需要被重新分配大小,如果扩容,因为要开一个新数组把…

Functional C++ for Fun Profit

Lambda Conf上有人讲C函数式编程。在Functional Conf 2019上,就有主题为“Lambdas: The Functional Programming Companion of Modern C”的演讲。演讲者介绍了现代C中函数式编程相关内容,讲解了如何使用Lambda表达式编写符合函数式编程原则的C代码&…

Python基础理论与实践:从零到爬虫实战

引言Python如轻舟,载你探寻数据宝藏!本文从基础理论(变量、循环、函数、模块)启航,结合requests和BeautifulSoup实战爬取Quotes to Scrape,适合零基础到进阶者。文章聚焦Python基础(变量、循环、…

ThingJS开发从入门到精通:构建三维物联网可视化应用的完整指南

文章目录第一部分:ThingJS基础入门第一章 ThingJS概述与技术架构1.1 ThingJS平台简介1.2 技术架构解析1.3 开发环境配置第二章 基础概念与核心API2.1 核心对象模型2.2 场景创建与管理2.3 对象操作基础第三章 基础开发实战3.1 第一个ThingJS应用3.2 事件系统详解3.3 …

关于list

1、什么是listlist是一个带头结点的双向循环链表模版容器,可以存放任意类型,需要显式定义2、list的使用有了前面学习string和vector的基础,学习和使用list会方便很多,因为大部分的内容依然是高度重合的。与顺序表不同,…

Mysql 查看当前事务锁

在 MySQL 中查看事务锁(锁等待、锁持有等),可以使用以下方法: 一、查看当前锁等待情况(推荐) SELECTr.trx_id AS waiting_trx_id,r.trx_mysql_thread_id AS waiting_thread,r.trx_query AS waiting_query,b…

【Keil5-map文件】

Keil5-map文件■ map文件■ map文件

k8s 基本架构

基于Kubernetes(K8s)的核心设计,以下是其关键基本概念的详细解析。这些概念构成了K8s容器编排系统的基石,用于自动化部署、扩展和管理容器化应用。### 一、K8s核心概念概览 K8s的核心对象围绕容器生命周期管理、资源调度和服务发现展开,主要包…

Bell不等式赋能机器学习:微算法科技MLGO一种基于量子纠缠的监督量子分类器训练算法技术

近年来,量子计算(Quantum Computing) 和 机器学习(Machine Learning) 的融合成为人工智能和计算科学领域的重要研究方向。随着经典计算机在某些复杂任务上接近计算极限,研究人员开始探索量子计算的独特优势…

Edge浏览器设置网页自动翻译

一.浏览网页自动翻译设置->扩展->获取Microsoft Edge扩展->搜索“沉浸式翻译”->获取 。提示:如果采用其他的翻译扩展没找自动翻译功能,所以这里选择“沉浸式翻译”二.基于Java WebElement时自动翻译Java关键代码:提示&#xff1…

TCP/UDP协议深度解析(四):TCP的粘包问题以及异常情况处理

🔍 开发者资源导航 🔍🏷️ 博客主页: 个人主页📚 专栏订阅: JavaEE全栈专栏 本系列往期内容~ TCP/UDP协议深度解析(一):UDP特性与TCP确认应答以及重传机制 TCP/UDP协议深…