基于页面染色技术的内存数据库访问优化方法

文档序号:6368199阅读:169来源:国知局
专利名称:基于页面染色技术的内存数据库访问优化方法
技术领域
本发明涉及一种内存数据库访问优化方法,尤其涉及ー种基于页面染色技术(Page-coloring)对不同数据局部性強度的数据集进行访问控制,从而对内存数据库使用的CPU缓存(cache)访问进行优化的方法,属于数据库管理技术领域。
背景技术
内存数据库是ー种将全部数据驻留在内存中,而非传统数据库那样存放在外部存储器中的数据库。它的显著特点在于所有的数据访问控制都在内存中进行,因此数据读写 速度相对于磁盘数据库要高出几个数量级,从而能够极大地提高数据库应用的性能。与磁盘数据库相比,内存数据库重新设计了体系结构,并且在数据缓存、查询优化、并行操作方面也进行了相应的改迸。另ー方面,现有的微处理器(CPU)已经进入多核时代。多核微处理器通常采用共享CPU缓存的体系结构,CPU缓存采用硬件级的类LRU(最近最少访问)替换算法。当查询处理包括ー个较小的强局部性(频繁访问)数据集和一个较大的弱局部性(一次性访问或重复访问周期较长)数据集时,弱局部性数据集上的顺序访问将与强局部性数据集产生缓存冲突,导致强局部性数据集被驱逐出CPU缓存,只能在随后的操作中再重新加载到CPU缓存,从而因为缓存颠簸产生大量的缓存丢失(miss)冲突,增加数据访问的延迟。这种现象被称为缓存污染(cache pollution)。在实践中,宏观的缓存污染是指不同的查询处理进程或线程在共享CPU缓存中的缓存访问冲突,例如哈希连接查询处理线程与索引连接查询处理线程在共享CPU缓存上的访问冲突等;微观的缓存污染是指查询处理进程内部不同访问特性数据集之间的缓存访问冲突,例如哈希连接中顺序扫描的外表和哈希表之间的缓存访问冲突等。页面染色技术(Page-coloring)是内存与CPU缓存之间的高速地址转换技术,即通过物理内存地址的低位映像来控制内存页面调入到CPU缓存中指定的区域中。现有的页面染色技木通过改变具有不同局部性特性的内存页面顔色(page-color)的方式将数据调入到指定的不冲突缓存区域中,从而实现隔离弱局部性数据对强局部性数据的缓存污染。当前比较成熟的缓存访问优化方法是扩展操作系统内核模块,支持以页面颜色队列方式管理内存资源,并为并发的查询处理进程提供按页面顔色分配内存的功能,从而控制不同进程的内存地址空间在CPU缓存中没有交叉,減少具有不同数据访问特性的进程之间的缓存冲突。该类技术路线适用于磁盘数据库的缓冲区管理功能。由于磁盘数据库的数据驻留于磁盘,在查询处理时需要首先加载到内存缓冲区后才能进行处理,而弱局部性数据没有重用性或重用的周期很长,因此可以通过内存缓冲区的内存地址分配技术将数据量大的弱局部性数据集交换到少量内存页面颜色队列对应的缓冲区内存中,从而能够为强局部性数据集分配更多的内存页面颜色队列来保证其充足的可用内存资源。但是,磁盘数据库中的页面颜色优化技术是面向进程粒度的,无法为进程内具有不同数据访问特性的数据集访问进行细粒度的优化。
页面染色技术在内存数据库的应用中面临两个技术挑战一是内存数据库的数据常驻内存,内存数据库采用直接访问内存的方式而不是象磁盘数据库那样通过缓冲区来间接地访问数据。较大的弱局部性数据集往往占据较大的内存地址空间,而其弱局部性的特点需要将较大的内存地址空间映像到最少的缓存地址空间中,也就是说需要为巨大的内存地址空间分配最少的页面颜色。而每ー个页面顔色代表最大l/n(n为页面顔色数量)可用的内存地址空间。内存数据库无法为弱局部性的大数据集分配较少的页面颜色。第二个挑战是如果采用动态页面染色技术,在内存数据访问前通过内存复制的方法改变弱局部性数据页面的页面颜色,虽然可以解决弱局部性数据集无法分配较少页面顔色的问题,但内存复制的延迟严重地影响了数据访问的整体性能 。因此,内存数据库面临的缓存优化技术挑战是内存中没有缓冲区机制来支持通过缓存访问的方式动态改变地址空间大的弱局部性数据集的页面颜色再分配机制。如果按页面顔色为强局部性数据集和弱局部性数据集分配常驻内存地址空间,则内存地址空间的利用率较低。分配较多的页面颜色意味着获得较大的地址空间,而强局部性数据集只需要有较大的页面颜色范围而并不需要实际的大量内存地址空间来存储较小的数据集。同时,弱局部性数据集只需要较小的页面颜色范围但实际需要大量内存地址空间来存储较大的数据集。内存地址空间与页面顔色范围的配额矛盾难以同时满足。

