并行基础知识:pNFS介绍
最近几年,高性能数据中心已经快速向并行技术转移,比如集群计算和多核心处理器,这些加速了并行应用的开发和广泛使用。.
虽然这种并行使用的增加解决了大多数的计算瓶颈,它却把性能瓶颈转移到了存储I/O系统。随着主流计算转向并行,存储子系统也需要转移到并行技术。为了成为通用的方式,需要一个标准的方法,能够从多个存储供应商选择存储设备并且从任何客户端都能自由的存取并行存储器。
为了转向高一等级的性能水平,当存储系统依附到一个经济有效的标准时必须对并行做最优化。NFS,当前流行的网络文件系统标准并不支持并行I/O,主要存储供应商提供的现有并行产品也不能彼此兼容。在业界提供出一个并行存储的标准之前,用户选用设备都将继续受到妨碍,他们勉强的部署一套存在许多不兼容的并行存储系统。
今年稍后,IETF工程任务组NFS
v4
小组委员会预计将结束并行NFS(pNFS
)协议的工作,它将是NFS
版本4.1
RFC的一部分。这个里程碑将使NFS
V4.1从因特网草案成为一个推荐标准。并行NFS能够在客户端和存储设备之间直接并行传送数据,不需要昂贵的元数据管理器(filer
head)。期望它支持Linux,Windows和主要的UNIX版本如Solaris和AIX。
这个新标准正在由一个存储行业的技术领导者组成的联盟共同开发,包括Panasas,IBM,EMC,Network
Appliance,Sun和密执安大学的信息技术集成中心
当今NFS遇到的挑战
为了了解pNFS是如何工作的,首先必须了解在一个典型的NFS结构中当客户端试图存取一个文件时是如何进行的。图1展示了一个传统的NFS结构。你可以看到NFS服务器位于客户端计算机和实际的物理存储装置之间。当客户端想要存取存储器上的文件时,它必须创建一个到NFS服务器的连接(也就是创建一个安装点)。当客户端试图存取存文件时NFS服务器起仲裁者的作用,管理所有需要的数据处理,把数据传送到提出请求的客户端。
由较少的客户端访问相对较小的数据集时这种结构工作的很好,通过直接连接的存储器能够收到显著的效益(就象你PC上的磁盘);也就是数据能够由多个客户端共享,能够由任何有NFS能力的客户端访问。可是如果大量的客户端需要访问数据或太大的数据集时,NFS服务器很快就变成了一个瓶颈,抑制了系统性能。pNFS从根本上消除了这个瓶颈,允许从许多许多客户端以难以置信的速度快速存取非常大的数据集。
pNFS消除了瓶颈
这里我们可以看到pNFS如何修改了NFS结构,消除了我们刚才提到的性能瓶颈。实质上的变化是NFS服务器移动到了带外,变成了一个元数据服务器。意思就是它管理着有关数据布局的数据。那么当一个客户端需要存取数据时它需要做什么呢?
它首先要做的是与NFS服务器联系就象先前例子中所做的一样。可是这次服务器提供给客户端一个到哪里去寻找所要数据的布局图和读/修改/写这些数据的授权书。一旦客户端有了这两部分,它存取数据时就直接与存储设备联系。使用传统的NFS时数据的每个比特都要通过NFS服务器,使用pNFS时NFS服务器从主数据通路中移出来了,允许客户端自由地和快速地存取数据。当然所有的NFS的优点都继续保留,但现在消除了瓶颈,数据能够以并行方式以非常快的吞吐率被访问,系统容量能够容易的扩展而不影响总性能。