多处理器系统中的线程调度研究
发布时间:2021-08-14 21:28
随着超线程和多核等新兴技术不断涌现,当前的SMP系统硬件结构更加复杂,系统硬件性能也更加强劲,随之而来的问题是:传统的SMP操作系统已不能充分发挥现代SMP硬件系统性能,为了适应当前硬件技术的这种变化,我们有必要在研究传统SMP系统的基础上,对操作系统中那些不适应的部分加以改进或用新的算法替换,从而使软件系统能最大限度地发掘硬件系统的潜在性能。本论文首先介绍了课题研究背景和研究意义,简要阐述了目前在单个处理器物理封装中实现多个进程或线程并行执行的两大主流技术:同时多线程技术(Simultaneous Multi-Threading,SMT)和多核技术(Chip Multi-Processor,CMP),另外论文还概要介绍了Linux操作系统以及该系统在研究smp系统调度时的重要作用。其次,论文剖析了经典的smp系统组织结构以及各种操作系统中常用的一些经典进程调度算法,这些硬件架构知识和软件概念都为我们后面研究smp操作系统进程调度算法打下了坚实基础。接下来论文将理论联系实际,以最新版本的Linux内核作为研究对象,详细剖析了它的进程调度系统。当前的Linux内核采用了一种全新的名为完全...
【文章来源】:电子科技大学四川省 211工程院校 985工程院校 教育部直属院校
【文章页数】:79 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
第一章 绪论
1.1 课题研究背景
1.2 论文的主要工作
1.3 论文的组织结构
第二章 SMP 系统及线程调度
2.1 SMP 系统
2.1.1 基于总线的SMP
2.1.2 基于交叉开关的SMP
2.1.3 基于多级交换网络的SMP
2.2 进程与线程
2.2.1 进程概念及原理
2.2.2 线程概念及原理
2.3 进程调度及调度算法
2.3.1 调度算法分类
2.3.2 常用调度算法
2.4 本章小结
第三章 LINUX 调度系统及CFS 剖析
3.1 LINUX 内核调度器简史
3.2 O(1)调度器概要
3.3 完全公平调度器概要
3.3.1 模块化的调度器接口
3.3.2 CFS 调度器
3.3.3 CFS 组调度
3.4 CFS 实现核心
3.5 红黑树介绍
3.6 CFS 关键数据结构
3.6.1 struct task_struct 的变化
3.6.2 struct sched_entity 结构体
3.6.3 struct sched_class 结构体
3.6.4 struct cfs_rq 结构体
3.6.5 struct task_group 结构体
3.7 CFS 核心代码剖析
3.7.1 scheduler_tick(…)函数
3.7.2 task_tick_fair(…)函数
3.7.3 entity_tick(…)函数
3.7.4 update_curr(…)及__update_curr(…)相关函数
3.7.5 check_preempt_tick(…)函数
3.7.6 schedule(…)函数
3.7.7 put_prev_task_fair(…)及相关函数
3.7.8 pick_next_task_fair(…)及相关函数
3.8 源代码分析总结
3.9 CFS 组调度支持
3.10 CFS 与SMP
3.10.1 调度域
3.10.2 Linux SMP 系统调度层级结构
3.10.3 CFS 之SMP 负载平衡
3.11 本章小结
第四章 高性能SMP 调度系统研究
4.1 SMP 调度基础
4.1.1 同步机制
4.1.2 局部性原理
4.1.3 SMP 负载均衡策略
4.1.4 调度策略
4.2 高效SMP 调度系统分析
4.2.1 较小粒度的锁
4.2.2 独立的运行队列
4.2.3 分级的负载平衡机制
4.2.4 高效SMP 调度系统图例
4.3 LINUX SMP 调度优化
4.3.1 优化原理分析
4.3.2 Futex 概要原理
4.3.3 内核改动分析及实现
4.3.4 简单验证及分析
4.4 本章小结
第五章 总结与展望
致谢
参考文献
攻硕期间取得的研究成果
【参考文献】:
期刊论文
[1]Linux系统中进程调度策略[J]. 葛君,郑凤婷. 商丘职业技术学院学报. 2009(05)
[2]Linux2.6内核对SMP系统支持的研究[J]. 李兰英,温现杰. 中国新技术新产品. 2009(01)
[3]支持对称多处理器结构的操作系统设计[J]. 任晓瑞,时磊. 航空计算技术. 2008(02)
[4]Linux 2.6调度系统的分析与改进[J]. 於时才,缪东升,孙华,袁宗文. 微计算机信息. 2007(15)
[5]Linux内核基于对称多处理机的实现分析[J]. 李彬,任国林. 计算机技术与发展. 2006(01)
[6]LINUX系统下多线程与多进程性能分析[J]. 周丽,焦程波,兰巨龙. 微计算机信息. 2005(17)
[7]基于规则的分层负载平衡调度模型[J]. 李冬梅,施海虎,顾毓清. 计算机科学. 2003(10)
硕士论文
[1]基于多核系统的线程调度[D]. 覃中.电子科技大学 2009
本文编号:3343216
【文章来源】:电子科技大学四川省 211工程院校 985工程院校 教育部直属院校
【文章页数】:79 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
第一章 绪论
1.1 课题研究背景
1.2 论文的主要工作
1.3 论文的组织结构
第二章 SMP 系统及线程调度
2.1 SMP 系统
2.1.1 基于总线的SMP
2.1.2 基于交叉开关的SMP
2.1.3 基于多级交换网络的SMP
2.2 进程与线程
2.2.1 进程概念及原理
2.2.2 线程概念及原理
2.3 进程调度及调度算法
2.3.1 调度算法分类
2.3.2 常用调度算法
2.4 本章小结
第三章 LINUX 调度系统及CFS 剖析
3.1 LINUX 内核调度器简史
3.2 O(1)调度器概要
3.3 完全公平调度器概要
3.3.1 模块化的调度器接口
3.3.2 CFS 调度器
3.3.3 CFS 组调度
3.4 CFS 实现核心
3.5 红黑树介绍
3.6 CFS 关键数据结构
3.6.1 struct task_struct 的变化
3.6.2 struct sched_entity 结构体
3.6.3 struct sched_class 结构体
3.6.4 struct cfs_rq 结构体
3.6.5 struct task_group 结构体
3.7 CFS 核心代码剖析
3.7.1 scheduler_tick(…)函数
3.7.2 task_tick_fair(…)函数
3.7.3 entity_tick(…)函数
3.7.4 update_curr(…)及__update_curr(…)相关函数
3.7.5 check_preempt_tick(…)函数
3.7.6 schedule(…)函数
3.7.7 put_prev_task_fair(…)及相关函数
3.7.8 pick_next_task_fair(…)及相关函数
3.8 源代码分析总结
3.9 CFS 组调度支持
3.10 CFS 与SMP
3.10.1 调度域
3.10.2 Linux SMP 系统调度层级结构
3.10.3 CFS 之SMP 负载平衡
3.11 本章小结
第四章 高性能SMP 调度系统研究
4.1 SMP 调度基础
4.1.1 同步机制
4.1.2 局部性原理
4.1.3 SMP 负载均衡策略
4.1.4 调度策略
4.2 高效SMP 调度系统分析
4.2.1 较小粒度的锁
4.2.2 独立的运行队列
4.2.3 分级的负载平衡机制
4.2.4 高效SMP 调度系统图例
4.3 LINUX SMP 调度优化
4.3.1 优化原理分析
4.3.2 Futex 概要原理
4.3.3 内核改动分析及实现
4.3.4 简单验证及分析
4.4 本章小结
第五章 总结与展望
致谢
参考文献
攻硕期间取得的研究成果
【参考文献】:
期刊论文
[1]Linux系统中进程调度策略[J]. 葛君,郑凤婷. 商丘职业技术学院学报. 2009(05)
[2]Linux2.6内核对SMP系统支持的研究[J]. 李兰英,温现杰. 中国新技术新产品. 2009(01)
[3]支持对称多处理器结构的操作系统设计[J]. 任晓瑞,时磊. 航空计算技术. 2008(02)
[4]Linux 2.6调度系统的分析与改进[J]. 於时才,缪东升,孙华,袁宗文. 微计算机信息. 2007(15)
[5]Linux内核基于对称多处理机的实现分析[J]. 李彬,任国林. 计算机技术与发展. 2006(01)
[6]LINUX系统下多线程与多进程性能分析[J]. 周丽,焦程波,兰巨龙. 微计算机信息. 2005(17)
[7]基于规则的分层负载平衡调度模型[J]. 李冬梅,施海虎,顾毓清. 计算机科学. 2003(10)
硕士论文
[1]基于多核系统的线程调度[D]. 覃中.电子科技大学 2009
本文编号:3343216
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3343216.html