联系方式:010-82374884

高性能计算

随着计算机科学技术的快速发展,高性能计算已成为科学研究所必需的辅助工具,并在各个基础学科领域发挥出了巨大的作用。如在气象气候、石油物探、航空航天、工程计算、密码研究、生物基因、船舶工程、地质勘探、海洋工程、城市建设、武器研究、材料工程、环境科学等领域,且此类计算任务往往公式复杂、计算难度大、计算时间极长,用一般计算方式难于完成,因此高性能计算系统就成为必不可少的工具。

    近年来,Linux并行集群系统渐渐成为HPC的主流,并使HPC进入更广阔的工业和商业应用市场,为用户提供高性能计算、网络请求响应或专业的应用程序(包括并行计算、数据库、Web)等服务。相比起传统的大型机和小型机,集群系统有极强的伸缩性,可通过在集群中增加或删减节点的方式,在不影响原有应用与计算任务的情况下,随时增加和降低系统的处理能力,也可根据不同的计算模式与规模,构成集群系统的节点数可以从几个到上千个,对于以国家政府、军方及大型组织机构来讲,节点数目可以达到数千甚至上万。

挑战-

性能扩展
在存储系统中,处理器主要完成I/O处理、cache控制管理、数据传输控制以及一些智能化的软件功能,处理器的能力直接影响到整个存储系统的性能。因此存储系统需要能够将所有服务器的CPU虚拟化成一个性能超强的CPU,对数据存储内容分发进行数据处理,提升存储系统整体存取效率,提升整个应用的处理能力,且为了满足数据处理程序对存储性能增长率的要求,采用的存储设备必须具有良好的性能扩展性能,可以将单个任务分布式的存储在多台存储服务器中,屏蔽掉由于单个硬盘或者服务器对外提供存储服务而造成的数据读写瓶颈。
数据缓存机制
对于大数据量图片访问应用,存储系统需要拥有缓存机制,将所有经常被访问的数据存储在缓存池中方便用户调取经常被访问的数据时可以直接从缓存调取,且缓存池容量无需设置限制。
海量文件高效检索效率
当数据量不断增长(如图片类与数据处理数据),存储系统里面的文件数量也会快速增长。当存储系统内的文件数量增长到数千万以上时,文件的检索查找等操作将会给文件系统带来巨大的压力,特别是一个目录下面存放的文件超过一定数量甚至会造成文件查找效率急剧下降。
可靠性、可维护性与可扩展性

LoongStore解决方案 -

