CN109828788A - 基于线程级推测执行的规则引擎加速方法及系统 - Google Patents
基于线程级推测执行的规则引擎加速方法及系统 Download PDFInfo
- Publication number
- CN109828788A CN109828788A CN201811571908.2A CN201811571908A CN109828788A CN 109828788 A CN109828788 A CN 109828788A CN 201811571908 A CN201811571908 A CN 201811571908A CN 109828788 A CN109828788 A CN 109828788A
- Authority
- CN
- China
- Prior art keywords
- rule
- dependent
- implementing result
- committed
- relied
- 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.)
- Pending
Links
Abstract
本发明提供基于线程级推测执行的规则引擎加速方法及系统。其中,所述方法包括:启动至少两个线程来并行执行具有条件判断依赖的规则;将各被依赖规则的执行结果直接提交至内存,并将各依赖规则的执行结果临时提交至寄存器堆;待各所述被依赖规则和各所述依赖规则均执行完毕后,分别检查各所述依赖规则的条件判断是否满足;若是,则将所述依赖规则的执行结果提交至内存;反之,则放弃所述依赖规则临时提交至所述寄存器堆的执行结果。本发明使得具有相互依赖关系的规则也能被规则引擎并行化执行,从而显著缩短了规则引擎的执行时间,达到加速优化的效果。
Description
技术领域
本发明涉及规则引擎加速优化技术领域,特别涉及基于线程级推测执行的规则引擎加速方法及系统。
背景技术
规则引擎(Rule Engine)是一种可嵌入的应用组件,可以接收数据输入,解释业务规则,并根据业务规则做出业务决策。基于规则引擎的应用可以实现业务逻辑与应用逻辑的分离,因此,业务规则可以被建立、修改及删除而无需重新编译部署应用系统,这大大提高了对市场变化的反应速度。目前,规则引擎已被广泛应用到企业决策、金融风控、数据分析等许多领域。
推测执行(Speculation Execution)是CPU动态执行技术中的主要手段。例如,程序中的条件分枝是根据程序指令在流水线处理后结果再执行的,所以当CPU等待指令结果时,流水线的前级电路也处于空闲状态等待分枝指令。如果CPU能在前条指令结果出来之前就能预测到分枝是否转移,那么就可以提前执行相应的指令,这样就避免了流水线的空闲等待,相应也就提高了CPU的运算速度。如果前面指令结果出来后证明分枝预测错误,就将已经装入流水线执行的指令和结果全部清除,然后再装入正确指令重新处理。
目前,这种推测执行的概念已被应用到其他领域,例如,基于JavaScript的Web应用是单线程执行模型。有研究者发现如果以JavaScript函数为基本粒度,利用多线程对具有简单依赖(分支条件)的函数基于推测机制并行执行将可以显著缩短JS的运行时间。
在规则引擎执行策略规则的时候,策略规则通常由很多条单个规则组成,这些单个规则之间可能有一定依赖关系(条件分枝依赖、数据依赖),也可能是相互独立的。目前,对于相互独立的单个规则,一些规则引擎都能够基于多线程并行化执行来加速。但是,对于有依赖关系规则的并行执行并没有好的解决方案。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供基于线程级推测执行的规则引擎加速方法及系统,用于解决现有技术中的规则引擎在执行有依赖关系的规则时,没有较好的加速执行方法的技术问题。
为实现上述目的及其他相关目的,本发明提供一种基于线程级推测执行的规则引擎加速方法,包括:启动至少两个线程来并行执行具有条件判断依赖的规则;将各被依赖规则的执行结果直接提交至内存,并将各依赖规则的执行结果临时提交至寄存器堆;待各所述被依赖规则和各所述依赖规则均执行完毕后,分别检查各所述依赖规则的条件判断是否满足;若是,则将所述依赖规则的执行结果提交至内存;反之,则放弃所述依赖规则临时提交至所述寄存器堆的执行结果。
于本发明一实施例中,所述方法还包括:通过在各所述依赖规则中设置关键字来定义规则间的依赖关系。
于本发明一实施例中,所述方法还包括:通过规则编译器或规则解释器基于数据流图分析来发现规则间的依赖关系。
于本发明一实施例中,所述条件判断依赖包括:条件分枝依赖或数据依赖。
为实现上述目的及其他相关目的,本发明提供一种基于线程级推测执行的规则引擎加速系统,包括:规则执行模块,用于启动至少两个线程来并行执行具有条件判断依赖的规则;结果提交模块,用于将各被依赖规则的执行结果直接提交至内存,并将各依赖规则的执行结果临时提交至寄存器堆;待各所述被依赖规则和各所述依赖规则均执行完毕后,分别检查各所述依赖规则的条件判断是否满足;若是,则将所述依赖规则的执行结果提交至内存;反之,则放弃所述依赖规则临时提交至所述寄存器堆的执行结果。
于本发明一实施例中,所述系统还包括:关系维护模块,用于通过在各所述依赖规则中设置关键字来定义规则间的依赖关系。
于本发明一实施例中,所述系统还包括:关系维护模块,用于通过规则编译器或规则解释器基于数据流图分析来发现规则间的依赖关系。
于本发明一实施例中,所述条件判断依赖包括:条件分枝依赖或数据依赖。
为实现上述目的及其他相关目的,本发明提供一种存储介质,其中存储有计算机程序,所述计算机程序被处理器加载执行时,实现所述的基于线程级推测执行的规则引擎加速方法。
为实现上述目的及其他相关目的,本发明提供一种电子设备,包括:处理器及存储器;其中,所述存储器用于存储计算机程序;所述处理器用于加载执行所述计算机程序,以使所述电子设备执行所述的基于线程级推测执行的规则引擎加速方法。
如上所述,本发明的基于线程级推测执行的规则引擎加速方法及系统,启动至少两个线程来并行执行具有条件判断依赖的规则;将各被依赖规则的执行结果直接提交至内存,并将各依赖规则的执行结果临时提交至寄存器堆;待各所述被依赖规则和各所述依赖规则均执行完毕后,分别检查各所述依赖规则的条件判断是否满足;若是,则将所述依赖规则的执行结果提交至内存;反之,则放弃所述依赖规则临时提交至所述寄存器堆的执行结果,具有以下有益效果:
本发明使得具有相互依赖关系的规则也能被规则引擎并行化执行,将规则执行的总用时从顺序叠加缩短至其中一个用时最长的规则的执行时间,从而显著地缩短了规则引擎的总执行时间,加速了规则引擎的执行速度。
附图说明
图1显示为现有技术中单个规则的基本结构图。
图2显示为现有技术中具有依赖关系的规则的优先级执行结构图。
图3显示为现有技术中具有依赖关系的规则的优先级执行流程图。
图4显示为本发明一实施例中的具有条件依赖关系的规则的推测执行结构图。
图5显示为本发明一实施例中的基于线程级推测执行的规则引擎加速方法原理图。
图6显示为本发明一实施例中的基于线程级推测执行的规则引擎加速系统模块图。
图7显示为本发明一实施例中的电子设备的结构图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明旨在基于推测执行的机制,对具有简单依赖关系(如:条件分枝依赖、数据依赖等)的单条规则的执行进行并行化,充分利用多核、多CPU的计算能力,显著地减小整个策略规则的执行时间。
参见图1,单个规则的基本结构一般由名称(RuleName)、条件判断(LHS,Conditions)和行为(RHS,Actions)三部分组成。当所有条件得到满足,行为就会被触发,否则行为不会被触发。
因此,如图2所示,如果某条规则(Rule2)的条件判断依赖于另一条规则(Rule1)的行为执行结果,通常的做法是给予被依赖的单条规则(Rule1)较高优先级,而给予依赖规则(Rule2)较低优先级(如:令数值高者优先级较高)。这样一来,高优先级的规则(Rule1)执行完毕之后,低优先级规则(Rule2)在执行时就可以根据前面的执行结果完成条件判断,从而形成严格的顺序执行关系。
图3示意性地展示了在现有规则引擎解决方案中,规则Rule1和Rule2的执行过程:
步骤S31:线程执先行Rule1并向内存提交其行为执行结果;
步骤S32:该线程再执行Rule2并向内存提交其行为执行结果;
步骤S33:该线程终止。
假定Rule1的执行时长是T1,Rule2的执行时长是T2,那么在既有的规则顺序执行机制下,Rule1和Rule2总的执行时长为T=T1+T2。
本实施例提供一种基于线程级推测执行的规则引擎加速方法,可以同时执行多条规则,然后基于被依赖规则的执行结果进行条件判断,决定是否提交(Commit)有条件依赖规则的执行结果,由此来实现具有条件依赖的规则间的并行化执行(即推测执行)。
本实施例的规则引擎加速方法包括如下步骤:
第一步:启动至少两个线程来并行执行具有条件判断依赖的规则;
第二步:将各被依赖规则的执行结果直接提交至内存,并将各依赖规则的执行结果临时提交至寄存器堆;
第三步:待各所述被依赖规则和各所述依赖规则均执行完毕后,分别检查各所述依赖规则的条件判断是否满足;若是,则执行第四步;反之,则执行第五步;
第四步:将所述依赖规则的执行结果提交至内存;
第五步:放弃所述依赖规则临时提交至所述寄存器堆的执行结果。
需要说明的是,在进行推测执行之前,还需维护这种规则间的依赖关系,要么通过关键字来显示定义的依赖关系,如图4中的关键字“dependency‘Rule1’”,要么由规则编译器或规则解释器基于数据流图分析来发现规则间的依赖关系。
如图5所示,下面以Rule1和Rule2为例,详细阐述本实施例的规则引擎加速方法的实现过程。
第一步:启动两个线程,一个用来执行Rule1(见点划线所示线程),另一个用来执行Rule2(见实线所示线程),其中,Rule2的条件判断依赖于Rule1的执行结果,两个线程并行执行各自的规则;
第二步:点划线所示线程将Rule1的执行结果直接提交至内存,而实线所示线程将Rule2的执行结果临时提交至寄存器堆;
第三步:待Rule1和Rule2都执行完毕后,两个线程终止,检查Rule2的条件判断是否满足;若满足,则执行第四步;否则,执行第五步;
第四步:将Rule2的执行结果提交至内存;
第五步:放弃Rule2临时提交至寄存器堆的执行结果。
在本实施例提出的基于推测执行的加速方案中,Rule1与Rule2在不同线程中并行执行。假定Rule1的执行时长是T1,Rule2的执行时长是T2,那么在本实施例的支持推测执行的加速方案中,Rule1和Rule2总的执行时长为T=Max(T1,T2),也就是取T1与T2的最大值。
需要说明的是,在整个加速过程中还会存在一部分时间开销,如:基于Rule1的执行结果对Rule2的判断条件进行判决、把临时推测结果提交到最终结果集,然而,这些操作相对于规则执行时长来说是极短的,完全可以忽略不计。如此,本实施例便将现有技术中Rule1和Rule2总的执行时长从T1+T2显著地缩短到Max(T1,T2)。当具有条件判断依赖的规则数量更多时,总执行时长的缩短程度将更加明显,加速效果将更为突出。
实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。基于这样的理解,本发明还提供一种计算机程序产品,包括一个或多个计算机指令。所述计算机指令可以存储在计算机可读存储介质中。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(如:软盘、硬盘、磁带)、光介质(如:DVD)、或者半导体介质(如:固态硬盘Solid State Disk(SSD))等。
参阅图6,本实施例提供一种基于线程级推测执行的规则引擎加速系统600,作为一款软件搭载于电子设备中,以在运行时执行前述方法实施例所述的基于线程级推测执行的规则引擎加速方法。由于本系统实施例的技术原理与前述方法实施例的技术原理相似,因而不再对同样的技术细节做重复性赘述。
本实施例的基于线程级推测执行的规则引擎加速系统600具体包括:关系维护模块601、规则执行模块602、结果提交模块603。
关系维护模块601用于通过在各所述依赖规则中设置关键字来定义规则间的依赖关系,或者,通过规则编译器或规则解释器基于数据流图分析来发现规则间的依赖关系。
规则执行模块602用于启动至少两个线程来并行执行具有条件判断依赖的规则。
结果提交模块603用于将各被依赖规则的执行结果直接提交至内存,并将各依赖规则的执行结果临时提交至寄存器堆;待各所述被依赖规则和各所述依赖规则均执行完毕后,分别检查各所述依赖规则的条件判断是否满足;若是,则将所述依赖规则的执行结果提交至内存;反之,则放弃所述依赖规则临时提交至所述寄存器堆的执行结果。
本领域技术人员应当理解,图6实施例中的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个或多个物理实体上。且这些模块可以全部以软件通过处理元件调用的形式实现,也可以全部以硬件的形式实现,还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,结果提交模块603可以为单独设立的处理元件,也可以集成在某一个芯片中实现,此外,也可以以程序代码的形式存储于存储器中,由某一个处理元件调用并执行结果提交模块603的功能。其它模块的实现与之类似。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
参阅图7,本实施例提供一种电子设备,电子设备可以是台式机、便携式电脑、智能手机等设备。详细的,电子设备至少包括通过总线71连接的:存储器72、处理器73,其中,存储器72用于存储计算机程序,处理器73用于执行存储器72存储的计算机程序,以执行前述方法实施例中的全部或部分步骤。
上述提到的系统总线可以是外设部件互连标准(Peripheral PomponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
综上所述,本发明的基于线程级推测执行的规则引擎加速方法及系统,使得具有相互依赖关系的规则也能被规则引擎并行化执行,从而显著缩短了规则引擎的执行时间,达到加速优化的效果。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种基于线程级推测执行的规则引擎加速方法,其特征在于,包括:
启动至少两个线程来并行执行具有条件判断依赖的规则;
将各被依赖规则的执行结果直接提交至内存,并将各依赖规则的执行结果临时提交至寄存器堆;
待各所述被依赖规则和各所述依赖规则均执行完毕后,分别检查各所述依赖规则的条件判断是否满足;
若是,则将所述依赖规则的执行结果提交至内存;反之,则放弃所述依赖规则临时提交至所述寄存器堆的执行结果。
2.根据权利要求1所述的方法,其特征在于,还包括:通过在各所述依赖规则中设置关键字来定义规则间的依赖关系。
3.根据权利要求1所述的方法,其特征在于,还包括:通过规则编译器或规则解释器基于数据流图分析来发现规则间的依赖关系。
4.根据权利要求1所述的方法,其特征在于,所述条件判断依赖包括:条件分枝依赖或数据依赖。
5.一种基于线程级推测执行的规则引擎加速系统,其特征在于,包括:
规则执行模块,用于启动至少两个线程来并行执行具有条件判断依赖的规则;
结果提交模块,用于将各被依赖规则的执行结果直接提交至内存,并将各依赖规则的执行结果临时提交至寄存器堆;待各所述被依赖规则和各所述依赖规则均执行完毕后,分别检查各所述依赖规则的条件判断是否满足;若是,则将所述依赖规则的执行结果提交至内存;反之,则放弃所述依赖规则临时提交至所述寄存器堆的执行结果。
6.根据权利要求5所述的系统,其特征在于,还包括:关系维护模块,用于通过在各所述依赖规则中设置关键字来定义规则间的依赖关系。
7.根据权利要求5所述的系统,其特征在于,还包括:关系维护模块,用于通过规则编译器或规则解释器基于数据流图分析来发现规则间的依赖关系。
8.根据权利要求5所述的系统,其特征在于,所述条件判断依赖包括:条件分枝依赖或数据依赖。
9.一种存储介质,其中存储有计算机程序,其特征在于,所述计算机程序被处理器加载执行时,实现如权利要求1至4中任一所述的基于线程级推测执行的规则引擎加速方法。
10.一种电子设备,其特征在于,包括:处理器及存储器;其中,
所述存储器用于存储计算机程序;
所述处理器用于加载执行所述计算机程序,以使所述电子设备执行如权利要求1至4中任一所述的基于线程级推测执行的规则引擎加速方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811571908.2A CN109828788A (zh) | 2018-12-21 | 2018-12-21 | 基于线程级推测执行的规则引擎加速方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811571908.2A CN109828788A (zh) | 2018-12-21 | 2018-12-21 | 基于线程级推测执行的规则引擎加速方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109828788A true CN109828788A (zh) | 2019-05-31 |
Family
ID=66859900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811571908.2A Pending CN109828788A (zh) | 2018-12-21 | 2018-12-21 | 基于线程级推测执行的规则引擎加速方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109828788A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527832A (zh) * | 2019-09-17 | 2021-03-19 | 天翼电子商务有限公司 | 基于fpga的规则引擎加速执行方法、装置、介质及设备 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5511172A (en) * | 1991-11-15 | 1996-04-23 | Matsushita Electric Co. Ind, Ltd. | Speculative execution processor |
CN1989490A (zh) * | 2004-07-27 | 2007-06-27 | 国际商业机器公司 | 用于调度由于事件相关性被部分排序的事务的方法和系统 |
CN101833440A (zh) * | 2010-04-30 | 2010-09-15 | 西安交通大学 | 编译器支持下的推测多线程内存数据同步执行方法及装置 |
CN106209400A (zh) * | 2015-04-30 | 2016-12-07 | 华为技术有限公司 | 一种定位故障的方法和设备 |
US20170075736A1 (en) * | 2014-03-07 | 2017-03-16 | Nokia Solutions And Networks Oy | Rule engine for application servers |
CN106844507A (zh) * | 2016-12-27 | 2017-06-13 | 星环信息科技(上海)有限公司 | 一种数据批处理的方法及设备 |
US20180121273A1 (en) * | 2016-10-28 | 2018-05-03 | Nvidia Corporation | Reliability enhancement systems and methods |
CN108268319A (zh) * | 2016-12-31 | 2018-07-10 | 中国移动通信集团河北有限公司 | 任务调度方法、装置及系统 |
CN108399176A (zh) * | 2017-02-07 | 2018-08-14 | 阿里巴巴集团控股有限公司 | 一种基于规则的数据处理方法及规则引擎装置 |
CN108764674A (zh) * | 2018-05-16 | 2018-11-06 | 普信恒业科技发展(北京)有限公司 | 一种基于规则引擎的风险控制方法和装置 |
CN108932137A (zh) * | 2018-07-17 | 2018-12-04 | 西安航空学院 | 一种基于推测多线程的汇编级过程间指针分析方法 |
-
2018
- 2018-12-21 CN CN201811571908.2A patent/CN109828788A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5511172A (en) * | 1991-11-15 | 1996-04-23 | Matsushita Electric Co. Ind, Ltd. | Speculative execution processor |
CN1989490A (zh) * | 2004-07-27 | 2007-06-27 | 国际商业机器公司 | 用于调度由于事件相关性被部分排序的事务的方法和系统 |
CN101833440A (zh) * | 2010-04-30 | 2010-09-15 | 西安交通大学 | 编译器支持下的推测多线程内存数据同步执行方法及装置 |
US20170075736A1 (en) * | 2014-03-07 | 2017-03-16 | Nokia Solutions And Networks Oy | Rule engine for application servers |
CN106209400A (zh) * | 2015-04-30 | 2016-12-07 | 华为技术有限公司 | 一种定位故障的方法和设备 |
US20180121273A1 (en) * | 2016-10-28 | 2018-05-03 | Nvidia Corporation | Reliability enhancement systems and methods |
CN106844507A (zh) * | 2016-12-27 | 2017-06-13 | 星环信息科技(上海)有限公司 | 一种数据批处理的方法及设备 |
CN108268319A (zh) * | 2016-12-31 | 2018-07-10 | 中国移动通信集团河北有限公司 | 任务调度方法、装置及系统 |
CN108399176A (zh) * | 2017-02-07 | 2018-08-14 | 阿里巴巴集团控股有限公司 | 一种基于规则的数据处理方法及规则引擎装置 |
CN108764674A (zh) * | 2018-05-16 | 2018-11-06 | 普信恒业科技发展(北京)有限公司 | 一种基于规则引擎的风险控制方法和装置 |
CN108932137A (zh) * | 2018-07-17 | 2018-12-04 | 西安航空学院 | 一种基于推测多线程的汇编级过程间指针分析方法 |
Non-Patent Citations (1)
Title |
---|
王玉良等: "《微机原理与接口技术》", 30 September 2006 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527832A (zh) * | 2019-09-17 | 2021-03-19 | 天翼电子商务有限公司 | 基于fpga的规则引擎加速执行方法、装置、介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7230572B2 (ja) | ソフトウェアバイナリのハイブリッドファズテストのための、分岐網羅によりガイドされる記号実行 | |
CN104834561B (zh) | 一种数据处理方法及装置 | |
US11500959B2 (en) | Multiple output fusion for operations performed in a multi-dimensional array of processing units | |
US9672065B2 (en) | Parallel simulation using multiple co-simulators | |
CN108351805A (zh) | 计算图的基于流的加速器处理 | |
US9582320B2 (en) | Computer systems and methods with resource transfer hint instruction | |
Xu et al. | Automatic cross-replica sharding of weight update in data-parallel training | |
US20240086359A1 (en) | Dynamic allocation of arithmetic logic units for vectorized operations | |
US9921951B2 (en) | Optimizations for regression tracking and triaging in software testing | |
US10564948B2 (en) | Method and device for processing an irregular application | |
CN109828788A (zh) | 基于线程级推测执行的规则引擎加速方法及系统 | |
Lu et al. | G/gi/n (+ gi) g/gi/n (+ gi) queues with service interruptions in the halfin–whitt regime | |
Miyasaka et al. | Sat-based mapping of data-flow graphs onto coarse-grained reconfigurable arrays | |
Tang et al. | A network load perception based task scheduler for parallel distributed data processing systems | |
Cherniak et al. | Optimization strategies for A/B testing on HADOOP | |
Uddin et al. | Cache-based high-level simulation of microthreaded many-core architectures | |
US20040025153A1 (en) | System and method for software pipelining loops with multiple control flow paths | |
WO2023018477A1 (en) | Parallel processing architecture using distributed register files | |
Jin et al. | TurboDL: Improving the CNN training on GPU with fine-grained multi-streaming scheduling | |
JP2023544911A (ja) | 並列量子コンピューティングのための方法及び装置 | |
Wu et al. | Two-stage column block parallel LU factorization algorithm | |
Gómez-Hernández et al. | Using PHAST to port Caffe library: First experiences and lessons learned | |
US20230273818A1 (en) | Highly parallel processing architecture with out-of-order resolution | |
Bergstra et al. | On the contribution of backward jumps to instruction sequence expressiveness | |
US20240020239A1 (en) | Artificial intelligence (ai)/machine learning (ml) tensor processor |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190531 |
|
RJ01 | Rejection of invention patent application after publication |