| 【中文题名】 | Linux集群上并行I/O与核外存储策略的研究与实现 |
| 【英文题名】 | Research and Implementation of Parallel I/O and Out-Of-Core Storage Strategy on Linux Clusters |
| 【学科专业】 | 计算机系统结构 |
| 【论文级别】 | 硕士论文 |
| 【投稿时间】 | 2007-11-19 |
| 【中关键词】 | 集群,并行IO,并行文件系统PVFS,核外存储,面向对象,多维数组 |
| 【英关键词】 | cluster,parallel I/O,parallel file system PVFS,out-of-core storage,object oriented,multidimensional array, |
| 【分类导航】 | 工业技术>自动化技术、计算机技术>计算技术、计算机技术>电子数字计算机(不连续作用电子计算机)>各种电子数字计算机>并行计算机 |
| 【论文摘要】 |
随着工作站性能的迅速提高和价格日益下降,以及高速网络产品的陆续问世,一种新型的并行计算机系统工作站集群应运而生。工作站集群属于分布式存储的MIMD,这种系统将许多台工作站用某种结构的互联网络连接起来,充分利用各工作站的资源,统一调度,协调处理,以实现高效的并行计算。Linux是一套免费使用和自由传播的类UNIX操作系统,主要用于基于Intel x86系列CPU的计算机上。Linux系统是由全世界各地的成千上万的程序员设计和实现的,其目的是建立不受任何商品化软件的版权所制约的、全世界都能自由使用的UNIX兼容产品。在这种背景下,Linux工作站集群飞速发展起来。高性能计算领域经常需要处理大量的数据。为了满足处理大规模数据的需求,本文主要研究和实现Linux集群上的并行I/O与核外存储策略。
并行I/O是一个很广泛的领域,包括硬件系统,操作系统支持,语言、编译器和运行系统支持,I/O特征与性能分析,I/O密集型并行应用。本文着重于Linux集群上的并行文件系统的研究与核外存储系统库的设计与实现。首先,本文阐述了并行I/O的系统结构,主要内容涉及磁盘存储系统、RAID和iSCSI,文件系统,互联网... |
| 【论文题纲】 |
|
摘要 |
4-5 |
|
Abstract |
5-10 |
|
第1章 绪论 |
10-19 |
|
1.1 人们处理大规模数据的需求 |
10-11 |
|
1.2 并行计算机的发展历程和趋势 |
11-13 |
|
1.2.1 向量机 |
11 |
|
1.2.2 SIMD 计算机 |
11 |
|
1.2.3 共享存储多处理机SMP |
11-12 |
|
1.2.4 大规模并行处理MPP |
12 |
|
1.2.5 集群 |
12-13 |
|
1.3 Linux 操作系统的成熟完善 |
13-14 |
|
1.3.1 Linux 的特性 |
13-14 |
|
1.3.2 Linux 是自由软件 |
14 |
|
1.4 Linux 工作站集群的发展 |
14-18 |
|
1.4.1 Beowulf |
14-15 |
|
1.4.2 Giganet cLAN |
15 |
|
1.4.3 Legion |
15-16 |
|
1.4.4 Cplant |
16 |
|
1.4.5 Linux 虚拟服务器 |
16-17 |
|
1.4.6 MOSIX |
17-18 |
|
1.5 本文主要研究内容 |
18-19 |
|
第2章 并行I/O 的系统结构 |
19-40 |
|
2.1 磁盘存储系统、RAID 和iSCSI |
19-24 |
|
2.1.1 磁盘存储系统 |
19-20 |
|
2.1.2 磁盘阵列RAID |
20-22 |
|
2.1.3 iSCSI |
22-24 |
|
2.2 文件系统 |
24-27 |
|
2.2.1 文件系统的概念 |
24-26 |
|
2.2.2 文件缓存 |
26 |
|
2.2.3 文件系统的出错恢复 |
26-27 |
|
2.3 互联网络 |
27-28 |
|
2.3.1 Myrinet |
27-28 |
|
2.3.2 Giganet |
28 |
|
2.3.3 IEEE SCI |
28 |
|
2.4 网络文件系统 |
28-32 |
|
2.4.1 网络文件系统的概念 |
28-30 |
|
2.4.2 NFS |
30-31 |
|
2.4.3 xFS |
31-32 |
|
2.5 并行文件系统 |
32-37 |
|
2.5.1 并行文件系统的概念 |
32-33 |
|
2.5.2 Intel CFS |
33-34 |
|
2.5.3 Intel PFS |
34-36 |
|
2.5.4 IBM Vesta、PIOFS 和GPFS |
36-37 |
|
2.6 并行I/O 界面 |
37-39 |
|
2.6.1 高层界面研究 |
37-38 |
|
2.6.2 PASSION |
38 |
|
2.6.3 ADIO |
38-39 |
|
2.7 本章小结 |
39-40 |
|
第3章 并行文件系统PVFS 剖析 |
40-48 |
|
3.1 PVFS 简介 |
40 |
|
3.2 系统特点 |
40-41 |
|
3.3 设计原理及实现 |
41-45 |
|
3.3.1 元数据管理服务器mgr |
42-43 |
|
3.3.2 I/O 服务器iod |
43-44 |
|
3.3.3 I/O 库libpvfs |
44 |
|
3.3.4 Linux 核心支持 |
44-45 |
|
3.4 PVFS 应用程序接口 |
45-47 |
|
3.4.1 自定义API |
46 |
|
3.4.2 MPI-IO 接口 |
46-47 |
|
3.4.3 标准POSIX/UNIX I/O 兼容接口 |
47 |
|
3.5 本章小结 |
47-48 |
|
第4章 面向对象的核外存储策略 |
48-65 |
|
4.1 核外存储实现方案 |
48-50 |
|
4.1.1 核外存储系统结构 |
48-49 |
|
4.1.2 核外存储系统的特点 |
49-50 |
|
4.2 C++中操作符重载和模板的概念 |
50-52 |
|
4.2.1 什么是操作符重载 |
50 |
|
4.2.2 C++中操作符重载的实现 |
50-51 |
|
4.2.3 模板(template) |
51-52 |
|
4.3 一维数组模板类 |
52-57 |
|
4.3.1 一维数组模板类的抽象数据类型描述 |
52-53 |
|
4.3.2 实现一维数组模板类主要考虑的问题 |
53-54 |
|
4.3.3 类说明和函数简介 |
54-56 |
|
4.3.4 一维数组模板类的特点 |
56-57 |
|
4.4 多维数组模板类 |
57-61 |
|
4.4.1 派生法 |
57-59 |
|
4.4.2 成员构造法 |
59-61 |
|
4.4.3 两种实现方法的比较 |
61 |
|
4.5 实验数据与结果分析 |
61-64 |
|
4.5.1 向量内积运算测试一维数组模板类 |
62-63 |
|
4.5.2 矩阵乘法运算测试二维数组模板类 |
63-64 |
|
4.6 本章小结 |
64-65 |
|
结论 |
65-67 |
|
参考文献 |
67-72 |
|
致谢 |
72 |
|
| 【DOI】 | LunWen.ID:2.2008.362373 |