知识点回顾

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3
2
1
4
45
42
60
1,3,12,15,16,22,25,28,30,32,33
4
2
1
3
60
1,3,12,15,16,22,25,28,30,32,33,42,45
2008-4-28
4
2
1
3
33
45
42
60
1,3,12,15,16,22,25,28,30,32
2
4
1
3
45
60
1,3,12,15,16,22,25,28,30,32,33,42
– 败者树只能归并已经有序的顺串,而对排序可以排序 无序的元素。
– 败者树将两个子结点比较,败者上升到父节点,而堆 排序的调整过程是子结点与父结点比较,败者到子结 点。
– 在结点元素类型上,败者树存储的是对应元素的索引, 而堆中是关键码。
– 堆排序的规模不可大于内存,而败者树排序的规模可 以很大,因而用于外排序。
– T=(1-p)*t1+t2
• 当t2远小于t1时,t2的变化对总时间T的影 响可以忽略不计
具体解答
• (1)CPU速度增倍
– CPU速度影响计算时间,原则上可以影响t2的 时间,但由于t2的时间主要取决于访问内存的 时间,其实CPU计算速度对t2影响不大
– 假设不考虑访内时间,cpu增倍,t2也减半 – 则总时间为T=(1-p)*t1+t2/2
– 前9次请求中只访问了其中1块,如A – 前9次请求中只访问了其中2块,如A,B – 前9次请求中只访问了其中3块,如A,B,C – 前9次请求中只访问了其中4块,如A,B,C,D – 前9次请求中访问了所有5块
• 假设每种情况的可能性是pi • 则接下来该请求命中缓冲区的概率是 • p1*0.1+p2*0.2+p3*0.3+p4*0.4+p5*0.5 • 则求出p1, p2, …, p5即可
典型错误
• 没有用公式定量分析 • 求p出错
3
2008-4-28
概率基础知识
• 事件A • P(A)=|A|/n
– |A|表示A中的元素数,n为所有元素个数
• 如:口袋中有10个小球,4个红的,6个白 的,问任取一个球,是红球的概率。
• P(A)=4/10=0.4
概率公式
• 加法公式
– P(AUB)=P(A)+P(B)-P(AB)
错误思路二
• 5个缓冲区时
– 1-0.9^5
• 10个缓冲区时
– 1-0.9^10
• 好像很不错
2
错误原因
• 同上 • 访问块A和访问块B并不是独立事件
2008-4-28
正确算法
• 由于题目条件不详细,我们给出一些假设 • 假设缓冲区替换策略是LRU,即最近最少使用 • 对5个缓冲区A,B,C,D,E • 分五种情况讨论
• 缓冲区增倍,对总时间影响也较大
问题思考
• 前面问题的关键集中在缓冲区命中率p上 • 如何计算p的值?
错误思路一
• 5个缓冲区时
– 10%*5=50%
• 10个缓冲区时
– 10%*10=100%
• 11个缓冲区呢?
– 10%*11=110%?
错误原因
• 5个块不一定都在前10次中被访问过 • 比如A,B,C,D,E五个块 • 前9次访问请求一直访问块A • 为什么前9次?
– 初始化败者树 – 重构 – 结束条件
• 结束时,败者树的优胜者是’空值‘ • 输出最后一个元素后,败者树仍需要重构一次
– 本题需要初始化一次败者树,重构14次,共15 个败者树图
3
2
1
4
15
3
16
22
25
28
32
45
1 12 30
33 60
42
2
3
1
4
15
3
16
22
25
28
32
45
12
33
30
60
4
2
1
3
1,3,12,15,16,22,25,28,30,32,33,42,45,60
6
2008-4-28
典型错误
• 没有重构过程 • 漏掉最后一次重构过程 • 当某个顺串中无元素时,没有处理父结点
思考题一
• 置换选择后的文件再次置换选择,文件如 何变化?
• 没有变化
思考题二
• 外排序中败者树和堆排序的区别
• 条件概率
– P(A|B) • 表示在B发生的条件下A发生的概率
• 乘法公式
– P(AB)=P(B|A)P(A)=P(A|B)P(B)
• 全概公式
– P(A)=P(A|B1)P(B1)+ P(A|B1)P(B1)+… • 所谓的分情况讨论
• 独立性
– P(AB)=P(A)P(B)
习题二
• 败者树四路归并
– (1)换一个速度是原来两倍的CPU。 – (2)换一个速度是原来两倍的磁盘。 – (3)增加足够的主存储器,使缓冲池的大小是原来的两
倍。
思路分析
• 访外时间比内存操作时间大5-6个数量级, 因此性能瓶颈在访外次数
• 假设一次请求命中缓冲区的概率是p,一次 访外时间是t1,内存搜索时间是t2,则该请 求的时间代价为:
42
1
3
1
2
4
15 16 25 32
22 28 45
12
33
30
60
42
1,3
4
1
3
2
4
15 16 25 32
22 28 45
30 42
33 60
1,3,12
2
3
1
4
25 32
22 28 45
30 42
33 60
1,3,12,15,16
2
3
1
4
32
28 45
30 42
33 60
1,3,12,15,16,22,25
P1 = 0.19
8
∑ P2 = 0.9× 0.1i × 0.28−i i=0
Байду номын сангаас
7
7−i
∑ ∑ P3 = 0.9 × 0.8× 0.1i × ( 0.2 j × 0.37−i− j )
i=0
j=0
总结
• 当缓冲区增大为9时,p可以采用此算法 • 当缓冲区大于9时,设为n,则需要从n中任
选9块处理,有C(n,9)种选择 • 对本题来说,不需掌握如何求p值 • 只需要根据公式能定量分析性能变化
– 败者树每输出一个元素就在对应的位置的顺串中再补 充,而堆是将最后一个元素至于堆顶,再向下调整。
谢谢!
7
2008-4-28
1
3
2
4
16
22
25
28
32
45
30 42
33 60
1,3,12,15
1
3
2
4
25
28
32
45
30 42
33 60
1,3,12,15,16,22
3
2
2
4
32
45
30 42
33 60
1,3,12,15,16,22,25,28
5
1
4
2
3
32
45
33
42
60
1,3,12,15,16,22,25,28,30
习题10
梁希云 xiyunliang@126.com
重点
• 置换选择
– 产生顺串
• 败者树
– 合并顺串,排序文件
2008-4-28
知识点回顾
• 文件管理 • 外排序
– 置换选择排序
• 利用堆排序 • 产生2M大小的顺串 • 扫雪机模型
– 多路归并排序
• 赢者树 • 败者树 • 最佳归并树
习题一
• 有一个数据库应用程序。假设它花费100ms从磁 盘中读取一个块,花费20ms在一个块中搜索一条 记录,主存储器的缓冲池中可以容纳5个块的数据。 对记录的请求会指定那个块中包含这条记录。如 果一个块被访问,在接下来的10个请求中,每个 请求访问这个块的可能性是10%.下面对系统的每 一种改进,会有什么样的性能提高:
• t2减半对总时间影响不大
1
• (2)磁盘增倍
– 磁盘速度影响t1 – 假设磁盘增倍,t1减半 – 则总时间T=(1-p)*t1/2+t2
• t1减半对总时间影响较大
2008-4-28
• (3)缓冲区增倍
– 缓冲区影响访外次数,即公式中的p – 可以简单认为,缓冲区增倍,p也提高一倍
(实际要小于一倍) – 则总时间为T=(1-2*p)*t1+t2
相关文档
最新文档