面向高性能计算集群存储架构设计
针对高性能计算应用高并发的特点,采用带外模式的大规模开放集群存储架构,通过高速网络将通用存储服务器中的CPU、内存、网络带宽、磁盘转速、总线性能整合在一起,形成一个高端存储器,使得存储总体性能高于计算处理能力与网络带宽的传输速度,以此来屏蔽由于磁盘和总线性能提升缓慢造成的存储性能瓶颈。本次项目中我们将以全线速网络互连前端的计算节点和后端的存储及元数据节点,以保证存储设备的性能输出达到最大化。由于采用带外模式,很好的消除了元数据通路与数据通路的相互干扰。而元数据服务器的集群化和存储服务器的集群化,使得整个系统中不存在像NAS或者SAN系统那样的性能瓶颈点,因此能够完全满足高性能计算应用高并发的需求。
针对高性能计算数据海量存储需求的高可扩展技术
高性能计算应用除了高并发访问的特点之外,海量数据存储也是其重要特征之一。从目前计算任务的需求以及未来发展趋势看,相信不久的将来高性能计算平台的存储容量会不断的扩大,从而达到几十PB或者上百PB,那么现有的存储系统会不断的扩展,为此,存储系统的海量高可扩展技术对计算平台非常重要,我们在LoongStore存储系统业界独有的在线无限制快速扩容以及负载均衡技术的基础上研制高可扩展存储技术,使得存储系统的规模能够随着计算应用的发展而高效、无需中断服务的在线扩展,同时达到随着容量的增加性能的线性增长。
针对高性能计算的海量小文件高吞吐率、高效检索技术
目前,存储市场上大部分的存储系统在海量小文件的应用模式下,都存在吞吐率低,检索慢的问题。这个问题的本质原因是整个存储系统处理元数据的效率所导致的。由于目前绝大多数存储系统都是采用单一元数据服务器架构,虽然部分存储系统有两个元数据服务器,但是系统正常情况下只有一个元数据服务器提供服务功能,另一个处于standby状态,本质上属于高可用作用,因此,当整个存储系统的文件数量达到一定规模时,检索文件的效率变得极其低下,从而导致小文件吞吐率低。我们在LoongStore现有的业界唯一的多元数据服务器集群技术的基础上,结合高性能计算应用文件创建、访问以及目录结构特点,研制独一无二的多元数据服务器集群技术,在一套存储系统中可以根据用户生产系统中实际产生文件数量的规模对元数据服务器集群进行动态配置,整个存储系统中所有的元数据服务器同时参与文件的检索和定位工作,消除存储系统中元数据通道的瓶颈,同时还可以根据后续应用特点的变化和需求的增强,做到在线扩展元数据服务器,并且达到即插即用的效果。
面向高性能计算的智能数据缓存技术
高效的数据缓存技术能够帮助存储系统发挥更好的性能,提高计算任务的效率。我们拟采用多级智能数据缓存技术来实现高效缓存。首先,通过应用服务器上自主研发客户端内核模块,分析应用访问数据的特点,采用特定的缓存算法在应用服务器上有效缓存应用的访问数据;其次,将所有存储服务器的内存集合起来形成一个大的缓存池,通过存储服务器上独特地缓存算法缓存不同应用访问的数据;最后,将所有元数据服务器的内存集合起来形成一个高效的元数据缓存池,通过复杂的元数据淘汰算法来缓存元数据信息。通过这样多级数据的缓存技术,会使得整个存储系统的性能能够得到大幅提高。
面向多用户环境的增强型权限管理技术
计算平台是一个多用户共享平台,每天都有很多用户在计算平台上面运行不同的任务,整个存储系统需要保证各个用户之间的任务相互独立、数据安全高可用,因此,传统的基于操作系统用户权限的管理技术无法完全满足计算平台的需求。在新研制的存储系统中拟提供增强型权限管理技术,除了兼容原有基于操作系统用户的权限管理之外,还增加了自身所特有的增强型权限管理技术,通过存储系统的后端管理平台直接为某个目录指定哪些用户、或者哪些应用服务器能够访问,哪些目录禁止用户删除、修改等。
面向海量数据的全局数据高可用技术
高可用对于一个存储系统来说非常重要,本质上来看就是如何使存储系统自身不存在单点故障。目前市场是大部分的存储系统在可靠性方面主要是依靠硬件自身的可靠性来实现,比如Raid技术,采用高端的光纤盘阵等,这些高可用技术存在很大的局限性,恢复效率差,无法适应海量数据的应用环境。LoongStore独特的全局数据高可用技术,结合应用特点用自身独有的软件技术来完成高可用,首先,无论是存储服务器还是元数据服务器都采用了集群化技术;其次,存储系统软件层采用多副本技术、文件动态分片技术、文件级raid技术以及支持不同目录设置不同冗余度技术来保证整个系统的高可用。最终,通过这些高效的全系统规模数据高可用技术,彻底消除存储系统中的单点故障。另外,存储系统内置了自动故障探测机制,可以动态探测不同的故障,并自动启动数据的恢复流程确保数据完整性,数据恢复完全在存储后端进行,不对前端应用造成任何影响,在保证数据安全的同时确保用户的应用持续稳定的运行,单台存储服务器或者元数据服务器发生损坏都不会对应用数据读写造成任何影响,且随着存储服务器的不断增加,数据恢复的速度成倍增长,即服务集群规模越大数据的安全性越高。
以磁盘为粒度的在线实时访问流量调控技术
存储系统采用对象存储技术,能够做到以磁盘为粒度的在线实时访问流量调控技术,当整个存储系统通过实时监控发现某些设备或者磁盘处于高负载的情况时,一方面,存储系统可以通过禁止某些设备写入数据,从而降低某些设备的负载;另一方面,可以启动系统负载调控功能,存储系统根据自身智能负载机制将系统的热点数据进行迁移,使得存储系统中的各个存储节点负载均衡。
针对高性能计算应用的集群存储系统高并发读写技术
高性能计算特点是高并发读写,针对这种应用的特点,与传统的设备级分片不同,拟采用文件切片技术,将文件均匀分布在整个存储服务器集群中,以保证应用无论是对单个文件还是多个文件的访问模式,都能有效利用整个存储服务器集群提供的性能;另一方面应用服务器端通过高速网络直接与存储服务器通信,高效地利用了高速网络提供的带宽,消除了通行过程中的网络瓶颈。采用这样的技术之后,当整个计算平台的上千个应用节点同时访问数据的时,能够确保整个存储系统的每个设备都能发挥出自身的硬件能力,为前端应用提供最大的聚合带宽。
满足大计算量、长周期计算特点的不停机扩容技术,保持计算任务的连续性
计算平台作为一个大规模的平台,具有使用周期长、计算量大的特点,在实际的使用过程中,存在着随时扩展整个计算平台的计算和存储能力的需求,这就要求整个存储系统具有在线扩容的能力。本次项目研制的系统单套系统容量能够支持多达EB,其灵活的扩展性允许在线扩容,独有的数据恢复策略可以实现在线的更换所有硬件设备,能够满足计算平台中磁盘和数据总线性能提升时,存储底层设备的更换,实现一套存储系统永久满足高性能计算的存储需求。且扩容过程不影响前端的应用,同时系统的总体IO带宽随着规模的扩大线性增长,可以根据计算规模不断变化的定制存储系统,以此满足高性能计算中对容量与性能的需求。

