论文部分内容阅读
随着工作站性能的迅速提高和价格日益下降,以及高速网络产品的陆续问世,一种新型的并行计算机系统工作站集群应运而生。工作站集群属于分布式存储的MIMD,这种系统将许多台工作站用某种结构的互联网络连接起来,充分利用各工作站的资源,统一调度,协调处理,以实现高效的并行计算。Linux是一套免费使用和自由传播的类UNIX操作系统,主要用于基于Intel x86系列CPU的计算机上。Linux系统是由全世界各地的成千上万的程序员设计和实现的,其目的是建立不受任何商品化软件的版权所制约的、全世界都能自由使用的UNIX兼容产品。在这种背景下,Linux工作站集群飞速发展起来。高性能计算领域经常需要处理大量的数据。为了满足处理大规模数据的需求,本文主要研究和实现Linux集群上的并行I/O与核外存储策略。并行I/O是一个很广泛的领域,包括硬件系统,操作系统支持,语言、编译器和运行系统支持,I/O特征与性能分析,I/O密集型并行应用。本文着重于Linux集群上的并行文件系统的研究与核外存储系统库的设计与实现。首先,本文阐述了并行I/O的系统结构,主要内容涉及磁盘存储系统、RAID和iSCSI,文件系统,互联网络,网络文件系统,并行文件系统,并行I/O界面。然后,介绍了Linux集群上的并行文件系统PVFS(Parallel Virtual File System)。该系统有开放的源代码,并支持多种应用程序接口(API),因此具有良好的应用前景。最后,提出了一种全新的核外存储问题的实现方案。该方案使用C++实现了一个一维数组模板类。一维数组模板类使用多个内存缓冲区,并和一个并行文件相关联。一维数组模板类支持缓冲区动态分配、缓冲区的最近最少使用调度算法、运行时改变缓冲区数目、统计失效频率等功能。用一维数组模板类构造多维数组模板类有两种方法:派生法和成员构造法。这两种方法运用C++提供的强大功能,把面向对象的思想充分运用到核外存储系统库的设计中。