发明内容
本发明所要解决的技术问题在于提供ー种基于页面染色技术的内存数据库访问优化方法。该方法基于页面染色技术对不同数据局部性強度的数据集进行访问控制,从而降低不同访问特征的数据集在CPU缓存中的冲突,降低缓存丢失率,提高内存数据库的整体性能。为解决上述的技术问题,本发明采用下述的技术方案ー种基于页面染色技术的内存数据库访问优化方法,其特征在于在内存数据库的缓存访问过程中,将弱局部性数据集的所有数据页面的访问顺序按页面顔色进行排序,并将所有数据页面按页面颜色进行分组,然后按页面顔色分组的顺序扫描弱局部性数据集的所有数据页面;预设若干具有相同页面颜色的内存页面作为页面颜色队列,该页面颜色队列用作内存页面被加载入CPU缓存之前的内存缓存;弱局部性数据集的数据页面首先通过异步方式进入页面颜色队列,然后再被加载到CPU缓存中完成数据处理。其中较优地,所述页面颜色分组的顺序为按页面颜色递增的w-order顺序。其中较优地,在按W-order顺序的扫描过程中,以缓存大小/组关联数的倍数为单位向操作系统申请物理地址连续的大内存块以存储弱局部性数据集。其中较优地,当弱局部性数据集所分配的虚拟内存在物理地址上不连续时,首先为虚拟地址空间建立页面颜色索引,将每ー个页面的入口地址与页面顔色记录在ニ元数据结构的索引中,然后将所述索引按页面颜色排序,将相同页面颜色的页面入口地址聚集成组,在按W-order顺序的扫描过程中按所述索引的页面地址顺序扫描。其中较优地,所述页面顔色队列采用循环队列方式,某个队列页面被访问后即成为交换页面被后续待访问页面覆盖。
其中较优地,所述页面颜色队列中,第i块的缓存加载操作与第i_l块的页面复制流水并行,其中i为自然数。其中较优地,所述数据页面采用DMA memcpy模式复制到所述页面颜色队列中。其中较优地,所述页面颜色队列的长度由数据页面加载到CPU缓存的延迟以及DMA memcpy模式的延迟决定。本发明具有如下的有益效果
(I)能够解决内存数据库应用中无法依赖页面顔色为进程或线程优化分配缓存地址空间的问题;(2)有效减少数据局部性強度不同的数据集之间的缓存冲突;(3) W-order扫描只改变顺序扫描算法,不需要为缓存优化而重新设计查询处理算法,不需要扩展操作系统内核功能。