案例-

北京市计算中心
大庆油田

其他行业解决方案 -

媒资平台
虚拟化平台
渲染平台
非编平台
互联网
电信平台
IPTV平台
医疗影像
视频监控
金融影像
高校存储

RAID

RAID简介

RAID是独立冗余磁盘阵列。冗余磁盘阵列技术诞生于1987年,由美国加州大学伯克利分校提出。简单地解释,就是将N块硬盘通过RAID 结合成虚拟单台大容量的硬盘使用。RAID的采用为存储系统(或者服务器的内置存储)带来巨大利益,其中提高传输速率和提供容错功能是最大的优点。其特色是N台硬盘同时读取速度加快及提供容错性,所以RAID是当成平时主要访问数据的存储速度问题(Storage)不是备份问题(Backup Solution)。
简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。组成磁盘阵列的不同方式成为RAID级别(RAID Levels)。

EDAP   

在RAID有一基本概念称为EDAP(Extended Data Availability and Protection),其强调扩充性及容错机制,包括在不须停机情况下可处理以下动作:

1.RAID 磁盘阵列支援自动检测故障硬盘;

2.RAID 磁盘阵列支援重建硬盘坏轨的资料;

3.RAID 磁盘阵列支援支持不须停机的硬盘备援;

4.RAID 磁盘阵列支援支持不须停机的硬盘替换;

5.RAID 磁盘阵列支援扩充硬盘容量等。

RAID 的种类

基于不同的架构,RAID 的种类又可以分为: 软件RAID (软件RAID) ,硬件RAID (硬件RAID) ,外置RAID (External RAID) 。

软件RAID很多情况下已经包含在系统之中,并成为其中一个功能,如 Windows、Netware及Linux。软件RAID中的所有操作皆由中央处理器负责,所以系统资源的利用率会很高,从而使系统性能降低。软件RAID是不需要另外添加任何硬件设备,因为它是靠你的系统—主要是中央处理器的功能—提供所有现成的资源。 硬件RAID通常是一张PCI卡,你会看到在这卡上会有处理器及内存。因为这卡上的处理器已经可以提供一切RAID所需要的资源,所以不会占用系统资源,从而令系统的表现可以大大提升。

硬件RAID的应用之一是可以连接内置硬盘、热插拔背板或外置存储设备。无论连接何种硬盘,控制权都是在RAID卡上,亦即是由系统所操控。 在系统里,硬件RAID PCI卡通常都需要安驱动程序,否则系统会拒绝支持。 磁盘阵列可以在安装系统之前或之后产生,系统会视之为一个(大型)硬盘,而它具有容错及冗余的功能。磁盘阵列不单只可以加入一个现成的系统,它更可以支持容量扩展,方法也很简单,只需要加入一个新的硬盘并执行一些简单的指令,系统便可以实时利用这新加的容量。

