lab6(stride scheduling)

Stride调度是一种结合时间片的优先级策略,资源权利由tickets表示,与进程的优先级和时间片分配直接相关。高优先级进程拥有更多tickets,从而在给定时间内获得更多的资源。Stride值与tickets成反比,pass字段则用于指示进程下次选择的时间点。实验展示了通过调整tickets比例,可以精确控制不同进程的调度频率。
部署运行你感兴趣的模型镜像

Stride调度分析

论文链接:Stride Scheduling

在实验中使用的Stride算法是结合时间片的一种优先级调度策略。每一个时间片结束时,选择就绪状态的进程中Pass值最小的进程分配一个时间片,在一个时间段中进程所获得的时间片数量和进程的优先级大致成正比。

 

 Resource rights are represented by tickets – abstract, first-class objects that can be issued in different amounts and passed between clients.

Throughput rates for active clients are directly proportional to their ticket allocations. Thus, a client with twice as many tickets as another will receive twice as much of a resource in a given time interval. Client response times are inversely proportional to ticket allocations. Therefore a client with twice as many tickets as another will wait only half as long before acquiring a resource. 

 

resource right:进程获得时间片的权利。

ticket:在一个系统中,所有进程的ticket总和是固定的。根据进程的优先级将一定总量的ticket分配给各进程,可以将ticket数量看作进程优先级的一个体现,优先级越高,ticket值越大。ticket值越大,resource right越大,一定时间内获得的时间片越多。

 

The stride field is inversely proportional to tickets, and represents the interval between selections, measured in passes. The pass field represents the virtual time index for the client’s next selection. 

 stride:可翻译为步幅,和进程的ticket值成反比,每当一个进程获得一个时间片,pass值会增大一个stride,因此stride是pass值增长的单位。    stride=\frac{stride_{1}}{ticket}, stride_{1}为大整数。

pass:进程通过的虚拟距离,以stride为单位增长。是选择进程分配时间片的指标,每次选择pass值最小的进程分配。

 

 上图时表示随着时间的推移各进程的pass值的变化,每一个时间单位相当于一个时间片结束,选择一个进程分配时间片,□、○、△分别代表三个进程。

stride_{1}=6

ticket 比例:□ : ○ : △ = 1 : 2 : 3

stride 比例:□ : ○ : △ = 6 : 3 : 2

可以看到,在每个时间点,三个进程的pass值都非常接近,因此个进程获得调度的次数和ticket成正比。因此可以通过优先级给进程指定ticket值,从而较为精确地控制进程获得时间片地数量。

 

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

### Stride 的定义与用法 在编程和技术领域中,“stride”通常指代步幅或跨距的概念,具体含义取决于上下文环境。以下是几种常见的场景及其解释: #### 1. 数组和矩阵操作中的 stride 在数组处理库(如 NumPy 或 TensorFlow)中,stride 表示访问多维数据结构时跨越的内存单元数。对于一个多维数组而言,stride 定义了沿着某一维度移动一步所需的字节数。例如,在一个二维数组 `A` 中,如果每一行有 4 个浮点数元素,则沿第一个维度(即行方向)的 stride 是整个行所占的字节数[^3]。 ```python import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]], dtype=np.int32) print(f"Strides: {arr.strides}") # 输出 strides 值 ``` 上述代码展示了如何获取数组的 strides 属性。假设每个整型占用 4 字节空间,那么该例子可能返回 `(12, 4)`,表示每增加一列需跳过 4 字节,而切换到下一行则要跳过 12 字节。 #### 2. 图像卷积神经网络中的 stride 在深度学习框架里,特别是在图像处理任务中涉及卷积层时,stride 参数控制滤波器滑动窗口每次前进的距离大小。较大的 stride 可减少输出特征图的空间尺寸,从而降低计算复杂度并引入一定程度上的池化效果[^4]。 ```python import torch.nn as nn conv_layer = nn.Conv2d(in_channels=3, out_channels=8, kernel_size=(3, 3), stride=2) # 此处设置 stride=2 意味着过滤器每隔两个像素采样一次输入图片的数据。 ``` #### 3. GPU 编程中的应用 回到 CUDA 平台讨论,虽然原始引用未提及 stride 明确概念,但在实际开发过程中,合理配置线程块内的索引偏移量同样可以看作一种形式化的 stride 实现方式。比如利用共享存储器组织连续访存模式来提升性能效率[^1]。 --- ### 总结 综上所述,stride 在不同技术分支下的表现形态各异,但核心思想均围绕“间隔距离”的主题展开论述。无论是低级硬件指令优化还是高级算法设计层面,掌握好这一参数能够显著改善程序运行效能或者模型表达能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值