CN114675829B - 分布式矩阵计算系统中自适应消除冗余计算与通信的性能优化方法 - Google Patents

分布式矩阵计算系统中自适应消除冗余计算与通信的性能优化方法 Download PDF

Info

Publication number
CN114675829B
CN114675829B CN202210114135.5A CN202210114135A CN114675829B CN 114675829 B CN114675829 B CN 114675829B CN 202210114135 A CN202210114135 A CN 202210114135A CN 114675829 B CN114675829 B CN 114675829B
Authority
CN
China
Prior art keywords
cost
sub
operator
formula
operators
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.)
Active
Application number
CN202210114135.5A
Other languages
English (en)
Other versions
CN114675829A (zh
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.)
East China Normal University
Original Assignee
East China Normal University
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 East China Normal University filed Critical East China Normal University
Priority to CN202210114135.5A priority Critical patent/CN114675829B/zh
Publication of CN114675829A publication Critical patent/CN114675829A/zh
Application granted granted Critical
Publication of CN114675829B publication Critical patent/CN114675829B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种分布式矩阵计算系统中自适应消除冗余计算与通信的性能优化方法。所述方法包括:面对用户脚本的语法树,通过基于块的搜索,快速定位公共子式与循环常量子式,即冗余部分;每一个公共子式或循环常量子式对应一个候选执行计划,通过基于代价估计的动态规划算法,解决多个候选执行计划之间组合爆炸的问题,实现自适应且快速地选出高性能的冗余消除方案,最终缩短运行用户脚本的时间。

Description