外置式RAID也是属于硬件RAID的一种,区别在于RAID卡不会安装在系统里,而是安装在外置的存储设备内。而这个外置的储存设备则会连接到系统的SCSI卡上。系统没有任何的RAID功能, 因为它只有一张SCSI卡;所有的RAID功能将会移到这个外置存储里。好处是外置的存储往往可以连接更多的硬盘,不会受系统机箱的大小所影响。而一些高级的技术,如双机容错,是需要多个服务器外连到一个外置储存上,以提供容错能力.外置式RAID的应用之一是可以安装任何的操作系统,因此是与操作系统无关的。因为在系统里只存在一张SCSI卡,并不是RAID卡。而对于这个系统及这张SCSI卡来说,这个外置式的RAID只是一个大型硬盘,并不是什么特别的设备,所以这个外置式的RAID可以安装任何的操作系统。唯一的要求就是你用的这张SCSI卡在这个操作系统要安装驱动程序。

RAID按照实现原理的不同分为不同的级别,不同的级别之间工作模式是有区别的。整个的RAID结构是一些磁盘结构,通过对磁盘进行组合达到提高效率,减少错误的目的。为了便于说明,下面示意图中的每个方块代表一个磁盘,竖的叫块或磁盘阵列,横称之为带区。RAID的主要分类包括:RAID 0无差错控制的带区组、RAID 1镜象结构、RAID2带海明码校验、RAID3带奇偶校验码的并行传送、RAID4带奇偶校验码的独立磁盘结构、RAID5分布式奇偶校验的独立磁盘结构、RAID6两种存储的奇偶校验码的磁盘结构、RAID7优化的高速数据传送磁盘结构、RAID10/01高可靠性与高效磁盘结构、RAID 50:被称为分布奇偶位阵列条带。

RAID的主要优点有:

1.RAID的采用为存储系统(或者服务器的内置存储)带来巨大利益,其中提高传输速率和提供容错功能是最大的优点。

2.RAID通过同时使用多个磁盘,提高了传输速率。RAID通过在多个磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量。在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个磁盘驱动器几倍、几十倍甚至上百倍的速率。这也是RAID最初想要解决的问题。因为当时CPU的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。RAID最后成功了。

3.通过数据校验,RAID可以提供容错功能。这是使用RAID的第二个原因,因为普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的CRC(循环冗余校验)码的话。RAID容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提供更高的安全性。在很多RAID模式中都有较为完备的相互校验/恢复的措施,甚至是直接相互的镜像备份,从而大大提高了RAID系统的容错度,提高了系统的稳定冗余性。

NFS

NFS简介

网络文件系统(NFS)是文件系统之上的一个网络抽象,允许远程客户端以与本地文件系统类似的方式,来通过网络进行访问。目前它已经发展并演变成 UNIX/Linux系统中最强大最广泛使用的网络文件系统。NFS 允许在多个用户之间共享公共文件系统,并提供数据集中的优势,来最小化所需的存储空间。从 1984 年问世以来持续演变,并已成为分布式文件系统的基础。当前,NFS(通过 pNFS 扩展)通过网络对分布的文件提供可扩展的访问。

NFS 的发展历程   

NFS 是第一个现代网络文件系统(构建于 IP 协议之上)。在 20 世纪 80 年代,它首先作为实验文件系统,由 Sun Microsystems 在内部完成开发。NFS 协议已归档为 Request for Comments(RFC)标准,并演化为大家熟知的 NFSv2。作为一个标准,由于 NFS 与其他客户端和服务器的互操作能力而发展快速。标准持续地演化为 NFSv3,在 RFC 1813 中有定义。这一新的协议比以前的版本具有更好的可扩展性,支持大文件(超过2GB),异步写入,以及将TCP作为传输协议,为文件系统在更广泛的网络中使用铺平了道路。在 2000 年,RFC 3010(由 RFC 3530 修订)将 NFS 带入企业设置。Sun 引入了具有较高安全性,带有状态协议的 NFSv4(NFS 之前的版本都是无状态的)。今天,NFS 是版本 4.1(由 RFC 5661 定义),它增加了对跨越分布式服务器的并行访问的支持(称为 pNFS extension)。

  

