首页 > 其他分享 >chapter9

chapter9

时间:2024-11-04 21:09:56浏览次数:1  
标签:chapter9 10 timeleft Winning job tix 100

lottery.py参数

img

第一题

问题

计算 3 个工作在随机种子为 1、2 和 3 时的模拟解。

输出太长了,不截图了,直接把结果复制了。

随机种子为1时:

[whq@whq01 cpu-sched-lottery]$ python lottery.py -j 3 -s 1 -c
ARG jlist 
ARG jobs 3
ARG maxlen 10
ARG maxticket 100
ARG quantum 1
ARG seed 1

Here is the job list, with the run time of each job: 
  Job 0 ( length = 1, tickets = 84 )
  Job 1 ( length = 7, tickets = 25 )
  Job 2 ( length = 4, tickets = 44 )


** Solutions **

Random 651593 -> Winning ticket 119 (of 153) -> Run 2
  Jobs:
 (  job:0 timeleft:1 tix:84 )  (  job:1 timeleft:7 tix:25 )  (* job:2 timeleft:4 tix:44 ) 
Random 788724 -> Winning ticket 9 (of 153) -> Run 0
  Jobs:
 (* job:0 timeleft:1 tix:84 )  (  job:1 timeleft:7 tix:25 )  (  job:2 timeleft:3 tix:44 ) 
--> JOB 0 DONE at time 2
Random 93859 -> Winning ticket 19 (of 69) -> Run 1
  Jobs:
 (  job:0 timeleft:0 tix:--- )  (* job:1 timeleft:7 tix:25 )  (  job:2 timeleft:3 tix:44 ) 
Random 28347 -> Winning ticket 57 (of 69) -> Run 2
  Jobs:
 (  job:0 timeleft:0 tix:--- )  (  job:1 timeleft:6 tix:25 )  (* job:2 timeleft:3 tix:44 ) 
Random 835765 -> Winning ticket 37 (of 69) -> Run 2
  Jobs:
 (  job:0 timeleft:0 tix:--- )  (  job:1 timeleft:6 tix:25 )  (* job:2 timeleft:2 tix:44 ) 
Random 432767 -> Winning ticket 68 (of 69) -> Run 2
  Jobs:
 (  job:0 timeleft:0 tix:--- )  (  job:1 timeleft:6 tix:25 )  (* job:2 timeleft:1 tix:44 ) 
--> JOB 2 DONE at time 6
Random 762280 -> Winning ticket 5 (of 25) -> Run 1
  Jobs:
 (  job:0 timeleft:0 tix:--- )  (* job:1 timeleft:6 tix:25 )  (  job:2 timeleft:0 tix:--- ) 
Random 2106 -> Winning ticket 6 (of 25) -> Run 1
  Jobs:
 (  job:0 timeleft:0 tix:--- )  (* job:1 timeleft:5 tix:25 )  (  job:2 timeleft:0 tix:--- ) 
Random 445387 -> Winning ticket 12 (of 25) -> Run 1
  Jobs:
 (  job:0 timeleft:0 tix:--- )  (* job:1 timeleft:4 tix:25 )  (  job:2 timeleft:0 tix:--- ) 
Random 721540 -> Winning ticket 15 (of 25) -> Run 1
  Jobs:
 (  job:0 timeleft:0 tix:--- )  (* job:1 timeleft:3 tix:25 )  (  job:2 timeleft:0 tix:--- ) 
Random 228762 -> Winning ticket 12 (of 25) -> Run 1
  Jobs:
 (  job:0 timeleft:0 tix:--- )  (* job:1 timeleft:2 tix:25 )  (  job:2 timeleft:0 tix:--- ) 
Random 945271 -> Winning ticket 21 (of 25) -> Run 1
  Jobs:
 (  job:0 timeleft:0 tix:--- )  (* job:1 timeleft:1 tix:25 )  (  job:2 timeleft:0 tix:--- ) 
--> JOB 1 DONE at time 12

随机种子分别为2,3时的输出就不给出了,只给出相关命令:

随机种子为2时:

python lottery.py -j 3 -s 2 -c

随机种子为3时:

python lottery.py -j 3 -s 3 -c

第二题

问题

现在运行两个具体的工作:每个长度为 10,但是一个(工作 0)只有一张彩票,另一个(工作 1)有 100 张(−l 10∶1,10∶100)。彩票数量如此不平衡时会发生什么?在工作 1 完成之前,工作 0 是否会运行?多久?一般来说,这种彩票不平衡对彩票调度的行为有什么影响?

输出太长了,不截图了,直接把结果复制了。

[whq@whq01 cpu-sched-lottery]$ python lottery.py -l 10:1,10:100 -c
ARG jlist 10:1,10:100
ARG jobs 3
ARG maxlen 10
ARG maxticket 100
ARG quantum 1
ARG seed 0

Here is the job list, with the run time of each job: 
  Job 0 ( length = 10, tickets = 1 )
  Job 1 ( length = 10, tickets = 100 )