分布式矩阵计算系统中自适应消除冗余计算与通信的性能优 化方法
技术领域
本发明属于分布式矩阵计算技术领域,尤其涉及分布式矩阵计算系统中针对冗余计算与通信的查询优化方法。
背景技术
分布式矩阵计算系统的负载中广泛存在冗余的计算与通信。例如,在DFP算法中存在子表达式dTATAd以表示
Figure BDA0003495708500000011
通常的执行计划是执行三次矩阵乘法来得到该式的结果,然而,有一种替代计划是先计算Ad,随后利用dTAT=(Ad)T重用Ad的结果,从而消除一次冗余的矩阵乘法。
分布式矩阵计算系统通常仅支持显式的冗余表达式,包括公共子式与循环常量子式。其中,显式公共子式是指原执行计划中存在相同的子树,否则为隐式的。例如,图1展示了关于DFP算法中HATAddTATAH表达式的原始执行计划,其中并不存在相同的子树,但是其实含有隐式的公共子式dTATA=(ATAd)T。为了消除这样隐式的公共子式,系统需要对原执行计划进行转换,找到如图2所示的一个等价的执行计划,该计划以(ATAd)T来计算dTATA。显式循环常量子式是指原执行计划中存在输出为循环常量的子树,否则为隐式的。例如,在DFP算法中ATA是循环常量,然而图1中的执行计划并不存在计算ATA的子树,因此ATA是隐式的循环常量子式。类似地,为消除这样隐式的循环常量子式,系统需要转换原执行计划为如图3所示的等价执行计划。综上,系统需要反复对执行计划进行转换以搜索隐式的冗余表达式,存在搜索空间过大的问题。
为快速消除隐式冗余表达式,已有分布式矩阵计算系统采用了equalitysaturation技术,通过将线性代数转换为关系代数的方式搜索隐式冗余。然而该技术在处理矩阵连乘链(如HATAddTATAH)时,采取了采样策略以减小搜索空间,因此无法保证找到所有冗余表达式,浪费了潜在的消除冗余以提升性能的机会。
进一步,已有系统没有考虑针对不同冗余表达式的消除方案之间可能存在冲突,并且有些消除方案反而会降低性能。首先,多个消除方案可能依赖不同的算执行顺序,导致它们无法合并在一个计划中。例如,在ATAd中显然系统无法同时将A与AT、d相乘,因此关于ATA与Ad的冗余消除方案是冲突的,系统需要在多个冗余消除方案中筛选出对性能提升最大的应用到最终的执行计划中。其次,盲目地消除冗余会造成性能下降。如图3所示,关于ATA与ddT的冗余消除方案导致执行计划中出现六个矩阵相乘的算子,而图1中原执行计划仅包含矩阵与向量相乘的算子,因此该消除方案反而显著降低了性能。
总的来说,已有的分布式矩阵计算系统无法快速找到所有隐式的冗余表达式,同时无法自适应地筛选、应用对性能提升最高的冗余消除方案。
发明内容
本发明的目的是提出一种分布式矩阵计算系统中自适应消除冗余计算与通信的性能优化方法,该方法利用一种基于块的搜索方法,快速搜索显式与隐式的冗余表达式,并利用一种基于代价估计的动态规划算法,自适应地组合出对性能提升最高的冗余消除方案及其对应的执行计划。
实现本发明目的的具体技术方案是:
一种分布式矩阵计算系统中自适应消除冗余计算与通信的性能优化方法,包括以下步骤:
步骤A:面对用户脚本的语法树,通过基于块的搜索,快速定位冗余部分;所述冗余部分为公共子式与循环常量子式;
步骤B:为每一个公共子式或循环常量子式生成一个候选执行计划,通过基于代价估计的动态规划算法,解决多个候选执行计划之间组合爆炸的问题,从而自适应且快速地选出高性能的冗余消除方案,最终生成对应的执行计划。
其中,所述基于块的搜索的步骤包括:
步骤A1:将语法树中的转置操作下推到叶子结点;
步骤A2:利用分配律展开语法树,并在运算优先级低于矩阵乘法的算子的位置切割语法树,得到多个块;
步骤A3:以滑动窗口的方式遍历每一个块中的子表达式,匹配公共子式与循环常量子式;
步骤A4:通过提取公因式将多个块合并生成新的块,重复步骤A3以匹配公共子式与循环常量子式。
其中,所述基于代价估计的动态规划算法的步骤包括:
步骤B1:为每一个公共子式或循环常量子式生成一个候选执行计划,通过代价模型估计候选执行计划中算子的执行开销,构造代价图;
步骤B2:通过动态规划算法对代价图进行剪枝,即筛选执行计划中要消除的公共子式与循环常量子式,最终得到一个高性能的执行计划。
本发明的有益效果包括:
首先,本发明根据矩阵计算负载的特征,提出了基于块的搜索算法,能够在不牺牲潜在的消除冗余的机会的前提下,显著减小搜索空间,从而以可忽略的搜索时间定位冗余表达式。其次,本发明提出了基于代价估计的动态规划算法,能够解决冗余消除方案组合爆炸的问题,从而支持系统自适应地采用高性能的冗余消除方案,最终降低运行时间。
附图说明
图1是现有技术中涉及关于DFP算法的原执行计划示意图;
图2是现有技术中涉及关于DFP算法的消除冗余ATAd的执行计划示意图;
图3是现有技术中涉及关于DFP算法的消除冗余ddT与ATA的执行计划示意图;
图4是本发明实施方式的基于块的搜索中第二步的实施方式示意图;
图5是本发明实施方式的基于块的搜索中第三步的实施方式示意图;
图6是本发明实施方式的基于代价估计的动态规划中第一步的实施方式示意图;
图7是本发明方法的流程图。
具体实施方式
结合以下具体实施例和附图,对发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
本发明公开了一种分布式矩阵计算系统中自适应消除冗余计算与通信的性能优化方法。所述方法包括:面对用户脚本的语法树,通过基于块的搜索,快速定位公共子式与循环常量子式,即冗余部分;每一个公共子式或循环常量子式对应一个候选执行计划,通过基于代价估计的动态规划算法,解决多个候选执行计划之间组合爆炸的问题,实现自适应且快速地选出高性能的冗余消除方案,最终缩短运行用户脚本的时间。
实施例
首先,为了快速找到语法树中隐式的冗余表达式,本发明提出了基于块的搜索方法。该算法分为四步。
第一步,系统将语法树中的转置操作下推到叶子结点,以避免转置操作显著增加搜索的复杂度。例如,HATAHggTHTATAH有超过两百万种不同的执行计划,而当没有转置操作时,一个包含十个矩阵的连乘链仅有4862种执行计划,即第十个Catalan数。尽管转置下推妨碍了系统直接找到某些隐式的冗余表达式(如AddTAT中的Ad),但是搜索算法会在第三步特别针对转置设置定位冗余的方式,从而避免漏过冗余。
第二步,由于在树的结构上的搜索复杂度过高,因此为避免在整棵语法树上进行转换、搜索,系统将语法树切割为多个块。具体来说,系统利用分配律展开语法树,并在运算优先级低于矩阵乘法的算子的位置切割语法树,得到多个块。由此,切割得到的块均为矩阵连乘链,如图4所示。为了方便,系统同时还按顺序在矩阵上建立了坐标。
第三步,因为根据矩阵乘法的不可交换率和结合律,搜索算法可以忽略子式内部的执行顺序,所以算法采用滑动窗口遍历各个块中的子式,并定位冗余。例如,当试图判断ATAd是否冗余时,算法不必考虑这一子式的执行顺序是(ATA)d还是AT(Ad)。如图5所示,算法会尝试所有的窗口大小(从1到块的长度),每次滑动窗口时,根据结合律捕捉窗口对应的子式,随后记录在一个哈希表中。表中键代表子式,值代表子式所在位置,即坐标。在遍历所有的块之后,算法通过哈希表中的冲突定位公共子式,通过探测哈希表中子式是否仅含循环常量来定位循环常量子式。为避免漏过在第一步中被转置下推隐藏的冗余表达式(如AddTAT中的Ad),算法特别对每一个要记录的子式做一次转置操作,选择转制前后字符更小的表达式作为哈希表的键,使得Ad与dTAT,即含有相同部分的子式会被记录进哈希表的同一个桶中,从而找到公共子式Ad。
上述三步找到了块内的冗余表达式,在第四步中,系统通过合并块的方式,进一步搜索跨块的冗余表达式。例如,P·XY+P·YZ+XY·Q+YZ·Q中存在跨四个块的隐式公共子式XY+YZ。为找到这种冗余,算法通过提取公因式的方式将多个块合并生成新的块(如P·(XY+YZ)、(XY+YZ)·Q),并通过遍历这些新生成的块以找到剩余的冗余表达式。特别地,由于算法已在第三步得到块内的冗余XY与YZ,因此算法能够快速定位以XY、YZ为输入的XY+YZ同样是冗余的。
其次,在找到冗余表达式后,系统需要组合出对性能提升最高的冗余消除方案。为了比较不同冗余消除方案对性能的提升,本发明构建了代价模型以分析单个算子的代价计算公式。一个算子O的执行代价cO分为计算代价computeO与传输代价transmitO
computeO与算子O需要的浮点运算次数FLOPO以及集群的浮点数运算性能wflop有关,即
Figure BDA0003495708500000041
例如对于算子U·V,U是一个稀疏度为SU的RU×CU的矩阵,V是一个稀疏度为SV的CU×CV的矩阵,那么FLOPO=3(RUCUCVSUSV),其中乘法与加法分别占据了2(RUCUCVSUSV)和RUCUCVSUSV。
transmitO包含四种传输原语:从集群收集数据(collect)、向集群广播数据(broadcast)、在集群节点间交换数据(shuffle)、与分布式文件系统交换数据(dfs)。代价模型通过累加这些对应的代价以计算transmitO,即
Figure BDA0003495708500000042
其中PR是传输原语集,wpr是pr的传输速度,Dpr是pr的传输数据量。以一种基于广播的矩阵乘法U·V为例,该算子的传输包括将V广播到集群来连接U与V,即Dbroadcast=size(V),以及在节点间交换数据来聚合乘积的中间结果,即/>
Figure BDA0003495708500000043
其中BU是U的矩阵块数,PU则是一个节点中含有U相同行的矩阵块数。
最后,为了解决冗余消除方案组合爆炸的问题,本发明提出了一种动态规划算法,使得系统能够在可接受的编译时间内生成高性能的冗余消除方案及对应的执行计划。该算法分为两步。
第一步,为避免对所有冗余消除方案的组合进行代价估计,系统仅为每个单一的冗余消除方案生成执行计划作为候选,并对这些执行计划做代价估计、构造代价图。如图6所示,代价图的构造遵循了执行计划的树结构,而在多个执行计划中,一个算子可能有多种不同的上游算子,因此在处理多个执行计划后,代价图的结构从树变为了图。具体来说,代价图中包含多个虚线框,每个虚线框代表一个算子。虚线框中的实线框代表了算子的输入,椭圆则代表了算子的代价。当有冗余消除方案重用一个算子时,在代价图中该算子会拥有多个椭圆,即原代价以及消除冗余后的代价。例如,gTHT的原代价为10,由于一种冗余消除方案可以重用一次gTHT,因此gTHT还有一种可选的代价为
Figure BDA0003495708500000051
第二步,系统通过动态规划逐步对代价图剪枝,即删除代价图中的算子以及算子代价,直至代价图成为树且每个算子仅含一种代价,从而生成最终的执行计划。动态规划剪枝的目标在于最小化代价图中的累积算子代价。具体来说,每一轮动态规划会访问一个以Il、Ir为输入的算子O,记作O(Il,Ir),并最小化该算子的累积代价
Figure BDA0003495708500000052
即该算子及其下游算子的代价之和,根据最小化的结果删除不再需要的算子以及算子代价。下一轮动态规划则递归地访问Il、Ir下的算子,最小化其累积代价。因此,该动态规划是一个递归过程,在不考虑公共算子时,递归式如下:
Figure BDA0003495708500000053
由于一组公共算子的代价是相关的,因此在考虑公共算子时的动态规划过程更加复杂。例如,当最小化
Figure BDA0003495708500000054
时,式(1)会选择/>
Figure BDA0003495708500000055
然而这同时意味着固定了/>
Figure BDA0003495708500000056
尽管可能存在更优的冗余消除方案。为避免该问题,当存在公共算子代价c′O时,算法会维护了多个候选的累积代价。
Figure BDA0003495708500000057
在得到多个候选累积代价后,算法会在后续轮数中逐渐丢弃不需要的候选,直至选出唯一一个累积代价。具体来说,当访问到一组公共算子的共同上游时,算法能够根据上游的累积代价判断该组公共算子的最优的冗余消除方案,从而决定是否丢弃对应的候选累积代价。相应地,在丢弃候选累积代价时,算法会删除不再需要的公共算子以及算子代价。最终,系统得到一个树结构的代价图,并根据该代价图中的算子生成执行计划。
以上是分布式矩阵计算系统中自适应消除冗余计算与通信的具体实施过程,在分布式矩阵计算系统中,该方法可以通过方法1中的相关代码实现,方法1的代码如下所示:
Figure BDA0003495708500000061
本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。