NFS 的时间表,包括记录其特性的特定 RFC ,都在图 1 中有展示。

NFS 已经历了近30年的开发。它代表了一个非常稳定的(及可移植)网络文件系统,它可扩展、高性能、并达到企业级质量。由于网络速度的增加和延迟的降低,NFS 一直是通过网络提供文件系统服务具有吸引力的选择。甚至在本地网络设置中,虚拟化驱动存储进入网络,来支持更多的移动虚拟机。NFS 甚至支持最新的计算模型,来优化虚拟的基础设施。

NFS 允许计算的客户 — 服务器模型(见图 2)。服务器实施共享文件系统,以及客户端所连接的存储。客户端实施用户接口来共享文件系统,并加载到本地文件空间当中。
图 2. NFS 的客户端 — 服务器架构

在 Linux中,虚拟文件系统交换(VFS)提供在一个主机上支持多个并发文件系统的方法(比如 CD-ROM 上的 International Organization for Standardization [ISO] 9660,以及本地硬盘上的 ext3fs )。VFS 确定需求倾向于哪个存储,然后使用哪些文件系统来满足需求。由于这一原因,NFS 是与其他文件系统类似的可插拔文件系统。对于 NFS 来说,唯一的区别是输入/输出(I/O)需求无法在本地满足,而是需要跨越网络来完成。

一旦发现了为 NFS 指定的需求,VFS 会将其传递给内核中的 NFS 实例。 NFS 解释 I/O 请求并将其翻译为 NFS 程序(OPEN、ACCESS、CREATE、READ、CLOSE、REMOVE 等等)。这些程序,归档在特定 NFS RFC 中,指定了 NFS 协议中的行为。一旦从 I/O 请求中选择了程序,它会在远程程序调用(RPC)层中执行。正如其名称所暗示的,RPC 提供了在系统间执行程序调用的方法。它将封送 NFS 请求,并伴有参数,管理将它们发送到合适的远程对等级,然后管理并追踪响应,提供给合适的请求者。

进一步来说,RPC 包括重要的互操作层,称为外部数据表示(XDR),它确保当涉及到数据类型时,所有 NFS 参与者使用相同的语言。当给定架构执行请求时,数据类型表示可能不同于满足需求的目标主机上的数据类型。XDR 负责将类型转换为公共表示(XDR),便于所有架构能够与共享文件系统互操作。XDR 指定类型字节格式(比如 float)和类型的字节排序(比如修复可变长数组)。虽然 XDR 以其在 NFS 中的使用而闻名,当您在公共应用程序设置中处理多个架构时,它是一个有用的规范。

一旦 XDR 将数据转换为公共表示,需求就通过网络传输给出传输层协议。早期 NFS 采用 Universal Datagram Protocol(UDP),但是,今天 TCP 因为其优越的可靠性而更加通用。在服务器端,NFS 以相似的风格运行。需求到达网络协议栈,通过 RPC/XDR(将数据类型转换为服务器架构) 然后到达 NFS 服务器。NFS 服务器负责满足需求。需求向上提交给 NFS 守护进程,它为需求标示出目标文件系统树,并且 VFS 再次用于在本地存储中获取文件系统。整个流程在图 3 中有展示。注意,服务器中的本地文件系统是典型的 Linux 文件系统(比如 ext4fs)。因此,NFS 不是传统意义上的文件系统,而是访问远程文件系统的协议。
图 3. 客户端和服务器 NFS 堆栈

对于高延迟网络,NFSv4 实现称为 compound procedure 的程序。这一程序从本质上允许在单个请求中嵌入多个 RPC 调用,来最小化通过网络请求的 transfer tax。它还为响应实现回调模式。

NFS 协议

从客户端的角度来说,NFS 中的第一个操作称为 mount。 Mount 代表将远程文件系统加载到本地文件系统空间中。该流程以对 mount(Linux 系统调用)的调用开始,它通过 VFS 路由到 NFS 组件。确认了加载端口号之后(通过 get_port 请求对远程服务器 RPC 调用),客户端执行 RPC mount 请求。这一请求发生在客户端和负责 mount 协议(rpc.mountd)的特定守护进程之间。这一守护进程基于服务器当前导出文件系统来检查客户端请求;如果所请求的文件系统存在,并且客户端已经访问了,一个 RPC mount 响应为文件系统建立了文件句柄。客户端这边存储具有本地加载点的远程加载信息,并建立执行 I/O 请求的能力。这一协议表示一个潜在的安全问题;因此,NFSv4 用内部 RPC 调用替换这一辅助 mount 协议,来管理加载点。

