WO2020125362A1 - 文件系统及数据布局方法 - Google Patents

文件系统及数据布局方法 Download PDF

Info

Publication number
WO2020125362A1
WO2020125362A1 PCT/CN2019/121301 CN2019121301W WO2020125362A1 WO 2020125362 A1 WO2020125362 A1 WO 2020125362A1 CN 2019121301 W CN2019121301 W CN 2019121301W WO 2020125362 A1 WO2020125362 A1 WO 2020125362A1
Authority
WO
WIPO (PCT)
Prior art keywords
module
file system
cost
file
area
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.)
Ceased
Application number
PCT/CN2019/121301
Other languages
English (en)
French (fr)
Inventor
王洋
夏明辉
须成忠
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.)
Shenzhen Institute of Advanced Technology of CAS
Original Assignee
Shenzhen Institute of Advanced Technology of CAS
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 Shenzhen Institute of Advanced Technology of CAS filed Critical Shenzhen Institute of Advanced Technology of CAS
Publication of WO2020125362A1 publication Critical patent/WO2020125362A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types

Definitions

  • the invention belongs to the technical field of data layout, and particularly relates to a file system and a data layout method.
  • GPFS is the abbreviation of General Parallel File System.
  • GPFS from IBM is a scalable, high-performance, general-purpose parallel file system based on shared disks. GPFS can provide parallel, high-speed, safe, and reliable data access for all nodes in the storage system.
  • PanFS is a parallel file system developed by Panasas.
  • PanFS is a general-purpose parallel file system. At present, its main application field is similar to luster.
  • PanFS is a scalable line that can provide strong consistency through distributed locks.
  • the performance gap between a solid-state drive-based server and a hard disk drive-based server will significantly reduce the performance of the parallel file system, because solid-state drive-based servers are always better than Hard disk drive servers have higher performance, which requires less I/O time to complete the same amount of data access.
  • the existing layout scheme is applied, the scheme will give solid-state drive-based servers and hard disk drive-based servers Allocating the same stripe may result in severe load imbalance between heterogeneous servers.
  • complex I/O workloads may also jeopardize the efficiency of I/O systems.
  • the present invention provides a file system, the file system includes An I/O tracer, a cost calculation module, and an area division module that are electrically connected to each other, and the I/O tracer is used to provide the area division module with the I/O information collected by itself when the file system is running
  • the I/O tracer is also used to provide the cost calculation module with the configuration file of the file system collected by itself; the cost calculation module is used to calculate or estimate the file request in the file system Access cost to output a cost model to the area dividing module; the area dividing module is used to generate a distribution area with a minimum total cost according to the cost model, and divide the file into different areas, the area dividing module It is also used to obtain the stripe size corresponding to the area.
  • the file system further includes a daemon process module, the daemon process module is used to execute the daemon process in the background; and the FUSE module is used as an agent of the daemon process.
  • the file system further includes an update data layout module, the update data layout module and the daemon module, the I/O tracer, the area division module, and the hybrid storage system, respectively Connected, the update data layout module is used to dynamically detect and update area changes.
  • the calculation formula of the replication time is: T c (r, h, s) ⁇ 3 (mh+ns) t c , where t c represents the unit data replication time from kernel space to user space, and h represents HServer Band size, s indicates the strip size on SServer, m indicates the number of HServers, and n indicates the number of SServers;
  • the area division model is used to obtain the minimum cost of dividing 1 event into k areas starting from event i
  • the invention also provides a data layout method, which includes:
  • Step S1 Collect the I/O information of data access at runtime and the file system configuration file used for cost modeling into the tracking file, orient the file system configuration file to establish the cost model, and use the I/O information to Area division
  • Step S2 calculate or estimate the access cost of the file request to form a cost model
  • Step S3 generate a distribution area with a minimum total cost according to the cost model, and divide the file into different areas;
  • FIG. 1 is a schematic diagram of a data layout scheme using fixed-size strips in the prior art
  • Figure 2 is a schematic diagram of the data layout scheme based on area division
  • Figure 3 is a schematic diagram of a file system based on regional data layout
  • FIG. 5 is an application example diagram of a file system in an embodiment of the present invention.
  • the regional scheme in RLFS is a more fine-grained and more adaptive data layout scheme than the traditional data layout, and corresponds to different stripe sizes in all storage servers. Therefore, the regional scheme in RLFS can be seen as a variant of the 1-DH layout scheme. RLFS can aggregate the bandwidth of all storage servers to maximize I/O performance. RLFS matches the hybrid storage system 100 very well.
  • RLFS aims to support area-based data layout by using file strips of different sizes.
  • RLFS uses a partitioned processing method to achieve the optimal data layout.
  • a cost model is generated in RLFS. According to the cost model, RLFS divides a large file into a set of regions, and each region stores its own strip size separately. When the total cost of all I/O requests of the application is minimized, the optimal regions and their stripe sizes are obtained.
  • the storage system involved in this embodiment is a hybrid storage system 100.
  • the hybrid storage system 100 includes a solid-state drive-based server 102 and a hard disk drive-based server 101, a solid-state drive-based server referred to as SServer, and a hard disk drive-based server. HServer.
  • An embodiment of the present invention provides a file system, which is called a region-level file system, that is, Region Level File System, or RLFS for short.
  • the file system can support regional data layout and solve the data distribution problem in the existing parallel file system.
  • RLFS relies on a defined cost model and a heterogeneous sensing scheme based on each region to determine the optimal file stripe size for each server, and further uses the changed access mode to adjust the regional scheme at runtime.
  • RLFS is storage system and application-aware. RLFS essentially represents a change from the traditional one-dimensional fixed stripe size layout to a two-dimensionally changing stripe size layout. RLFS can adapt well to server performance and application behavior. Variety. In addition, RLFS also updates the generated data layout scheme based on the detected change in access mode to solve the static data layout problem, making it more suitable for file access at runtime.
  • an embodiment of the present invention provides a file system, which is called a regional file system, that is, Region Level File System, abbreviated as RLFS.
  • the file system can support regional data layout and solve the data distribution problem in the existing parallel file system.
  • the kernel part of the RLFS package and the user-level daemon module 20 includes the FUSE module 10.
  • the file system RLFS provided by the embodiments of the present invention is preferably designed based on the FUSE framework.
  • FUSE refers to the user space file system, which is an abbreviation of Filesystem in Userspace.
  • the kernel part is preferably a Linux kernel module, and the kernel part further includes a VFS module 11, which is a virtual file system, which is an abbreviation of Virtual File System.
  • the VFS module 11 is used to register RLFS.
  • a block device is created in the kernel part. The block device acts as an interface between the daemon process module 20 and the kernel part.
  • the FUSE module 10 acts as an agent of the daemon process module 20 for various file systems issued by the application. request.
  • the application program from client 1 can access RLFS by mounting RLFS into its name space, and thereafter, all file system calls directed to the mount point are forwarded to FUSE module 10 through VFS module 11. Then, the FUSE module 10 relays the call instruction in the request queue to the daemon module 20 through the block device, wherein, by contacting the metadata server 200 and or other storage server, an appropriate service processing program is called to adapt to the file system call.
  • the response propagates through the kernel part along the reverse path and eventually propagates back to the application.
  • the application is usually in a waiting state after making a request, waiting for a response.
  • the RLFS daemon and storage server should complete all PFS semantics.
  • the read handler should first identify which storage servers have the requested data segment, and which server stores the corresponding data segment, and then issue sub-requests to these servers for parallel access.
  • the kernel part also includes a file log module 12 for recording operation logs for the metadata server 200.
  • RLFS In addition to the general semantics of PFS, RLFS also needs to implement region-based data layout functions. To achieve this goal, RLFS is equipped with an I/O tracer 3 with three user-level components, a cost calculation module 4 and an area division module 5. RLFS completes a three-phase data layout cycle through three user-level components. The data layout cycle starts from the tracking phase. During the tracking phase, the I/O tracer 3 collects the runtime statistics of data access and the summary of the file system used for cost modeling (for example, FUSE queue information) during application execution. Into the trace file.
  • cost modeling for example, FUSE queue information
  • RLFS can greatly improve the I/O performance of the application in subsequent operations.
  • RLFS also includes an updated data layout module 8, which is connected to the daemon module 20, the I/O tracer 3, the area division module 5, and the hybrid storage system 100, respectively.
  • the updated data layout module is used In order to dynamically update the data layout, the update data layout module is used to dynamically detect and update area changes. . Further, the specific functions of the I/O tracer 3, the cost calculation module 4 and the area division module 5 are separately explained:
  • I/O tracer 3 is used in RLFS to collect both runtime I/O information and file system configuration files.
  • IOSIG [42] the file system provided by the embodiment of the present invention is designed based on the FUSE framework, similar to the existing IOSIG [42]
  • the I/O data collection tools in the technology cannot be directly applied to RLFS. This is determined by the inherent characteristics of the FUSE framework structure. Therefore, in the I/O tracer 3 involved in this embodiment, which follows the N-1 log mode, all RLFS daemons are used to write a single file shared file. Therefore, the designed I/O tracer 3 can help to collect all information of I/O operations, including file access type, operation time, and other process-related data.
  • the cost calculation module 4 can generate a cost model, and the cost model aims to find the minimum total cost.
  • the file system proposed in the embodiment of the present invention needs to rely on the cost calculation module 4.
  • the cost is defined as the I/O completion time of each file request.
  • the cost calculation module 4 is used to calculate the cost of file request access in the file system.
  • the file system is compatible with the hybrid storage system.
  • the cost calculation module 4 should include the system cost of the file system and the network and storage costs.
  • the cost calculation module 4 includes a system cost calculation module 41 and a network and storage cost calculation module 42.
  • the system cost of the file system mainly refers to the time overhead in the FUSE data path. Since the main goal of RLFS is to optimize the read request through the optimal position of the data file on the hybrid storage system 100, only the system cost related to the read request is defined in this embodiment, and the cost of the write request can also be followed by Export with the same parameters.
  • the service time is divided into three sub-parts, one is the waiting time in the FUSE module 10, and the other is the two between the FUSE module 10 and the daemon module 20.
  • the time of context switching the third is the time of the three copy operations collected in the first copy.
  • the time to wait for a read request in the FUSE module 10 queue is closely related to the application running between the client 1 and RLFS.
  • the time to wait for the read request in the FUSE module 10 queue depends not only on the I/O request made by the application Mode, which is also related to other factors caused by the file system, such as page caching or interruption. Therefore, it is difficult to estimate it accurately.
  • Tq 0.
  • reproduction time T c The first copy of the collected time copy operation of three, referred to as reproduction time T c, r is proportional to the size of the data reproduction time T c with the requested file, which is calculated as:
  • the file request data size is r, and the calculation formula for the file request data size r is:
  • s m and s n represent the maximum sub-request size on HServer and the maximum sub-request size on SServer, and s m ⁇ h and s n ⁇ s, h represents the stripe size on HServer, s represents the stripe size on SServer, So, further, the replication time T c can be expressed as:
  • While the network by the network computing and storage costs and storage costs calculation module 42 comprises: a network connection time T e, T a memory access times and network transmission time T x.
  • PFS requests are divided into a set of subtasks, and each subtask is forwarded to a separate storage server for parallel execution. Therefore, the cost of request subcomponents in the network and storage server is determined by the maximum cost of all subrequests.
  • the network transmission time T x can be determined according to the data size (s m and s n ) and the data transmission network time t. The specific formula is:
  • s m s n represent the largest sub-request HServer the maximum size of the child and SServer request size.
  • the storage access time T a is determined by the sub-request.
  • the specific formula is:
  • s m and s n represent the maximum sub-request size on the HServer and the maximum sub-request size on the SServer, respectively.
  • t h and t s represent the unit data transmission time on the HServer and the unit data transmission time on the SServer.
  • the network and storage cost T 2 calculated by the network and storage cost calculation module 42 can be expressed by the formula:
  • h indicates the strip size on the HServer
  • s indicates the strip size on the SServer.
  • the write request involves more operations than read.
  • two contexts are performed between the FUSE module 10 and the daemon module 20
  • the switching time T s needs to include the time for write amplification, garbage collection and wear leveling.
  • the area division module 5 can divide the file into different areas, trying to minimize the total cost of a given access set featuring parallel applications.
  • the existing area division device has HARL, and HARL divides the area division and stripe size determination into two different stages to deal with.
  • the layout strategy of RLFS is integrated, and the layout strategy of RLFS is a unified
  • the method considers the problem of area division and stripe size determination, so RLFS can determine area division and stripe size at a time.
  • RLFS does not scan trace files in a heuristic way to find logical regions like HARL, but puts logical regions and physical blocks together with the goal of minimizing the total cost. This consideration is easy to understand because the smallest unit of file access is a block, such as 64MB or 128MB, and the logical area can naturally span a sequence of adjacent physical blocks.
  • the first algorithm can be executed in the area division module 5.
  • the first algorithm is an offline form of the most relatively fast algorithm.
  • the first algorithm can be repeated periodically to adapt to the dynamic characteristics of the access. "Relatively fast" means that the algorithm is pseudo-polynomial time.
  • the essence of the algorithm is to first represent the shared file as a sequence of blocks, then partition the file in blocks according to the given access request, and finally use the dynamic programming module to partition from these partitions. Find the optimal area division.
  • the data between HServer and SServer in each area is striped, and logical I/O requests can be processed by a single multiple physical requests related to the requested data.
  • the total access cost is minimized according to the defined cost model compared to traditional strategies.
  • An area is defined with a size of It can be expressed as:
  • ⁇ 1 is the expansion factor of SServer relative to HServer
  • B represents the block size in the configuration.
  • FIG. 5 is an application example diagram of a file system in an embodiment of the present invention.
  • the file client 1 issues a request on behalf of the application program from the computing server 301
  • the hybrid storage system 100 is responsible for storing and managing the stripped area
  • the metadata server 200 contains the files stored in the RLFS. Description.
  • the client 1 first contacts the MDS to obtain file metadata, and then uses it to perform data access with the hybrid storage system 100 through the RLFS daemon.
  • a file server in the parallel file system is used to test the context switching time, unit data copy time and unit data transfer time of HServer and SServer with read/write mode. These parameters can vary with different I/ O mode.
  • a pair of nodes, a client node and a file server are used to estimate the network transmission time. The network transmission time test can be repeated thousands of times, and then the average of them is calculated as the parameter value of the generated cost model.
  • RLFS To perform the optimal data layout for a specific file, RLFS first uses its area division module 5 to calculate the optimal area division of the file, and then uses the cost model and I/O tracking data to determine the stripe size of each area.
  • the optimal area information is calculated for writing files on each server at the same time, and the area dividing module 5 creates an RST for subsequent reading of the files in the MDS.
  • MDS holds the RLFS namespace, RST, and other information about each file.
  • the size of the MDS is highly controlled, and the size of the MDS is small.
  • the hybrid storage system 100 maintains a flat namespace, where each file can be identified by "filename_region#_stripe#" in the local disk.
  • filename can contain path information specified by the application.
  • the background I/O daemon is used to receive incoming requests from client 1, which is characterized by “filename”, "region#” and “stripe#”, and serves the request by sending back the requested stripe file. Band files are combined with other band files to meet the needs of the application.
  • a file system (RLFS) proposed by the present invention supports region-level data layout by dividing a file into a set of optimal regions, so that the file system can determine the optimal region and its stripe size. Therefore, by This file system can optimize the data layout of the hybrid storage system 100.
  • using the FUSE module 10 not only greatly simplifies the development work, but also allows access to RLFS through the standard file system interface, allowing applications to access RLFS in a transparent manner, and variable-size RLFS can ease the The load is unbalanced, which can flexibly adapt to workload changes and server heterogeneity, thereby significantly speeding up I/O system performance.
  • RLFS uses the optimal data layout of ⁇ 32KB, 160KB ⁇ and ⁇ 36KB, 148KB ⁇ , respectively, which improves I/O performance by 73.4% and 176.7 compared to the default layout with 64KB fixed-size stripes. %. Compared with other layouts with different but fixed-size stripes, RLFS improves read performance to 138.6% and write performance to 177.6%. Compared with the randomly selected stripe strategy, RLFS improves read performance to 154.5% and write performance to 215.4%.
  • the invention also provides a data layout method, which includes:
  • Step S1 Collect the I/O information of data access at runtime and the file system configuration file used for cost modeling into the tracking file, orient the file system configuration file to establish the cost model, and use the I/O information to Area division
  • Step S2 calculate or estimate the access cost of the file request to form a cost model
  • Step S3 generate a distribution area with a minimum total cost according to the cost model, and divide the file into different areas;
  • Step S4 Obtain the stripe size corresponding to the area.
  • This method supports regional data layout by dividing the file into a set of optimal regions to determine the optimal region and its stripe size. This method optimizes the data of the hybrid storage system layout.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种文件系统,文件系统包括成本计算模块和区域划分模块,成本计算模块用于计算或预估文件系统中文件请求的访问成本,成本计算模块能够向区域划分模块输出成本模型;区域划分模块用于将文件划分到的不同区域,以使得给定访问的总成本最小化;区域划分模块还用于获得区域对应的条带大小。本发明还提供一种数据布局方法。