Claims (7)

1.一种分布式矩阵计算系统中自适应消除冗余计算与通信的性能优化方法,其特征在于,包括如下步骤:
步骤A:面对用户脚本的语法树,通过基于块的搜索定位冗余部分;所述冗余部分为公共子式与循环常量子式;所述步骤A包括如下子步骤:
步骤A1:将语法树中的转置操作下推到叶子结点;
步骤A2:利用分配律展开语法树,并在运算优先级低于矩阵乘法的算子的位置切割语法树,得到多个块;
步骤A3:以滑动窗口的方式遍历每一个块中的子表达式,匹配公共子式与循环常量子式;
步骤A4:通过提取公因式将多个块合并生成新的块,重复步骤A3以匹配公共子式与循环常量子式;
步骤B:为每一个公共子式或循环常量子式生成一个候选执行计划,通过基于代价估计的动态规划算法,解决多个候选执行计划之间组合爆炸的问题,从而自适应地选出高性能的冗余消除方案,最终生成对应的执行计划;所述步骤B包括如下子步骤:
步骤B1:为每一个公共子式或循环常量子式生成一个候选执行计划,通过代价模型估计候选执行计划中算子的执行开销,构造代价图;步骤B1中,通过代价模型以分析单个算子的代价计算公式;其中,
一个算子O的执行代价cO分为计算代价computeO与传输代价transmitO
所述计算代价computeO与算子O需要的浮点运算次数FLOPO以及集群的浮点数运算性能wflop有关:
Figure FDA0004237045880000011
所述传输代价transmitO包含四种传输原语:从集群收集数据、向集群广播数据、在集群节点间交换数据、与分布式文件系统交换数据;代价模型通过累加这些对应的代价以计算transmitO
其中,PR是传输原语集,wpr是pr的传输速度,Dpr是pr的传输数据量;
步骤B2:通过动态规划算法对代价图进行剪枝,即筛选执行计划中要消除的公共子式与循环常量子式,最终得到一个高性能的执行计划。
2.如权利要求1所述的方法,其特征在于,步骤A2中,切割得到的块均为矩阵连乘链,按顺序在矩阵上建立坐标。
3.如权利要求1所述的方法,其特征在于,步骤A3中,尝试所有的窗口大小包括从1到块的长度,每次滑动窗口时,根据结合律捕捉窗口对应的子式记录在哈希表中;所述哈希表中键代表子式,值代表子式所在位置,所述位置为坐标;在遍历所有的块之后,通过哈希表中的冲突定位公共子式,通过探测哈希表中子式是否仅含循环常量来定位循环常量子式。
4.如权利要求3所述的方法,其特征在于,对每一个要记录的子式做一次转置操作,选择转制前后字符更小的表达式作为哈希表的键,使得含有相同部分的子式会被记录进哈希表的同一个桶中,从而找到公共子式。
5.如权利要求1所述的方法,其特征在于,仅为每个单一的冗余消除方案生成执行计划作为候选,并对这些执行计划做代价估计、构造代价图。
6.如权利要求5所述的方法,其特征在于,代价图中包含多个虚线框,每个虚线框代表一个算子;所述虚线框中的实线框代表了算子的输入,椭圆则代表了算子的代价;当有冗余消除方案重用一个算子时,在代价图中该算子会拥有多个椭圆,即原代价以及消除冗余后的代价。
7.如权利要求1所述的方法,其特征在于,步骤B2中,通过动态规划逐步对代价图剪枝,即删除代价图中的算子以及算子代价,直至代价图成为树且每个算子仅含一种代价,从而生成最终的执行计划;所述动态规划剪枝的目标为最小化代价图中的累积算子代价:
每一轮动态规划访问一个以Il、Ir为输入的算子O,记作O(Il,Ir),并最小化该算子的累积代价
Figure FDA0004237045880000021
即该算子及其下游算子的代价之和,根据最小化的结果删除不再需要的算子以及算子代价;
下一轮动态规划则递归地访问Il、Ir下的算子,最小化其累积代价;在不考虑公共算子时,递归式如下:
Figure FDA0004237045880000022
当存在公共算子代价c'O时,算法维护多个候选的累积代价:
Figure FDA0004237045880000023
在得到多个候选累积代价后,算法在后续轮数中逐渐丢弃不需要的候选,直至选出唯一一个累积代价;当访问到一组公共算子的共同上游时,算法根据上游的累积代价判断该组公共算子的最优的冗余消除方案,从而决定是否丢弃对应的候选累积代价;在丢弃候选累积代价时,算法删除不再需要的公共算子以及算子代价;最终得到一个树结构的代价图,并根据该代价图中的算子生成执行计划。
CN202210114135.5A 2022-01-30 2022-01-30 分布式矩阵计算系统中自适应消除冗余计算与通信的性能优化方法 Active CN114675829B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210114135.5A CN114675829B (zh) 2022-01-30 2022-01-30 分布式矩阵计算系统中自适应消除冗余计算与通信的性能优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210114135.5A CN114675829B (zh) 2022-01-30 2022-01-30 分布式矩阵计算系统中自适应消除冗余计算与通信的性能优化方法

