CN114675829B - 分布式矩阵计算系统中自适应消除冗余计算与通信的性能优化方法 - Google Patents
分布式矩阵计算系统中自适应消除冗余计算与通信的性能优化方法 Download PDFInfo
- 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
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 29
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000004364 calculation method Methods 0.000 title claims abstract description 10
- 238000004891 communication Methods 0.000 title claims abstract description 10
- 238000005457 optimization Methods 0.000 title claims abstract description 8
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 36
- 230000008030 elimination Effects 0.000 claims abstract description 31
- 238000003379 elimination reaction Methods 0.000 claims abstract description 31
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 16
- 238000004880 explosion Methods 0.000 claims abstract description 6
- 230000014509 gene expression Effects 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 10
- 230000001186 cumulative effect Effects 0.000 claims description 6
- 238000013138 pruning Methods 0.000 claims description 5
- 238000011144 upstream manufacturing Methods 0.000 claims description 5
- 230000017105 transposition Effects 0.000 claims description 2
- 239000006227 byproduct Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 8
- 230000000875 corresponding effect Effects 0.000 description 6
- 238000010845 search algorithm Methods 0.000 description 3
- 241000252147 Atractosteus spatula Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning 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以表示通常的执行计划是执行三次矩阵乘法来得到该式的结果,然而,有一种替代计划是先计算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有关,即例如对于算子U·V,U是一个稀疏度为SU的RU×CU的矩阵,V是一个稀疏度为SV的CU×CV的矩阵,那么FLOPO=3(RUCUCVSUSV),其中乘法与加法分别占据了2(RUCUCVSUSV)和RUCUCVSUSV。
transmitO包含四种传输原语:从集群收集数据(collect)、向集群广播数据(broadcast)、在集群节点间交换数据(shuffle)、与分布式文件系统交换数据(dfs)。代价模型通过累加这些对应的代价以计算transmitO,即其中PR是传输原语集,wpr是pr的传输速度,Dpr是pr的传输数据量。以一种基于广播的矩阵乘法U·V为例,该算子的传输包括将V广播到集群来连接U与V,即Dbroadcast=size(V),以及在节点间交换数据来聚合乘积的中间结果,即/>其中BU是U的矩阵块数,PU则是一个节点中含有U相同行的矩阵块数。
最后,为了解决冗余消除方案组合爆炸的问题,本发明提出了一种动态规划算法,使得系统能够在可接受的编译时间内生成高性能的冗余消除方案及对应的执行计划。该算法分为两步。
第一步,为避免对所有冗余消除方案的组合进行代价估计,系统仅为每个单一的冗余消除方案生成执行计划作为候选,并对这些执行计划做代价估计、构造代价图。如图6所示,代价图的构造遵循了执行计划的树结构,而在多个执行计划中,一个算子可能有多种不同的上游算子,因此在处理多个执行计划后,代价图的结构从树变为了图。具体来说,代价图中包含多个虚线框,每个虚线框代表一个算子。虚线框中的实线框代表了算子的输入,椭圆则代表了算子的代价。当有冗余消除方案重用一个算子时,在代价图中该算子会拥有多个椭圆,即原代价以及消除冗余后的代价。例如,gTHT的原代价为10,由于一种冗余消除方案可以重用一次gTHT,因此gTHT还有一种可选的代价为
第二步,系统通过动态规划逐步对代价图剪枝,即删除代价图中的算子以及算子代价,直至代价图成为树且每个算子仅含一种代价,从而生成最终的执行计划。动态规划剪枝的目标在于最小化代价图中的累积算子代价。具体来说,每一轮动态规划会访问一个以Il、Ir为输入的算子O,记作O(Il,Ir),并最小化该算子的累积代价即该算子及其下游算子的代价之和,根据最小化的结果删除不再需要的算子以及算子代价。下一轮动态规划则递归地访问Il、Ir下的算子,最小化其累积代价。因此,该动态规划是一个递归过程,在不考虑公共算子时,递归式如下:
由于一组公共算子的代价是相关的,因此在考虑公共算子时的动态规划过程更加复杂。例如,当最小化时,式(1)会选择/>然而这同时意味着固定了/>尽管可能存在更优的冗余消除方案。为避免该问题,当存在公共算子代价c′O时,算法会维护了多个候选的累积代价。
在得到多个候选累积代价后,算法会在后续轮数中逐渐丢弃不需要的候选,直至选出唯一一个累积代价。具体来说,当访问到一组公共算子的共同上游时,算法能够根据上游的累积代价判断该组公共算子的最优的冗余消除方案,从而决定是否丢弃对应的候选累积代价。相应地,在丢弃候选累积代价时,算法会删除不再需要的公共算子以及算子代价。最终,系统得到一个树结构的代价图,并根据该代价图中的算子生成执行计划。
以上是分布式矩阵计算系统中自适应消除冗余计算与通信的具体实施过程,在分布式矩阵计算系统中,该方法可以通过方法1中的相关代码实现,方法1的代码如下所示:
本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。
Claims (7)
1.一种分布式矩阵计算系统中自适应消除冗余计算与通信的性能优化方法,其特征在于,包括如下步骤:
步骤A:面对用户脚本的语法树,通过基于块的搜索定位冗余部分;所述冗余部分为公共子式与循环常量子式;所述步骤A包括如下子步骤:
步骤A1:将语法树中的转置操作下推到叶子结点;
步骤A2:利用分配律展开语法树,并在运算优先级低于矩阵乘法的算子的位置切割语法树,得到多个块;
步骤A3:以滑动窗口的方式遍历每一个块中的子表达式,匹配公共子式与循环常量子式;
步骤A4:通过提取公因式将多个块合并生成新的块,重复步骤A3以匹配公共子式与循环常量子式;
步骤B:为每一个公共子式或循环常量子式生成一个候选执行计划,通过基于代价估计的动态规划算法,解决多个候选执行计划之间组合爆炸的问题,从而自适应地选出高性能的冗余消除方案,最终生成对应的执行计划;所述步骤B包括如下子步骤:
步骤B1:为每一个公共子式或循环常量子式生成一个候选执行计划,通过代价模型估计候选执行计划中算子的执行开销,构造代价图;步骤B1中,通过代价模型以分析单个算子的代价计算公式;其中,
一个算子O的执行代价cO分为计算代价computeO与传输代价transmitO;
所述计算代价computeO与算子O需要的浮点运算次数FLOPO以及集群的浮点数运算性能wflop有关:
所述传输代价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下的算子,最小化其累积代价;在不考虑公共算子时,递归式如下:
当存在公共算子代价c'O时,算法维护多个候选的累积代价:
在得到多个候选累积代价后,算法在后续轮数中逐渐丢弃不需要的候选,直至选出唯一一个累积代价;当访问到一组公共算子的共同上游时,算法根据上游的累积代价判断该组公共算子的最优的冗余消除方案,从而决定是否丢弃对应的候选累积代价;在丢弃候选累积代价时,算法删除不再需要的公共算子以及算子代价;最终得到一个树结构的代价图,并根据该代价图中的算子生成执行计划。
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)
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)
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 | 北京工业大学 | 一种基于工况分解动态规划算法的地铁列车节能优化方法 |
-
2022
- 2022-01-30 CN CN202210114135.5A patent/CN114675829B/zh active Active
Patent Citations (2)
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)
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 |