多目标调度与随机任务资源系统研究
1. 调度介绍
在调度问题中,字典序最大公平性(leximax fairness)不会预先偏袒某一个用户。每个作业的调度都会考虑所有作业,并且通过重新排列用户顺序来改变实例,仍能得到相似的字典序最大最优解。因此,一个公平的调度器的重要特性是保证用户的对称性。
在某些问题里,所有代理共享相同的目标函数,这些目标函数的值可以直接比较,以衡量最终分配的公平性,这种特性通常被称为分配公平性。
2. 公平性的公理理论
2.1 多目标公平性方法
采用多目标方法来处理公平性问题,该方法会给出多个可能的解。通常,这种方法会对帕累托最优解施加进一步的限制,将解的最优性概念扩展到包含公平性,使决策者能够在这些解中明确做出选择,而不是在优化算法的参数值中选择以得到“那个”公平解,从而让决策者明确平衡公平性和效率。
2.2 公平优势关系
分配公平性可以通过公理精确描述,这些公理定义了公平优势关系。公平优势关系是一种不对称、非自反且传递的关系,具有以下三个性质:
-
对称性
:忽略目标值的顺序,目标函数的所有排列在公平性上是等价的。例如,虚构解 B = (73, 76) 与 A = (76, 73) 在公平性上等价。
-
单调性
:被帕累托支配的解也会被公平支配。例如,C = (71, 74) 公平支配 B = (73, 76),所以 C 也公平支配 A。
-
转移原则
:对于最大化问题,将任意小的量从一个目标转移到另一个相对更优的目标,结果会更公平。例如,E = (43, 88) 优于 D 中的任何解,如 (33, 98)。
公平效率的定义与帕累托最优类似,若一个解不被其他任何解公平支配,则称该解为公平有效或公平最优解。
2.3 公平优势关系示例
| 解 | 坐标 | 公平支配关系 |
|---|---|---|
| A | (76, 73) | 被 C 公平支配 |
| B | (73, 76) | 被 C 公平支配 |
| C | (71, 74) | 公平支配 A 和 B |
| D | (33, 98) | 被 E 公平支配 |
| E | (43, 88) | 公平支配 D |
3. 公理理论在 TwoAgentMinSum 中的应用
3.1 代理作业相似的情况
当代理产生的作业相似时,例如两个代理都产生大小为 1、3 和 5 的作业,得到的帕累托集在效率线附近与公平线相交,此时只有两个公平有效的调度:
- (JB1, JA1, JB2, JA2, JA3, JB3),(ΣCAi, ΣCBi) = (23, 24)
- (JA1, JB1, JA2, JB2, JB3, JA3),(ΣCAi, ΣCBi) = (24, 23)
3.2 代理作业负载不同的情况
当一个代理产生较长的作业时,全局最优的最短处理时间(SPT)解会对其不利。例如,代理 A 产生三个大小为 1 的作业,代理 B 产生三个大小为 2 的作业,全局最优的 SPT 调度 (JA1, JA2, JA3, JB1, JB2, JB3) 得到 (ΣCAi, ΣCBi) = (6, 21),而最小最大解为 (ΣCAi, ΣCBi) = (16, 16),但该解会导致全局完成时间总和显著增加。根据公平性的公理理论,SPT 和最小最大解之间的所有解都是公平的,决策者可以平衡系统的公平性和效率。
3.3 更复杂的示例
在更复杂的例子中,代理 A 产生大小为 1、3 和 5 的作业,代理 B 产生大小为 1、3、5、5、5 和 5 的作业,公平性的概念显著减少了公平解的数量,有 7 个公平最优调度,而帕累托最优调度有 44 个。
4. 不同目标函数的问题
对于具有不同目标函数的问题(非分配公平性),扩展之前的分析较为困难。原因如下:
- 目标不一定用相同的单位表示,因此对它们进行算术运算没有意义。
- 即使目标相同,它们的尺度也可能不同。例如,一个代理使用最大完工时间,另一个代理使用完成时间总和,字典序最大方法几乎总是会偏袒使用完成时间总和的用户,即使在多处理器环境中也是如此。
5. 聚合公平性
5.1 聚合方法
解决多目标优化问题的常用方法是通过某些函数聚合各个代理的目标,如 $\sum_{i} \lambda_{i}f_{i}$,然后用常规方法解决由此产生的单目标优化问题。在聚合公平性中也采用类似方法,目标是选择一个能公平聚合各个目标的函数。
5.2 常用聚合函数
- $\sum_{i} f_{i}$:优化目标的总和,但缺点是无法区分一个已经比其他目标更优的目标的改进与其他目标相同数量的改进。
- $\sum_{i} f_{i}^{2}$(L2 范数):避免了上述问题,一个目标的 $\epsilon$ 减少对聚合值的影响比另一个更优目标的相同减少更大。
- $\min \max_{i} f_{i}$:优化最差目标,但会不可控地增加其他目标的值,该方法可通过字典序最大算子进行推广。
5.3 聚合公平性的缺点
- 与聚合多目标优化类似,即使添加权重,也不能产生所有的帕累托最优解。
- 这些方法只返回一个公平解,决策者无法衡量所提出的解对系统效率的影响。例如,在 TwoAgentMinSum 中,最小最大解 (16, 16) 导致系统全局完成时间总和 ΣCi = 32,而系统全局最优解 (6, 21) 导致 ΣCi = 28,当只给出其中一个解时,决策者无法平衡公平性和效率。
6. 随机任务资源系统比较的动机
使用随机变量来建模任务资源系统中的不确定性有一定的困难。一方面,从有限样本推断分布可能非常困难且有风险,通常只能先选择分布再推断参数,这可能无法满足系统设计者的需求;另一方面,当任务资源系统输入过程的分布复杂时,计算其输出的分布(甚至期望)往往非常困难,甚至不可能。
然而,概率论的强大分析能力可以弥补这些困难。随机过程可以简化复杂的确定性过程,例如多个独立任务的释放日期叠加过程通常可以简化为一个泊松过程。极限定理(如大数定律和中心极限定理)在概率论中至关重要,可用于轻松分析非常复杂的动态系统。此外,不敏感性特性使得在某些情况下,任务资源系统的平均行为仅取决于输入数据的期望(或前两个矩),而不是整个分布,这降低了分布推断的重要性。
最后,随机结构特性可用于推导基于系统结构的定性属性,这些属性对所有分布都有效。任务资源系统分析对初始假设非常敏感,但当关注界限和定性属性(如对输入参数的单调性)时,任务资源系统的分类会更加稳定,且有多种有效技术可用于处理这些问题。
7. 研究方法
将介绍三种方法,通过多个示例帮助系统设计者评估任务资源系统的定性属性(和定量界限)。这些方法都基于将任务资源系统建模为输入/输出算子,使用初始外生随机输入过程,并将其转换为因资源对任务的作用而产生的随机过程。
-
使用随机变量和过程之间的适当顺序
:通过定义合适的顺序关系来比较随机变量和过程,从而评估任务资源系统的性能。
-
耦合技术
:允许在单个轨迹上比较两个系统,通过构建两个系统的联合概率空间,使两个系统在相同的随机事件下运行,从而直接比较它们的输出。
-
关联方法
:用于处理任务资源系统中的依赖关系,通过分析随机变量之间的关联性质,来评估系统的性能和稳定性。
下面是一个简单的 mermaid 流程图,展示了这三种方法的关系:
graph LR
A[任务资源系统] --> B[随机变量和过程顺序]
A --> C[耦合技术]
A --> D[关联方法]
B --> E[评估性能]
C --> E
D --> E
这些方法将在后续的静态问题和动态系统应用中详细介绍和应用。
8. 任务 - 资源模型
任务 - 资源系统可被建模为动态系统,其输入是任务和资源数据,以随机过程的形式呈现,输出则是我们所关注的量,如响应时间、最大完工时间等。以下是对任务 - 资源模型的详细介绍:
8.1 输入数据
- 任务数据 :包括任务的大小、到达时间等,这些数据通常以随机过程的形式给出。例如,任务的到达时间可以用泊松过程来描述,任务的大小可以用某种概率分布来表示。
- 资源数据 :如资源的处理能力、可用性等,同样可以用随机过程建模。例如,资源的处理能力可能会随时间随机波动。
8.2 输出指标
- 响应时间 :指任务从到达系统到完成处理所花费的时间。
- 最大完工时间 :所有任务完成处理的最晚时间。
8.3 模型示例
以下是一个简单的任务 - 资源模型示例,用表格展示任务和资源的相关信息:
|任务编号|任务大小|到达时间|资源编号|资源处理能力|
| ---- | ---- | ---- | ---- | ---- |
|1|10|0|1|5|
|2|15|2|2|6|
|3|20|5|1|5|
9. 随机序
随机序是比较随机变量和随机过程的重要工具,它可以帮助我们对任务 - 资源系统的性能进行比较和评估。常见的随机序有以下几种:
9.1 随机序的定义
设 (X) 和 (Y) 是两个随机变量,如果对于任意实数 (x),都有 (P(X \leq x) \geq P(Y \leq x)),则称 (X) 随机小于等于 (Y),记为 (X \leq_{st} Y)。直观地说,(X) 随机小于等于 (Y) 意味着 (X) 的取值更倾向于较小的值。
9.2 随机序的性质
- 传递性 :如果 (X \leq_{st} Y) 且 (Y \leq_{st} Z),那么 (X \leq_{st} Z)。
- 单调变换 :如果 (X \leq_{st} Y),且 (f) 是一个单调递增函数,那么 (f(X) \leq_{st} f(Y))。
9.3 随机序在任务 - 资源系统中的应用
在任务 - 资源系统中,随机序可以用于比较不同系统配置或策略下的性能。例如,比较两个不同的资源分配策略下任务的响应时间,如果一个策略下的响应时间随机小于另一个策略下的响应时间,那么可以认为前一个策略更优。
以下是一个使用随机序比较两个随机变量的示例:
假设 (X) 表示策略 A 下任务的响应时间,(Y) 表示策略 B 下任务的响应时间,通过计算 (P(X \leq x)) 和 (P(Y \leq x)) 对于不同的 (x) 值,如果对于所有的 (x) 都有 (P(X \leq x) \geq P(Y \leq x)),则可以得出策略 A 下的响应时间随机小于策略 B 下的响应时间,即策略 A 更优。
10. 随机序在静态问题中的应用
在静态问题中,任务和资源的相关数据在一开始就确定,不随时间变化。随机序可以帮助我们在这种情况下比较不同的任务 - 资源配置,以下是具体的应用示例:
10.1 任务分配问题
假设有 (n) 个任务和 (m) 个资源,每个任务有一个处理时间需求,每个资源有一个处理能力。我们的目标是将任务分配给资源,使得总完成时间最小。
可以使用随机序来比较不同的分配方案。例如,对于两种分配方案 (A) 和 (B),分别计算它们的总完成时间随机变量 (T_A) 和 (T_B),如果 (T_A \leq_{st} T_B),则方案 (A) 更优。
10.2 资源选择问题
当有多个资源可供选择来处理一个任务时,可以使用随机序来选择最优的资源。假设每个资源的处理时间是一个随机变量,我们可以比较这些随机变量的随机序,选择处理时间随机最小的资源。
以下是一个简单的任务分配问题的操作步骤:
1. 确定任务的处理时间需求和资源的处理能力。
2. 生成所有可能的任务分配方案。
3. 对于每个分配方案,计算总完成时间的随机变量。
4. 使用随机序比较这些随机变量,选择总完成时间随机最小的方案。
11. 随机序在动态系统中的应用
在动态系统中,任务和资源的数据随时间变化,随机序同样可以发挥重要作用。以下是一些具体的应用场景:
11.1 实时任务调度
在实时系统中,任务会不断到达,需要实时地将任务分配给资源。可以使用随机序来评估不同调度策略下任务的响应时间。例如,比较先来先服务(FCFS)策略和最短作业优先(SJF)策略下任务的响应时间随机变量,如果 SJF 策略下的响应时间随机小于 FCFS 策略下的响应时间,那么 SJF 策略更适合实时任务调度。
11.2 资源动态分配
当资源的可用性随时间变化时,需要动态地分配资源给任务。随机序可以帮助我们在不同的分配时刻选择最优的分配方案。例如,在每个任务到达时刻,根据当前资源的可用性和任务的需求,使用随机序比较不同的分配方案,选择使任务总完成时间随机最小的方案。
以下是一个实时任务调度的流程图:
graph LR
A[任务到达] --> B[计算不同调度策略下的响应时间随机变量]
B --> C[使用随机序比较随机变量]
C --> D{选择最优策略}
D -->|SJF| E[最短作业优先调度]
D -->|FCFS| F[先来先服务调度]
E --> G[任务处理]
F --> G
G --> H[任务完成]
12. 总结
通过对多目标调度和随机任务 - 资源系统的研究,我们了解了多种处理公平性和不确定性的方法:
- 在多目标调度中,我们介绍了字典序最大公平性、公平性的公理理论、聚合公平性等概念,并分析了它们在不同场景下的应用和优缺点。
- 在随机任务 - 资源系统中,我们引入了随机序、耦合技术和关联方法等工具,用于比较和评估系统的性能。这些方法在静态问题和动态系统中都有重要的应用,可以帮助系统设计者做出更优的决策。
在实际应用中,我们可以根据具体的问题场景选择合适的方法和策略,以平衡公平性和效率,应对任务 - 资源系统中的不确定性。未来,随着技术的发展,这些方法可能会不断改进和扩展,以适应更复杂的系统和需求。
超级会员免费看

被折叠的 条评论
为什么被折叠?