** Solutions **

Random 844422 -> Winning ticket 62 (of 101) -> Run 1
  Jobs:
 (  job:0 timeleft:10 tix:1 )  (* job:1 timeleft:10 tix:100 ) 
Random 757955 -> Winning ticket 51 (of 101) -> Run 1
  Jobs:
 (  job:0 timeleft:10 tix:1 )  (* job:1 timeleft:9 tix:100 ) 
Random 420572 -> Winning ticket 8 (of 101) -> Run 1
  Jobs:
 (  job:0 timeleft:10 tix:1 )  (* job:1 timeleft:8 tix:100 ) 
Random 258917 -> Winning ticket 54 (of 101) -> Run 1
  Jobs:
 (  job:0 timeleft:10 tix:1 )  (* job:1 timeleft:7 tix:100 ) 
Random 511275 -> Winning ticket 13 (of 101) -> Run 1
  Jobs:
 (  job:0 timeleft:10 tix:1 )  (* job:1 timeleft:6 tix:100 ) 
Random 404934 -> Winning ticket 25 (of 101) -> Run 1
  Jobs:
 (  job:0 timeleft:10 tix:1 )  (* job:1 timeleft:5 tix:100 ) 
Random 783799 -> Winning ticket 39 (of 101) -> Run 1
  Jobs:
 (  job:0 timeleft:10 tix:1 )  (* job:1 timeleft:4 tix:100 ) 
Random 303313 -> Winning ticket 10 (of 101) -> Run 1
  Jobs:
 (  job:0 timeleft:10 tix:1 )  (* job:1 timeleft:3 tix:100 ) 
Random 476597 -> Winning ticket 79 (of 101) -> Run 1
  Jobs:
 (  job:0 timeleft:10 tix:1 )  (* job:1 timeleft:2 tix:100 ) 
Random 583382 -> Winning ticket 6 (of 101) -> Run 1
  Jobs:
 (  job:0 timeleft:10 tix:1 )  (* job:1 timeleft:1 tix:100 ) 
--> JOB 1 DONE at time 10
Random 908113 -> Winning ticket 0 (of 1) -> Run 0
  Jobs:
 (* job:0 timeleft:10 tix:1 )  (  job:1 timeleft:0 tix:--- ) 
Random 504687 -> Winning ticket 0 (of 1) -> Run 0
  Jobs:
 (* job:0 timeleft:9 tix:1 )  (  job:1 timeleft:0 tix:--- ) 
Random 281838 -> Winning ticket 0 (of 1) -> Run 0
  Jobs:
 (* job:0 timeleft:8 tix:1 )  (  job:1 timeleft:0 tix:--- ) 
Random 755804 -> Winning ticket 0 (of 1) -> Run 0
  Jobs:
 (* job:0 timeleft:7 tix:1 )  (  job:1 timeleft:0 tix:--- ) 
Random 618369 -> Winning ticket 0 (of 1) -> Run 0
  Jobs:
 (* job:0 timeleft:6 tix:1 )  (  job:1 timeleft:0 tix:--- ) 
Random 250506 -> Winning ticket 0 (of 1) -> Run 0
  Jobs:
 (* job:0 timeleft:5 tix:1 )  (  job:1 timeleft:0 tix:--- ) 
Random 909747 -> Winning ticket 0 (of 1) -> Run 0
  Jobs:
 (* job:0 timeleft:4 tix:1 )  (  job:1 timeleft:0 tix:--- ) 
Random 982786 -> Winning ticket 0 (of 1) -> Run 0
  Jobs:
 (* job:0 timeleft:3 tix:1 )  (  job:1 timeleft:0 tix:--- ) 
Random 810218 -> Winning ticket 0 (of 1) -> Run 0
  Jobs:
 (* job:0 timeleft:2 tix:1 )  (  job:1 timeleft:0 tix:--- ) 
Random 902166 -> Winning ticket 0 (of 1) -> Run 0
  Jobs:
 (* job:0 timeleft:1 tix:1 )  (  job:1 timeleft:0 tix:--- ) 
--> JOB 0 DONE at time 20

在工作1完成之前,工作0基本没有机会运行。这种不平衡会造成进程饥饿现象。

第三题

问题

如果运行两个长度为 100 的工作,都有 100 张彩票(−l100∶100,100∶100),调度程序有多不公平?运行一些不同的随机种子来确定(概率上的)答案。不公平性取决于一项工作比另一项工作早完成多少。

输出太长,给出命令和工作结束时间:

随机种子为1时:

[whq@whq01 cpu-sched-lottery]$ python lottery.py -l 100:100,100:100 -s 1 -c

--> JOB 1 DONE at time 196

--> JOB 0 DONE at time 200

随机种子为2时:

[whq@whq01 cpu-sched-lottery]$ python lottery.py -l 100:100,100:100 -s 2 -c

--> JOB 1 DONE at time 190

--> JOB 0 DONE at time 200

