| 【中文题名】 | 基于CC-NUMA的资源配置技术研究与实现 |
| 【英文题名】 | Research and Implement of Resource Placement Technology Based on CC-NUMA |
| 【学科专业】 | 计算机科学与技术 |
| 【论文级别】 | 硕士论文 |
| 【投稿时间】 | 2005-11-7 |
| 【中关键词】 | NUMA,资源配置,拓扑信息,分级调度,决策信息, |
| 【英关键词】 | NUMA,Resource Placement,topology information,Hierarchical Scheduling,decision-making information, |
| 【分类导航】 | 工业技术>自动化技术、计算机技术>计算技术、计算机技术>微型计算机>各种微型计算机>服务器、工作站 |
| 【论文摘要】 | 非一致存储访问(NUMA,Non-Uniform Memory Access)是目前高性能服务器的主流体系结构之一。与SMP相比,NUMA系统存在着存储器访问延迟不一致的问题,因此对操作系统各方面有特殊的优化需求。
Linux操作系统中为优化NUMA系统性能进行的工作主要集中在内核层,例如不连续内存支持、ACPI支持、页迁移和页复制技术以及页配置技术。本课题从用户层的角度出发,借鉴了SGI的CpuMemSets,提出资源配置的思想。资源配置技术主要面向特权用户和应用程序,指定任务调度和内存分配到特定的系统资源(处理器、存储块等)上,实现了局部资源调度。
本文首先介绍了课题相关背景知识和各种NUMA存储优化技术,然后提出了资源配置的思想,阐述了资源配置技术的基本原理,并详细分析了Linux操作系统中资源配置技术CpuMemSets的实现机制,发现CpuMemSets缺少系统资源拓扑信息等决策信息指导配置的缺陷。针对这种不足,分别从内核层和用户层两个方面进行改进和优化。
在内核层方面,提出并实现了一种基于NUMA拓扑结构的分级调度算法。该算法从内核任务调度方面加强操作系统... |
| 【论文题纲】 |
|
目录 |
4-7 |
|
图目录 |
7-8 |
|
表目录 |
8-9 |
|
摘要 |
9-10 |
|
ABSTRACT |
10-11 |
|
第一章 绪论 |
11-18 |
|
§1.1 课题研究背景与意义 |
11-12 |
|
§1.2 课题研究现状 |
12-15 |
|
§1.3 课题简介 |
15-16 |
|
1.3.1 工程环境 |
15 |
|
1.3.2 研究内容和主要成果 |
15-16 |
|
§1.4 论文结构 |
16-18 |
|
第二章 资源配置技术分析与研究 |
18-27 |
|
§2.1 资源配置技术的基本原理 |
18 |
|
§2.2 CPUMEMSETS简介 |
18-20 |
|
2.2.1 项目简介 |
19 |
|
2.2.2 基本数据结构及其关系 |
19-20 |
|
§2.3 CPUMEMSETS实现机制 |
20-25 |
|
2.3.1 CpuMemSets的内核实现 |
21-24 |
|
2.3.2 CpuMemSets的配置管理 |
24 |
|
2.3.3 CpuMemSets的技术特点 |
24-25 |
|
§2.4 缺陷与改进设想 |
25 |
|
§2.5 本章小结 |
25-27 |
|
第三章 操作系统任务调度算法研究 |
27-34 |
|
§3.1 传统任务调度算法 |
27-31 |
|
3.1.1 传统任务调度算法工作流程 |
27-29 |
|
3.1.2 传统任务调度算法的不足 |
29-31 |
|
§3.2 O(1)调度算法 |
31-33 |
|
3.2.1 O(1)调度算法简介 |
31 |
|
3.2.2 O(1)调度算法对NUMA的支持 |
31-33 |
|
§3.3 本章小结 |
33-34 |
|
第四章 NUMA任务调度算法设计与实现 |
34-49 |
|
§4.1 O(1)调度算法的缺陷 |
34 |
|
§4.2 具有结点亲近能力的NUMA调度实现 |
34-39 |
|
4.2.1 基于NUMA拓扑结构的分级调度算法 |
34-36 |
|
4.2.2 机器拓扑信息的提取 |
36-39 |
|
§4.3 具体算法描述 |
39-45 |
|
4.3.1 负载平衡中NUMA调度的实现 |
41-44 |
|
4.3.2 结点选择中NUMA调度的实现 |
44-45 |
|
§4.4 算法性能评测 |
45-47 |
|
4.4.1 实验环境 |
45-46 |
|
4.4.2 实验结果 |
46-47 |
|
4.4.3 结果分析 |
47 |
|
§4.5 本章小结 |
47-49 |
|
第五章 CPUMEMSETS优化与实现 |
49-61 |
|
§5.1 用户需求分析 |
49 |
|
§5.2 用户级库函数的设计与实现 |
49-54 |
|
5.2.1 CpuMemSets总体框架的设计 |
49-50 |
|
5.2.2 prctl系统调用 |
50-52 |
|
5.2.3 用户级库函数 |
52-53 |
|
5.2.4 建立共享库 |
53 |
|
5.2.5 用户调用库函数编程 |
53-54 |
|
§5.3 具有多种决策信息指导的资源配置策略 |
54-57 |
|
5.3.1 决策信息 |
55 |
|
5.3.2 NUMA系统拓扑结构的反映 |
55-57 |
|
5.3.3 建立优化启动脚本 |
57 |
|
§5.4 资源配置技术性能评测 |
57-60 |
|
5.4.1 实验工具 |
58-59 |
|
5.4.2 测试结果 |
59 |
|
5.4.3 结果分析 |
59-60 |
|
§5.5 本章小结 |
60-61 |
|
第六章 结论与展望 |
61-63 |
|
§6.1 工作总结 |
61 |
|
§6.2 研究展望 |
61-63 |
|
致谢 |
63-64 |
|
附录A:作者攻读硕士期间发表的论文 |
64-65 |
|
附录B:攻读硕士期间参加的科研项目 |
65-66 |
|
参考文献 |
66-68 |
|
| 【DOI】 | LunWen.ID:2.2008.363465 |