CN111625395A - 一种并行的纠删码编解码方法及系统 - Google Patents
一种并行的纠删码编解码方法及系统 Download PDFInfo
- Publication number
- CN111625395A CN111625395A CN202010493911.8A CN202010493911A CN111625395A CN 111625395 A CN111625395 A CN 111625395A CN 202010493911 A CN202010493911 A CN 202010493911A CN 111625395 A CN111625395 A CN 111625395A
- Authority
- CN
- China
- Prior art keywords
- data
- thread
- coding
- queue
- ready
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种并行的纠删码编解码方法及系统,包括:I/O读取线程读取原始数据的数据条并获取数据缓冲区存储数据条;将数据缓冲区加入到编码就绪数据缓冲区队列,数据编码线程判断编码就绪队列是否为空;当所述编码就绪队列不为空时,取出所述编码就绪数据缓冲区队列并获取编码缓冲区;当所述编码就绪队列为空时,内存分配一个编码缓冲区存储所述编码就绪数据缓冲区队列;数据编码线程对数据条进行编码得到编码条,并传输至写入就绪数据缓冲区队列;I/O写入线程判断所述写入就绪数据缓冲区队列和编码缓冲区队列是否为空;当所述写入就绪数据缓冲区队列和编码缓冲区队列不为空时,所述I/O写入线程分别将编码条和数据条写入不同的文件。
Description
技术领域
本发明涉及数据存储领域,具体涉及一种并行的纠删码编解码方法及系统。
背景技术
纠删码技术通过编码把数据对象分散的存储到系统中,从而提高系统的容错性能。和基于副本的容错技术相比,纠删码技术能够在保持相同的容错能力的前提下,存储更少的数据,因此能够有效的提高存储空间的利用率,降低存储开销。但是,基于纠删码的存储系统在数据进入系统之前需要首先对数据进行编码,而在读数据的时候,需要对存储的数据进行编码才能获取原始的数据对象。因此,编解码的效率对提高基于纠删码的存储系统的效率至关重要。
Jerasure是一个C/C++实现的可以用于存储容错的开源纠删码库,其中实现了RS码,CRS码等经典的纠删码,并且能够容易的扩展以支持其他的编码。经过试验测试验证,Jerasrue是常见的一些开源库中,编解码效率较高的一个纠删码库,因此在众多的分布式存储系统中得到了广泛的测试和应用。但是Jerasure中仍旧存在纠删码的编解码串行执行效率较低的问题。
发明内容
本发明所要解决的技术问题是现有的纠删码的编解码存在串行执行效率较低的问题,目的在于提供一种并行的纠删码编解码方法及系统,解决上述问题。
本发明通过下述技术方案实现:
一种并行的纠删码编解码方法,包括:
I/O读取线程读取原始数据的数据条并从空闲数据缓冲区队列中获取数据缓冲区用于存储所述数据条;
将存储所述数据条的数据缓冲区加入到编码就绪数据缓冲区队列,数据编码线程判断编码就绪队列是否为空;
当所述编码就绪队列不为空时,取出所述编码就绪数据缓冲区队列并向空闲编码缓冲区队列获取编码缓冲区;
当所述编码就绪队列为空且内存未达到上界时,所述内存分配一个编码缓冲区,用于存储所述编码就绪数据缓冲区队列;
所述数据编码线程对所述编码缓冲区中的数据条进行编码得到编码条,将编码完成的所述编码就绪数据缓冲区队列和数据缓冲区分别传输至写入就绪编码缓冲区和写入就绪数据缓冲区队列;
I/O写入线程判断所述写入就绪数据缓冲区队列和写入就绪编码缓冲区队列是否为空;
当所述写入就绪数据缓冲区队列和写入就绪编码缓冲区队列不为空时,所述I/O写入线程分别将所述写入就绪数据缓冲区队列的数据条和写入就绪编码缓冲区队列中的编码条写入不同的文件;
所述I/O写入线程完成写入操作后,所述写入就绪数据缓冲区队列进入所述空闲数据缓冲区队列,所述写入就绪编码缓冲区队列进入空闲编码缓冲区队列。
本发明针对现有的基于Jerasure的存储系统中,数据对象在存储时,Jerasure每次从数据对象读取一个有k个数据条大小的数据缓冲区,经过编码产生m个编码条大小的编码缓冲区,然后把原来的k个数据条和编码产生的m个编码条分别存储到系统中不同的块文件中,所述方法通过串行执行因此存在效率低的问题,进行了Jerasure的并行扩展。
本发明通过多线程技术使得编码和解码的过程能够同时并行的执行,所述方法的原理为在Jerasure中,多次编码过程的数据是不相关的,因此可以把数据分割,分配给不同的线程进行编码,从而实现并行的编码过程。而采用动态的数据分配方法可以通过顺序的I/O操作能够获得更高的I/O吞吐率。
分别将I/O读操作和编码计算操作分配给I/O读取线程和数据编码线程执行,而I/O写操作由I/O写入线程完成,所述I/O写入线程具体包括I/O数据写线程和I/O编码写线程。数据读取线程以顺序的方式不断的从I/O中读取数据并放到内存中;数据编码线程对内存中已经就绪的数据进行编码;I/O数据写入线程把编码完成的数据缓冲区写入I/O,I/O编码写入线程把编码完成的编码缓冲那个区写入I/O。且为了提高内存的利用效率,在内存中维护了五个数据队列用于不同的线程操作。
进一步的,当所述I/O读取线程、数据编码线程和I/O写入线程运行负载过大时,系统进行中断操作。
本发明中基于多核的多线程系统中,频繁的线程迁移会带来额外的开销,不仅包括线程上下文的保存切换开销,还有切换引起的cache失效开销,因此设计了一种启发式的线程调度算法,尽可能的把一个线程保持在一个CPU上执行,降低线程切换的可能性。
进一步的,所述中断操作包括:
判断系统中的CPU总数量;
判断进行中断操作的线程类型,并根据所述线程类型及CPU总数量进行不同CPU的调度分配。
进一步的,当所述CPU总数量为2且所述线程类型为I/O读取线程和I/O写入线程时,将所述I/O读取线程和I/O写入线程分配给第一个CPU进行中断;
当所述CPU总数量为2且所述线程类型为数据编码线程时,将所述数据编码线程分配给第二个CPU进行中断。
进一步的,当所述CPU总数量为3且所述线程类型为I/O读取线程和I/O写入线程时,将所述I/O读取线程和I/O写入线程分配给第二个CPU进行中断;
当所述CPU总数量为3且所述线程类型为数据编码线程时,将所述数据编码线程分配给第三个个CPU进行中断。
进一步的,当所述CPU总数量大于或等于4且所述线程类型为I/O读取线程时,将所述I/O读取线程分配给第二个CPU进行中断;
当所述CPU总数量大于或等于4且所述线程类型为I/O写入线程时,将所述I/O写入线程分配给第三个CPU进行中断;
当所述CPU总数量大于或等于4且所述线程类型为数据编码线程时,将所述数据编码线程分均匀配给剩余的CPU进行中断;
所述剩余的CPU不包括第一个CPU、第二个CPU和第三个CPU。
一种并行的纠删码编解码系统,包括:
数据读取模块,用于I/O读取线程读取并存储原始数据的数据条;
编码计算模块,用于数据编码线程对所述数据读取模块读取的数据条进行编码得到编码条;
数据写入模块,用于I/O写入线程将所述数据读取模块读取的数据条和所述编码计算模块编码得到的编码条分别写入不同的文件。
进一步的,还包括CPU和内存;
所述内存包括空闲数据缓冲区队列、空闲编码缓冲区队列、编码就绪数据缓冲区队列、写入就绪数据缓冲区队列和写入就绪编码缓冲区队列;
空闲数据缓冲区队列,用于维护内存中空闲的数据缓冲区,I/O读取线程从所述空闲数据缓冲区队列获取用于存储读出数据的数据缓冲区;
空闲编码缓冲区队列,用于维护内存中空闲的编码缓冲区,数据编码线程从所述空闲编码缓冲区队列中获取用于存储产生的编码数据的编码缓冲区;
编码就绪数据缓冲区队列,用于维护已经读入到内存中的数据缓冲区,数据编码线程从所述编码就绪数据缓冲区队列获取执行编码操作的数据缓冲区;
写入就绪数据缓冲区队列,用于维护已经完成编码的数据缓冲区,I/O写入线程从所述写入就绪数据缓冲区队列获取进行写入操作的数据缓冲区;
写入就绪编码缓冲区队列,用于维护已经完成编码的编码缓冲区,I/O写入线程从中所述写入就绪编码缓冲区队列获取进行写入操作的编码缓冲区。
本发明与现有技术相比,具有如下的优点和有益效果:
本发明一种并行的纠删码编解码方法及系统,采用多线程技术使得编码和解码的过程能够同时并行的执行,提高了编解码的效率及运行性能。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1为本发明流程图;
图2为本发明系统结构示意图;
图3为本发明内存中的队列结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例1
如图1所示,一种并行的纠删码编解码方法,包括:
I/O读取线程读取原始数据的数据条并从空闲数据缓冲区队列中获取数据缓冲区用于存储所述数据条;
将存储所述数据条的数据缓冲区加入到编码就绪数据缓冲区队列,数据编码线程判断编码就绪队列是否为空;
当所述编码就绪队列不为空时,取出所述编码就绪数据缓冲区队列并向空闲编码缓冲区队列获取编码缓冲区;
当所述编码就绪队列为空且内存未达到上界时,所述内存分配一个编码缓冲区,用于存储所述编码就绪数据缓冲区队列;
所述数据编码线程对所述编码缓冲区中的数据条进行编码得到编码条,将编码完成的所述编码就绪数据缓冲区队列和数据缓冲区分别传输至写入就绪编码缓冲区和写入就绪数据缓冲区队列;
I/O写入线程判断所述写入就绪数据缓冲区队列和写入就绪编码缓冲区队列是否为空;
当所述写入就绪数据缓冲区队列和写入就绪编码缓冲区队列不为空时,所述I/O写入线程分别将所述写入就绪数据缓冲区队列的数据条和写入就绪编码缓冲区队列中的编码条写入不同的文件;
所述I/O写入线程完成写入操作后,所述写入就绪数据缓冲区队列进入所述空闲数据缓冲区队列,所述写入就绪编码缓冲区队列进入空闲编码缓冲区队列。
进一步的,当所述I/O读取线程、数据编码线程和I/O写入线程运行负载过大时,系统进行中断操作。
本发明中基于多核的多线程系统中,频繁的线程迁移会带来额外的开销,不仅包括线程上下文的保存切换开销,还有切换引起的cache失效开销,因此设计了一种启发式的线程调度算法,尽可能的把一个线程保持在一个CPU上执行,降低线程切换的可能性。
进一步的,所述中断操作包括:
判断系统中的CPU总数量;
判断进行中断操作的线程类型,并根据所述线程类型及CPU总数量进行不同CPU的调度分配。
进一步的,当所述CPU总数量为2且所述线程类型为I/O读取线程和I/O写入线程时,将所述I/O读取线程和I/O写入线程分配给第一个CPU进行中断;
当所述CPU总数量为2且所述线程类型为数据编码线程时,将所述数据编码线程分配给第二个CPU进行中断。
进一步的,当所述CPU总数量为3且所述线程类型为I/O读取线程和I/O写入线程时,将所述I/O读取线程和I/O写入线程分配给第二个CPU进行中断;
当所述CPU总数量为3且所述线程类型为数据编码线程时,将所述数据编码线程分配给第三个个CPU进行中断。
进一步的,当所述CPU总数量大于或等于4且所述线程类型为I/O读取线程时,将所述I/O读取线程分配给第二个CPU进行中断;
当所述CPU总数量大于或等于4且所述线程类型为I/O写入线程时,将所述I/O写入线程分配给第三个CPU进行中断;
当所述CPU总数量大于或等于4且所述线程类型为数据编码线程时,将所述数据编码线程分均匀配给剩余的CPU进行中断;
所述剩余的CPU不包括第一个CPU、第二个CPU和第三个CPU。
如图2所示,一种并行的纠删码编解码系统,包括:
数据读取模块,用于I/O读取线程读取并存储原始数据的数据条;
编码计算模块,用于数据编码线程对所述数据读取模块读取的数据条进行编码得到编码条;
数据写入模块,用于I/O写入线程将所述数据读取模块读取的数据条和所述编码计算模块编码得到的编码条分别写入不同的文件。
如图3所示,进一步的,还包括CPU和内存;
所述内存包括空闲数据缓冲区队列、空闲编码缓冲区队列、编码就绪数据缓冲区队列、写入就绪数据缓冲区队列和写入就绪编码缓冲区队列;
空闲数据缓冲区队列,用于维护内存中空闲的数据缓冲区,I/O读取线程从所述空闲数据缓冲区队列获取用于存储读出数据的数据缓冲区;
空闲编码缓冲区队列,用于维护内存中空闲的编码缓冲区,数据编码线程从所述空闲编码缓冲区队列中获取用于存储产生的编码数据的编码缓冲区;
编码就绪数据缓冲区队列,用于维护已经读入到内存中的数据缓冲区,数据编码线程从所述编码就绪数据缓冲区队列获取执行编码操作的数据缓冲区;
写入就绪数据缓冲区队列,用于维护已经完成编码的数据缓冲区,I/O写入线程从所述写入就绪数据缓冲区队列获取进行写入操作的数据缓冲区;
写入就绪编码缓冲区队列,用于维护已经完成编码的编码缓冲区,I/O写入线程从中所述写入就绪编码缓冲区队列获取进行写入操作的编码缓冲区。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种并行的纠删码编解码方法,其特征在于,包括:
I/O读取线程读取原始数据的数据条并从空闲数据缓冲区队列中获取数据缓冲区用于存储所述数据条;
将存储所述数据条的数据缓冲区加入到编码就绪数据缓冲区队列,数据编码线程判断编码就绪队列是否为空;
当所述编码就绪队列不为空时,取出所述编码就绪数据缓冲区队列并向空闲编码缓冲区队列获取编码缓冲区;
当所述编码就绪队列为空且内存未达到上界时,所述内存分配一个编码缓冲区,用于存储所述编码就绪数据缓冲区队列;
所述数据编码线程对所述编码缓冲区中的数据条进行编码得到编码条,将编码完成的所述编码就绪数据缓冲区队列和数据缓冲区分别传输至写入就绪编码缓冲区和写入就绪数据缓冲区队列;
I/O写入线程判断所述写入就绪数据缓冲区队列和写入就绪编码缓冲区队列是否为空;
当所述写入就绪数据缓冲区队列和写入就绪编码缓冲区队列不为空时,所述I/O写入线程分别将所述写入就绪数据缓冲区队列的数据条和写入就绪编码缓冲区队列中的编码条写入不同的文件;
所述I/O写入线程完成写入操作后,所述写入就绪数据缓冲区队列进入所述空闲数据缓冲区队列,所述写入就绪编码缓冲区队列进入空闲编码缓冲区队列。
2.根据权利要求1所述的一种并行的纠删码编解码方法,其特征在于,当所述I/O读取线程、数据编码线程和I/O写入线程运行负载过大时,系统进行中断操作。
3.根据权利要求2所述的一种并行的纠删码编解码方法,其特征在于,所述中断操作包括:
判断系统中的CPU总数量;
判断进行中断操作的线程类型,并根据所述线程类型及CPU总数量进行不同CPU的调度分配。
4.根据权利要求3所述的一种并行的纠删码编解码方法,其特征在于,当所述CPU总数量为2且所述线程类型为I/O读取线程和I/O写入线程时,将所述I/O读取线程和I/O写入线程分配给第一个CPU进行中断;
当所述CPU总数量为2且所述线程类型为数据编码线程时,将所述数据编码线程分配给第二个CPU进行中断。
5.根据权利要求3所述的一种并行的纠删码编解码方法,其特征在于,当所述CPU总数量为3且所述线程类型为I/O读取线程和I/O写入线程时,将所述I/O读取线程和I/O写入线程分配给第二个CPU进行中断;
当所述CPU总数量为3且所述线程类型为数据编码线程时,将所述数据编码线程分配给第三个个CPU进行中断。
6.根据权利要求1所述的一种并行的纠删码编解码方法,其特征在于,当所述CPU总数量大于或等于4且所述线程类型为I/O读取线程时,将所述I/O读取线程分配给第二个CPU进行中断;
当所述CPU总数量大于或等于4且所述线程类型为I/O写入线程时,将所述I/O写入线程分配给第三个CPU进行中断;
当所述CPU总数量大于或等于4且所述线程类型为数据编码线程时,将所述数据编码线程分均匀配给剩余的CPU进行中断;
所述剩余的CPU不包括第一个CPU、第二个CPU和第三个CPU。
7.一种并行的纠删码编解码系统,其特征在于,包括:
数据读取模块,用于I/O读取线程读取并存储原始数据的数据条;
编码计算模块,用于数据编码线程对所述数据读取模块读取的数据条进行编码得到编码条;
数据写入模块,用于I/O写入线程将所述数据读取模块读取的数据条和所述编码计算模块编码得到的编码条分别写入不同的文件。
8.根据权利要求7所述的一种并行的纠删码编解码系统,其特征在于,还包括CPU和内存;
所述内存包括空闲数据缓冲区队列、空闲编码缓冲区队列、编码就绪数据缓冲区队列、写入就绪数据缓冲区队列和写入就绪编码缓冲区队列;
空闲数据缓冲区队列,用于维护内存中空闲的数据缓冲区,I/O读取线程从所述空闲数据缓冲区队列获取用于存储读出数据的数据缓冲区;
空闲编码缓冲区队列,用于维护内存中空闲的编码缓冲区,数据编码线程从所述空闲编码缓冲区队列中获取用于存储产生的编码数据的编码缓冲区;
编码就绪数据缓冲区队列,用于维护已经读入到内存中的数据缓冲区,数据编码线程从所述编码就绪数据缓冲区队列获取执行编码操作的数据缓冲区;
写入就绪数据缓冲区队列,用于维护已经完成编码的数据缓冲区,I/O写入线程从所述写入就绪数据缓冲区队列获取进行写入操作的数据缓冲区;
写入就绪编码缓冲区队列,用于维护已经完成编码的编码缓冲区,I/O写入线程从中所述写入就绪编码缓冲区队列获取进行写入操作的编码缓冲区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010493911.8A CN111625395B (zh) | 2020-06-03 | 2020-06-03 | 一种并行的纠删码编解码方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010493911.8A CN111625395B (zh) | 2020-06-03 | 2020-06-03 | 一种并行的纠删码编解码方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111625395A true CN111625395A (zh) | 2020-09-04 |
CN111625395B CN111625395B (zh) | 2023-03-14 |
Family
ID=72260209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010493911.8A Active CN111625395B (zh) | 2020-06-03 | 2020-06-03 | 一种并行的纠删码编解码方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111625395B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113504874A (zh) * | 2021-06-24 | 2021-10-15 | 中国科学院计算技术研究所 | 基于负载感知的自适应粒度纠删码编解码加速方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335150A (zh) * | 2014-08-13 | 2016-02-17 | 苏宁云商集团股份有限公司 | 纠删码数据的快速编解码方法和系统 |
US20200159568A1 (en) * | 2018-11-21 | 2020-05-21 | Fungible, Inc. | Service chaining hardware accelerators within a data stream processing integrated circuit |
-
2020
- 2020-06-03 CN CN202010493911.8A patent/CN111625395B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335150A (zh) * | 2014-08-13 | 2016-02-17 | 苏宁云商集团股份有限公司 | 纠删码数据的快速编解码方法和系统 |
US20200159568A1 (en) * | 2018-11-21 | 2020-05-21 | Fungible, Inc. | Service chaining hardware accelerators within a data stream processing integrated circuit |
Non-Patent Citations (3)
Title |
---|
LIXIN LIANG. ET AL.: "An Erasure-Coded Storage System for Edge Computing", 《 IEEE ACCESS》 * |
孙伟东: "分布式存储中基于纠删码的数据容错技术研究", 《中国博士学位论文全文数据库信息科技辑》 * |
廖辉等: "基于纠删码的细粒度云存储调度方案", 《计算机应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113504874A (zh) * | 2021-06-24 | 2021-10-15 | 中国科学院计算技术研究所 | 基于负载感知的自适应粒度纠删码编解码加速方法及系统 |
CN113504874B (zh) * | 2021-06-24 | 2023-08-29 | 中国科学院计算技术研究所 | 基于负载感知的自适应粒度纠删码编解码加速方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111625395B (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11868652B2 (en) | Utilization based dynamic shared buffer in data storage system | |
CN102713866A (zh) | 减少基于闪存的存储系统中的存取争用 | |
CN109614276B (zh) | 故障处理方法、装置、分布式存储系统和存储介质 | |
CN111679795B (zh) | 无锁并发io处理方法及其装置 | |
US8914571B2 (en) | Scheduler for memory | |
JP2010079622A (ja) | マルチコアプロセッサシステム、および、そのタスク制御方法 | |
EP2927779A1 (en) | Disk writing method for disk arrays and disk writing device for disk arrays | |
CN114265670B (zh) | 一种内存块整理方法、介质及计算设备 | |
US20130097382A1 (en) | Multi-core processor system, computer product, and control method | |
US20120102012A1 (en) | Cross-region access method for embedded file system | |
US20210081235A1 (en) | Memory system | |
GB2555682A (en) | Repartitioning data in a distributed computing system | |
CN111625395B (zh) | 一种并行的纠删码编解码方法及系统 | |
CN114253713B (zh) | 一种基于reactor的异步批处理方法及系统 | |
CN117472568A (zh) | 一种多线程任务处理方法及终端 | |
CN112764684A (zh) | 一种存储系统的硬盘性能识别方法和系统 | |
Diwase et al. | Survey report on memory allocation strategies for real time operating system in context with embedded devices | |
CN110119245A (zh) | 用于操作nand闪存物理空间以扩展存储器容量的方法和系统 | |
CN113504875B (zh) | 一种基于多级调度的纠删码系统恢复方法及系统 | |
CN111176883B (zh) | 基于纠删码的闪存固态盘数据主动重构方法及读取方法 | |
CN109960588B (zh) | 一种针对异构内存集群的读请求调度方法及系统 | |
CN113504874A (zh) | 基于负载感知的自适应粒度纠删码编解码加速方法及系统 | |
CN111755057B (zh) | 一种信道的引擎调度方法、系统及相关装置 | |
CN111984443A (zh) | 一种分布式系统环境下的编码方法、解码方法和对应装置 | |
US11914475B2 (en) | Erasure recovery in a distributed storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |