-
5G资源分配
2019-06-10 17:02:555G资源分配控制区域资源分配数据区资源分配 5G的资源分配,从整体上看与4G类似,分为控制区域的资源分配和数据区域的资源分配。 控制区域即PDCCH占用的资源,数据区域即PDSCH和PUSCH。 控制区域资源分配 总结:网络...
5G的资源分配,从整体上看与4G类似,分为控制区域的资源分配和数据区域的资源分配。
控制区域即PDCCH占用的资源,数据区域即PDSCH和PUSCH。控制区域资源分配
总结:网络通过在系统消息和RRC消息中配置PDCCH-config -> search space -> CORESET 给UE分配控制区资源和DCI解码信息。
在4G中,PDCCH所占用的频域资源是整个带宽(去除参考信号和PHICH);而时域占用的符号数由PCFICH确定。
5G中去掉了PCFICH和PHICH,引入了CORESET的概念。CORESET就是定义5G PDCCH占用资源的一组参数。
5G中由于BWP和numerology的引入,PDCCH占用的资源与4G相比变得更加灵活,系统可以为UE独立配置CORESET,并且一个UE可以配置多个CORESET。
CORESET由RRC层的IE: ControlResourceSet定义。ControlResourceSet ::= SEQUENCE { controlResourceSetId ControlResourceSetId, //CORESET ID frequencyDomainResources BIT STRING (SIZE (45)), //频域资源 duration INTEGER (1..maxCoReSetDuration), //时域资源
CORESET定义了PDCCH占用的资源,而为了解码PDCCH中所承载的DCI信息,5G中同样定义了search space的概念。
search space根据承载的DCI信息分为common search space和specific search space。
common search space是UE建立RRC连接之前网络在系统消息中为UE配置的UE需要解码的一些DCI信息。
specific search space是UE建立RRC连接之后在RRC消息中为UE配置的DCI消息。
在search space配置中可以看到对应CORESET ID。SearchSpace ::= SEQUENCE { searchSpaceId SearchSpaceId, //ID controlResourceSetId ControlResourceSetId OPTIONAL,-- Cond Setup Only //CORESET ID monitoringSlotPeriodicityAndOffset CHOICE {
具体到消息中,search space和CORESET又通过PDCCH-config下发到UE。
PDCCH-Config ::= SEQUENCE { controlResourceSetToAddModList SEQUENCE(SIZE (1..3)) OF ControlResourceSet OPTIONAL, controlResourceSetToReleaseList SEQUENCE(SIZE (1..3)) OF ControlResourceSetId OPTIONAL, searchSpacesToAddModList SEQUENCE(SIZE (1..10)) OF SearchSpace OPTIONAL, searchSpacesToReleaseList SEQUENCE(SIZE (1..10)) OF SearchSpaceId OPTIONAL,
数据区资源分配
总结:通过DCI分配时域和频域资源。
数据区资源分配与4G类似,是通过DCI完成的。不同的地方在于,5G中时域的调度粒度从一个slot变成了一个symbol。
我们前面说RB的定义的时候也说过,5G中RB在时域上只有一个symbol。
因此,5G的资源分配在频域上与4G类似,但是却要增加时域上的分配参数。
时域的分配方式如上图。
其中,n为DCI所在slot,uPDSCH和uPDCCH分别为PDSCH和PDCCH的numerology。
K0是在RRC层配置的参数,通过DCI指定具体的K0值,从而获得PDSCH所在slot。另外还有K1用于配置PUCCH传输ACK/NAK的slot,K2用于配置PUSCH的slot。
SLIV也是RRC层配置的参数,指定了PDSCH的其实symbol和持续长度。参考:
关于5G 物理层设计原则
https://new.qq.com/omn/20180312/20180312G19BM2.html
http://www.txrjy.com/thread-1027912-1-1.html
关于资源分配:
https://rf.eefocus.com/article/id-333172
http://sharetechnote.com/ -
资源分配图
2019-06-09 21:19:26资源分配图 资源分配图是由一组结点N和一组边E组成的一个对偶G=(N,E),它具有下列的定义和限制: 把N分成两个互斥的子集:进程结点集合P和资源结点集合R,即N=P∪R。 任何e∈E,都连接着P中的一个结点和R中的一个... -
资源分配问题
2019-06-30 00:28:47求总利润最大的资源分配方案,也就是解下列问题: max z=g1(x1)+ g2(x2)+……gn(xn) x1+xx2+x3+……xn=a, xi≥0,i=1,2,3,……,n 函数gi(x)以数据表的形式给出.例如:现有7万元投资到A,B,C 三个项目,利润见表,...1、问题描述
设有资源a,分配给n个项目,gi(x)为第i个项目分得资源x所得到的利润。求总利润最大的资源分配方案,也就是解下列问题:
max z=g1(x1)+ g2(x2)+……gn(xn)
x1+xx2+x3+……xn=a, xi≥0,i=1,2,3,……,n
函数gi(x)以数据表的形式给出.例如:现有7万元投资到A,B,C 三个项目,利润见表,求问题总利润最大的资源分配方案。
2、问题分析
1)阶段划分及决策
比较直观的阶段划分就是逐步考虑每一个项目在不同投资额下的利润情况。
2)数据结构设计:
(1) 开辟一维数组q来存储原始数据。
(2) 另开辟一维数组f存储当前最大收益情况。
(3) 开辟记录中间结果的一维数组数组temp,记录正在计算的最大收益。
(4) 开辟二维数组a。
(5) 数组gain存储第i个工程投资数的最后结果。
3、java实现
package 动态规划; import java.util.Scanner; public class 资源分配 { public static void main(String[] args) { int array[][] = new int[100][100]; float item[] = new float[100]; float get[] = new float[100]; float temp[] = new float[100]; Scanner sc = new Scanner(System.in); int m = sc.nextInt(); int n = sc.nextInt(); for (int i = 0; i <= n; i++) { item[i] = sc.nextFloat(); get[i] = item[i]; array[1][i] = i; } for (int i = 2; i <= m; i++) { for (int j = 0; j <= n; j++) { item[j] = sc.nextFloat(); temp[j] = item[j]; } for (int k = 0; k <= n; k++) { for (int l = 0; l <= k; l++) { if(get[k-l] + item[l] > temp[k]) { temp[k] = get[k-l] + item[l]; array[i][k] = l; } } } for (int p = 0; p <= n; p++) { get[p] = temp[p]; } } int rest = n; int gain[] = new int[100]; for (int i = m; i <= 1; i--) { gain[i] = array[i][rest]; rest = rest - gain[i]; } for (int j =1; j <= m; j++) { System.out.print(gain[j]+" "); } System.out.println(get[n]); sc.close(); } }
-
资源分配与调度
2019-12-31 19:07:294、防止由资源分配不当而引起的死锁。 对资源的管理应包括以下几个方面: 1、资源管理的描述--数据结构 2、确定资源的分配原则和调度原则 3、执行资源分配(实施) 4、存取控制和安全保护 1.2 资源的几种分类方法 ...1 资源管理概述
1.1 资源管理的目的和任务
目的:
1、保证资源的高利用率;
2、在“合理”时间内使所有顾客有获得所需资源的机会;
3、对不可共享的资源实施互斥使用;
4、防止由资源分配不当而引起的死锁。对资源的管理应包括以下几个方面:
1、资源管理的描述--数据结构
2、确定资源的分配原则和调度原则
3、执行资源分配(实施)
4、存取控制和安全保护1.2 资源的几种分类方法
(一)物理资源和程序资源
(二)单一访问入口的资源和多访问入口的资源
(三)等同资源
(四)虚拟资源1.3资源管理的机构和策略
机构
进行资源分配所必需的基本部件,它包括描述资源状态的数据结构,还包括保证不可共享资源互斥使用的技术以及对不能满足的资源请求进行排队的手段等。策略
给出机构所使用的方法,涉及到相应资源满足的情况下,批准请求的决策,包括死锁问题和系统平衡问题。2 资源分配机构
描述资源的管理和控制信息的数据结构称为资源分配的机构 。
在教材上列出了两种:资源描述器、资源信息块
在实际的系统中,会根据实际需要设计相应的数据结构。例如:进程管理主要管理的机构:PCB、就绪队列和各种等待队列。2.1 资源描述器
描述各类资源的最小分配单位的数据结构称为资源描述器rd(resource descriptor)
存放于一个描述器中的信息取决于资源的特征与对该资源的管理方式。
最简化的描述器可以用一个二进制位来实现,它表示该资源是可用的,还是已分配的。2.2 资源信息块
资源信息块rib (resource information)是一个数据结构,应能说明资源、请求者以及实施分配所需的必要信息。
资源分配程序是接收分配命令把资源分配给请求者的例程。包括:分配程序和去分配程序。3资源分配策略
3.1 概述
资源分配有两种方式:
静态分配:当一个进程(或程序)运行前,将它要求的资源一次分配给该进程,直到该进程终止,释放其占用的所有资源。这种分配方法效率太低;
动态分配:当一个进程要求使用某个(类)资源时,向系统提出资源的请求,系统响应程序的请求将某种资源分配给请求者,这种方法使得系统资源的利用率提高,但有可能造成死锁。
几种分配策略:
1、先请求先服务(FIFO)
2、优先调度
3、适应调度
4、均衡调度
5、针对设备特性的调度3.2 先请求先服务(FIFO)
简单排队站策略或FIFO(First In First Out)策略。
按照进程就绪的先后次序来调度进程
优点:实现简单
缺点:没考虑进程的优先级3.3 优先调度
在优先调度策略下,对于每个进程(或作业)要指定一个优先级,这一优先级反映了进程要求处理的紧迫程度。
进程调度队列是按进程的优先级由高到低的顺序排列的,队首为优先级最高者。
优先选择就绪队列中优先级最高的进程投入运行
优先级根据优先数来决定。确定优先数的方法
静态优先数法:
在进程创建时指定优先数,在进程运行时优先数不变
动态优先数法:
在进程创建时创立一个优先数,但在其生命周期内优先数可以动态变化。如等待时间长优先数可改变。两种占用CPU的方式
可剥夺式(可抢占式Preemptive):
当有比正在运行的进程优先级更高的进程就绪时,系统可强行剥夺正在运行进程的CPU,提供给具有更高优先级的进程使用
不可剥夺式(不可抢占式Non-preemptive ):
某一进程被调度运行后,除非由于它自身的原因不能运行,否则一直运行下去分时系统中常用时间片轮转法
时间片选择问题:
固定时间片
可变时间片与时间片大小有关的因素:
系统响应时间
就绪进程个数
CPU能力多队列反馈调度算法:
将就绪队列分为N级,每个就绪队列分配给不同的时间片,队列级别越高,时间越长,级别越小,时间片越小,最后一级采用时间片轮转,其他队列采用先进先出; 系统从第一级调度,当第一级为空时,系统转向第二个队列,…当运行进程用完一个时间片,放弃CPU时,进入下一级队列;等待进程被唤醒时,进入原来的就绪队列;当进程第一次就绪时,进入第一级队列 。-
首先系统中设置多个就绪队列
-
每个就绪队列分配给不同时间片,优先级高的为第一级队列,时间片最小,随着队列级别的降低,时间片加大
-
各个队列按照先进先出调度算法
-
一个新进程就绪后进入第一级队列
-
进程由于等待而放弃CPU后,进入等待队列,一旦等待的事件发生,则回到原来的就绪队列
-
当有一个优先级更高的进程就绪时,可以抢占CPU,被抢占进程回到原来一级就绪队列末尾
-
当第一级队列空时,就去调度第二级队列,如此类推
-
当时间片到后,进程放弃CPU,回到下一级队列
-
进程调度的时机
当一个进程运行完毕,或由于某种错误而终止运行
当一个进程在运行中处于等待状态(等待I/O)
分时系统中时间片到
*进程调度的时机
当有一个优先级更高的进程就绪(可抢占式),例如:新创建一个进程,一个等待进程变成就绪。
在进程通信中,执行中的进程执行了某种原语操作(P操作,阻塞原语,唤醒原语)*CPU调度过程
- 保存现场:顺序保存,最后一步保存PSW
- 选择要运行的程序
(如果没有就绪进程,系统会安排一个闲逛进程(idle),没有其他进程时该进程一直运行,在执行过程中可接收中断) - 恢复现场:最后一步恢复选中进程的PSW
4 死锁
4.1 死锁的概念
在这两个进程并发执行时,当P1进程占有R1、P2进程占用R2时,P1要求R2,由于P2已占R2有而得不到,P1进程只有等待;P2申请R1,由于P1已占有R1,而得不到,P2进程只有等待,就出现了死等的情况。
死锁是进程死锁的简称,是由Dijkstra于1965年研究银行家算法时首先提出来的。它是计算机操作系统乃至并发程序设计中最难处理的问题之一。实际上,死锁问题不仅在计算机系统中存在,在我们日常生活中它也广泛存在。
在计算机系统中,涉及软件,硬件资源都可能发生死锁。例如:系统中只有一台CD-ROM驱动器和一台打印机,某一个进程占有了CD-ROM驱动器,又申请打印机;另一进程占有了打印机,还申请CD-ROM。结果,两个进程都被阻塞,永远也不能自行解除。死锁简单的定义:
死锁就是两个或两个以上的进程等候着一个永远不会发生的事件时所处的一种系统状态。
教材上关于死锁的定义:
两个或两个以上并发进程,如果每个进程持有某种资源,而又等待着别的进程释放它或它们现在保持着的资源,否则就不能向前推进。此时,每个进程都占用了一定的资源,但又都不能向前推进。这种现象称为死锁。4.2 死锁的起因
并发进程共享系统资源,在竞争资源时可能会产生称为死锁的附带后果。
产生死锁的根本原因是系统能够提供的资源个数比要求该资源的进程数要少。所以,当系统中两个或多个进程没有能力进一步时。系统就发生死锁。
A1: P1 request(r1) A2: P2 request(r2)
B1: P1 request(r2) B2: P2 request(r1)
C1: P1 request(r1) C2: P2 request(r2)
D1: P1 request(r2) D2: P2 request(r1)
第一条折线:p1运行,p2运行。
p1运行 A1: P1 request(r1),B1: P1 request(r2)
C1: P1 request(r2),D1: P1 request(r1)
p2运行 A2: P2 request(r2),B2: P2 request(r1)
C2: P2 request(r2),D2: P2 request(r1)第二条折线:p1运行,p2运行, p1运行 。
p2运行 A2: P2 request(r2),B2: P2 request(r1)
C2: P2 request(r2),D2: P2 request(r1)
p1运行 A1: P1 request(r1),B1: P1 request(r2)
C1: P1 request(r1),D1: P1 request(r2)第三条折线:p1运行,p2运行。
p1运行 A1: P1 request(r1);
p2运行 A2: P2 request(r2),进入D区;
p1运行 B1: P1 request(r2),p1阻塞;
p2运行 B2: P2 request(r2),p2阻塞,到达死锁点N。
在此种情况下出现死锁。产生死锁的原因是:系统资源不足;进程推进顺序非法。
产生死锁的四个必要条件:
1、互斥条件
2、不可剥夺条件
3、部分分配
4、环路条件4.3 解决死锁问题的策略
一、解决死锁问题的几个策略
为了不发生死锁,必须设法破坏产生死锁的四个必要条件之一。
条件1:难以否定,但可采用相应的技术,如利用假脱机技术,即用可共享使用的设备模拟非共享的设备;
条件2:容易否定,可制定相应的规则即可,例如,当一个进程(程序)申请某资源被拒绝,则必须释放已占用的资源,如需要再与其它所需资源一起申请。对CPU还可进行可剥夺分配。
条件3:也是很容易否定的,只要分配策略上规定一个进程(或程序)一次将所需资源一次申请到位。用完后释放。可以全部用完后,统一释放,也可使用完后立即释放,只要是一次申请到的,系统就不会出现死锁。
条件4:实际上系统不采用部分分配,也就破坏了环路条件。二、系统状态分析(略)
4.4 死锁的预防
预先分配一个进程要用的所有资源是防止死锁的一种安全而简单的方法,但设备的使用效率太低。其缺点也是明显的:
1、一个用户(进程)在程序运行之前很难提出将要使用的全部设备;
2、设备(资源)的浪费太大,有些资源在进程运行过程中可能只有很少的时间才用到,有的甚至不会用到,例如,一个分支语句。4.5 死锁的避免
为了提高设备的利用率,应采用动态的设备分配方法,但应设法避免发生死锁,若存在发生死锁的可能性,则拒绝分配。
预防死锁:
采用的分配策略本身就否定了产生死锁的四个必要条件之一,这就保证了不会发生死锁;
死锁避免:
是在动态分配资源的策略下采用某种算法来预防可能发生的死锁,从而拒绝可能产生死锁的某个资源的请求。
一、有序资源分配法
这种算法按某种规则为系统中的所有资源统一编号(例如打印机为1、磁带机为2、磁盘为3、等等),申请时必须以上升的次序。
系统要求申请进程:
1、对它所必须使用的而且属于同一类的所有资源,必须一次申请完;
2、在申请不同类资源时,必须按各类设备的编号依次申请。
例如:进程PA,使用资源的顺序是R1,R2;
进程PB,使用资源的顺序是R2,R1;
若采用动态分配有可能形成环路条件,造成死锁。
采用有序资源分配法:R1的编号为1,R2的编号为2;
PA:申请次序应是:R1,R2
PB:申请次序应是:R1,R2
这样就破坏了环路条件,避免了死锁的发生。二、银行家算法
避免死锁算法中最有代表性的算法是Dijkstra E.W 于1968年提出的银行家算法:
该算法需要检查申请者对资源的最大需求量,如果系统现存的各类资源可以满足申请者的请求,就满足申请者的请求。
这样申请者就可很快完成其计算,然后释放它占用的资源,从而保证了系统中的所有进程都能完成,所以可避免死锁的发生。4.6 死锁的检测和恢复
死锁的检测:
通常的方法是程序员的经验,如UNIX系统中,可考察进程的运行时间。在UNIX系统中有命令PS可显示进程占用CPU的时间,若发现有一组进程在一段时间内没有占用CPU,就认为这类进程出现了死锁。
死锁排除的方法:
1、撤销陷于死锁的全部进程;
2、逐个撤销陷于死锁的进程,直到死锁不存在;
3、从陷于死锁的进程中逐个强迫放弃所占用的资源,直至死锁消失。 -
-
5G NR PDSCH、PUSCH资源分配
2019-06-16 14:17:03其实,把数据承载在哪个时间和频率上,对应的就是资源分配的过程。我们今天主要讨论5G NR中的资源分配过程。 目录 1. 时域资源指示 2. 频域资源指示 2.1 Type 0 频域资源分配方式 2.2 Type 1频域资源分配方式 ... -
5G NR 上下行资源分配
2019-09-05 14:16:25为了接收PDSCH或PUSCH,UE一般要先接收PDCCH,其中包含的DCI会指示UE接收PDSCH或PUSCH所需的所有信息,如时频域资源分配信息等。当UE收到DCI以后,就可以根据DCI的指示对PDSCH或PUSCH进行调度。下面先介绍下行资源... -
通用资源分配算法
2017-08-13 19:21:35现实生活中很多情景下都存在资源紧缺的情况,... 资源分配的本质:资源的有限性。 资源分配的目标:整体价值最大(多维度的目标和)。 资源分配的过程:多次决定的积累。 资源分配的手段:每次决定都趋利避害 -
资源分配图化简法
2016-09-08 20:21:36第一步:先看系统还剩下多少资源没分配,再看有哪些进程是不阻塞(“不阻塞”即:系统有足够的空闲资源分配给它)的第二步:把不阻塞的进程的所有边都去掉,形成一个孤立的点,再把系统分配给这个进程的 -
Spark Streaming动态资源分配
2019-06-01 22:39:01同反压机制一样,Spark Streaming动态资源分配(即DRA,Dynamic Resource Allocation)也可以用来应对流处理中批次流量过载的场景。 Spark Streaming动态资源分配,允许为应用动态分配资源。当任务积压时,申请更多资源... -
vSphere资源分配计算器
2018-10-24 22:46:11vSphere的CPU、内存资源分配是按照每个虚拟机所占用的“份额”计算的,该值只有相对意义,无绝对意义。 我用EXCEL做了一张表,可根据“份额”计算2~10台虚拟机所获得的资源: 用法是,在“总容量”处输入资源总... -
docker资源分配篇
2019-03-26 11:11:26默认情况下,docker容器的资源分配是没有限制的,宿主机有多少资源他就可以用多少资源,而docker可以限制内存,CPU,IO的资源使用.docker可以在docker run或者docker build的时候设置这些选项,设置的选线和规则如下:内存-... -
spark动态资源分配
2017-05-25 14:09:40前段时间仓库间推广spark-sql时,生产环境已经应用了spark dynamic resource allocation特性,即可动态的资源分配,这里的动态和资源分配是指executor级的,我们知道spark的资源分配是比较coarse-grained的,一个... -
yarn-资源分配策略
2020-04-02 18:20:21一、SRC yarn的调度器、角色组、资源池 ...调度器根据容量、队列等限制条件(如每个队列分配一定的资源,最多执行一定数量的作业等),将系统中的资源分配给各个提交到yarn的应用程序。调度器仅根据各个... -
下行资源分配类型
2016-12-09 16:53:42本文主要介绍下行物理信道PDSCH的3种资源分配类型: Type 0、Type 1和Type 2。 具体使用哪种资源分配类型取决于所选 -
Yarn资源请求处理和资源分配原理解析
2017-12-14 09:57:31目录 概述 FairScheduler的资源调度原理和代码 FairScheduler的调度概览 两种调度时机-心跳调度和持续调度 开始进行资源调度 ...资源分配assignContainer Parent节点调用FSParentQueueassignContainer -
[LTE 资源分配方法]资源池 resource pools
2020-03-14 09:12:27资源池表征了一种集中式的资源分配与管理策略,系统所有可用的资源 通过资源池的概念进行分配与管理,可以从整个系 统层面上考虑问题,全面衡量系统当前状态下的资 源利用状况、干扰状况、用户的业务请求分布情况等... -
Spark动态资源分配
2018-10-10 14:54:48cloudera manager默认是开启了spark动态资源分配的,即spark.dynamicAllocation,enable=true cloudera manager默认的动态配置参数似乎不是很合理,比如spark.dynamicAllocation.schedulerBacklogTimeout这个参数的... -
docker资源分配 Cgroup和安全通信 TLS
2020-09-27 20:09:441:docker资源分配 Cgroup [CPU 内存 I/O(单位时间内的吞吐量 单位时间内的读写速度)] 为什么要做资源分配 ? 容器----虚拟机 区别 虚拟机在创建的时候已经做了资源分配,(虚拟CPU,虚拟内存,虚拟磁盘等) 容器... -
Yarn资源分配示例
2016-10-09 11:55:52Yarn资源分配示例 1 简介 此手册应用于yarn资源按照队列分配的情景。 2 准备 2.1 环境说明 hadoop版本: hadoop-2.5.0-cdh5.3.3 3 配置 3.1 配置说明 1) Yarn-site.xml里配置yanr能用到的... -
5G/NR PDSCH之频域资源分配
2020-05-01 22:16:17物理下行共享信道(PhysicalDownlinkSharedCHannel, PDSCH)是无线通信系统中物理下行信道的一种,用于传输...对于下行频域资源分配,支持type 0和type 1两种分配方案,并且支持动态和静态配置。动态配置由DCI(Downl... -
5G NR PDSCH频域资源分配
2019-07-16 15:30:58这里说的下行资源分配指的是VRB的资源映射,type 0按照bitmap的方式,可以采用连续或者非连续的RBG,而type 1 则是从某个RB开始分配连续的几个RB。具体分配方式的定义参考协议,现在翻译如下。 -
最优化资源分配问题
2018-10-28 12:33:26最优化资源分配问题 问题提出:现有三个发电厂A,B,C其生产成本和最大发电度数分别如下: 发电厂 生产成本T 最大发电度数 A P^2.2 1千万度 B 2p^1.8 1.5千万度 C 0.8p^2.0 1.8千万度 问:全年总发电量不少于3千万度,... -
怎么调整CPU资源分配,如何将资源公平地分配给各个进程
2018-05-02 14:38:13怎么调整CPU资源分配,如何将资源公平地分配给各个进程但是,如果你需要给一个重要进程提高优先级时,该怎么做呢? 或者是,如何降低一个进程的优先级? 又或者,如何限制一组进程所使用的资源呢?答案是需要由用户来... -
模拟银行家算法,模拟实现动态资源分配以及随机分配算法
2018-07-08 11:46:54此次课程设计的主要内容是实现算法模拟银行家算法,模拟实现动态资源分配,编写和调试一个系统动态资源的简单模拟银行家算法程序程序,观察死锁产生的条件,并使用适当的算法,有效的防止和避免死锁的发生。...