下面结合附图和具体实施方式
对本发明做进ー步的详细说明。图I为内存与缓存之间地址分配机制的示意图;图2为内存和缓存地址组成的地址矩阵示意图;图3为W-order扫描的工作原理示意图;图4为物理地址连续内存块中的W-order扫描示意图;图5为物理不连续的虚拟地址上的W-order扫描示意图;图6为动态页面颜色队列优化技术的工作原理示意图;图7为现有技术中索引扫描的示意图;图8为本发明中索引扫描的缓存优化原理示意图;图9为多核处理器中并行哈希连接查询处理的工作原理示意图。
具体实施例方式在本发明中,缓存(cache)主要是指处理器硬件级的CPU缓存。它与数据库软件级的缓冲区(buffer)不同,其访问控制是硬件指令決定的,数据库软件无法象对缓冲区一样进行主动管理。缓存访问的最底层目标是优化具有不同访问特征的数据集的访问模式,因此进程级的缓存优化技术仍然有较大的优化空间。为此,本发明提供了一种应用于内存数据库的缓存访问优化方法。该方法以当前多核处理器共享CPU缓存的主流缓存替換算法-多路组关联替换(n-way set associative)算法为背景,根据内存数据的页面颜色来优化数据页面访问顺序,从而減少OLAP查询处理时的缓存访问冲突,提高内存数据库的整体性能。页面染色技术是现代微处理器所采用的ー种高速地址映像技术,用于将内存物理地址映像为CPU缓存地址(进一步可參考Xiao Zhang、Sandhya Dwarkadas和Kai Shen的论又〈〈Towards Practical Page Coloring-based Multi-core Cacne Management〉〉,发表于European Conference on Computer Systemsj09) 微处理器的共享缓存通常米用多路组关联替换算法,以4MB共享缓存上的16路组关联为例,内存与缓存通过统ー的地址分配机制,如图I所示,将22位缓存地址(222bit = 4MB)的低12位(212bit = 4KB)作为页面地址,高6位(26 = 64)作为页面颜色标志位(页面顔色数量=缓存大小(4MB)/页面大小(4KB)/缓存关联(16) =64),最高4位(24 = 16)作为组关联号。通过统ー的编址方式,内存和缓存地址可以表示为图2所示的地址矩阵。其中,内存中的数据页面在访问时被调入到缓存中具有相同页面颜色的组关联缓存区域中,即内存页面以页面颜色为依据将数据页面调入到缓存中具有相同页面颜色的缓存区域中,然后由通过类LRU(最近最少访问)替换算法将数据调入该缓存区域中的某ー页面。在通常情况下,对数据的顺序扫描按页面地址的自然增序进行。例如从页面顔色的角度来看,依次扫描页面颜色为O的页面,扫描页面颜色为I的页面,直到页面颜色为63的页面,然后继续扫描页面颜色为O的页面…,在页面颜色地址矩阵上看呈现Z-order顺序的特征。这种Z-order顺序并不利于实现数据级的缓存优化技木。为此,本发明人提出了ー种被称为W-order顺序的页面扫描方式。W-order顺序是指对数据的扫描按页面顔色顺序进行。当索引扫描的选择率较高时,在索引访问记录地址中抽取出页面颜色标志位,对索引范围中的记录按页面颜色顺序进行多趟访问。即 首先扫描全部页面颜色为i(i为自然数)的页面,然后再扫描所有页面颜色为i+Ι的页面,直到扫描完最后ー个页面顔色对应的全部页面(即页面顔色记录组),在内存地址扫描顺序上呈现W形状,我们称这种按页面颜色顺序的扫描为W-order扫描(进ー步可參考张延松等人的论文《W-0rder scan !minimizing cacne pollution by applicationsoftware level cache management for MMDB》,发表f WAIM’11 Proceedings of the 12thinternational conference on Web-age information management)。图 3 为 W-order 扫描的示意图。W-order扫描是按页面颜色的顺序扫描页面,首先扫描内存数据集中所有页面颜色号为O的页面,然后扫描下ー组所有页面颜色号为I的页面,直到最后一組。w-order扫描操作支持乱序访问,尤其适用于关系数据库中基于集合的数据组织和访问结构。在上述技术手段的基础上,本发明所提供的缓存访问优化方法主要包括两个方面的技术内容(I)静态页面访问顺序优化;(2)动态页面顔色队列优化。静态页面访问顺序优化是指在数据页面访问时不改变页面的物理地址,只优化对页面的访问顺序。动态页面访问颜色队列优化是指通过预设一个页面顔色缓冲区,页面访问时先进入页面顔色缓冲区来改页面顔色,从而减少页面被加载到cache时的地址冲突。静态页面优化适合于数据访问顺序无关的弱局部性数据集扫描操作,需要预知数据访问特征;而动态页面队列适合于通用的数据访问优化,不需要预先了解数据访问特征。下面对此展开详细具体的说明。所谓静态页面访问顺序优化是指对顺序访问的弱局部性数据集的数据页面访问 顺序按页面颜色顺序进行优化,即将访问频率很低的弱局部性数据集的所有数据页面的访问顺序按页面顔色进行排序,并将所有数据页面按页面颜色进行分组,然后按页面颜色分组的顺序扫描弱局部性数据集的所有数据页面。这样,弱局部性数据集页面上的访问顺序不再按内存地址自然递增的Z-order顺序,而是按页面颜色递增的W-order顺序。为了满足静态页面访问顺序优化的要求,本发明中首先采用了连续物理内存空间分配技术。具体而言,首先采用例如kmallocO之类的函数向操作系统申请一块较大的物理地址连续的存储空间存储弱局部性数据集。物理地址连续的存储空间申请遵循4KBX页面颜色数量的整数倍(如64个页面颜色的系统分配4KBX64 = 256KB整数倍的内存块,例如1MB)。在物理地址连续的数据块内,可以根据偏移地址计算访问指定页面颜色的页面,从而支持在物理地址连续的数据块内按页面顔色的顺序实现多趟扫描。另ー方面,本发明也采用了 Linux操作系统默认的虚拟内存空间分配技木。具体而言,当采用mallocO函数分配内存块时,虚拟地址分配的内存块在物理地址上可能并不连续,无法按虚拟地址计算出页面的页面颜色。在这种情况下,为虚拟地址空间建立页面颜色索引,将每ー个页面的入口地址与页面顔色记录在一个ニ元数据结构的索引中,然后将索引按页面颜色排序,将相同页面颜色的页面入口地址聚集成组,表扫描时按页面顔色索引的页面地址顺序扫描。在本发明所提供的内存数据库缓存访问优化方法中,将查询处理中的顺序(即Z-order顺序)表扫描操作替换为W-order顺序扫描操作,从而将哈希连接中事实表与哈希表的缓存冲突在每组按页面颜色扫描的过程中限制在一个页面顔色的缓存地址空间内,降低整体的缓存冲突。图4显示了在基于kmallocO函数的物理地址连续的内存块中,W-order扫描的 实现步骤。在W-order扫描过程中,以缓存大小/组关联数(如4MB/16路组关联)的倍数为单位向操作系统申请物理地址连续的大内存块以存储弱局部性数据集。对于图4所示的内存块内按页面颜色组织的页面矩阵,可以通过动态的地址计算方式得到指定页面颜色队列的入口地址,从而实现按页面颜色顺序的W-order扫描。图5显示了物理地址不连续的虚拟内存地址上,W-order扫描的实现步骤。当数据集所分配的虚拟内存在物理地址上不连续时,首先建立一个页面顔色索引存储每ー个内存页面的入口地址(Pg)和页面颜色(PC)号,然后将索引按页面顔色号排序,页面颜色索引中按页面顔色号自然分组。当执行扫描操作时,按页面顔色索引中的页面入口地址顺序访问数据集页面,实现在物理地址不连续的虚拟内存地址上的W-order扫描。在这个过程中,页面颜色索引为每ー个页面存储ー个数据对,存储空间的开销很小。对于哈希连接类算法而言,采用基于页面顔色的数据页面访问顺序(即W-order顺序)优化可以降低一次性访问数据对频繁访问数据集的缓存驱逐效应,減少缓存的丢失。接下来对本发明中的动态页面顔色队列优化技术进行说明。所谓动态页面颜色队列优化技术是指预设若干具有相同页面颜色的内存页面作为页面颜色队列,弱局部性数据集的数据页面首先通过异步方式进入页面颜色队列,然后再被加载到CPU缓存中完成数据处理。该技术可以将弱局部性(一次性访问或重复访问周期较长)数据缓存于页面颜色队列后再进行访问,从而进一歩降低缓存之间的冲突。动态页面颜色队列优化技术的具体实施步骤如下首先在内存数据库的内存中申请n(n为自然数)个页面颜色相同的页面作为页面颜色队列,该页面颜色队列用作内存页面被加载入CPU缓存之前的内存缓存。页面颜色队列采用循环队列方式,即在页面颜色队列中,当第i个队列页面被访问后即可成为交换页面被后续待访问页面覆盖。数据页面在访问时依次被复制到页面颜色队列中,然后再调入CPU缓存,即页面颜色队列作为弱局部性数据集的内存缓存。数据页面复制到页面颜色队列采用DMA memcpy模式。DMA memcpy模式在进行内存块复制时通过DMA通道而不经过CPU处理,因此不产生额外的缓存污染。页面颜色队列的长度由数据页面加载到CPU缓存的延迟以及DMA memcpy模式本身的延迟决定。若加载到CPU缓存的延迟较小,则增加页面颜色队列长度以提高缓存效率。
页面颜色队列采用流水更新模式,即页面颜色队列中第i α为自然数)块的缓存加载操作与第i-Ι块的页面复制流水并行,例如当BI块加载到缓存后依次加载页面颜色队列中的B2块,此时n+1块可以复制到BI块中。此时,数据访问指针为i mod n,数据更新指针为(i-l)modn(n代表页面颜色队列中的页面数)。
图6显示了动态页面顔色队列优化技术的执行原理。其中,BI B4为页面颜色队列,P1、P2、……为数据集页面。页面颜色队列为循环队列,第i个页面为访问指针,第i_l个页面为更新指针,第i个页面的访问与第i_l个页面的更新同步执行。数据页面向页面颜色队列的复制操作采用DMA通道支持的memcpy模式,直接在内存页面之间进行复制,不经过CPU以便降低CPU开销和所造成的额外缓存污染。图7为现有技术中索引扫描的示意图。索引扫描按键值顺序扫描,在内存地址上体现为随机访问,无法预先优化访问顺序,不能直接使用静态页面W-order扫描技木。索引扫描时首先访问索引中的指定值的索引项,当索引字段存在重复值时,索引扫描首先转换为对索引中指定范围索引数据项的扫描,在扫描过程根据索引项的地址信息实现对物理记录的实际访问。由于索引中的物理地址以记录为单位,采用动态页面顔色队列优化技术优化的是整个页面的访问顺序,因此代价较高而效率较低。图8显示了应用于索引扫描中的缓存优化实现原理。在图8中,用oid表示记录物理地址,contract表示索引键值列,PC表示页面颜色号。在索引中通过动态地址翻译函数在记录地址中抽取出页面颜色号,或者在生成索引时产生记录地址页面顔色的辅助数据结构(即在索引中増加一个页面顔色数据项来记录当前记录所在的页面颜色号)。当执行索引扫描时,如果选择率较低,则直接执行随机访问,不进行缓存优化;如果索引扫描的选择率高于某个阈值时,则执行多趟页面颜色扫描。例如我们通过物理页面起始地址“ 10FFEF”,根据页面顔色位解析出其对应的页面顔色号为62。在记录地址中抽取出页面颜色号。当执行索引扫描时,如果选择率较低,则直接执行随机访问,不进行缓存优化。在实践中,通常根据索引字段的统计信息,如对“产品型号”字段进行索引时,统计出各个不同产品型号的不同值的个数,在进行索引扫描时,根据查询条件,如“产品型号=’平板电脑’ ”来估计可能满足条件的记录数量,进而判断选择率的高低。如果索引扫描的选择率高于某个阈值时,则执行多趟页面颜色扫描。该阈值需要根据实验测试结果和经验值来确定,如通过实验測度得到选择率高于30%时,执行多趟页面颜色扫描会优化整体性能等。具体实现步骤包括图8下半部分的两个虚线框中所示的处理流程。左侧的虚线框表示对索引中特定范围记录的扫描采用多趟扫描的方法,每趟扫描时只访问指定页面颜色对应的记录,即第一次访问页面颜色为O的记录,以此类推。为减少多趟扫描中对无效记录的访问,我们在执行多趟扫描时通过一个页面顔色矢量位图来记录已访问的记录位置,随着多趟记录访问的进行,页面颜色矢量位图中I(页面颜色矢量位图记录已扫描的页面颜色号,如扫描完页面颜色为O的所有页面后,位图的第I位更改为1,扫描完颜色号为I的所有页面的,位图的第2位置1,以此类推)的位置越来越多,后续扫描时可跳过扫描的记录比例越大,随机访问效率越高。在多趟扫描时采用W-order扫描顺序,即先从上至下扫描页面颜色为i的记录,然后至下而上扫描页面颜色为i+Ι的记录,以此类推。多趟W-order扫描使序列首尾的数据重用路径变短,可以提高缓存中已缓存数据的利用率。右侧的虚线框表示采用对索引中指定范围的记录按页面颜色排序后再访问。当索引查找的范围较大、记录较多时,排序代价较高,会影响缓存优化带来的性能收益。上述W-order扫描优化技术以数据集为粒度实现了对不同访问局部性数据集的优化访问,在一个数 据库查询处理线程内部达到了最小缓存访问冲突。但对于多核处理器而言,通常采用共享CPU缓存的硬件结构,因此还需要进ー步考虑在一个共享CPU缓存中的多个并行处理线程之间的数据访问优化问题,減少并发处理线程对共享CPU缓存的访问冲关。图9显示了利用本缓存访问优化方法在多核处理器中实现并行哈希连接查询处理的工作原理。对于多核处理器中的并行哈希连接,每个哈希连接处理线程独立执行基于W-order扫描的哈希连接算法。图9中左半部分表示两个处理线程共享CPU缓存和内存地址空间,右半部分表示通过缓存分区技术将CPU缓存划分为两个分区以服务于不同的处理线程。图9中浅色块表示顺序访问数据集,深色块表示哈希表。从图9中可以看出,当两个独立的哈希连接处理都采用W-order扫描的处理技术时,在每个页面顔色地址区域内顺序访问数据集与哈希表冲突的页面数量相当,冲突概率相同。即在多核处理器中并行哈希连接查询处理时,姆个查询可以使用同构的W-order扫描优化技术。以上对本发明所提供的基于页面染色技术的内存数据库访问优化方法进行了详细的说明。该方法主要应用于内存数据库中数据预先驻留内存的应用场景,尤其适用于大数据集的内存OLAP查询处理优化。该方法不仅可以应用于现有内存数据库的哈希连接算法,还可以应用于能够明确划分出弱局部性数据集和强局部性数据集的数据处理技木。以上对本发明所提供的基于页面染色技术的内存数据库访问优化方法进行了详细的说明。对本领域的技术人员而言,在不背离本发明实质精神的前提下对它所做的任何显而易见的改动,都将构成对本发明专利权的侵犯,将承担相应的法律责任。
权利要求
1.一种基于页面染色技术的内存数据库访问优化方法,其特征在于 在内存数据库的缓存访问过程中,将弱局部性数据集的所有数据页面的访问顺序按页面颜色进行排序,并将所有数据页面按页面颜色进行分组,然后按页面颜色分组的顺序扫描弱局部性数据集的所有数据页面; 预设若干具有相同页面颜色的内存页面作为页面颜色队列,该页面颜色队列用作内存页面被加载入CPU缓存之前的内存缓存;弱局部性数据集的数据页面首先通过异步方式进入页面颜色队列,然后再被加载到CPU缓存中完成数据处理。
2.如权利要求I所述的基于页面染色技术的内存数据库访问优化方法,其特征在于 所述页面颜色分组的顺序为按页面颜色递增的W-order顺序。
3.如权利要求2所述的基于页面染色技术的内存数据库访问优化方法,其特征在于 在按W-order顺序的扫描过程中,以缓存大小/组关联数的倍数为单位向操作系统申请物理地址连续的大内存块以存储弱局部性数据集。
4.如权利要求2所述的基于页面染色技术的内存数据库访问优化方法,其特征在于 当弱局部性数据集所分配的虚拟内存在物理地址上不连续时,首先为虚拟地址空间建立页面颜色索引,将每一个页面的入口地址与页面颜色记录在二元数据结构的索引中,然后将所述索引按页面颜色排序,将相同页面颜色的页面入口地址聚集成组,在按W-order顺序的扫描过程中按所述索引的页面地址顺序扫描。
5.如权利要求I所述的基于页面染色技术的内存数据库访问优化方法,其特征在于 所述页面颜色队列采用循环队列方式,某个队列页面被访问后即成为交换页面被后续待访问页面覆盖。
6.如权利要求I所述的基于页面染色技术的内存数据库访问优化方法,其特征在于 所述页面颜色队列中,第i块的缓存加载操作与第i_l块的页面复制流水并行,其中i为自然数。
7.如权利要求I所述的基于页面染色技术的内存数据库访问优化方法,其特征在于 所述数据页面采用DMA memcpy模式复制到所述页面颜色队列中。
8.如权利要求7所述的基于页面染色技术的内存数据库访问优化方法,其特征在于 所述页面颜色队列的长度由数据页面加载到CPU缓存的延迟以及DMA memcpy模式的延迟决定。
全文摘要
本发明公开了一种基于页面染色技术的内存数据库访问优化方法。该方法首先将弱局部性数据集的所有数据页面的访问顺序按页面颜色进行排序,并将所有数据页面按页面颜色进行分组,然后按页面颜色分组的顺序扫描弱局部性数据集的所有数据页面。进一步地,预设若干具有相同页面颜色的内存页面作为页面颜色队列,该页面颜色队列用作内存页面被加载入CPU缓存之前的内存缓存;弱局部性数据集的数据页面首先通过异步方式进入页面颜色队列,然后再被加载到CPU缓存中完成数据处理。本发明能够解决内存数据库应用中无法依赖页面颜色为进程、线程或数据集优化分配缓存地址空间的问题,有效减少数据局部性强度不同的数据集之间的缓存冲突。
文档编号G06F17/30GK102663115SQ20121011391
公开日2012年9月12日 申请日期2012年4月16日 优先权日2012年4月16日
发明者张延松, 王珊 申请人:中国人民大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1