CN102844734A - 使用动态块大小粒度来为计算群集中的不同类型的应用优化文件系统 - Google Patents

使用动态块大小粒度来为计算群集中的不同类型的应用优化文件系统 Download PDF

Info

Publication number
CN102844734A
CN102844734A CN2011800186359A CN201180018635A CN102844734A CN 102844734 A CN102844734 A CN 102844734A CN 2011800186359 A CN2011800186359 A CN 2011800186359A CN 201180018635 A CN201180018635 A CN 201180018635A CN 102844734 A CN102844734 A CN 102844734A
Authority
CN
China
Prior art keywords
data
file system
node
storer
calculating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011800186359A
Other languages
English (en)
Other versions
CN102844734B (zh
Inventor
P·萨卡尔
P·邦德伊
H·普查
M·A·沙赫
R·特瓦利
K·古普塔
R·阿南塔纳拉亚南
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN102844734A publication Critical patent/CN102844734A/zh
Application granted granted Critical
Publication of CN102844734B publication Critical patent/CN102844734B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及使用动态块大小粒度来为计算群集中的不同类型的应用优化文件系统。本发明的各实施例涉及使用动态块大小粒度来为计算群集中的不同类型的应用优化文件系统。示例性实施例包括为群集中的每一个节点预留预定数量的存储分配区域,其中,每个存储分配区域都包括本地附接的存储器的单个存储盘上的连续的数据块集合;使用本地附接的存储器的单个存储盘上的连续的数据块集合,作为文件系统的块分配粒度,以便条带化要为所述群集中的计算操作而存储在文件系统中的数据;以及使用共享存储子系统的单个数据块,作为文件系统的块分配粒度,以便条带化要为群集中的数据访问操作而存储在文件系统中的数据。

Description

使用动态块大小粒度来为计算群集中的不同类型的应用优化文件系统
技术领域
本发明的各实施例涉及数据存储的领域,具体而言,涉及使用动态块大小粒度来为计算群集中的不同类型的应用优化文件系统。
背景技术
文件系统是用于存储和组织文件和数据的方法。文件系统使用存储子系统以维持文件和数据。文件系统是对存储子系统施加逻辑结构以使客户端计算机创建、存储和访问存储子系统上的数据的文件的管理结构。分布式文件系统是通过网络支持文件以及多个客户端的存储器资源的共享的文件系统。群集文件系统是一种使群集中的多个计算节点同时访问存储在共享存储子系统上的相同数据的分布式文件系统。
计算群集是带有多个节点的系统,所述多个节点彼此进行交互,以给客户端系统作为单个实体提供数据、应用、及其他系统资源。
计算群集通过允许节点和共享存储器被添加到群集中来提供可缩放性和可靠性。文件系统被用来管理数据在计算群集内的存储。通过将存储器的特定区域指定到要被存储的数据,存储器被计算群集中的文件系统分配。群集中的计算节点将文件系统视为带有对群集文件系统的共享存储子系统的直接访问的本地资源。
云计算是给客户端提供远程虚拟化计算资源作为服务的计算模型。云计算通过托管和通过网络远程并按需作为服务来提供资源,向客户端提供软件和硬件资源。从而,最终用户被允许按需利用计算资源,无需对基础结构和管理的投资。云计算的基础体系结构通常包括协力工作的服务器的大的分布式群集。
发明内容
相应地,在第一方面,本发明提供了使用动态块大小粒度来为计算群集中的不同类型的应用优化文件系统的方法:为群集中的每一个节点预留预定数量的存储分配区域,其中,每个存储分配区域都包括本地附接的存储器的单个存储盘上的一组连续的数据块;使用本地附接的存储器的单个存储盘上的连续的数据块集合,作为文件系统的块分配粒度,以便条带化要为所述群集中的计算操作而存储在文件系统中的数据;以及,使用共享存储子系统的单个数据块,作为文件系统的块分配粒度,以便条带化要为群集中的数据访问操作而存储在文件系统中的数据。
该方法还可以进一步包括将用于计算操作的数据分配到预留的存储分配区域中的至少一个。该方法还可以进一步包括,当所述群集中的节点的所述预留的存储分配区域的总数小于所述预定数量时,预留至少一个另外的存储分配区域,直到所述节点的预留的存储分配区域的总数等于所述预定数量。该方法还可以进一步包括将计算操作发送到所述计算群集中的节点,所述计算操作的数据被分配给所述节点的本地附接的存储器。该方法还可以进一步包括将分配给节点的本地附接的存储器的每个连续的数据块集合复制到所述群集中的第二节点的本地附接的存储器。该方法还可以进一步包括将用于数据访问操作的数据分配到共享存储子系统。该方法还可以进一步包括跟踪分配给所述共享存储子系统以及所述文件系统中的本地附接的存储器的每个数据块的位置。优选地,所述数据访问操作是从包括下列各项的组中选择的:簿记操作、数据传输操作、缓存管理操作、以及预先获取操作。该方法还可以进一步包括,如果节点的计算操作有故障,则在与所述计算操作相关联的数据被复制到其中的第二节点上重新启动所述计算操作。优选地,群集为远程客户端托管计算服务。
在第二方面,提供了使用动态块大小粒度来为计算群集中的不同类型的应用优化文件系统的系统,包括:计算群集,所述计算群集包括多个节点,其中,所述多个节点中的每一个都包括本地附接的存储器,耦合到所述多个节点中的每一个的共享存储子系统,以及耦合到所述共享存储子系统以及所述多个节点中的每一个的文件系统管理器,其中,所述文件系统管理器:为所述计算群集中的所述多个节点中的每一个预留预定数量的存储分配区域,其中,每个存储分配区域都包括本地附接的存储器的单个存储盘上的一组连续的数据块,使用本地附接的存储器的单个存储盘上的连续的数据块集合,作为文件系统的块分配粒度,以便条带化要为所述计算群集中的计算操作而存储在文件系统中的数据,以及使用共享存储子系统的单个数据块,作为文件系统的块分配粒度,以便条带化要为所述计算群集中的数据访问操作而存储在文件系统中的数据。
优选地,文件系统管理器将计算操作发送到所述计算群集中的节点,所述计算操作的数据被分配给所述节点的本地附接的存储器。
优选地,当所述节点的所述预留的存储分配区域的总数小于所述预定数量时,所述文件系统管理器预留至少一个另外的存储分配区域,直到所述节点的所述预留的存储分配区域的总数等于所述预定数量。优选地,文件系统管理器:将分配给节点的本地附接的存储器的每个连续的数据块集合复制到所述计算群集中的第二节点的本地附接的存储器,以及如果所述节点的计算操作有故障,则在与所述计算操作相关联的数据被复制到其中的第二节点上重新启动所述计算操作。
在第三方面,提供了包括存储在计算机可读介质上的计算机程序代码的计算机程序,当被加载到计算机系统中并在其上执行时,导致所述计算机系统执行根据第一方面所述的方法的所有步骤。
该计算机程序可以呈现用于使用动态块大小粒度来为计算群集中的不同类型的应用优化文件系统的计算机程序产品的形式,包括:其中具有计算机可读的程序代码的计算机可读存储介质,所述计算机可读的程序代码包括:计算机可读存储介质包括被配置成为群集中的每一个节点预留预定数量的存储分配区域的计算机可读的程序代码,其中,每个存储分配区域都包括本地附接的存储器的单个存储盘上的一组连续的数据块,计算机可读存储介质还包括计算机可读的程序代码,这些程序代码被配置成使用本地附接的存储器的单个存储盘上的连续的数据块集合,作为文件系统的块分配粒度,以便条带化要为群集中的计算操作而存储在文件系统中的数据,以及被配置成使用共享存储子系统的单个数据块,作为文件系统的块分配粒度,以便条带化要为群集中的数据访问操作而存储在文件系统中的数据的计算机可读的程序代码。
优选地,计算机可读的程序代码还包括:被配置成将计算操作发送到所述计算群集中的节点,所述计算操作的数据被分配给所述节点的本地附接的存储器的计算机可读的程序代码。优选地,计算机可读的程序代码还包括:计算机可读的程序代码,所述计算机可读的程序代码被配置成,当所述节点的所述预留的存储分配区域的总数小于所述预定数量时,所述文件系统管理器预留至少一个另外的存储分配区域,直到所述节点的所述预留的存储分配区域的总数等于所述预定数量。优选地,计算机可读的程序代码还包括:计算机可读的程序代码,所述计算机可读的程序代码被配置成跟踪分配给所述共享存储子系统以及所述文件系统中的本地附接的存储器每个数据块的位置。优选地,计算机可读的程序代码还包括:计算机可读的程序代码,所述计算机可读的程序代码被配置成将分配给节点的本地附接的存储器的每个连续的数据块集合复制到所述群集中的第二节点的本地附接的存储器。优选地,计算机可读的程序代码还包括:计算机可读的程序代码,所述计算机可读的程序代码被配置成,如果所述节点的计算操作有故障,则在与所述计算操作相关联的数据被复制到其中的第二节点上重新启动所述计算操作。
本发明的各实施例涉及使用动态块大小粒度来为计算群集中的不同类型的应用优化文件系统。本发明的一方面包括用于使用动态块大小粒度来为计算群集中的不同类型的应用优化文件系统的方法。该方法可包括,为群集中的每一个节点预留预定数量的存储分配区域,其中,每个存储分配区域都包括本地附接的存储器的单个存储盘上的一组连续的数据块;使用本地附接的存储器的单个存储盘上的连续的数据块集合,作为文件系统的块分配粒度,以便条带化要为所述群集中的计算操作而存储在文件系统中的数据;以及使用共享存储子系统的单个数据块,作为文件系统的块分配粒度,以便条带化要为群集中的数据访问操作而存储在文件系统中的数据。
本发明的另一实施例包括用于使用动态块大小粒度来为计算群集中的不同类型的应用优化文件系统的系统。该系统可包括计算群集,该计算群集包括:多个节点,其中,所述多个节点中的每一个都包括本地附接的存储器,耦合到所述多个节点中的每一个的共享存储子系统,以及,耦合到所述共享存储子系统以及所述多个节点中的每一个的文件系统管理器,其中,所述文件系统管理器:为所述计算群集中的所述多个节点中的每一个预留预定数量的存储分配区域,其中,每个存储分配区域都包括本地附接的存储器的单个存储盘上的一组连续的数据块,使用本地附接的存储器的单个存储盘上的连续的数据块集合,作为文件系统的块分配粒度,以便条带化要为所述计算群集中的计算操作而存储在文件系统中的数据,以及使用共享存储子系统的单个数据块,作为文件系统的块分配粒度,以便条带化要为所述计算群集中的数据访问操作而存储在文件系统中的数据。
本发明的另一实施例包括用于使用动态块大小粒度来为计算群集中的不同类型的应用优化文件系统的计算机程序产品,包括:其中具有计算机可读的程序代码的计算机可读存储介质,所述计算机可读的程序代码包括:计算机可读存储介质包括被配置成为群集中的每一个节点预留预定数量的存储分配区域的计算机可读的程序代码,其中,每个存储分配区域都包括本地附接的存储器的单个存储盘上的一组连续的数据块,计算机可读存储介质还包括计算机可读的程序代码,这些程序代码被配置成使用本地附接的存储器的单个存储盘上的连续的数据块集合,作为文件系统的块分配细粒度,以便条带化要为群集中的计算操作而存储在文件系统中的数据,以及被配置成使用共享存储子系统的单个数据块,作为文件系统的块分配粒度,以便条带化要为群集中的数据访问操作而存储在文件系统中的数据的计算机可读的程序代码。
附图说明
现在将参考各个附图,只作为示例,对本发明的优选实施例进行描述,其中:
图1示出了根据一个实施例的带有使用动态块大小粒度为不同类型的应用优化的文件系统的计算群集;
图2示出了根据一个实施例的用于使用动态块大小粒度来为计算群集中的不同类型的应用优化文件系统的方法的流程图;
图3示出了根据一个实施例的用于条带化要为计算群集中的计算操作存储在文件系统中的数据的块分配方案;
图4示出了根据一个实施例的用于条带化要为计算群集中的数据访问操作存储在文件系统中的数据的块分配方案;以及
图5示出了根据一个实施例的其中可以实现用于使用动态块大小粒度来为计算群集中的不同类型的应用优化文件系统的过程的系统的框图。
具体实施方式
下面的描述只用于说明本发明的一般原理,而不对下面要求的权利要求书中所叙述的发明构思作出限制。此外,此处所描述的特定特征可以与各种可能的组合和置换中的每一种中的其他所描述的特征组合地使用。除非特别声明,所有术语都应被赋予它们的最广泛的可能的解释,包括从说明书的暗示含义以及被本领域的技术人员所理解的含义和/或如词典,论文等等中所定义的含义。
该描述可以公开用于使用动态块大小粒度来为计算群集中的不同类型的应用优化文件系统的多个优选实施例,以及其操作和/或构成部分。尽管将以存储分配过程以及存储设备来描述下面的描述以将本发明置于示例性实施例上的上下文中,但是应该记住,此处的包括权利要求的教导对其他类型的系统、设备以及应用(包括云计算环境中的系统、设备以及应用)可以具有广泛的应用。
本发明的各实施例涉及使用动态块大小粒度来为计算群集中的不同类型的应用优化文件系统。使用共享存储器的群集文件系统不支持计算向数据的发送,支持处理大数据集的数据密集型应用(例如,数据分析应用)所需的特征。另外,使用共享存储器的群集文件系统的默认块大小很小,导致每个数据块预定一个任务的数据密集型应用的高任务开销。运行数据密集型应用的基础存储体系结构基于不提供标准的用于Unix的接口的可移植操作系统接口(POSIX)的因特网规模的文件系统。因特网规模的文件系统是适合于数据密集型应用但是不支持传统的应用的性能要求的专门的文件系统。
在一个实施例中,对文件系统的块分配方案提供修改,以支持单个计算群集中的传统的应用以及数据密集型应用。例如,修改文件系统的数据分配,以允许POSIX存储栈支持构建于传统的基于POSIX的群集文件系统上的云分析。在一个实施例中,计算群集的文件系统可以为数据密集型应用选择与计算操作相关联的数据的大块粒度以及为传统的应用选择与数据访问操作相关联的数据的小块粒度。在一示例性实施例中,修改文件系统循环的块分配方案,以使用连续的块(大块)的集合,作为用于为计算操作条带化数据的分配粒度。在另一示例性实施例中,文件系统对于用于传统的应用的所有数据访问操作内部使用默认块大小粒度,小块大小。
图1示出了根据一个实施例的带有使用动态块大小粒度为不同类型的应用优化的文件系统的计算群集。计算群集102包括多个计算节点104a,104b...104,也称为应用节点。在一示例性实施例中,计算群集102包括可以扩展到数千计算节点104a,104b...104n的硬件体系结构。
每个计算节点104a,104b...104n都耦合到本地附接的存储器106a,106b...106n。例如,本地附接的存储器106a,106b...106n可以在物理上是计算节点104a,104b...104n内部的和/或在物理上外部的,使用磁盘阵列设备直接附接的。在一个实施例中,本地附接的存储器106a,106b...106n包括通过接口标准直接附接到计算节点104a,104b...104n的存储设备。例如,接口标准包括但不仅限于,光纤通道(FC)、小型计算机系统接口(SCSI)或集成驱动器电子电路(IDE)。在一示例性实施例中,每个计算节点104a,104b...104n都包括本地附接的存储器106a,106b...106n的四个750GB串行高级技术附接(SAT A)驱动器。
计算群集102包括被配置成管理计算群集102的文件系统的文件系统管理器108。例如,计算群集102的文件系统可包括但不仅限于,IBM通用并行文件系统TM(GPFSTM)。在一示例性实施例中,文件系统管理器108被具体化成软件,并可以从计算群集102中的任何独立节点运行。
计算群集102还包括共享存储子系统114。例如,共享存储子系统114可包括但不仅限于,存储区域网络(SAN)设备。共享存储子系统114耦合到存储交换机112。计算节点104a,104b...106耦合到存储交换机112以便访问共享存储子系统114。文件系统管理器108耦合到存储交换机112,以便使用共享存储子系统114来管理计算群集102的文件系统。共享存储子系统114被配置成给计算节点104a,104b...104n提供对相同数据的并行访问。共享存储子系统114允许跨计算节点104a,104b...104n共享写入带宽。在一个实施例中,共享存储子系统114被设计成使用基础数据保护技术来规避硬件故障。例如,共享存储子系统114可以使用廉价磁盘冗余阵列(RAID)技术来提供数据保护。
计算群集102还包括交换网络110。交换网络110被配置成为文件系统内的组件提供互连。在一个实施例中,交换网络110被配置成为计算节点104a,104b...104n和文件系统管理器108提供互连。在一示例性实施例中,交换网络110是对于每一个节点支架的千兆以太网交换机,以Linux软件运行1千兆/每秒(gbps)的交换机之间的链路。在另一实施例中,交换网络110进一步被配置成通过网络116提供对客户端节点118的访问。例如,网络116包括但不仅限于广域网(WAN)。
在一个实施例中,计算群集102远程地为客户端118托管数据和计算服务。例如,计算群集102启用云计算服务,以便为远程客户端在数据站点托管数据和计算服务。在一示例性实施例中,计算群集102被配置成托管数据分析应用的运行以及通过网络116远程为客户端118存储与数据分析应用相关联的数据。相应地,计算群集102以云方式启用并行性和可缩放性,以运行带有大数据集的数据密集型应用。例如,数据密集型应用包括将大计算任务分解为一组较小的并行化计算的数据分析应用。
图2示出了根据一个实施例的用于使用动态块大小粒度来为计算群集中的不同类型的应用优化文件系统的方法200的流程图。在202,文件系统管理器108为群集102中的每一个计算节点104a,104b...104n都预留了本地附接的存储器106a,106b...106n的单个存储盘上的包括一组连续的数据块的预先确定的数量的存储分配区域。在一个实施例中,文件系统管理器108事先为计算群集102中的每一个计算节点104a,104b...104n预先获取连续的存储分配区域的池。例如,事先预先获取连续的存储分配区域的池防止网络延迟和应用性能影响。相应地,每一计算节点104a,104b...104n将准备好连续的存储分配区域的池,将不会在输入/输出(I/O)请求的路径中产生网络延迟。
在一示例性实施例中,为计算群集102中的每一个计算节点104a,104b...104n预留的预定的存储分配区域的数量是10。例如,文件系统为计算群集102中的每一个计算节点104a,104b...104n预先获取十个存储分配区域的池,包括连续的一组数据块。在其他实施例中,为计算群集102中的每一个计算节点104a,104b...104n预留的存储分配区域的预定数量可以在但不仅限于5-200个存储分配区域之间。为群集102中的每一个计算节点104a,104b...104n预留的存储分配区域的预定数量可以基于要用于数据块的相邻性的级别,在计算群集102中支持的应用的类型,要使用的文件系统,以及计算群集102中的应用的性能要求而变化范围。
在204,文件系统管理器108使用本地附接的存储器106a,106b...106n的单个存储盘上的连续的数据块集合,来作为文件系统的块分配粒度,以便条带化要被存储在文件系统中以便从计算群集102中的计算节点104a,104b...104n执行计算操作的数据。在一个实施例中,文件系统管理器108使用本地附接的存储器106a,106b...106n的单个存储盘上的连续的数据块集合,大数据块或大块大小粒度,作为分配要为从计算群集102中的计算节点104a,104b...104n的计算操作存储的数据的分配粒度。例如,文件系统管理器108使用大块大小粒度来分配要为计算操作存储的数据,因为小块大小会导致数据密集型应用的高任务开销。相应地,文件系统的数据分配以及计算群集102的数据布局信息被修改以使用大块大小粒度,以支持数据密集型应用的要求。
单个块的块大小粒度可以变化。取决于性能要求以及折衷以及所使用的文件系统,单个块的默认块大小可以变化。例如,单个块的块大小粒度可以但不仅限于,在8KB到16MB之间变化。在一示例性实施例中,单个块的块大小粒度是1MB。例如,1MB固定大小的数据块防止文件系统中的分段,保持最优顺序读取和写入性能,并允许节点级别的局部性。在其他示例性实施例中,单个块的块大小粒度是256KB和512KB。
在一个实施例中,用于条带化要为计算操作存储在文件系统中的数据的存储分配区域与预先确定的大小相邻。例如,用于条带化要为计算操作存储在文件系统中的数据的存储分配区域可以是但不仅限于,从8MB到256MB连续的。在一示例性实施例中,64个1MB块被分组到用于条带化要为计算操作存储在文件系统中的数据的64MB存储分配区域。例如,用于条带化要为计算操作存储在文件系统中的数据的大块粒度可以是包括64个连续的单个1MB数据块的64MB数据块。在其他实施例中,用于条带化要为计算操作存储在文件系统中的数据的块大小粒度可以随着所使用的文件系统和应用性能要求而变化。
文件系统管理器108使用计算群集102中的每一计算节点104a,104b...104n的本地附接的存储器106a,106b...106n,而并非共享存储子系统114来为计算操作存储数据。例如,由于本地附接的存储器106a,106b的低成本以及共享存储子系统114的带宽限制,本地附接的存储器106a,106b...106n用于为计算操作存储数据。例如,数据密集型应用的存储器层构建于商品组件上,本地附接的存储器106a,106b...10n,以最小化存储成本,允许计算群集102可缩放到数千计算节点104a,104b...104n,以便高度并行的应用可以处理大量的数据。此外,数据密集型应用的存储器层还使用本地附接的存储器106a,106b...106n来构建,以通过能够将计算操作发送到数据而并非将数据发送到计算操作,来有效地支持在数据密集型应用中常见的大文件。
在一示例性实施例中,计算节点104a,104b...104n运行和支持从其中启动了计算操作的数据密集型类别的应用。在一个实施例中,数据密集型类别的应用包括但不仅限于,将大计算分解为较小的可并行化的计算的集合的应用。数据密集型应用中的常见的特征是,它们是并行的,以及它们的数据访问带宽要求支配其他资源要求。例如,数据密集型应用通过分区数据集使用映射图,支持计算被分解成较小的并行计算,并通过可以在计算群集102中的大计算节点104a,104b...104n上并行化和执行的键/值对来减少函数。
在一示例性实施例中,数据密集型应用包括基于云计算的分析应用。例如,基于云计算的分析应用包括但不仅限于,处理大量的连续地变化的数据的科学应用,包括卫星图像模式匹配应用,用于从基因组序列发现生物机能的应用,用于从望远镜图像导出的天文学数据的应用,以及使用磁共振成像(MRI)数据的大脑图形(patters)。在另一实施例中,数据密集型应用还包括诸如web搜索应用以及数据索引和挖掘应用之类的因特网规模的数据处理应用。
在206,文件系统管理器108将用于计算操作的数据分配到至少一个预留的存储分配区域中。在一个实施例中,文件系统管理器108跨文件系统实现数据的条带化,其中大文件被分成相等大小的块,以及以循环的方式将连续的块置于不同的磁盘上。在一示例性实施例中,文件系统使用宽条带化,以循环的方式跨本地附接的存储器106a,106b...106n来条带化连续的数据块集合。例如,条带化技术包括但不仅限于,宽条带化、窄条带化、以及无条带化。
在208,当计算节点104a,104b...104n的预留的存储分配区域的总数小于预定阈值时,文件系统管理器108预留至少一个另外的存储分配区域,直到计算节点104a,104b...104n的预留的存储分配区域的总数等于预定阈值。在一个实施例中,文件系统管理器108为计算节点104a,104b...104n预留了本地附接的存储器106a,106b...106n的单个存储盘上的包括一组连续的数据块的至少一个另外的存储分配区域,直到节点104a,104b...104n的预留的存储分配区域的总数等于预定阈值。例如,当计算节点104a,104b...104n的池的基数小于10时,文件系统管理器108为计算群集102中的计算节点104a,104b...104n预留了包括连续的数据块集合的另外的存储分配区域。
在210,文件系统管理器108将计算操作发送到计算群集102中的计算节点104a,104b...104n,所述计算操作的数据被分配给计算节点104a,104b...104n的本地附接的存储器106a,106b...106n。在一个实施例中,计算操作以及任务被发送到用于计算操作的数据所驻留的计算节点104a,104b...104n。例如,将计算任务发送到数据降低了网络开销,使得计算被处理得很快。在一示例性实施例中,通过使用文件系统的ioctl,使文件系统的块位置信息向应用暴露,计算任务与数据一起位于文件系统中。相应地,文件系统管理器108使用块位置信息来将计算任务发送到与计算任务相关联的数据所驻留的带有本地附接的存储器106a,106b...106n的计算节点104a,104b...104n。
在212,文件系统管理器108将分配给计算节点104a,104b...104n的本地附接的存储器106a,106b...106n的每个连续的数据块集合复制到计算群集102中的至少一个另外的计算节点104a,104b...104n的本地附接的存储器106a,106b...106n。例如,数据密集型应用需要能够从基础商品组件中的故障恢复。相应地,在需要数据被跨多个节点复制的多个节点和盘故障的情况下,数据密集型应用需要能够恢复和前进,以便在节点或盘故障的情况下,计算可以在不同的节点上重新启动。在一个实施例中,如果节点的计算操作有故障,则在与计算操作相关联的数据被复制到其中的第二节点上重新启动计算操作。
复制的机制可以基于所使用的文件系统和群集组件而变化。在一示例性实施例中,文件系统使用单个源复制模型,写入器将副本转发到所有副本中。在另一示例性实施例中,文件系统使用流水线复制,其中,写入器上的向外的带宽不跨多个流共享,以及写入数据可以在数据被写入到节点的同时,以从流水线中的一个节点到下一节点的序列被流水线化。
在214,文件系统管理器108使用共享存储子系统114的单个数据块,作为文件系统的块分配粒度,以便条带化要为计算群集102中的计算节点104a,104b...104n的数据访问操作而被存储在文件系统中的数据。在一个实施例中,文件系统管理器108使用共享存储子系统114的单个数据块,小块,作为用于为传统的应用分配数据的块分配粒度。在一示例性实施例中,文件系统管理器108使用到同一个文件的并行写入器,允许为传统的应用跨多个节点共享写入带宽。
在一示例性实施例中,文件系统管理器108为传统的应用的数据访问操作使用共享存储子系统114的单个数据块,以便进行有效的缓存管理,并降低预先获取开销,因为应用记录可以横跨不同的盘上的多个块。例如,内部数据访问操作可包括但不仅限于,簿记操作、数据传输操作、缓存管理操作,以及预先获取操作。相应地,文件系统管理器108为已经为传统的应用优化的盘访问以及预先获取操作使用小块粒度。在216,文件系统管理器108为从计算节点104a,104b...104n到共享存储子系统114的数据访问操作分配数据。
在218,文件系统管理器108跟踪分配给共享存储子系统114以及计算群集102中的每一个计算节点104a,104b...104n的本地附接的存储器106a,106b...106n的每个数据块的位置。在一个实施例中,文件系统管理器108使用分配图来跟踪分配给共享存储子系统114以及计算群集102中的每一个计算节点104a,104b...104n的本地附接的存储器106a,106b...106n的每个数据块的位置。在一个实施例中,文件系统管理器108为计算群集102中的每一个计算节点104a,104b...104n提供对分配图的访问。例如,计算节点104a,104b...104n使用分配图来确定分配给共享存储子系统114以及本地附接的存储器106a,106b...106n的每一个块的位置。
在一个实施例中,分配图被分成大量的可锁定的分配区域,n节点计算群集102有n个区域,以允许对分配位图的并行更新。在一示例性实施例中,分配图中的每个区域都包含群集文件系统102中的每个盘上的1/n的盘块的分配状态,在任何给定时间点,每个计算节点104a,104b...104n都具有x个区域的所有权,并使用这些区域来试图满足所有分配请求。例如,位图布局使文件系统通过一次只访问单个分配区域来分配跨所有盘适当地条带化的盘空间。相应地,锁定冲突被最小化,因为计算节点104a,104b...104n可以从不同的区域分配空间。
图3示出了根据一个实施例的用于条带化要被存储在文件系统中以便在计算群集中执行计算操作的数据的块分配方案。在一个实施例中,块分配方案使用本地附接的存储器106a,106b...106n的单个存储盘上的连续的数据块集合,来作为给来自计算群集102中的计算节点104a,104b...104n的计算操作分配要被存储的数据的块分配粒度。
示出了本地附接的存储器106a,106b...104n的多个存储盘302a,302b...302n。文件304被分成多个固定大小的数据块。在一示例性实施例中,文件304被分成多个1MB的数据块。多个单个1MB数据块被分组到多个连续的数据块集合。例如,对于64MB级别的相邻性,64个1MB固定大小的连续的数据块被分组到多个64MB数据块集合。每一单个64MB数据块集合以循环的方式被分配给本地附接的存储器106a,106b...106n的单个盘。
例如,连续的数据块集合306a被分配给本地附接的存储器106a,106b...106n的单个存储盘302a。连续的数据块集合306a被分配给本地附接的存储器106a,106b...106n的单个存储盘302a。连续的数据块集合306b被分配给本地附接的存储器106a,106b...106n的单个存储盘302b。连续的数据块集合306c被分配给本地附接的存储器106a,106b...106n的单个存储盘302c。连续的数据块集合306n被分配给本地附接的存储器106a,106b...106n的单个存储盘302n。
连续的数据块集合308a被分配给本地附接的存储器106a,106b...106n的单个存储盘302a。连续的数据块集合308b被分配给本地附接的存储器106a,106b...106n的单个存储盘302b。连续的数据块集合306c被分配给本地附接的存储器106a,106b...106n的单个存储盘308c。连续的数据块集合308n被分配给本地附接的存储器106a,106b...106n的单个存储盘302n。
连续的数据块集合310a被分配给本地附接的存储器106a,106b...106n的单个存储盘302a。连续的数据块集合310b被分配给本地附接的存储器106a,106b...106n的单个存储盘302b。连续的数据块集合310c被分配给本地附接的存储器106a,106b...106n的单个存储盘302c。连续的数据块集合306n被分配给本地附接的存储器106a,106b...106n的单个存储盘310。
图4示出了根据一个实施例的用于条带化要为计算群集102中的数据访问操作存储在文件系统中的数据的块分配方案。在一示例性实施例中,文件系统管理器108使用共享存储子系统114的单个存储盘上的单个块,作为用于为用于传统的应用的数据访问操作分配数据的块分配粒度。例如,数据访问操作包括内部簿记操作、数据传输操作、缓存管理操作,以及为传统的应用优化的预先获取操作。文件404被分成多个固定大小的数据块。在一示例性实施例中,文件404被分成多个1MB的数据块。每一单个1MB数据块集合以循环的方式被分配给共享存储子系统114的单个盘。例如,数据块406a被分配给共享存储子系统114的单个存储盘402a。数据块406a被分配给共享存储子系统114的存储盘402a,数据块406b被分配给存储盘402b,数据块406c被分配给存储盘402c,以及数据块406n被分配给存储盘402n。数据块408a被分配给共享存储子系统114的存储盘402a,数据块408b被分配给存储盘402b,数据块408c被分配给存储盘402c,以及数据块408n被分配给存储盘402n。数据块410a被分配给共享存储子系统114的存储盘402a,数据块410b被分配给存储盘402b,数据块410c被分配给存储盘402c,以及数据块410n被分配给存储盘402n。数据块412a被分配给共享存储子系统114的存储盘402a,数据块412b被分配给存储盘402b,数据块412c被分配给存储盘402c,以及数据块412n被分配给存储盘402n。数据块414a被分配给共享存储子系统114的存储盘402a,数据块414b被分配给存储盘402b,数据块414c被分配给存储盘402c,以及数据块414n被分配给存储盘402n。数据块416a被分配给共享存储子系统114的存储盘402a,数据块416b被分配给存储盘402b,数据块416c被分配给存储盘402c,以及数据块416n被分配给存储盘402n。
图5示出了根据一个实施例的其中可以实现用于使用动态块大小粒度来为计算群集中的不同类型的应用优化文件系统的过程的系统的框图。系统500包括连接到一个或多个服务器计算系统530的一个或多个客户端设备501。服务器530包括用于传递信息的总线502或其他通信机制,以及用于处理信息的与总线502耦合的处理器(CPU)504。服务器530还包括耦合到总线502的主存储器506,如随机存取存储器(RAM)或其他动态存储设备,用于存储信息和待由处理器504执行的指令。主存储器506还可以用于在待由处理器504执行的指令的执行过程中存储临时变量或其他中间信息。
服务器计算机系统530进一步包括耦合到总线502的只读存储器(ROM)508或其他静态存储设备,用于为处理器504存储静态信息和指令。提供了存储设备510,如磁盘或光盘,并耦合到总线502,用于存储信息和指令。总线502可以包含,例如用于寻址视频存储器或主存储器506的32地址线。总线502也可以包括,例如用于在诸如CPU 504、主存储器506、视频存储器和存储器510之间传输数据的32比特数据总线。可另选地,可以使用多路复用数据/地址线来代替单独的数据线和地址线。
服务器530可以通过总线502耦合到显示器512,以便向计算机用户显示信息。包括字母数字键及其他键的输入设备514耦合到总线502,以便向处理器504传递信息和命令选择。另一种用户输入设备包括光标控制装置516,如鼠标、轨迹球或光标方向键,用于向处理器504传递方向信息和命令选择,并用于控制显示器512上的光标移动。
响应于处理器504执行主存储器506中包含的一个或多个指令的一个或多个序列,由服务器530执行本发明的功能。可以从另一个计算机可读介质(如存储设备510)将这样的指令读取到主存储器506中。执行主存储器506中包含的指令序列会使处理器504执行此处所描述的处理步骤。还可以使用多处理布局中的一个或多个处理器来执行主存储器506中包含的指令序列。在替换实施例中,可以使用硬线连接的电路来代替软件指令或与软件指令相结合,来实现本发明。如此,本发明的各实施例不限于硬件电路和软件的任何特定的组合。
计算机可读介质的各种形式可以涉及向处理器504传送一个或多个指令的一个或多个序列以供其执行。例如,指令最初可以位于远程计算机的磁盘上。远程计算机可以将指令加载到其动态存储器中,并使用调制解调器通过电话线路发送指令。服务器530本地的调制解调器可以通过电话线接收数据,并使用红外发射器将数据转换为红外信号。耦合到总线502的红外检测器可以接收红外信号中携带的数据,并将数据放到总线502中。总线502向主存储器506传送数据,处理器504从主存储器506中检索指令并执行这些指令。在由处理器504执行之前或之后,从主存储器506接收到的指令可以可选地存储在存储设备510中。
服务器530还包括耦合到总线502的通信接口518。通信接口518提供耦合到网络链路520的双向数据通信,而网络链路520又连接到现在通常被称为因特网528的全球分组数据通信网络。因特网528使用携带了数字数据流的电的、电磁的或光的信号。向服务器530以及从服务器530传送数字数据的经过各种网络的信号和网络链路520上的信号,以及经过通信接口518的信号,是输送信息的载波的示例形式。
在服务器530的另一实施例中,接口518通过通信链路520连接到网络522。例如,通信接口518可以是用于提供到对应类型的电话线路(可以包括网络链路520的一部分)的数据通信连接的综合业务数字网(ISDN)卡,或调制解调器。作为另一个示例,通信接口518可以是提供到兼容的LAN的数据通信连接的局域网(LAN)卡。还可以实现无线链路。在任何这样的实现中,通信接口518都发送和接收携带了代表各种信息的数字数据流的电的、电磁的或光的信号。
网络链路520通常通过一种或多种网络提供到其他数据设备的数据通信。例如,网络链路520可以通过局域网522提供到主机计算机524或到由因特网服务提供商(ISP)526运营的数据设备的连接。ISP526又通过因特网528提供数据通信业务。局域网522和因特网528两者都使用携带了数字数据流的电的、电磁的或光的信号。向服务器530以及从服务器530传送数字数据的经过各种网络的信号和网络链路120上的信号,以及经过通信接口518的信号,是输送信息的载波的示例形式。
服务器530可以通过网络、网络链路520和通信接口518发送/接收消息和数据,包括电子邮件、程序代码。此外,通信接口518可以包括USB/调谐器,以及网络链路520可以是用于将服务器530连接到有线信号提供商、卫星提供商或其他陆地传输系统以便从另一源接收消息、数据和程序代码的天线或电缆。
此处所描述的本发明的示例性版本可以被实现为诸如包括服务器530的系统500之类的分布式处理系统中的逻辑操作。本发明的逻辑操作可被实现为在服务器530中执行的步骤的序列,以及作为系统500内的互连的机器模块。实现是选择问题,并可以取决于实现本发明的系统500的性能要求。如此,构成本发明的所述示例版本的逻辑操作被称为,例如操作、步骤或模块。
类似于上文所描述的服务器530,客户端设备501可包括处理器、存储器、存储设备、显示器、输入设备和用于将客户端设备连接到因特网528、ISP 526或LAN 522,用于与服务器530进行通信的通信接口(例如,电子邮件接口)。
系统500还可以包括以与客户端设备501相同方式操作的计算机(例如,个人计算机、计算节点)505,其中,用户可以使用一台或多台计算机505来管理服务器530中的数据。
一般而言,如此处所使用的术语“计算机可读介质”是指参与向处理器504提供指令以供其执行的任何介质。这样的介质可以呈现许多形式,包括但不仅限于,非易失性介质,易失性介质和传输介质。非易失性介质包括,例如光盘或磁盘,如存储设备510。易失性介质包括动态存储器,如主存储器506。传输介质包括同轴电缆、铜线和光纤,包括构成总线502的线路。
如此,公开了使用动态块大小粒度来为计算群集中的不同类型的应用优化文件系统。如本领域技术人员所理解的,本发明的各方面可以作为系统、方法或计算机程序产品来实现。本发明的一方面包括用于使用动态块大小粒度来为计算群集中的不同类型的应用优化文件系统的计算机程序产品。该计算机程序产品包括其上包含计算机可读程序代码的计算机可读存储介质。
计算机可读存储介质包括被配置成为群集中的每一个节点预留预定数量的存储分配区域的计算机可读程序代码,其中,每个存储分配区域都包括本地附接的存储器的单个存储盘上的一组连续的数据块。计算机可读存储介质还包括计算机可读程序代码,这些程序代码被配置成使用本地附接的存储器的单个存储盘上的连续的数据块集合,作为文件系统的块分配粒度,以便条带化要为群集中的计算操作而存储在文件系统中的数据。计算机可读存储介质还包括计算机可读程序代码,这些程序代码被配置成使用共享存储子系统的单个数据块,作为文件系统的块分配粒度,以便条带化要为群集中的数据访问操作而存储在文件系统中的数据。
因此,本发明的各方面可以采取此处可以一般性地被称为“电路”、“模块”或“系统”的完全硬件实施例、完全软件实施例(包括固件、常驻软件,微代码等等)或组合了软件和硬件方面的实施例的形式。此外,本发明的各方面还可以采取以在其上体现了计算机可读的程序代码的一个或多个计算机可读介质体现的计算机程序产品的形式。
可以使用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读介质可以是,例如但不仅限于,电、磁、光、电磁、红外、或半导体系统、装置、或设备或前面的各项的任何合适的组合。更具体的计算机可读存储介质的示例(非穷尽列表)包括下列各项:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式压缩盘只读存储器(CD-ROM)、光存储设备、磁存储设备,或前面的各项的任何合适的组合。在此文档的上下文中,计算机可读存储介质可以是可以包含、或存储供指令执行系统、设备或装置使用或与它们一起使用的程序的任何有形的介质。
计算机可读信号介质可以包括其中带有计算机可读程序代码的传播的数据信号,例如,无论是在基带中,还是作为载波的一部分。这样的传播信号可以呈现各种形式中的任何一种形式,包括但不仅限于,电磁、光学或其任何合适的组合。计算机可读信号介质可以是不是计算机可读存储介质,并且能够传递、传播或传输供指令执行系统、设备或装置使用或与它们结合使用的程序的任何计算机可读介质。
在计算机可读介质上体现的程序代码可以使用任何合适的介质进行传输,包括但不仅限于无线、有线线路、光缆、RF等等,或前面的各项的任何合适的组合。
用于执行本发明的各方面的操作的计算机程序代码可以以一种或多种编程语言的任何组合来进行编写,包括诸如Java、Smalltalk、C++等等之类的面向对象编程语言,以及诸如“C”编程语言或类似的编程语言之类的常规过程编程语言。程序代码可以作为独立软件包完全在用户的计算机上,部分地在用户的计算机上执行,部分地在用户的计算机上并且部分地在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何网络类型连接到用户的计算机,包括LAN或广域网WAN,或者可以连接到外部计算机(例如,使用因特网服务提供商,通过因特网)。
上文参考根据本发明的各实施例的方法、设备(系统)、以及计算机程序产品的流程图图示和/或框图描述了本发明的各个方面。可以理解,流程图和/或框图的每一框,流程图和/或框图中的框的组合,都可以通过计算机程序指令来实现。这些计算机程序指令可以被提供给通用计算机、专用计算机,或其他可编程数据处理设备的处理器,以产生机器,以便通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在该流程图和/或框图框所指定的功能/动作的装置。
这些计算机程序指令还可以存储在计算机可读介质中,该介质可以指示计算机或其他可编程数据处理设备或其他设备以特定方式运转,以便存储在计算机可读介质中的指令产生一种包括了指令的产品,这些指令实现了在该流程图和/或框图框所指定的功能/动作。
计算机程序指令还可以加载到计算机、其他可编程数据处理设备,或其他设备中,以使一系列操作步骤在计算机上、其他可编程设备上或其他设备上执行,以产生计算机实现的过程,以便在计算机或其他可编程设备上执行的指令提供用于实现在流程图和/或框图框所指定的功能/动作的过程。

Claims (15)

1.一种用于使用动态块大小粒度来为计算群集中的不同类型的应用优化文件系统的方法,包括:
为群集中的每一个节点预留预定数量的存储分配区域,其中,每个存储分配区域都包括本地附接的存储器的单个存储盘上的连续的数据块集合;
使用本地附接的存储器的单个存储盘上的连续的数据块集合,作为文件系统的块分配粒度,以便条带化要为所述群集中的计算操作而存储在文件系统中的数据;以及
使用共享存储子系统的单个数据块,作为文件系统的块分配粒度,以便条带化要为群集中的数据访问操作而存储在文件系统中的数据。
2.如权利要求1所述的方法,进一步包括:
将用于计算操作的数据分配到所述预留的存储分配区域中的至少一个。
3.如权利要求1或2所述的方法,进一步包括:
当所述群集中的节点的预留的存储分配区域的总数小于所述预定数量时,预留至少一个另外的存储分配区域,直到所述节点的预留的存储分配区域的总数等于所述预定数量。
4.根据前述任何一个权利要求所述的方法,进一步包括:
将计算操作发送到所述群集中的节点,所述计算操作的数据被分配给所述节点的本地附接的存储器。
5.根据前述任何一个权利要求所述的方法,进一步包括:
将分配给节点的本地附接的存储器的每个连续的数据块集合复制到所述群集中的第二节点的本地附接的存储器。
6.根据前述任何一个权利要求所述的方法,进一步包括:
将用于数据访问操作的数据分配到所述共享存储子系统。
7.根据前述任何一个权利要求所述的方法,进一步包括:
跟踪分配给所述共享存储子系统以及所述文件系统中的本地附接的存储器的每个数据块的位置。
8.根据前述任何一个权利要求所述的方法,其中,所述数据访问操作是从包括下列各项的组中选择的:簿记操作、数据传输操作、缓存管理操作、以及预先获取操作。
9.如权利要求6所述的方法,进一步包括:
如果节点的计算操作有故障,则在与所述计算操作相关联的数据被复制到其中的第二节点上重新启动所述计算操作。
10.根据前述任何一个权利要求所述的方法,其中,所述群集为远程客户端托管计算服务。
11.一种用于使用动态块大小粒度来为计算群集中的不同类型的应用优化文件系统的系统,包括:
计算群集,所述计算群集包括:
多个节点,其中,所述多个节点中的每一个都包括本地附接的存储器,
耦合到所述多个节点中的每一个的共享存储子系统,以及
耦合到所述共享存储子系统以及所述多个节点中的每一个的文件系统管理器,其中,所述文件系统管理器:
为所述计算群集中的所述多个节点中的每一个预留预定数量的存储分配区域,其中,每个存储分配区域都包括本地附接的存储器的单个存储盘上的连续的数据块集合,
使用本地附接的存储器的单个存储盘上的连续的数据块集合,作为文件系统的块分配粒度,以便条带化要为所述计算群集中的计算操作而存储在文件系统中的数据,以及
使用共享存储子系统的单个数据块,作为文件系统的块分配粒度,以便条带化要为所述计算群集中的数据访问操作而存储在文件系统中的数据。
12.如权利要求11所述的系统,其中,所述文件系统管理器将计算操作发送到所述计算群集中的节点,所述计算操作的数据被分配给所述节点的本地附接的存储器。
13.如权利要求11或12所述的系统,其中,当节点的预留的存储分配区域的总数小于所述预定数量时,所述文件系统管理器预留至少一个另外的存储分配区域,直到所述节点的所述预留的存储分配区域的总数等于所述预定数量。
14.如权利要求11到13中的任何一个权利要求所述的系统,其中,所述文件系统管理器:
将分配给节点的本地附接的存储器的每个连续的数据块集合复制到所述计算群集中的第二节点的本地附接的存储器,以及
如果节点的计算操作有故障,则在与所述计算操作相关联的数据被复制到其中的第二节点上重新启动所述计算操作。
15.一种包括存储在计算机可读介质上的计算机程序代码的计算机程序,当被加载到计算机系统中并在其上执行时,导致所述计算机系统执行根据权利要求1到10中任一权利要求所述的方法的所有步骤。
CN201180018635.9A 2010-04-14 2011-04-08 用于为计算群集中的不同类型的应用优化文件系统的方法和系统 Active CN102844734B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/760,476 US9021229B2 (en) 2010-04-14 2010-04-14 Optimizing a file system for different types of applications in a compute cluster using dynamic block size granularity
US12/760,476 2010-04-14
PCT/EP2011/055496 WO2011128257A1 (en) 2010-04-14 2011-04-08 Optimizing a file system for different types of applications in a compute cluster using dynamic block size granularity

Publications (2)

Publication Number Publication Date
CN102844734A true CN102844734A (zh) 2012-12-26
CN102844734B CN102844734B (zh) 2016-02-10

Family

ID=44140786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180018635.9A Active CN102844734B (zh) 2010-04-14 2011-04-08 用于为计算群集中的不同类型的应用优化文件系统的方法和系统

Country Status (6)

Country Link
US (1) US9021229B2 (zh)
JP (1) JP5643421B2 (zh)
CN (1) CN102844734B (zh)
DE (1) DE112011101317T5 (zh)
GB (1) GB2492870B (zh)
WO (1) WO2011128257A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015024240A1 (zh) * 2013-08-23 2015-02-26 华为技术有限公司 一种网络资源控制方法、装置和系统
CN108647228A (zh) * 2018-03-28 2018-10-12 中国电力科学研究院有限公司 可见光通信大数据实时处理方法和系统
US10339100B2 (en) 2014-04-22 2019-07-02 Huawei Technologies Co., Ltd. File management method and file system
CN110334057A (zh) * 2013-11-08 2019-10-15 德州仪器公司 文件存取方法及其系统
CN112349315A (zh) * 2019-08-07 2021-02-09 爱思开海力士有限公司 存储器系统、存储器控制器和操作方法

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11726955B2 (en) 2010-06-19 2023-08-15 Hewlett Packard Enterprise Development Lp Methods and apparatus for efficient container location database snapshot operation
US9323775B2 (en) 2010-06-19 2016-04-26 Mapr Technologies, Inc. Map-reduce ready distributed file system
US9411517B2 (en) 2010-08-30 2016-08-09 Vmware, Inc. System software interfaces for space-optimized block devices
EP2740041B1 (en) * 2011-08-02 2019-10-23 Jadhav, Ajay Cloud-based distributed persistence and cache data model
CN102426552B (zh) * 2011-10-31 2014-06-04 华为数字技术(成都)有限公司 存储系统服务质量控制方法、装置和系统
US8850133B1 (en) * 2011-12-20 2014-09-30 Emc Corporation Using dynamic block sizes in data transfer operations
US9405692B2 (en) * 2012-03-21 2016-08-02 Cloudera, Inc. Data processing performance enhancement in a distributed file system
CN104520845B (zh) * 2012-09-06 2018-07-13 慧与发展有限责任合伙企业 可伸缩文件系统
CN103793425B (zh) 2012-10-31 2017-07-14 国际商业机器公司 用于分布式系统的数据处理方法及装置
US9122398B2 (en) 2012-10-31 2015-09-01 International Business Machines Corporation Generalized storage allocation for multiple architectures
DE102014210233A1 (de) * 2014-05-28 2015-12-03 Siemens Aktiengesellschaft Teilen von Rechen-Ressourcen
US9836419B2 (en) 2014-09-15 2017-12-05 Microsoft Technology Licensing, Llc Efficient data movement within file system volumes
US10298709B1 (en) * 2014-12-31 2019-05-21 EMC IP Holding Company LLC Performance of Hadoop distributed file system operations in a non-native operating system
CN106547055B (zh) * 2015-09-23 2019-04-16 青岛海信宽带多媒体技术有限公司 一种光探测模组和光模块
KR20170048721A (ko) 2015-10-27 2017-05-10 삼성에스디에스 주식회사 분산 처리를 위한 대용량 파일의 블록화 방법 및 그 장치
CN106657182B (zh) 2015-10-30 2020-10-27 阿里巴巴集团控股有限公司 云端文件处理方法和装置
US11106625B2 (en) 2015-11-30 2021-08-31 International Business Machines Corporation Enabling a Hadoop file system with POSIX compliance
US9733834B1 (en) 2016-01-28 2017-08-15 Weka.IO Ltd. Congestion mitigation in a distributed storage system
US10228855B2 (en) * 2016-03-30 2019-03-12 International Business Machines Corporation Tuning memory across database clusters for distributed query stability
CN109669640B (zh) * 2018-12-24 2023-05-23 浙江大华技术股份有限公司 一种数据存储方法、装置、电子设备及介质
US10963378B2 (en) 2019-03-19 2021-03-30 International Business Machines Corporation Dynamic capacity allocation of stripes in cluster based storage systems
CN112650441B (zh) * 2019-10-11 2022-11-04 杭州海康威视数字技术股份有限公司 条带缓存分配方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996025801A1 (en) * 1995-02-17 1996-08-22 Trustus Pty. Ltd. Method for partitioning a block of data into subblocks and for storing and communicating such subblocks
US20060149915A1 (en) * 2005-01-05 2006-07-06 Gennady Maly Memory management technique
CN101410783A (zh) * 2006-01-26 2009-04-15 网络装置公司 内容可寻址存储阵列元件

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442752A (en) 1992-01-24 1995-08-15 International Business Machines Corporation Data storage method for DASD arrays using striping based on file length
JP4128206B2 (ja) 1993-06-21 2008-07-30 株式会社日立製作所 計算機システムおよび二次記憶装置
US5526504A (en) * 1993-12-15 1996-06-11 Silicon Graphics, Inc. Variable page size translation lookaside buffer
US5678024A (en) 1995-05-08 1997-10-14 International Business Machines Corporation Method and system for dynamic performance resource management within a computer based system
JP3563907B2 (ja) 1997-01-30 2004-09-08 富士通株式会社 並列計算機
JPH10283230A (ja) 1997-03-31 1998-10-23 Nec Corp ファイルデータ格納装置およびプログラムを記録した機械読み取り可能な記録媒体
US7032119B2 (en) * 2000-09-27 2006-04-18 Amphus, Inc. Dynamic power and workload management for multi-server system
JP2002132548A (ja) 2000-10-23 2002-05-10 Toshiba Corp 記憶装置および方法
AU2002236435A1 (en) 2000-10-26 2002-05-21 Prismedia Networks, Inc. Method and apparatus for real-time parallel delivery of segments of a large payload file
JP2004199535A (ja) 2002-12-20 2004-07-15 Hitachi Ltd 計算機システムおよびそのストレージの管理方法
US20050039049A1 (en) * 2003-08-14 2005-02-17 International Business Machines Corporation Method and apparatus for a multiple concurrent writer file system
US7694072B2 (en) * 2005-09-22 2010-04-06 Xyratex Technology Limited System and method for flexible physical-logical mapping raid arrays
US7945726B2 (en) * 2006-05-08 2011-05-17 Emc Corporation Pre-allocation and hierarchical mapping of data blocks distributed from a first processor to a second processor for use in a file system
JP2007328727A (ja) 2006-06-09 2007-12-20 Hitachi Ltd 分散ファイル管理方法及び情報処理装置
US7945716B2 (en) * 2007-09-27 2011-05-17 Integrated Device Technology, Inc. Serial buffer supporting virtual queue to physical memory mapping
US8478715B2 (en) * 2008-05-16 2013-07-02 Microsoft Corporation Extending OLAP navigation employing analytic workflows
US8890880B2 (en) * 2009-12-16 2014-11-18 Intel Corporation Graphics pipeline scheduling architecture utilizing performance counters

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996025801A1 (en) * 1995-02-17 1996-08-22 Trustus Pty. Ltd. Method for partitioning a block of data into subblocks and for storing and communicating such subblocks
US20060149915A1 (en) * 2005-01-05 2006-07-06 Gennady Maly Memory management technique
CN101410783A (zh) * 2006-01-26 2009-04-15 网络装置公司 内容可寻址存储阵列元件

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
B.GONZATLEZ等: "The Hydra Filesystem: A Distrbuted Storage Famework", 《LINUX CLUSTERS INTERNATIONAL》, vol. 2006, 31 December 2006 (2006-12-31), pages 1 - 12 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015024240A1 (zh) * 2013-08-23 2015-02-26 华为技术有限公司 一种网络资源控制方法、装置和系统
CN104584627A (zh) * 2013-08-23 2015-04-29 华为技术有限公司 一种网络资源控制方法、装置和系统
CN104584627B (zh) * 2013-08-23 2018-05-18 华为技术有限公司 一种网络资源控制方法、装置和系统
CN110334057A (zh) * 2013-11-08 2019-10-15 德州仪器公司 文件存取方法及其系统
CN110334057B (zh) * 2013-11-08 2023-10-20 德州仪器公司 文件存取方法及其系统
US10339100B2 (en) 2014-04-22 2019-07-02 Huawei Technologies Co., Ltd. File management method and file system
CN108647228A (zh) * 2018-03-28 2018-10-12 中国电力科学研究院有限公司 可见光通信大数据实时处理方法和系统
CN112349315A (zh) * 2019-08-07 2021-02-09 爱思开海力士有限公司 存储器系统、存储器控制器和操作方法
CN112349315B (zh) * 2019-08-07 2023-08-01 爱思开海力士有限公司 存储器系统、存储器控制器和操作方法

Also Published As

Publication number Publication date
GB2492870A (en) 2013-01-16
CN102844734B (zh) 2016-02-10
GB2492870B (en) 2018-05-16
JP2013527524A (ja) 2013-06-27
US9021229B2 (en) 2015-04-28
JP5643421B2 (ja) 2014-12-17
DE112011101317T5 (de) 2013-01-31
US20110258378A1 (en) 2011-10-20
WO2011128257A1 (en) 2011-10-20
GB201210249D0 (en) 2012-07-25

Similar Documents

Publication Publication Date Title
CN102844734B (zh) 用于为计算群集中的不同类型的应用优化文件系统的方法和系统
US20210342225A1 (en) Data Reconstruction in Distributed Storage Systems
US11444641B2 (en) Data storage system with enforced fencing
US11113150B2 (en) Distributing data on distributed storage systems
US11467732B2 (en) Data storage system with multiple durability levels
CN1244055C (zh) 计算机系统及其通信的方法
US10509601B2 (en) Data storage system with multi-tier control plane
US10268716B2 (en) Enhanced hadoop framework for big-data applications
CN104603739A (zh) 对并行存储的块级访问
US20150334203A1 (en) Optimizing distributed data analytics for shared storage
CN105373342A (zh) 异构统一存储器
KR101793890B1 (ko) 자율 메모리 아키텍처
CN102693230B (zh) 用于存储区域网络的文件系统
US12013818B2 (en) Hybrid model of fine-grained locking and data partitioning
US9420036B2 (en) Data-intensive computer architecture
US20020087673A1 (en) Recovery of dynamic maps and data managed thereby
KR20160121380A (ko) 토러스 네트워크를 이용하는 분산 파일 시스템 및 토러스 네트워크를 이용하는 분산 파일 시스템의 구성 및 운영 방법
US20050050292A1 (en) Method and apparatus for per-process based virtual memory hierarchy and disk storage for distributed systems enabled as middleware for main memory and disk blocks on demand
CN106354428B (zh) 一种多物理层分区计算机体系结构的存储共享系统
Yang et al. Automatic and Scalable Data Replication Manager in Distributed Computation and Storage Infrastructure of Cyber-Physical Systems.
WO2002029601A2 (en) Simd system and method
US9811530B1 (en) Cluster file system with metadata server for storage of parallel log structured file system metadata for a shared file
US7484038B1 (en) Method and apparatus to manage storage devices
US10140307B1 (en) Efficiently managing reference weights for write splits
CN111857535A (zh) 用于存储管理的方法、电子设备和计算机可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant