CN104133661B - 基于列存储的多核并行哈希分区优化方法 - Google Patents
基于列存储的多核并行哈希分区优化方法 Download PDFInfo
- Publication number
- CN104133661B CN104133661B CN201410369674.9A CN201410369674A CN104133661B CN 104133661 B CN104133661 B CN 104133661B CN 201410369674 A CN201410369674 A CN 201410369674A CN 104133661 B CN104133661 B CN 104133661B
- Authority
- CN
- China
- Prior art keywords
- hash
- key
- thread
- value pair
- storage
- 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.)
- Expired - Fee Related
Links
- 238000003860 storage Methods 0.000 title claims abstract description 97
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000000638 solvent extraction Methods 0.000 title abstract description 11
- 238000005457 optimization Methods 0.000 claims abstract description 29
- 238000013507 mapping Methods 0.000 claims abstract description 27
- 238000005192 partition Methods 0.000 claims description 67
- 230000008520 organization Effects 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 20
- 230000015654 memory Effects 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 6
- 230000001934 delay Effects 0.000 claims 1
- 235000013399 edible fruits Nutrition 0.000 claims 1
- 238000002474 experimental method Methods 0.000 description 8
- 238000013480 data collection Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000000052 comparative effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于列存储的多核并行哈希分区优化方法,主要解决现有并行哈希分区算法不能高效利用多核处理器资源的问题。其实现方案是:首先,利用映射‑化简并行编程模型将数据分区任务动态分配到各个核来执行,根据列存储数据集存储结构的不同,选择相应的避免写冲突策略;然后,用映射线程进行第一次哈希划分,并将所得到的第一次哈希分区结果经过数据倾斜优化后交给化简进程进行第二次哈希分区;最后,返回最终的哈希分区结果。本发明很好的利用了在多核处理器上任务可并行执行的特性,并能够适应各种分布的输入数据,提高了高速缓存效率和多核处理器的整体性能,可用于列存储数据集的多核并行多步哈希分区。
Description
技术领域
本发明属于数据处理技术领域,特别涉及一种多核并行哈希分区优化方法,可用于列存储数据库的数据分区。
背景技术
分区是数据库中的重要操作,同时也是其他数据库操作的基本操作,例如:连接、聚集、排序等操作。分区是将一个较大的任务分成若干个较小的子任务。处理若干个子任务所用的总时间常常小于处理一个较大任务所用的时间,这是因为较小的任务能够高效的利用缓存和内存。分区操作在不同的应用中已经有了大量的研究,这些研究主要是针对数据库操作。在连接操作和聚集操作中,分区能够明显的提升其性能;在并行排序操作中,分区也是其中重要的一步。Manegold等人提出的Radix-cluster分区算法通过减少缓存丢失和快表丢失获得了较好的效果。Cieslewicz等人提出了在多核处理器中并行分区的方法,在处理均匀分布的输入数据时取得了较好的效果。
HASH分区主要用来分散热点读,确保数据在预先确定个数的分区中尽可能平均分布。传统HASH分区方式通过取模的方式使数据尽可能平均分布在每个分区中,让每个分区管理的数据都减少,提高查询的效率;可是当需要增加分区或者合并分区的时候,就会出现问题。假设原来是5个常规HASH分区,现在需要新增一个常规HASH分区,原来的取模算法是MOD(expr,5),根据余数0~4分布在5个分区中,现在新增一个分区后,取模算法变成MOD(expr,6),根据余数0~5分区在6个分区中,原来5个分区中的数据大部分都需要通过重新计算重新分区。
伴随当今的硬件发展十分迅速,CPU拥有更多的核心,每个核心拥有更多的线程。常见的CPU拥有4个或者更多的核心,每个核心拥有2个或者更多的线程。最近,IBM推出了新一代的POWER 8处理器,支持12核心96线程,共享96MB的三级缓存,这说明多核CPU有广阔的应用前景。面对新型的硬件架构,传统的并行哈希分区算法不能高效地利用多核处理器的并行资源,且不能较好地处理有倾斜的输入数据。
发明内容
鉴于现有技术的不足,本发明的目的是克服上述传统哈希分区方法的两个缺陷,采用多核处理器,利用线性哈希分区技术和基于映射-化简模型的单CPU多核处理器并行技术,动态地将要分区的列存储数据集加载到内存,并使用映射-化简模型将分区操作分配到处理器的多个核上并行运行,以缩短大数据集分区结果的返回时间,提高数据分区的效率,并较好地处理了有倾斜的输入数据。
实现本发明目的的技术思路是:采用映射-化简框架在多核处理器环境下对列存储数据集进行哈希分区,并在映射-化简执行时将列存储数据集均匀分为若干块,通过映射-化简模型将各个块分配给不同的映射线程并行执行,通过选择合适的策略避免写冲突,进行第一次映射线程哈希分区,再将所得到的中间结果集进行数据倾斜优化后作为输入进行第二次化简线程哈希分区,以实现列存储数据集的多核并行哈希分区。
根据上述思路本发明的实现步骤包括如下:
(1)读取用户输入的列存储数据集,该列存储数据集的数据格式为(Key,Value)形式的键值对,其中Key表示键值对所对应的编号,Value表示键值对所存储的值;
(2)将用户输入的列存储数据集分割为若干大小相同的块,并将每一块数据交给一个映射线程进行第一次哈希分区;
(3)对于列存储数据集不同的哈希存储结构,选择相应的避免写冲突策略,以确保第一次哈希分区时映射线程的并行执行;
(4)通过映射线程并行执行第一次哈希分区,产生m个一次哈希分区结果:
(4a)设映射线程的映射哈希函数为:其中HashBits是用户自定义的哈希函数参数,其取值范围为[2,+∞),mod为模运算,为向下取整运算;
(4b)每个映射线程依据映射哈希函数f1(Key),对于列存储数据集(Key,Value)键值对中的Key值进行哈希运算,将运算结果相同的键值对分到同一个分区中,共产生m个一次哈希分区,其大小分别为D1,D2,…,Di,…,Dm,i∈1,2,…,m,m≥2;
(5)将产生的m个分区结果通过化简进程进行第二次哈希分区:
(5a)设化简线程的化简哈希函数为:其中为向上取整运算;
(5b)通过数据倾斜优化方法优化m个一次哈希分区结果,将数据倾斜优化后的分区结果交给m个化简线程进行分区,即由化简线程依据化简哈希函数f2(Key),对每个分区结果(Key,Value)键值对中的Key值进行哈希运算,再将运算结果相同的键值对分到同一个分区中,分别产生n个分区结果,n≥2,共产生m×n个二次哈希分区,m×n≥4;
(6)将最终的m×n个分区结果输出给用户。
本发明具有如下优点:
1.本发明基于多核处理器可并行执行的特性,利用映射-化简模型,将列存储数据集分为若干块交给线程进行并行处理,实现多步并行的哈希分区,提高了高速缓存效率,从而使多核处理器的整体性能得到提升;
2.本发明根据列存储数据集两种的不同存储结构,选择四种避免线程写冲突策略,解决了各线程之间并行写入数据集到同一分区位置时的写冲突;
3.本发明对有数据倾斜的列存储数据集提出数据倾斜优化方法,实现了对各种分布的输入数据集的哈希分区。
附图说明
图1为本发明的运行流程示意图;
图2为本发明利用映射-化简模型执行多步哈希分区示意图;
图3为传统的哈希存储结构图;
图4为本发明优化的哈希存储结构图;
图5为本发明进行第二次哈希分区前使用数据倾斜优化方法的流程示意图;
图6为用本发明在无锁策略下分别进行单步分区与多步分区的效率对比图;
图7为用本发明在四种不同策略下分别进行单步分区的效率对比图;
图8为用本发明在两次遍历策略下使用数据倾斜优化与未使用数据倾斜优化分别进行分区的效率对比图。
具体实施方式
为了更好的理解本发明,下面将结合附图对本发明进行详细的说明。
参照图1,本发明的实现步骤如下:
步骤1,读取列存储数据集。
将用户所输入的列存储数据集保存在一个txt的文本文件中,每个键值对占txt文本文件的一行;
通过读取txt文件每一行读取用户输入的列存储数据集,该列存储数据集数的数据格式为(Key,Value)形式的键值对,其中每对键值对大小16字节,含有8字节的编号Key和8字节存储的值Value;
对读取的列存储数据集选择传统的哈希存储结构或者优化的哈希存储结构进行存储。
步骤2,分割用户输入的列存储数据集。
将用户输入的列存储数据集分割为t个大小相同的块,如图2中的分块所示,数据集分块数目t应当等于映射线程的数目,其中t∈2,3,4,…;
依据用户输入数据集大小C和数据集分块数目t计算每一块数据集的大小映射线程依据每块数据集的大小从总的数据集中取出数据。
步骤3,选择并行分区时的避免写冲突策略。
依据存储用户输入数据集时所选择的哈希存储结构,对列存储数据集不同的哈希存储结构,选择相应的避免写冲突策略,以确保第一次哈希分区时映射线程的并行执行,其选择原则如下:
原则一,对于存储数据集采用传统的哈希存储结构,即用一个容器或者数组存储键值对,则选择使用两次遍历策略或并行缓存策略,以避免写冲突;
原则二,对于列存储数据集采用优化的哈希存储结构,则选择使用加锁策略或无锁策略,以避免写冲突。
所述传统的哈希存储结构,是用一个容器或者数组存储键值对;当用一个容器存储某一个分区中的键值对时,由于用容器存储键值对时只能通过顺序遍历找到该容器空闲的存储位置,然后进行写入操作,随着键值对数目的增加,键值对的存储效率会明显降低;当用一个数组存储某一个分区中的键值对时,其结构如图3所示,哈希存储结构由一个指针数组组成,该指针数组中的每一个指针指向一个新的数组,用于存储键值对,由于数组可以通过下标进行定位,数组存储键值对的存储效率较高且存储效率不会随着存储键值对的数目的增加而降低,但初始化一个容量较大的数组所需时间较长。
所述优化的哈希存储结构,其结构如图4所示,用一个连续的数组表示,数组的每一位表示一个哈希桶,每一个哈希桶存储结果集中某一个分区中的键值对。每一个哈希桶由空闲指针(free指针),后继指针(next指针)和一段连续的存储空间组成,其中连续的存储空间用于存储键值对,free指针指向该连续存储空间中下一个空闲位置,next指针指向新的哈希桶位置,这样的设计既保证了键值对存储效率又降低了初始化存储结构时的花销;
所述的两次遍历策略,是指先通过线程进行第一次遍历,将每个线程分区所产生的各分区中键值对个数存储到二维数组Kpq,其中q表示线程的编号,p表示该线程分区所产生的分区编号;然后通过公式计算出第q个线程的第p个分区中键值对写入存储结构的位置;最后进行第二次遍历,将键值对并行写入分区区域存储结构;该策略最终的分区结果存储在一段连续的存储空间,提高了程序的局部空间利用率,但该策略对输入的数据集要进行两次遍历;
所述的并行缓存策略,是指每个线程有大小一定的独立存储空间,将键值对写入线程自己的存储空间时不需要进行加锁解锁操作,但当该存储空间耗尽时,需要通过加锁解锁操作获取新的存储空间;
所述的加锁策略,是指所有线程共享一个键值对存储结构,每一个分区区域是一个连续的存储空间,每个线程并行地将键值对写入分区区域,当不同线程写入同一分区区域时,需要先对该分区区域进行加锁操作,然后加锁线程进行写入;加锁线程将键值对写入完毕后需要进行解锁操作,并由另一个线程加锁该分区区域进行写入,直至所有线程执行完毕,使用该策略进行哈希分区时内存消耗较小,且内存消耗不会随着线程数目的增加而增加,但频繁的加锁解锁操作影响了哈希分区的整体效率;
所述的无锁策略,是指每个线程有一个独立的键值对存储结构,每个线程只将数据写入自己的存储结构中,避免频繁的加锁解锁操作,但该策略需要额外的操作将所有线程分区所产生的存储结构进行合并,同时进行哈希分区时的内存消耗会随着线程数目的增加而增加。
步骤4,映射线程进行第一次哈希分区。
映射线程依据所选择的避免写冲突策略利用映射哈希函数并行执行第一次哈希分区,产生m个分区结果:
(4a)设映射线程的映射哈希函数为:其中HashBits是用户自定义的哈希函数参数,其取值范围为[2,+∞),mod为模运算,为向下取整运算;
(4b)每个映射线程依据映射哈希函数f1(Key),对于列存储数据集(Key,Value)键值对中的Key值进行哈希运算,将运算结果相同的键值对分到同一个分区中,共产生m个一次哈希分区,其大小分别为D1,D2,…,Di,…,Dm,i∈1,2,…,m,m≥2。
步骤5,将产生的m个分区结果交给化简线程,进行数据倾斜优化和第二次哈希分区。
(5a)设化简线程的化简哈希函数为:其中为向上取整运算;
(5b)通过数据倾斜优化方法优化m个一次哈希分区结果:
参照图5,本步骤的具体实现如下:
(5b1)设定一个阈值
(5b2)将m个一次哈希分区D1,D2,…,Di,…,Dm依次与阈值T进行比较:
若Di≤T,则将该哈希分区直接交给化简线程;
若Di>T,则将该哈希分区暂时保存到队列D中,直至所有一次哈希分区全部比较完毕,再将队列D中的每一个哈希分区平均分为m份,将每一份分别交给一个化简线程。
(5c)化简线程依据化简哈希函数对优化后的分区结果进行第二次哈希分区,即依据化简哈希函数f2(Key),对每个分区结果(Key,Value)键值对中的Key值进行哈希运算,再将运算结果相同的键值对分到同一个分区中,分别产生n个分区结果,n≥2,共产生m×n个二次哈希分区,m×n≥4。
步骤6,将最终的m×n个分区结果输出给用户。
最终的m×n个分区结果通过txt文件形式输出给用户,同时进行本次哈希分区所用的初始化时间、第一次分区时间、第二次分区时间以及总时间均将输出给用户,用户依据上述时间参数对哈希分区的效率进行评定。
下面将结合具体实验对本发明的效果作进一步描述。
一、实验环境
在Linux系统中用C++编程语言,基于英特尔新型Sandy Bridge架构的Xeon 8核处理器(E5-2670 2.6GHZ)共用4个8GB DDR3内存进行分区,每核包含两个线程、拥有3个级别的缓存,其中1级缓存为独立的32KB,2级缓存为独立的256KB,3级缓存为共享的20M。
二、实验内容
实验1,在无锁策略下比较单步分区与多步分区的效率。
本实验中,用户输入的列存储数据集为16M,共16384对键值对,对输入数据集采用优化的哈希存储结构进行存储,映射线程的线程数为16,即将输入数据集均分为16个含有1024对键值对的数据集,取多个哈希函数参数HashBits,在无锁策略下分别进行单步哈希分区与多步哈希分区,结果如图6所示。
从图6可见,当HashBits较小时,由于分区结果中键值对较少,能够较好地利用高速缓存和快表,而多步分区相比单步分区要多进行一次分区,因此单步分区的效率比多步分区要高。
当HashBits较大时,由于分区结果中键值对较多,高速缓存和快表未命中的几率增加,多步分区能够将分区结果中较多的键值对通过第一次分区使得分区结果中键值对数目减少,因此多步分区比单步分区效率更高,当多步分区中第一次分区数目等于第二次分区数目时,多步分区效果最好。
实验2,比较四种不同策略的下单步分区的效率。
本实验中,用户输入的列存储数据集为16M,共16384对键值对,使用加锁策略和无锁策略进行分区时,输入数据集采用优化的哈希存储结构进行存储,使用两次遍历策略和并行缓存策略进行分区时,输入数据集采用传统的哈希存储结构进行存储,映射线程的线程数为16,即将输入数据集均分为16个含有1024对键值对的数据集,取多个哈希函数参数HashBits,通过映射线程进行单步哈希分区,结果如图7所示。
从图7可见,在加锁策略中,当HashBits较小时,每一个分区结果有较多的键值对,频繁加锁解锁操作会影响整体性能。随着HashBits的增加,每一个分区结果的键值对数目减少,线程之间的冲突减少,整体性能提升。当HashBits继续增加,高速缓存和快表的未命中会影响程序效率。
在无锁策略中,由于没有加锁解锁操作,在HashBits较小时程序性能大大优于加锁策略,但程序需要许多额外的变量记录当前写入位置、分区大小等信息,而这些变量的数目随着线程数目的增加而增加,所以随着HashBits的增加,无锁策略承担的内存压力增加,再考虑到高速缓存和快表未命中的影响,随着HashBits的增加,程序整体效率明显下降。
在两次遍历策略中,受限于第一次遍历计算分区键值对写入位置的操作,当HashBits增加时,分区数目增多,第一次遍历需要计算的写入位置数目也随着增加,该策略的整体效率就降低。
在并行缓存策略中,随着HashBits的增加,考虑到高速缓存和快表未命中的影响,程序整体效率明显下降。
实验3,对含有数据倾斜的输入数据集在两次遍历策略下比较使用数据倾斜优化与未使用数据倾斜优化进行分区的效率。
本实验中,用户输入的列存储数据集为16M,共16384对键值对,用户输入的数据集是有数据倾斜的数据集,其倾斜度的齐夫值为1.15,对输入数据集采用传统的哈希存储结构进行存储,映射线程的线程数为16,取多个哈希函数参数HashBits,比较在两次遍历策略避免下使用数据倾斜优化数据集与不使用数据倾斜优化数据集进行分区的效率,其结果如图8所示。
从图8可知,在多步分区处理有数据倾斜的输入数据时,使用本发明提出的优化方法比未使用优化方法的性能有了明显的提高。这是因为本发明提出的优化方法将较大的数据集暂时保存延后进行处理,先并行分区较小的数据集避免多个空闲线程等待一个工作线程的情况,对较大的数据集进行均分后再由线程进行并行分区,因此在有数据倾斜的输入数据情况下,可以有效的提高整体分区性能。
Claims (7)
1.一种基于列存储的多核并行哈希分区优化方法,其特征在于,包括以下步骤:
(1)读取用户输入的列存储数据集,该列存储数据集的数据格式为(Key,Value)形式的键值对,其中Key表示键值对所对应的编号,Value表示键值对所存储的值;
(2)将用户输入的列存储数据集分割为若干大小相同的块,并将每一块数据交给一个映射线程进行第一次哈希分区;
(3)对于列存储数据集不同的哈希存储结构,选择相应的避免写冲突策略,以确保第一次哈希分区时映射线程的并行执行;
(4)通过映射线程并行执行第一次哈希分区,产生m个一次哈希分区结果:
(4a)设映射线程的映射哈希函数为:其中HashBits是用户自定义的哈希函数参数,其取值范围为[2,+∞),mod为模运算,为向下取整运算;
(4b)每个映射线程依据映射哈希函数f1(Key),对于列存储数据集(Key,Value)键值对中的Key值进行哈希运算,将运算结果相同的键值对分到同一个分区中,共产生m个一次哈希分区,其大小分别为D1,D2,…,Di,…,Dm,i∈1,2,…,m,m≥2;
(5)将产生的m个分区结果通过化简进程进行第二次哈希分区:
(5a)设化简线程的化简哈希函数为:其中为向上取整运算;
(5b)通过数据倾斜优化方法优化m个一次哈希分区结果,将数据倾斜优化后的分区结果交给m个化简线程进行划分,即由化简线程依据化简哈希函数f2(Key),对每个分区结果(Key,Value)键值对中的Key值进行哈希运算,再将运算结果相同的键值对分到同一个分区中,分别产生n个分区结果,n≥2,共产生m×n个二次哈希分区,m×n≥4;
(6)将最终的m×n个分区结果输出给用户。
2.根据权利要求1所述的基于列存储的多核并行哈希分区优化方法,其特征在于,步骤(3)所述对于列存储数据集不同的哈希存储结构,选择相应的避免写冲突策略,按如下原则选择:
若列存储数据集采用传统的哈希存储结构,即用一个容器或者数组存储键值对,则选择使用两次遍历策略或并行缓存策略,以避免写冲突;
若列存储数据集采用优化的哈希存储结构,则选择使用加锁策略或无锁策略,以避免写冲突;
所述优化的哈希存储结构,是用一个连续的数组表示,数组中的每一位表示一个哈希桶,每一个哈希桶由free指针,next指针和一段连续的存储空间组成,其中连续的存储空间用于存储键值对,free指针指向该连续存储空间中下一个空闲位置,next指针指向新的哈希桶位置。
3.根据权利要求2所述基于列存储的多核并行哈希分区优化方法,其中所述的两次遍历策略,是指先通过线程进行第一次遍历,将每个线程分区所产生的各分区中键值对个数存储到二维数组Kpq,其中q表示线程的编号,p表示该线程分区所产生的分区编号;然后通过公式计算出第q个线程的第p个分区中键值对写入存储结构的位置;最后进行第二次遍历,将键值对并行写入分区区域存储结构。
4.根据权利要求2所述基于列存储的多核并行哈希分区优化方法,其中所述的并行缓存策略,是指每个线程有大小一定的独立存储空间,将键值对写入线程自己的存储空间时不需要进行加锁解锁操作,但当该存储空间耗尽时,需要通过加锁解锁操作获取新的存储空间。
5.根据权利要求2所述基于列存储的多核并行哈希分区优化方法,其中所述的加锁策略,是指每个线程并行地将键值对写入分区区域,当不同线程写入同一分区区域时,需要先对该分区区域进行加锁操作,然后加锁线程进行写入;加锁线程将键值对写入完毕后需要进行解锁操作,并由另一个线程加锁该分区区域进行写入,直至所有线程执行完毕。
6.根据权利要求2所述基于列存储的多核并行哈希分区优化方法,其中所述的无锁策略,是指每个线程有一个独立的键值对存储结构,每个线程只将数据写入自己的存储结构中,避免频繁的加锁解锁操作。
7.根据权利要求1所述的基于列存储的多核并行哈希分区优化方法,其特征在于,步骤(5b)所述通过数据倾斜优化方法优化m个一次哈希分区结果,按如下步骤进行:
(5b1)设定一个阈值其中C表示输入列存储数据集的大小;
(5b2)将m个一次哈希分区D1,D2,…,Di,…,Dm依次与阈值T进行比较:
若Di≤T,则将该哈希分区直接交给化简线程;
若Di>T,则将该哈希分区暂时保存到队列D中,直至所有一次哈希分区全部比较完毕,执行步骤(5b3);
(5b3)将队列D中的每一个哈希分区平均分为m份,将每一份分别交给一个化简线程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410369674.9A CN104133661B (zh) | 2014-07-30 | 2014-07-30 | 基于列存储的多核并行哈希分区优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410369674.9A CN104133661B (zh) | 2014-07-30 | 2014-07-30 | 基于列存储的多核并行哈希分区优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104133661A CN104133661A (zh) | 2014-11-05 |
CN104133661B true CN104133661B (zh) | 2017-01-18 |
Family
ID=51806349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410369674.9A Expired - Fee Related CN104133661B (zh) | 2014-07-30 | 2014-07-30 | 基于列存储的多核并行哈希分区优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104133661B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108446399A (zh) * | 2018-03-29 | 2018-08-24 | 重庆大学 | 一种结构化海量实时数据的动态存储优化方法 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105187235A (zh) * | 2015-08-12 | 2015-12-23 | 广东睿江科技有限公司 | 一种报文处理方法和装置 |
CN105335463B (zh) * | 2015-09-23 | 2018-09-25 | 广州市中崎商业机器股份有限公司 | 一种用于收款机的数据存储方法和快速读取方法 |
US10713210B2 (en) * | 2015-10-13 | 2020-07-14 | Microsoft Technology Licensing, Llc | Distributed self-directed lock-free RDMA-based B-tree key-value manager |
CN106776598B (zh) * | 2015-11-19 | 2019-12-13 | 中国移动通信集团公司 | 一种信息处理方法及装置 |
CA3005400C (en) * | 2015-12-17 | 2020-10-27 | Ab Initio Technology Llc | Processing data using dynamic partitioning |
CN108319496B (zh) * | 2017-01-18 | 2022-03-04 | 阿里巴巴集团控股有限公司 | 资源访问方法、业务服务器、分布式系统及存储介质 |
CN106980685B (zh) * | 2017-03-31 | 2020-04-17 | 广东神马搜索科技有限公司 | 数据处理方法及数据处理装置 |
WO2018192669A1 (en) * | 2017-04-21 | 2018-10-25 | Huawei Technologies Co., Ltd. | Data locking method based on alternating row and column locks |
CN107633001A (zh) * | 2017-08-03 | 2018-01-26 | 北京空间科技信息研究所 | 哈希分区优化方法和装置 |
CN108182084B (zh) * | 2017-12-28 | 2021-05-11 | 中国科学院计算技术研究所 | 哈希混合加速系统及应用其进行哈希连接的方法 |
CN110134678A (zh) * | 2018-02-08 | 2019-08-16 | 深圳先进技术研究院 | 一种生物数据的索引方法、系统及电子设备 |
CN108573035A (zh) * | 2018-04-02 | 2018-09-25 | 郑州云海信息技术有限公司 | 一种数据存储方法 |
CN111694693A (zh) * | 2019-03-12 | 2020-09-22 | 上海晶赞融宣科技有限公司 | 数据流存储方法、装置以及计算机存储介质 |
CN111857982B (zh) * | 2019-04-25 | 2023-10-27 | 浙江大学 | 一种数据处理方法及其装置 |
CN110806942B (zh) * | 2019-11-08 | 2024-05-07 | 广州华多网络科技有限公司 | 数据处理的方法和装置 |
CN111930751A (zh) * | 2020-08-31 | 2020-11-13 | 成都四方伟业软件股份有限公司 | 一种时序数据的存储方法及装置 |
CN112506425B (zh) * | 2020-11-19 | 2024-04-09 | 江苏大学 | 一种面向多核的nvm存储设备模拟器及设计方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH052608A (ja) * | 1991-06-25 | 1993-01-08 | Mitsubishi Electric Corp | データ検索装置 |
CN101593202A (zh) * | 2009-01-14 | 2009-12-02 | 中国人民解放军国防科学技术大学 | 基于共享Cache多核处理器的数据库哈希连接方法 |
CN102662639A (zh) * | 2012-04-10 | 2012-09-12 | 南京航空航天大学 | 一种基于Mapreduce的多GPU协同计算方法 |
CN102831120A (zh) * | 2011-06-15 | 2012-12-19 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及系统 |
CN103942343A (zh) * | 2014-05-12 | 2014-07-23 | 中国人民大学 | 一种面向哈希连接的数据存储优化方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120182891A1 (en) * | 2011-01-19 | 2012-07-19 | Youngseok Lee | Packet analysis system and method using hadoop based parallel computation |
US9372890B2 (en) * | 2011-11-23 | 2016-06-21 | Infosys Technologies, Ltd. | Methods, systems, and computer-readable media for providing a query layer for cloud databases |
-
2014
- 2014-07-30 CN CN201410369674.9A patent/CN104133661B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH052608A (ja) * | 1991-06-25 | 1993-01-08 | Mitsubishi Electric Corp | データ検索装置 |
CN101593202A (zh) * | 2009-01-14 | 2009-12-02 | 中国人民解放军国防科学技术大学 | 基于共享Cache多核处理器的数据库哈希连接方法 |
CN102831120A (zh) * | 2011-06-15 | 2012-12-19 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及系统 |
CN102662639A (zh) * | 2012-04-10 | 2012-09-12 | 南京航空航天大学 | 一种基于Mapreduce的多GPU协同计算方法 |
CN103942343A (zh) * | 2014-05-12 | 2014-07-23 | 中国人民大学 | 一种面向哈希连接的数据存储优化方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108446399A (zh) * | 2018-03-29 | 2018-08-24 | 重庆大学 | 一种结构化海量实时数据的动态存储优化方法 |
CN108446399B (zh) * | 2018-03-29 | 2021-07-30 | 重庆大学 | 一种结构化海量实时数据的动态存储优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104133661A (zh) | 2014-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104133661B (zh) | 基于列存储的多核并行哈希分区优化方法 | |
Gieseke et al. | Buffer kd trees: processing massive nearest neighbor queries on GPUs | |
KR101761301B1 (ko) | 메모리 자원 최적화 방법 및 장치 | |
CN103823865A (zh) | 一种数据库主存索引方法 | |
CN102231121B (zh) | 基于内存映射的大数据文件快速并行提取方法 | |
CN107544756B (zh) | 基于SCM的Key-Value日志型本地存储方法 | |
CN104778077B (zh) | 基于随机和连续磁盘访问的高速核外图处理方法及系统 | |
US20220270203A1 (en) | Gpu-based data join | |
CN103345514A (zh) | 大数据环境下的流式数据处理方法 | |
CN102968496A (zh) | 基于任务驱动和双缓冲机制的并行排序方法 | |
US9377954B2 (en) | System and method for memory allocation in a multiclass memory system | |
US20130275649A1 (en) | Access Optimization Method for Main Memory Database Based on Page-Coloring | |
CN101593202A (zh) | 基于共享Cache多核处理器的数据库哈希连接方法 | |
CN104572501B (zh) | 一种基于访存踪迹局部性分析的多核环境下共享缓存优化方法 | |
CN105068940A (zh) | 一种基于Bank划分的自适应页策略确定方法 | |
CN106406762A (zh) | 一种重复数据删除方法及装置 | |
CN109408411A (zh) | 基于数据访问次数的GPGPU的L1 Cache管理方法 | |
CN109582643A (zh) | 一种基于HBase的实时动态数据管理系统 | |
US20160334996A1 (en) | In-flash immutable object processing | |
CN106484532B (zh) | 面向sph流体模拟的gpgpu并行计算方法 | |
CN105045894B (zh) | 一种面向分布式顺序表的缓存方法及系统 | |
Wang et al. | Hotkey-lsm: A hotness-aware lsm-tree for big data storage | |
Xu et al. | A deep learning dataloader with shared data preparation | |
CN105808160A (zh) | 基于SSD的mpCache混合存储系统 | |
CN105573834B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170118 |