Description

文件系统及数据布局方法 技术领域
本发明属于数据布局技术领域,尤其涉及一种文件系统和一种数据布局方法。
背景技术
随着大规模数据密集型应用在各个应用领域不断增加,I/O(输入/输出)性能正成为存储系统的瓶颈。为了解决这个问题,本领域技术人员相继将诸多并行文件系统(Parallel File System,简称PFS)引入高性能存储系统当中。上述的并行文件系统包括OrangeFS、Lustre、GPFS、PanFS和PLFS等,各并行文件系统的简介如下:
1、OrangeFS是虚拟并行文件系统(PVFS)的一个分支,其与PVFS类似,是一个针对高性能计算以及高性能数据访问所提出的一种并行文件系统。与传统的PVFS相比,Ora-ngeFS致力于提高小文件处理的性能、增加服务器的交叉容错及提供安全访问控制。
2、Lustre是HP、Intel、Cluster File System公司联合美国能源部开发的Linux集群并行文件系统,Lustre采用分布式的锁管理机制来实现并发控制,元数据和文件数据的通讯链路分开管理。
3、GPFS是General Parallel File System的缩写。源自IBM公司的GPFS是一个可扩展、高性能、基于共享磁盘的通用并行文件系统,GPFS能为存储系统中的所有节点提供并行、高速、安全、可靠的数据存取。
4、PanFS是由Panasas公司研发的并行文件系统,PanFS是通用的并行文件系统,目前其主要的应用领域和luster类似,PanFS可扩展行,其能够通过分布式锁提供的强一致性。
5、PLFS是一款开源的并行检查点存储文件系统。
综上,基于这些并行文件系统就能够执行跨多个服务器分发数据文件的操作,因此,并行文件系统(PFS)可以允许并行应用的多个任务以聚合的I/O带宽形式同步访问数据文件。
但是现有的并行文件系统(PFS)也并不是没有缺陷的,其缺陷在于,现有的并行文件系统(PFS)与基于新型存储技术的混合型存储系统不匹配。在逐步展开描述不适配问题之前,首先需要阐明的是基于新型存储技术的混合型存储系统的情况,随着新型存储技术的发展,基于闪存的固态驱动器(Solid State Disk,简称SSD)应用越发广泛,较硬盘驱动器(Hard Disk Drive,简称HDD)而言,固态驱动器具有存储效率高、响应快和成本高的特点,所以,综合考虑,一个合理的存储系统不适合全部由硬盘驱动器组成,因为读写和响应速度偏慢,合理的存储系统也不适宜全部由造价很高的固态驱动器组成,换言之,固态驱动器在一个大型集群中并不会完全取代硬盘驱动器。因此,使用同时包括基于固态驱动器的服务器和基于硬盘驱动器的服务器的混合型存储系统是一种优选策略。这种策略对于有限成本预算下的HPC系统更加实用。HPC是高性能计算(High Performance Computing)机群的简称。
另一方面,并行文件系统(PFS)的效率取决于有效的数据文件布局,即数据文件如何在可用节点上分布,大多数现有的布局方案使用固定大小的条带分割成多个服务器上分布数据文件,还利用固定大小的条带提供来自多个服务器的并发数据访问,这甚至使得每个服务器上都有数据放置。虽然现有的布局方案实现简单,易被广泛使用,但这样的布局方案显然是适用于使用了同质服务器的存储系统,不适用于混合型存储系统。
当现有的并行文件系统应用于混合型存储系统时,基于固态驱动器的服务 器和基于硬盘驱动器的服务器之间的性能差距会显著降低并行文件系统的性能,因为基于固态驱动器的服务器总是比基于硬盘驱动器的服务器具有更高的性能,从而需要更少的I/O时间来完成相同数量的数据访问,如果应用现有的布局方案,该方案会给基于固态驱动器的服务器和基于硬盘驱动器的服务器分配相同的条带,这可能会导致异构服务器之间的负载严重不平衡,另外,复杂的I/O工作负载也可能危及I/O系统的效率。
发明内容
有鉴于此,为解决现有的并行文件系统(PFS)与基于新型存储技术的混合型存储系统匹配时所产生的数据分布不合理的问题,本发明提供一种文件系统,所述文件系统包括相互电性连接的I/O示踪器、成本计算模块和区域划分模块,所述I/O示踪器用于向所述区域划分模块提供自身收集到所述文件系统运行时的I/O信息;所述I/O示踪器还用于向所述成本计算模块提供自身收集到的所述文件系统的配置文件;所述成本计算模块用于计算或预估所述文件系统中文件请求的访问成本,以向所述区域划分模块输出成本模型;所述区域划分模块用于根据所述成本模型生成总成本最小化的分布区域,并将文件划分到的不同区域中,所述区域划分模块还用于获得所述区域对应的条带大小。
较佳地,所述文件系统还包括内核部分,所述内核部分用于执行元数据服务器、混合型存储系统和客户端三方之间的信息或数据的交互;所述内核部分包括FUSE模块。
较佳地,所述文件系统还包括守护进程模块,所述守护进程模块用于在后台执行守护进程;所述FUSE模块用于作为所述守护进程的代理。
较佳地,所述文件系统还包括更新数据布局模块,所述更新数据布局模块 分别与所述守护进程模块、所述I/O示踪器、所述区域划分模块和所述混合型存储系统连接,所述更新数据布局模块用于动态检测和更新区域变化。
较佳地,所述成本计算模块用于计算请求的总成本,总成本计算公式为:T=T s+T c+T 2,公式中,T s表示所述FUSE模块和所述守护进程模块之间进行两个上下文切换的时间,T c表示复制时间,T 2表示网络和存储成本。
较佳地,所述混合型存储系统包括包括基于固态驱动器的服务器SServer和基于硬盘驱动器的服务器HServer;
所述复制时间的计算公式为:T c(r,h,s)≈3(mh+ns)t c,公式中t c表示从内核空间到用户空间的单元数据复制时间,h表示HServer上条带尺寸,s表示SServer上条带尺寸,m表示HServer的数量,n表示SServer的数量;
所述网络和存储成本的计算公式为:T 2≈T e+max{h(t h+t),s(t s+t)},公式中,t表示数据传输网络时间,t h和t s分别表示HServer上单元数据传输时间和SServer上单元数据传输时间,T e表示网络连接时间。
较佳地,所述区域划分模用于获取从事件i开始将l个事件划分为k个区域的最小成本
Figure PCTCN2019121301-appb-000001
所述最小成本
Figure PCTCN2019121301-appb-000002
的计算公式为:
Figure PCTCN2019121301-appb-000003
公式中,
Figure PCTCN2019121301-appb-000004
定义了一个大小为
Figure PCTCN2019121301-appb-000005
区域,
Figure PCTCN2019121301-appb-000006
表示尺寸为f的第一区域的成本。
较佳地,基于固态驱动器的服务器和基于硬盘驱动器的服务器能够将
Figure PCTCN2019121301-appb-000007
条带化,并分别得到h i和s i,s i的计算公式为s i=αh i,h i的计算公式为:
Figure PCTCN2019121301-appb-000008
公式中,α≥1且是SServer相对于HServer的扩展因子,B表示配置中的块大小。
本发明还提供一种数据布局方法,其包括:
步骤S1,将运行时的数据访问的I/O信息以及用于成本建模的文件系统配置文件收集到跟踪文件中,将文件系统配置文件定向用于建立成本模型,将I/O信息用于区域划分;
步骤S2,计算或预估文件请求的访问成本,形成成本模型;
步骤S3,根据所述成本模型以生成总成本最小化的分布区域,并将文件划分到的不同区域中;
步骤S4,获取所述区域对应的条带大小。
本发明实施例与现有技术相比存在的有益效果是:
本发明提出的一种文件系统通过将文件划分为一组最优区域的方式来支持区域级的数据布局,而且通过该文件系统能够确定最优区域及其条带大小,故此,通过该文件系统能够优化混合型存储系统100的数据布局。该文件系统能够灵活地适应工作负载的变化和服务器异构性,从而显著加快I/O系统性能。
附图说明
图1为现有技术中使用固定大小条带的数据布局方案示意图;
图2为基于区域划分的数据布局方案示意图;
图3为基于区域数据布局的文件系统的示意图;
图4为本发明实施例中成本计算模块的工作原理示意图;
图5为本发明实施例中文件系统的一个应用示例图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例
一般来说,大多数PFS采用三种典型的数据布局:1-DH、1-DV和2-D。1-DH布局是指一个客户端进程能够从所有存储服务器访问数据。与1-DH布局相反,1-DV布局是指一个客户端进程只能从单个存储服务器访问数据。而2-D布局介于1-DH布局和1-DV布局两者之间,这意味着2-D布局是指一个客户端进程从所有存储服务器的子集访问数据。
首先,比较大多数PFS的数据布局方式与区域级文件系统的数据布局方式的区别,以执行两个并发读取访问一个9x大小的文件为例,两个并发读取被定义为第一读取71和第二读取72。第一读取71和第二读取72根据时间轴73进行读取。
当使用传统文件系统的数据布局方式时,如图1所示,文件被均匀地分区并存储在每个存储服务器上,其条带大小为3x。因此,当三个服务器在同一时间完成时,每个请求都要在3x的时间内完成,这两个读取请求总共需要6x的时间来完成。该种数据布局忽视了混合型存储系统中不同存储介质间的差异,使得较高性能的存储介质的读写效率不能充分体现,可以理解为,较高性能的存储介质被强制降级使用。
如图2所示,对于区域级文件系统来说,其数据布局方案有着明显的优势,区域级文件系统RLFS将文件7分为两个区域,两个区域分别为第一区域73和第二区域74,每个区域使用自身对应的条带大小(x或2x)在所有服务器 上进行分区,第二读取72会被分为两部分读取,总时间对应的是读取3x(3x=x+2x)的时间,但就第二读取72的时间来看,两种参与比较的数据布局方式相同,但是基于区域级文件系统的第一读取71时间减少到读取2x需要的时间。
从这个例子中可以发现,RLFS中的区域方案与传统的数据布局相比,是一种更细粒度、更自适应的数据布局方案,在所有存储服务器中都对应有不同的条带大小。因此,RLFS中的区域方案可以看作是1-DH布局方案的一个变体,RLFS能够聚合所有存储服务器的带宽,以最大限度地提高I/O性能。RLFS十分匹配混合型存储系统100。
RLFS旨在通过使用不同大小的文件条来支持基于区域的数据布局。为了同时适应混合型存储系统100和复杂的I/O工作负载,RLFS采用了分区处理方式来实现最优的数据布局。RLFS中会生成成本模型,根据成本模型,RLFS将一个大文件划分为一组区域,每个区域单独存放自身的条带大小。当应用的所有I/O请求的总成本最小化时,得到最优区域以及它们的条带尺寸。
而本实施例中所涉及的存储系统为混合型存储系统100,混合型存储系统100包括基于固态驱动器的服务器102和基于硬盘驱动器的服务器101,基于固态驱动器的服务器简称SServer,基于硬盘驱动器的服务器HServer。
本发明实施例提供了一种文件系统,该文件系统称为区域级文件系统,即Region Level File System,简称RLFS。该文件系统能够支持区域级数据布局,并解决现有并行文件系统中出现的数据分布问题。RLFS依赖于定义的成本模型以及基于每个区域的异构感知方案来确定每个服务器的最优文件条带大小,并且进一步利用改变的访问模式来调整在运行时的区域方案。
更具体地说,首先为RLFS开发一个成本模型来估计区域访问的完成时间, 从而利用动态规划将文件划分为细粒度区域,然后对于HDD和SSD服务器分配每个区域所选择的最优文件条带大小。RLFS是存储系统和应用程序感知的,RLFS本质上代表了从传统的一维固定条带尺寸布局到二维变化的条带尺寸布局方式的改变,RLFS能够很好地适应服务器性能和应用行为的变化。此外,RLFS还根据所检测到的访问模式的变化,对生成的数据布局方案进行更新,以解决静态数据布局问题,使其更适合于运行时的文件访问。
如图3所示,本发明实施例提供了一种文件系统,该文件系统称为区域级文件系统,即Region Level File System,简称RLFS。该文件系统能够支持区域级数据布局,并解决现有并行文件系统中出现的数据分布问题。
RLFS包内核部分和用户级的守护进程模块20,优选地,内核部分包括FUSE模块10。换言之,本发明实施例提供的一种文件系统RLFS优选是基于FUSE框架设计。FUSE是指用户空间文件系统,其是Filesystem in Userspace的缩写。内核部分优选为Linux内核模块,内核部分还包括VFS模块11,VFS为虚拟文件系统,其是Virtual File System的简称。VFS模块11用于注册RLFS,内核部分中会创建块设备,块设备充当守护进程模块20与内核部分的接口,FUSE模块10充当守护进程模块20的代理,用于应用程序发出的各种文件系统请求。
来自客户端1的应用程序可以通过将RLFS挂载到其名称空间的方式来访问RLFS,此后,所有针对挂载点的文件系统调用都通过VFS模块11转发到FUSE模块10。然后,FUSE模块10通过块设备将请求队列中的调用指令中继到守护进程模块20,其中,通过联系元数据服务器200和或其他存储服务器,调用适当的服务处理程序以适应文件系统调用。响应沿着反向路径通过内核部分传播,并最终传播回应用程序,应用程序在发出请求后通常处于等待状 态,等待响应。RLFS的守护进程和存储服务器应该完成PFS的所有语义。例如,读取处理程序应该首先识别哪些存储服务器具有所请求的数据段,以及每个服务器中哪些存储了相应的数据段,然后向这些服务器发出并行访问的子请求。内核部分还包括文件日志模块12,用于记录针对元数据服务器200的操作日志。
除了PFS的一般语义外,RLFS还需要实现基于区域的数据布局功能。为了实现这个目标,RLFS装备了具有三个用户级组件的I/O示踪器3、成本计算模块4和区域划分模块5,RLFS通过三个用户级组件来完成一个三相数据布局周期。数据布局周期从跟踪阶段开始,在跟踪阶段,I/O示踪器3在应用程序执行期间将数据访问的运行时统计信息以及用于成本建模的文件系统概要(例如,FUSE队列信息)收集到跟踪文件中。然后,I/O示踪器3将读/写迹线馈送到区域划分模块5,并且在下一个分析阶段I/O示踪器3将文件系统配置文件定向到成本计算模块4,区域划分模块5利用更新的成本模型来生成区域,每个区域都为两种服务器分配其自身的条带尺寸。最后,在放置阶段,在运行时将文件放置在底层混合型存储系统100上,以便根据上一阶段获得的布局方案优化在后的运行中的I/O请求。通过这三个阶段,RLFS可以大大提高应用程序在后续运行中的I/O性能。RLFS中还包括更新数据布局模块8,所述更新数据布局模块分别与守护进程模块20、I/O示踪器3、区域划分模块5和混合型存储系统100连接,所述更新数据布局模块用于动态更新数据布局,所述更新数据布局模块用于动态检测和更新区域变化。。进一步,将I/O示踪器3、成本计算模块4和区域划分模块5的具体功能分别阐述:
一、I/O示踪器3
I/O示踪器3在RLFS中既用于收集运行时I/O信息,还用于收集文件系 统配置文件。虽然现有技术中有一些可用于I/O数据收集的技术和工具,例如IOSIG[42],但鉴于本发明实施例提供的文件系统是基于FUSE框架设计的,类似IOSIG[42]的现有技术中的I/O数据收集工具不能直接适用于RLFS。这是FUSE框架结构固有特性决定的。因此,在本实施例所涉及的I/O示踪器3,其遵循N-1日志模式,所有的RLFS守护进程都被用来写入单个文件共享文件。因此,设计的I/O示踪器3可以帮助收集I/O操作的所有信息,包括文件访问类型、操作时间和其他与进程相关的数据。
使用I/O示踪器3运行相应的应用程序之后,可以获得进程ID、文件描述符、操作类型、偏移量、请求大小和时间戳信息。为了便于进一步的区域划分以及指导最优数据布局,文件的所有I/O请求都按其偏移量的升序排序。
运行时I/O信息是在特定环境下收集的,也可以用一些参数来充分了解收集到的I/O信息。为此,除了I/O信息之外,还应允许I/O示踪器3进一步收集关于文件系统的运行时配置文件,尤其是基于FUSE框架下的文件系统的运行时配置文件,该配置文件将定向到成本计算模块4中,辅助更新的成本模型,区域划分模块5会进一步根据成本计算模块4获得的最小总成本来确定最优的区域划分。
二、成本计算模块4
成本计算模块4能够生成成本模型,且成本模型以寻找到最小总成本为目标。
为了获得存储系统中每个服务器的最优区域划分及其条带大小,本发明实施例中提出的文件系统需要依赖成本计算模块4。在成本计算模块4中,成本被定义为每个文件请求的I/O完成时间。成本计算模块4用于计算文件系统中文件请求访问的成本。该文件系统是与混合型存储系统相匹配的。
由于文件请求的访问总成本与文件系统本身及底层网络和存储服务器相关,所以,文件请求的访问总成本包括文件系统的系统成本及网络和存储成本。因此,成本计算模块4的计算依据就应该包括文件系统的系统成本及网络和存储成本。对应地,成本计算模块4包括系统成本计算模块41及网络和存储成本计算模块42。
由于本发明实施例提出的一种文件系统是建立在在FUSE框架之上的,所以,文件系统的系统成本主要是指FUSE数据路径中的时间开销。由于RLFS的主要目标是通过数据文件在混合型存储系统100上的最优位置来优化读取请求,因此本实施例中只定义关于读取请求的系统成本,写入请求的成本也可以通过遵循相同的参数来导出。
如图4所示,对于每个读取请求,其服务时间被分成三个子部分,其一为FUSE模块10中排队等待的时间,其二为FUSE模块10和守护进程模块20之间进行两个上下文切换的时间,其三为第一次复制所收集到的三个复制操作的时间。
数据从含有m个HServer和n个SServer的网络系统流向守护进程模块20,然后再从守护进程模块20到FUSE模块10中,最后由FUSE模块10发送到客户端1。
在FUSE模块10队列中等待读取请求的时间与客户端1和RLFS之间运行的应用程序密切相关,FUSE模块10队列中等待读取请求的时间不仅取决于应用程序做出的I/O请求模式,其还与由文件系统引起的其他因素有关,如页面缓存或中断等。因此,很难准确地估计它。然而,当考虑到通过RLFS的守护进程模块20的多线程支持来最小化队列延迟这一因素,可以安全地假设FUSE模块10队列中读取请求的等待时间可以忽略不计,即T q=0。
进一步,上下文切换时间是系统相关的,并且独立于数据大小,可以将其视为一个常量值。所以,FUSE模块10和守护进程模块20之间进行两个上下文切换的时间T s的计算公式为:T s=2μ。其中μ是上下文切换时间。
第一次复制所收集到的三个复制操作的时间,简称复制时间T c,复制时间T c与文件请求的数据大小r成正比,其计算公式为:
T c(r,h,s)=3rt c
文件请求的数据大小为r,文件请求的数据大小r的计算公式是:
r=ms m+ns n
s m和s n分别代表HServer上最大的子请求大小和SServer上的最大子请求大小,且s m≤h且s n≤s,h表示HServer上条带尺寸,s表示SServer上条带尺寸,所以,进一步,复制时间T c可以表示为:
T c(r,h,s)≈3(mh+ns)t c
t c是从内核空间到用户空间的单元数据复制时间。因此,由系统成本计算模块41计算出的总成本的第一部分表示为T 1,T 1=T s+T c
而由网络和存储成本计算模块42计算的网络和存储成本包括:网络连接时间T e、存储访问时间T a和网络传输时间T x。在PFS中,请求会被划分为一组子任务,每个子任务转发到单独的存储服务器以供并行执行。所以,网络和存储服务器中的请求子部件成本由所有子请求的最大成本确定。假定每类服务器(HServer或SServer)对于网络和存储具有相同的配置,就可以根据数据大小(s m和s n)和数据传输网络时间t确定网络传输时间T x,具体公式为:
Figure PCTCN2019121301-appb-000009
上式中s m和s n分别代表HServer上最大的子请求大小和SServer上的最大 子请求大小。
与网络传输时间T x类似,存储访问时间T a由子请求决定,具体公式为:
Figure PCTCN2019121301-appb-000010
上式中s m和s n分别代表HServer上最大的子请求大小和SServer上的最大子请求大小,t h和t s分别表示HServer上单元数据传输时间和SServer上单元数据传输时间。
而与存储访问时间T a和网络传输时间T x不同,网络连接时间T e为常数,其与数据大小无关。综上,由网络和存储成本计算模块42计算的网络和存储成本间T 2可以通过公式表示:
Figure PCTCN2019121301-appb-000011
进一步网络和存储成本时间T 2可以表示为:
T 2≈T e+max{h(t h+t),s(t s+t)}
上式中h表示HServer上条带尺寸,s表示SServer上条带尺寸。
从成本计算模块4中可以看出,请求的总成本T可以表示为:T=T 1+T 2,请求的总成本是描述应用程序、文件系统和数据布局的参数的函数。因此,它是高度异质性的,由服务器条带大小h和s决定的。
另外,需要说明的是,由于在SServers中的读与写有很大的不同,写入请求所涉及的操作比读要多,此时,FUSE模块10和守护进程模块20之间进行两个上下文切换的时间T s需要加入写入放大、垃圾收集和磨损均衡的时间。
为了便于阐明成本计算模块4的工作原理,此处将成本计算模块4中涉及的成本分析模式的参数以表格形式展现,如表一所示。
Figure PCTCN2019121301-appb-000012
表一成本分析模式中的参数
三、区域划分模块5
通过成本计算模块4生成的成本模型的指导,区域划分模块5能够将文件划分到不同的区域,试图最小化以并行应用程序为特征的给定访问集合的总成本。现有的区域划分装置有HARL,而HARL是将区域划分和条带大小确定分两个不同的阶段来处理,与HARL不同,RLFS的布局策略是整体的,RLFS的布局策略以一种统一的方式考虑区域划分和条带大小确定问题,所以,RLFS能够一次确定区域划分和条带大小。RLFS不像HARL那样以启发式方式扫描跟踪文件以查找逻辑区域,而是将逻辑区域和物理块放在一起,以最小的总成本为目标。这种考虑很容易理解,因为文件访问的最小单元是块,例如64MB 或128MB,且逻辑区域可以自然地跨越相邻物理块的序列。
在区域划分模块5中能够执行第一算法,第一算法是一种离线形式的最有相对快速算法,第一算法可以周期性地重复以适应访问的动态特性。“相对快速”意味着算法是伪多项式时间,该算法的实质是首先将共享文件表示为块序列,然后根据给定的访问请求以块为单位对文件进行分区,最后利用动态规划模块从这些分区中找到最优的区域划分。
根据访问模式给出的I/O事件,例如开始或结束I/O操作,文件F具有L的大小的示例,由段数(L=12段)定义,并且相邻段的序列被合并为区域,每个区域被红色的垂直虚线隔离。每个区域在HServer和SServer之间的数据都是条带的,逻辑I/O请求可以由单个针对与请求的数据有关的多个物理请求来处理。通过这种布局优化,与传统策略相比,总访问的成本根据定义的成本模型被最小化。
Figure PCTCN2019121301-appb-000013
表示从索引i开始的具有l请求事件的文件被划分为k区域时的最小成本,由以下递归来计算0≤i<l的:
Figure PCTCN2019121301-appb-000014
其中,
Figure PCTCN2019121301-appb-000015
定义了一个区域,其大小为
Figure PCTCN2019121301-appb-000016
可以表示为:
Figure PCTCN2019121301-appb-000017
Figure PCTCN2019121301-appb-000018
将在HServer和SServer中被条带化,分别为h i和s i
从递归中可以获得从事件i开始,将l个事件划分为k区域的最小成本
Figure PCTCN2019121301-appb-000019
当m从l变化到l-i时,将尺寸为f的第一区域的成本
Figure PCTCN2019121301-appb-000020
相加 到剩余的
Figure PCTCN2019121301-appb-000021
中,从而计算出最小和。当段的数目不足以支持剩下的k区域划分,设置
Figure PCTCN2019121301-appb-000022
否则设置
Figure PCTCN2019121301-appb-000023
给出
Figure PCTCN2019121301-appb-000024
的定义后,进一步计算从
Figure PCTCN2019121301-appb-000025
Figure PCTCN2019121301-appb-000026
区域的(子)请求,然后计算
Figure PCTCN2019121301-appb-000027
的成本
Figure PCTCN2019121301-appb-000028
计算公式如下:
Figure PCTCN2019121301-appb-000029
上公式中T(r,h i,s i)是在成本模型中定义的,假设s i=αh i,那么有:
Figure PCTCN2019121301-appb-000030
这里,α≥1是SServer相对于HServer的扩展因子,B表示配置中的块大小。
通过上述的4个方程,可以得到文件布局的最优区域划分并且最小化给定请求的成本。进一步,文件被分区放置在底层异构服务器上,底层异构服务器上每个区域对应有确定的条带大小。此后,对于每个请求R,可根据其条带大小读取相应区域,从而满足要求。
图5为本发明实施例中文件系统的一个应用示例图。如图5所示,文件客户端1代表来自计算服务器301的应用程序发出请求,混合型存储系统100负责存储和管理已剥离的区域,元数据服务器200(MDS)包含存储在RLFS中的文件的描述信息。在文件操作期间,客户端1首先联系MDS以获取文件元数据,然后利用它通过RLFS守护进程与混合型存储系统100进行数据访问。
RLFS将一个大文件逻辑地映射到多个小(区域)文件中,每个文件代表一个具有类似I/O工作负载的文件区域。区域文件被进一步剥离在所有HServer和SServer上,并且每个条带作为单独的数据文件存储在每个存储服务器中。为此,MDS为RLFS中的每个物理文件维护一个区域条形表(RST),如下表 二所示,其中按照每个服务器里的偏移量和条带大小来记录文件的每个区域。当文件被写入RLFS时,区域条形表(RST)由区域划分模块5创建,当访问模式改变时更新区域条形表(RST)。为了提高效率,可以在安装和卸载RLFS时将要读取的文件的RST缓存和解缓存储在与应用程序相同的目录中。
Figure PCTCN2019121301-appb-000031
表二区域条形表数据结构
对于成本计算模块4,则使用并行文件系统中的一个文件服务器来测试具有读/写模式的HServer和SServer的上下文切换时间、单位数据复制时间和单位数据传输时间,这些参数可以随不同的I/O模式而变化。此外,使用一对节点,即一个客户端节点和一个文件服务器,来估计网络传输时间,网络传输时间测试可重复测试数千次,然后计算它们的平均值,作为生成成本模型的参数值。
为特定文件执行最优数据布局,RLFS首先使用其区域划分模块5来计算文件的最优区域划分,然后利用成本模型和I/O跟踪数据来确定每个区域的条带大小。计算最优区域信息用于每个服务器上同时写入文件,区域划分模块5为MDS中的文件创建用于后续读取的RST。MDS容纳RLFS的命名空间、RST以及有关每个文件的其他信息。然而,由于区域划分算法给定的地区数量 有限,MDS的大小受高度的控制的,MDS的大小较小。
另外,为了便于对每个文件的并行读取,混合型存储系统100维护了一个平面名称空间,其中每个文件可以通过本地磁盘中的“filename_region#_stripe#”来标识。注意“filename”可以包含应用程序指定的路径信息。后台I/O守护进程用于接收来自客户端1的传入请求,其特点是“filename”“region#”和“stripe#”,通过发送回请求的条带文件来对请求进行服务,这些条带文件与其他条带文件结合起来以满足应用程序的需要。
本发明提出的一种文件系统(RLFS)通过将文件划分为一组最优区域的方式来支持区域级的数据布局,从而通过该文件系统能够确定最优区域及其条带大小,因此,通过该文件系统能够优化混合型存储系统100的数据布局。与内核方法相比,使用FUSE模块10不仅极大地简化了的开发工作,而且允许通过标准文件系统接口访问RLFS,可以使应用程序以透明的方式访问RLFS,可变大小的RLFS能够减轻服务器之间的负载不平衡,能够灵活地适应工作负载变化和服务器异构性,从而显著加快I/O系统性能。
本发明实施例所提出的文件系统(RLFS)已经经过实验验证,确定可行,并且性能表现优秀。实验结果表明,RLFS能够很好配合混合型存储系统100一起运行,RLFS很大程度地提高并行I/O性能。
在实验中,针对三种数据布局方案做了比较:方案一利用固定大小的条带;方案二利用随机选择的条带,方案三通过RLFS实现。对于读和写,RLFS分别使用{32KB,160KB}和{36KB,148KB}的最优数据布局,这与具有64KB的固定大小条带的默认布局相比,I/O性能提高了73.4%和176.7%。与其他具有不同但固定大小的条纹的布局相比,RLFS使读取性能提高到138.6%,写入性能提高到177.6%。与随机选择的条带策略相比,RLFS使读取性能提高到 154.5%,写入性能提高到215.4%。
基于代表性基准的实验结果表明,RLFS是混合并行文件系统中的一个有前途和可行的解决方案,并行I/O性能从读取的20.6%提高到556.1%,写入22.7%提高到288.7%。
本发明还提供一种数据布局方法,其包括:
步骤S1,将运行时的数据访问的I/O信息以及用于成本建模的文件系统配置文件收集到跟踪文件中,将文件系统配置文件定向用于建立成本模型,将I/O信息用于区域划分;
步骤S2,计算或预估文件请求的访问成本,形成成本模型;
步骤S3,根据所述成本模型以生成总成本最小化的分布区域,并将文件划分到的不同区域中;
步骤S4,获取所述区域对应的条带大小。
上述方法的有益效果在于,该方法通过将文件划分为一组最优区域的方式来支持区域级的数据布局,从而确定最优区域及其条带大小,该方法优化了混合型存储系统的数据布局。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (9)

  1. 一种文件系统,其特征在于,所述文件系统包括相互电性连接的I/O示踪器、成本计算模块和区域划分模块,所述I/O示踪器用于向所述区域划分模块提供自身收集到所述文件系统运行时的I/O信息;所述I/O示踪器还用于向所述成本计算模块提供自身收集到的所述文件系统的配置文件;所述成本计算模块用于计算或预估所述文件系统中文件请求的访问成本,以向所述区域划分模块输出成本模型;所述区域划分模块用于根据所述成本模型生成总成本最小化的分布区域,并将文件划分到的不同区域中,所述区域划分模块还用于获得所述区域对应的条带大小。
  2. 如权利要求1所述的文件系统,其特征在于,所述文件系统还包括内核部分,所述内核部分用于执行元数据服务器、混合型存储系统和客户端三方之间的信息或数据的交互;所述内核部分包括FUSE模块。
  3. 如权利要求2所述的文件系统,其特征在于,所述文件系统还包括守护进程模块,所述守护进程模块用于在后台执行守护进程;所述FUSE模块用于作为所述守护进程的代理。
  4. 如权利要求3所述的文件系统,其特征在于,所述文件系统还包括更新数据布局模块,所述更新数据布局模块分别与所述守护进程模块、所述I/O示踪器、所述区域划分模块和所述混合型存储系统连接,所述更新数据布局模块用于动态检测和更新区域变化。
  5. 如权利要求4所述的文件系统,其特征在于,所述成本计算模块用于计算请求的总成本,总成本计算公式为:T=T s+T c+T 2,公式中,T s表示所述FUSE模块和所述守护进程模块之间进行两个上下文切换的时间,T c表示复制时 间,T 2表示网络和存储成本。
  6. 如权利要求5所述的文件系统,其特征在于,所述混合型存储系统包括包括基于固态驱动器的服务器SServer和基于硬盘驱动器的服务器HServer;
    所述复制时间的计算公式为:T c(r,h,s)≈3(mh+ns)t c,公式中t c表示从内核空间到用户空间的单元数据复制时间,h表示HServer上条带尺寸,s表示SServer上条带尺寸,m表示HServer的数量,n表示SServer的数量;
    所述网络和存储成本的计算公式为:T 2≈T e+max{h(t h+t),s(t s+t)},公式中,t表示数据传输网络时间,t h和t s分别表示HServer上单元数据传输时间和SServer上单元数据传输时间,T e表示网络连接时间。
  7. 如权利要求3或5或6所述的文件系统,其特征在于,所述区域划分模用于获取从事件i开始将l个事件划分为k个区域的最小成本
    Figure PCTCN2019121301-appb-100001
    所述最小成本
    Figure PCTCN2019121301-appb-100002
    的计算公式为:
    Figure PCTCN2019121301-appb-100003
    公式中,
    Figure PCTCN2019121301-appb-100004
    定义了一个大小为
    Figure PCTCN2019121301-appb-100005
    区域,
    Figure PCTCN2019121301-appb-100006
    表示尺寸为f的第一区域的成本。
  8. 如权利要求7所述的文件系统,其特征在于,基于固态驱动器的服务器和基于硬盘驱动器的服务器能够将
    Figure PCTCN2019121301-appb-100007
    条带化,并分别得到h i和s i,s i的计算公式为s i=αh i,h i的计算公式为:
    Figure PCTCN2019121301-appb-100008
    公式中,α≥1且是SServer相对于HServer的扩展因子,B表示配置中的块大小。
  9. 一种数据布局方法,其特征在于,其包括:
    步骤S1,将运行时的数据访问的I/O信息以及用于成本建模的文件系统配置文件收集到跟踪文件中,将文件系统配置文件定向用于建立成本模型,将I/O信息用于区域划分;
    步骤S2,计算或预估文件请求的访问成本,形成成本模型;
    步骤S3,根据所述成本模型以生成总成本最小化的分布区域,并将文件划分到的不同区域中;
    步骤S4,获取所述区域对应的条带大小。