随机种子为3时:

[whq@whq01 cpu-sched-lottery]$ python lottery.py -l 100:100,100:100 -s 3 -c

--> JOB 0 DONE at time 196

--> JOB 1 DONE at time 200

随机种子为4时:

[whq@whq01 cpu-sched-lottery]$ python lottery.py -l 100:100,100:100 -s 4 -c

--> JOB 1 DONE at time 199

--> JOB 0 DONE at time 200

随机种子为5时:

[whq@whq01 cpu-sched-lottery]$ python lottery.py -l 100:100,100:100 -s 5 -c

--> JOB 1 DONE at time 181

--> JOB 0 DONE at time 200

所以还是蛮公平的

第四题

问题

随着量子规模(-q)变大,你对上一个问题的答案如何改变?

输出太长,给出命令和工作结束时间:

随机种子为1,量子规模为10时:

[whq@whq01 cpu-sched-lottery]$ python lottery.py -l 100:100,100:100 -s 1 -q 10 -c

--> JOB 1 DONE at time 160

--> JOB 0 DONE at time 200

随机种子为2, 量子规模为10时:

[whq@whq01 cpu-sched-lottery]$ python lottery.py -l 100:100,100:100 -s 2 -q 10 -c

--> JOB 1 DONE at time 190

--> JOB 0 DONE at time 200

随机种子为3,量子规模为10时:

[whq@whq01 cpu-sched-lottery]$ python lottery.py -l 100:100,100:100 -s 3 -q 10 -c

--> JOB 0 DONE at time 190

--> JOB 1 DONE at time 200

随机种子为4,量子规模为10时:

[whq@whq01 cpu-sched-lottery]$ python lottery.py -l 100:100,100:100 -s 4 -q 10 -c

--> JOB 1 DONE at time 190

--> JOB 0 DONE at time 200

随机种子5,量子规模为10时:

[whq@whq01 cpu-sched-lottery]$ python lottery.py -l 100:100,100:100 -s 5 -q 10 -c

--> JOB 1 DONE at time 160

--> JOB 0 DONE at time 200

由于量子规模变大,相当于工作长度缩短了,因此进程的不公平性增加。

书上也给出了相关说明:

img

第五题

问题

你可以制作类似本章中的图表吗?

还有什么值得探讨的?用步长调度程序,图表看起来如何?

用步长调度程序制作图表,如果选取调度周期作为采样时间点,那么图表会是精确的完全公平直线。如果同时选用非调度周期作为时间点,那么在直线附近会有一些起伏,且起伏程度越来越小。

标签:chapter9,10,timeleft,Winning,job,tix,100
From: https://www.cnblogs.com/hisun9/p/18526341

相关文章

  • Cornell cs3110 - Chapter9 Lessons
    使用Menhir构建SimPL的编译器LexerandParser语法分析模块Lexer,Parser,AST是三个依次耦合的模块,可以这么描述三者的关系:Lexer---tokens-->Parser---nodes-->AST相对于上面的图像化描述,cs3110反过来构建整个Lexer和Parser的结构在ast.ml中,定义了AST上......
  • Effective-Java-Chapter9-通用程序设计
    https://github.com/clxering/Effective-Java-3rd-edition-Chinese-English-bilingual/blob/dev/Chapter-9/Chapter-9-Introduction.md准则一将局部变量的作用域最小化不要在变量使用之前就申明,在需要使用的时候进行申明。当然这条准则不是那么绝对,大部分时候遵守就好。......
  • chapter9------中断
    中断是什么中断就是打断处理器当前的执行流程,去执行另外一些和当前工作不相干的指令,执行完之后,还可以返回到原来的程序流程继续执行为什么会有中断机制中断这种机制能够让处理器可以在不同任务之间快速切换,实现多任务处理的功能。试想一下没有中断机制,一次只能执行一个任务,那我......
  • chapter9-搜索
    搜索是一种有目的地枚举问题的解空间中部分或全部情况,进而找到解的方法。它的定义是:起始状态经过一系列的状态转移抵达目标状态,我们一般用搜索树(SearchTree)来表示状态转移搜索一般包括4个部分:1、状态空间,也叫解空间;2、状态转移;3、起始状态;4、目标状态。如何......
  • chapter7-chapter9
    目录chapter7:更灵活的定位内存地址的方法1.and和or指令2.大小写字母的转换问题3.[bx+idata]4.SI和DI[bx+si]和[bx+di]几种定位内存地址的方法chapter8:数据处理的两个基本问题1.两个基本问题2.bx,si,di,bp3.汇编语言中数据位置的表达4.寻址方式5.div指令(除法指令)6.伪指令dd7.dup操......
  • Chapter9_通过七个简单的实验理解TCP_IP网络
    热身问答LAN是什么的缩略语?LAN是LocalAreaNetwork(局域网)的缩略语。通常把在一栋建筑物内或是一间办公室里的那种小规模网络称作LAN。与此相对,把互联网那样......