Publications (2)

Publication Number Publication Date
CN114675829A CN114675829A (zh) 2022-06-28
CN114675829B true CN114675829B (zh) 2023-07-14

Family

ID=82071414

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210114135.5A Active CN114675829B (zh) 2022-01-30 2022-01-30 分布式矩阵计算系统中自适应消除冗余计算与通信的性能优化方法

Country Status (1)

Country Link
CN (1) CN114675829B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8074210B1 (en) * 2006-06-29 2011-12-06 Xilinx, Inc. Method and apparatus for producing optimized matrix triangulation routines
CN112732630A (zh) * 2019-10-14 2021-04-30 无锡江南计算技术研究所 针对深度学习的浮点矩阵乘算子众核并行优化方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8581937B2 (en) * 2008-10-14 2013-11-12 Adobe Systems Incorporated Seam-based reduction and expansion of images using partial solution matrix dependent on dynamic programming access pattern
US9110855B2 (en) * 2011-12-16 2015-08-18 International Business Machines Corporation Matrix based dynamic programming
CN109978350A (zh) * 2019-03-13 2019-07-05 北京工业大学 一种基于工况分解动态规划算法的地铁列车节能优化方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8074210B1 (en) * 2006-06-29 2011-12-06 Xilinx, Inc. Method and apparatus for producing optimized matrix triangulation routines
CN112732630A (zh) * 2019-10-14 2021-04-30 无锡江南计算技术研究所 针对深度学习的浮点矩阵乘算子众核并行优化方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
基于NMF后验特征优化的语音查询样例检测;曹建凯;张连海;李勃昊;;数据采集与处理(第06期);第134-143页 *
基于动态规划的迭代算法设计方法;贺毅朝;张新禄;宋建民;;数学的实践与认识(第06期);第175-182页 *
基于并行遗传-最大最小蚁群算法的分布式数据库查询优化;林基明;班文娇;王俊义;童记超;;计算机应用(第03期);第91-96页 *