PCT/CN2019/121301 2018-12-18 2019-11-27 文件系统及数据布局方法 Ceased WO2020125362A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811547400.9A CN109840247B (zh) 2018-12-18 2018-12-18 文件系统及数据布局方法
CN201811547400.9 2018-12-18

Publications (1)

Publication Number Publication Date
WO2020125362A1 true WO2020125362A1 (zh) 2020-06-25

Family

ID=66883264

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/121301 Ceased WO2020125362A1 (zh) 2018-12-18 2019-11-27 文件系统及数据布局方法

Country Status (2)

Country Link
CN (1) CN109840247B (zh)
WO (1) WO2020125362A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109840247B (zh) * 2018-12-18 2020-12-18 深圳先进技术研究院 文件系统及数据布局方法
CN110825698B (zh) * 2019-11-07 2021-02-09 重庆紫光华山智安科技有限公司 元数据管理方法及相关装置
CN114578299B (zh) * 2021-06-10 2024-11-15 中国人民解放军63698部队 一种无线远程控制信标设备产生射频信号的方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1692356A (zh) * 2002-11-14 2005-11-02 易斯龙系统公司 对分布式文件系统中的文件重新条带化的系统和方法
US20090248756A1 (en) * 2008-03-27 2009-10-01 Akidau Tyler A Systems and methods for a read only mode for a portion of a storage system
CN102566942A (zh) * 2011-12-28 2012-07-11 华为技术有限公司 一种文件条带化写入方法、装置及系统
CN103778222A (zh) * 2014-01-22 2014-05-07 浪潮(北京)电子信息产业有限公司 一种分布式文件系统存储文件的方法及系统
WO2015153671A1 (en) * 2014-03-31 2015-10-08 Amazon Technologies, Inc. File storage using variable stripe sizes
CN109840247A (zh) * 2018-12-18 2019-06-04 深圳先进技术研究院 文件系统及数据布局方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005302152A (ja) * 2004-04-12 2005-10-27 Sony Corp 複合型記憶装置、データ書込方法及びプログラム
CN105872031B (zh) * 2016-03-26 2019-06-14 天津书生云科技有限公司 存储系统
US9916311B1 (en) * 2013-12-30 2018-03-13 Emc Corporation Storage of bursty data using multiple storage tiers with heterogeneous device storage
CN104020961B (zh) * 2014-05-15 2017-07-25 深信服科技股份有限公司 分布式数据存储方法、装置及系统
JP6346880B2 (ja) * 2014-10-17 2018-06-20 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 記録媒体
CN105760164B (zh) * 2016-02-15 2020-01-10 苏州浪潮智能科技有限公司 一种用户空间文件系统中acl权限的实现方法
CN106326344B (zh) * 2016-08-05 2018-09-18 中国水产科学研究院东海水产研究所 一种分散式大数据管理与检索的方法
CN106528761B (zh) * 2016-11-04 2019-06-18 郑州云海信息技术有限公司 一种文件缓存方法及装置
CN107479827A (zh) * 2017-07-24 2017-12-15 上海德拓信息技术股份有限公司 一种基于io和元数据分离的混合存储系统实现方法
CN107734026B (zh) * 2017-10-11 2020-10-16 苏州浪潮智能科技有限公司 一种网络附加存储集群的设计方法、装置及设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1692356A (zh) * 2002-11-14 2005-11-02 易斯龙系统公司 对分布式文件系统中的文件重新条带化的系统和方法
US20090248756A1 (en) * 2008-03-27 2009-10-01 Akidau Tyler A Systems and methods for a read only mode for a portion of a storage system
CN102566942A (zh) * 2011-12-28 2012-07-11 华为技术有限公司 一种文件条带化写入方法、装置及系统
CN103778222A (zh) * 2014-01-22 2014-05-07 浪潮(北京)电子信息产业有限公司 一种分布式文件系统存储文件的方法及系统
WO2015153671A1 (en) * 2014-03-31 2015-10-08 Amazon Technologies, Inc. File storage using variable stripe sizes
CN109840247A (zh) * 2018-12-18 2019-06-04 深圳先进技术研究院 文件系统及数据布局方法