要读取一个文件,文件必须首先被打开。在 RPC 内没有 OPEN 程序;反之,客户端仅检查目录和文件是否存在于所加载的文件系统中。客户端以对目录的 GETATTR RPC 请求开始,其结果是一个具有目录属性或者目录不存在指示的响应。接下来,客户端发出 LOOKUP RPC 请求来查看所请求的文件是否存在。如果是,会为所请求的文件发出 GETATTR RPC 请求,为文件返回属性。基于以上成功的 GETATTRs 和 LOOKUPs,客户端创建文件句柄,为用户的未来需求而提供的。

利用在远程文件系统中指定的文件,客户端能够触发 READ RPC 请求。READ 包含文件句柄、状态、偏移、和读取计数。客户端采用状态来确定操作是否可执行(那就是,文件是否被锁定)。偏移指出是否开始读取,而计数指出所读取字节的数量。服务器可能返回或不返回所请求字节的数量,但是会指出在 READ RPC 回复中所返回(随着数据)字节的数量。

NFS 中的变革

在 NFSv4 之前,存在一定数量的辅助协议用于加载、锁定、和文件管理中的其他元素。NFSv4 将这一流程简化为一个协议,并将对 UDP 协议的支持作为传输协议移除。NFSv4 还集成支持 UNIX 和基于 Windows的文件访问语义,将本地集成 NFS 扩展到其他操作系统中。

NFSv4.1 介绍针对更高扩展性和更高性能的并行 NFS(pNFS)的概念。 要支持更高的可扩展性,NFSv4.1 具有脚本,与集群化文件系统风格类似的拆分数据/元数据架构。如 图 4 所展示的,pNFS 将生态系统拆分为三个部分:客户端、服务器和存储。您可看到存在两个路径:一个用于数据,另一个用于控制。pNFS 将数据布局与数据本身拆分,允许双路径架构。当客户想要访问文件时,服务器以布局响应。布局描述了文件到存储设备的映射。当客户端具有布局时,它能够直接访问存储,而不必通过服务器(这实现了更大的灵活性和更优的性能)。当客户端完成文件操作时,它会提交数据(变更)和布局。如果需要,服务器能够请求从客户端返回布局。

NFS 实施多个新协议操作来支持这一行为。LayoutGet 和 LayoutReturn 分别从服务器获取发布和布局,而 LayoutCommit 将来自客户端的数据提交到存储库,以便于其他用户使用。服务器采用 LayoutRecall 从客户端回调布局。布局跨多个存储设备展开,来支持并行访问和更高的性能。图 4. NFSv4.1 的 pNFS 架构

数据和元数据都存储在存储区域中。客户端可能执行直接 I/O ,给出布局的回执,而 NFSv4.1 服务器处理元数据管理和存储。虽然这一行为不一定是新的,pNFS 增加功能来支持对存储的多访问方法。当前,pNFS 支持采用基于块的协议(光纤通道),基于对象的协议,和 NFS 本身(甚至以非 pNFS 形式)。

通过 2010 年 9 月发布的对 NFSv2 的请求,继续开展 NFS 工作。其中以新的提升定位了虚拟环境中存储的变化。例如,数据复制与在虚拟机环境中非常类似(很多操作系统读取/写入和缓存相同的数据)。由于这一原因,存储系统从整体上理解复制发生在哪里是很可取的。这将在客户端保留缓存空间,并在存储端保存容量。NFSv4.2 建议用共享块来处理这一问题。因为存储系统已经开始在后端集成处理功能,所以服务器端复制被引入,当服务器可以高效地在存储后端自己解决数据复制时,就能减轻内部存储网络的负荷。其他创新出现了,包括针对 flash 存储的子文件缓存,以及针对 I/O 的客户端提示 (潜在地采用 mapadvise 作为路径)。