Also Published As

Publication number Publication date
CN114675829A (zh) 2022-06-28

Similar Documents

Publication Publication Date Title
US10572484B2 (en) Duplicate reduction or elimination with hash join operations
US7970756B2 (en) Generalized partition pruning in a database system
US7359913B1 (en) K-means clustering using structured query language (SQL) statements and sufficient statistics
US20110029571A1 (en) Query Optimization Over Graph Data Streams
US20080120275A1 (en) Merging synopses to determine number of distinct values in large databases
US20110131198A1 (en) Method and apparatus for providing a filter join on data streams
US7222123B2 (en) Technique for using a current lookup for performing multiple merge operations using source data that is modified in between the merge operations
US20080120274A1 (en) Approximating a database statistic
US20090063527A1 (en) Processing of database statements with join predicates on range-partitioned tables
CN100399324C (zh) 嵌入式数据库查询的处理方法
US20070078816A1 (en) Common sub-expression elimination for inverse query evaluation
US7899784B2 (en) Method and apparatus for performing multi-table merge operations in a database environment
CN112148738A (zh) 哈希冲突处理方法及系统
CN113032465B (zh) 数据查询方法、装置、电子设备及存储介质
CN114675829B (zh) 分布式矩阵计算系统中自适应消除冗余计算与通信的性能优化方法
Frigioni et al. Fully dynamic shortest paths in digraphs with arbitrary arc weights
CN117874086A (zh) 复杂事件处理中多聚合查询的动态共享方法
CN112328620A (zh) 一种分布式数据库查询加速方法
Pang et al. Incremental maintenance of shortest distance and transitive closure in first-order logic and SQL
US9946779B2 (en) Pipleline merge operations using source data and multiple destination data structures
Liu et al. PAIRPQ: an efficient path index for regular path queries on knowledge graphs
US20060101045A1 (en) Methods and apparatus for interval query indexing
US10120906B2 (en) Leapfrog tree-join
US7644083B1 (en) Efficiently performing inequality joins
US7962473B2 (en) Methods and apparatus for performing structural joins for answering containment queries

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