Also Published As

Publication number Publication date
CN109840247B (zh) 2020-12-18
CN109840247A (zh) 2019-06-04

Similar Documents

Publication Publication Date Title
Kang et al. Towards building a high-performance, scale-in key-value storage system
CN101866359B (zh) 一种机群文件系统中的小文件存储和访问方法
Wang et al. An efficient design and implementation of LSM-tree based key-value store on open-channel SSD
US9235531B2 (en) Multi-level buffer pool extensions
WO2021218038A1 (zh) 一种存储系统、内存管理方法和管理节点
US9135262B2 (en) Systems and methods for parallel batch processing of write transactions
US8924675B1 (en) Selective migration of physical data
CN103530388A (zh) 一种云存储系统中提升性能的数据处理方法
Li et al. Elastic and stable compaction for lsm-tree: A faas-based approach on terarkdb
Lee et al. ActiveSort: Efficient external sorting using active SSDs in the MapReduce framework
WO2024131379A1 (zh) 一种数据存储方法、装置及系统
Li et al. Leveraging NVMe SSDs for building a fast, cost-effective, LSM-tree-based KV store
WO2020125362A1 (zh) 文件系统及数据布局方法
US12499122B2 (en) Separation of logical and physical storage in a distributed database system
Su et al. Revitalizing the Forgotten {On-Chip}{DMA} to Expedite Data Movement in {NVM-based} Storage Systems
CN111078143A (zh) 基于段映射进行数据布局和调度的混合存储方法及系统
Banakar et al. Wiscsort: External sorting for byte-addressable storage
CN107220069B (zh) 一种针对非易失性内存的Shuffle方法
WO2025118665A1 (zh) 一种数据处理方法、装置和计算设备
CN116009776B (zh) 面向nvm和ssd的数据存储方法、控制器及系统
Mishra A survey of LSM-Tree based Indexes, Data Systems and KV-stores
US20150177984A1 (en) Management system and management method
US11494383B2 (en) Database management system and database management method
Son et al. Design and evaluation of a user-level file system for fast storage devices
Yan et al. Limon: A scalable and stable key-value engine for fast NVMe devices

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19899730

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19899730

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 10/11/2021)

122 Ep: pct application non-entry in european phase

Ref document number: 19899730

Country of ref document: EP

Kind code of ref document: A1