-
公开(公告)号:US20240143406A1
公开(公告)日:2024-05-02
申请号:US17976969
申请日:2022-10-31
Applicant: Oracle International Corporation
Inventor: Kangnyeon Kim , Aida Vosoughi , Garret F. Swart
CPC classification number: G06F9/5044 , G06F9/485 , G06F9/5016 , G06F9/505
Abstract: A computer assigns many threads to a hardware pipeline that contains a sequence of hardware stages that include a computing stage, a suspending stage, and a resuming stage. Each cycle of the hardware pipeline can concurrently execute a respective distinct stage of the sequence of hardware stages for a respective distinct thread. A read of random access memory (RAM) can be requested for a thread only during the suspending stage. While a previous state of a finite state machine (FSM) that implements a coroutine of the thread is in the suspending stage, a read of RAM is requested, and the thread is unconditionally suspended. While the coroutine of the thread is in the resuming stage, an asynchronous response from RAM is correlated to the thread and to a next state of the FSM. While in the computing stage, the next state of the FSM executes based on the asynchronous response from RAM.
-
公开(公告)号:US11966356B2
公开(公告)日:2024-04-23
申请号:US18088353
申请日:2022-12-23
Applicant: Oracle International Corporation
Inventor: Tinggang Wang , Shuo Yang , Hideaki Kimura , Garret F. Swart , Spyros Blanas
IPC: G06F16/245 , G06F15/173 , G06F16/2455
CPC classification number: G06F15/17331 , G06F16/245 , G06F16/2455
Abstract: Systems and methods for reducing latency of probing operations of remotely located linear hash tables are described herein. In an embodiment, a system receives a request to perform a probing operation on a remotely located linear hash table based on a key value. Prior to performing the probing operation, the system dynamically predicts a number of slots for a single read of the linear hash table to minimize total cost for an average probing operation. The system determines a hash value based on the key value and determines a slot of the linear hash table to which the hash value corresponds. After predicting the number of slots, the system issues an RDMA request to perform a read of the predicted number of slots from the linear hash table starting at the slot to which the hash value corresponds.
-
23.
公开(公告)号:US20240095249A1
公开(公告)日:2024-03-21
申请号:US17948821
申请日:2022-09-20
Applicant: Oracle International Corporation
Inventor: Laleh Aghababaie Beni , Garret F. Swart
IPC: G06F16/2455 , G06F8/41 , G06F16/2453
CPC classification number: G06F16/24562 , G06F8/41 , G06F16/24542
Abstract: In an embodiment, a database management system (DBMS) hosted by a computer receives a request to execute a database statement and responsively generates an interpretable execution plan that represents the database statement. The DBMS decides whether execution of the database statement will or will not entail interpreting the interpretable execution plan and, if not, the interpretable execution plan is compiled into object code based on partial evaluation. In that case, the database statement is executed by executing the object code of the compiled plan, which provides acceleration. In an embodiment, partial evaluation and Turing-complete template metaprogramming (TMP) are based on using the interpretable execution plan as a compile-time constant that is an argument for a parameter of an evaluation template.
-
公开(公告)号:US11709784B2
公开(公告)日:2023-07-25
申请号:US17214564
申请日:2021-03-26
Applicant: ORACLE INTERNATIONAL CORPORATION
Inventor: Hideaki Kimura , Garret F. Swart , Spyros Blanas , Tirthankar Lahiri , Juan R. Loaiza , Jesse Kamp , Avneesh Pant
IPC: G06F13/00 , G06F12/1081 , G06F16/23 , G06F15/173
CPC classification number: G06F12/1081 , G06F15/17331 , G06F16/2379 , G06F2212/621
Abstract: Techniques are described for offloading remote direct memory operations (RDMOs) to “execution candidates”. The execution candidates may be any hardware capable of performing the offloaded operation. Thus, the execution candidates may be network interface controllers, specialized co-processors, FPGAs, etc. The execution candidates may be on a machine that is remote from the processor that is offloading the operation, or may be on the same machine as the processor that is offloading the operation. Details for certain specific RDMOs, which are particularly useful in online transaction processing (OLTP) and hybrid transactional/analytical (HTAP) workloads, are provided.
-
公开(公告)号:US11449458B2
公开(公告)日:2022-09-20
申请号:US17071169
申请日:2020-10-15
Applicant: ORACLE INTERNATIONAL CORPORATION
Inventor: Tirthankar Lahiri , Juan R. Loaiza , Garret F. Swart , Jesse Kamp , Avneesh Pant , Hideaki Kimura
IPC: G06F9/455 , G06F9/54 , G06F15/173 , G06F15/167
Abstract: Techniques are provided to allow more sophisticated operations to be performed remotely by machines that are not fully functional. Operations that can be performed reliably by a machine that has experienced a hardware and/or software error are referred to herein as Remote Direct Memory Operations or “RDMOs”. Unlike RDMAs, which typically involve trivially simple operations such as the retrieval of a single value from the memory of a remote machine, RDMOs may be arbitrarily complex. The techniques described herein can help applications run without interruption when there are software faults or glitches on a remote system with which they interact.
-
公开(公告)号:US11379403B2
公开(公告)日:2022-07-05
申请号:US17071174
申请日:2020-10-15
Applicant: ORACLE INTERNATIONAL CORPORATION
Inventor: Tirthankar Lahiri , Juan R. Loaiza , Garret F. Swart , Jesse Kamp , Avneesh Pant , Hideaki Kimura
IPC: G06F9/54 , G06F15/167 , G06F15/173 , G06F9/455
Abstract: Techniques are provided to allow more sophisticated operations to be performed remotely by machines that are not fully functional. Operations that can be performed reliably by a machine that has experienced a hardware and/or software error are referred to herein as Remote Direct Memory Operations or “RDMOs”. Unlike RDMAs, which typically involve trivially simple operations such as the retrieval of a single value from the memory of a remote machine, RDMOs may be arbitrarily complex. The techniques described herein can help applications run without interruption when there are software faults or glitches on a remote system with which they interact.
-
公开(公告)号:US20190102391A1
公开(公告)日:2019-04-04
申请号:US15943335
申请日:2018-04-02
Applicant: Oracle International Corporation
Inventor: Aurosish Mishra , Shasank K. Chavan , Vinita Subramanian , Ekrem S.C. Soylemez , Adam Kociubes , Eugene Karichkin , Garret F. Swart
IPC: G06F17/30
Abstract: Techniques related to cache storage formats are disclosed. In some embodiments, a set of values is stored in a cache as a set of first representations and a set of second representations. For example, the set of first representations may be a set of hardware-level representations, and the set of second representations may be a set of non-hardware-level representations. Responsive to receiving a query to be executed over the set of values, a determination is made as to whether or not it would be more efficient to execute the query over the set of first representations than to execute the query over the set of second representations. If the determination indicates that it would be more efficient to execute the query over the set of first representations than to execute the query over the set of second representations, the query is executed over the set of first representations.
-
28.
公开(公告)号:US09372813B2
公开(公告)日:2016-06-21
申请号:US13839525
申请日:2013-03-15
Applicant: Oracle International Corporation
Inventor: Sanjiv Kapil , Garret F. Swart , Aings Aingaran , William H. Bridge, Jr. , Sumti Jairath , John G. Johnson
IPC: G06F12/00 , G06F13/10 , G06F17/30 , G06F9/54 , G06F9/38 , G06F12/08 , G06F12/12 , G06F15/173 , G06F12/14 , G06F21/62 , H04L29/06 , G06F15/78 , G06F13/362 , G06F13/40
CPC classification number: G06F9/30065 , G06F9/381 , G06F9/3851 , G06F9/3867 , G06F9/546 , G06F12/0804 , G06F12/082 , G06F12/12 , G06F12/1408 , G06F12/1475 , G06F13/102 , G06F13/362 , G06F13/4068 , G06F15/17331 , G06F15/7889 , G06F17/30324 , G06F17/30442 , G06F17/30483 , G06F17/30495 , G06F17/30498 , G06F17/30501 , G06F17/30519 , G06F17/30578 , G06F17/30595 , G06F17/30867 , G06F21/6209 , H04L69/14 , Y02D10/14 , Y02D10/151 , Y02D10/45
Abstract: A system and method implementing revocable secure remote keys is disclosed. A plurality of indexed base secrets is stored in a register of a coprocessor of a local node coupled with a local memory. When it is determined that a selected base secret expired, the base secret stored in the register based on the base secret index is changed, thereby invalidating remote keys generated based on the expired base secret. A remote key with validation data and a base secret index is received from a node requesting access to the local memory. A validation base secret is obtained from the register based on the base secret index. The coprocessor performs hardware validation on the validation data based on the validation base secret. Hardware validation fails if the base secret associated with the base secret index has been changed in the register of the selected coprocessor.
Abstract translation: 公开了一种实现可撤销的安全远程键的系统和方法。 多个索引的基本秘密被存储在与本地存储器耦合的本地节点的协处理器的寄存器中。 当确定所选择的基本秘密到期时,基于所述基本秘密索引存储在所述寄存器中的所述基本秘密被改变,从而使基于所述过期的基本秘密生成的远程密钥无效。 从请求访问本地存储器的节点接收具有验证数据和基本秘密索引的远程密钥。 基于基本秘密索引从寄存器获得验证基本密码。 协处理器基于验证基础密码对验证数据执行硬件验证。 如果在所选协处理器的寄存器中改变与基本秘密索引相关联的基本秘密,则硬件验证失败。
-
公开(公告)号:US20150261871A1
公开(公告)日:2015-09-17
申请号:US14709302
申请日:2015-05-11
Applicant: Oracle International Corporation
Inventor: Kathirgamar Aingaran , Garret F. Swart , Sanjiv Kapil
IPC: G06F17/30
CPC classification number: G06F9/30065 , G06F9/381 , G06F9/3851 , G06F9/3867 , G06F9/546 , G06F12/0804 , G06F12/082 , G06F12/12 , G06F12/1408 , G06F12/1475 , G06F13/102 , G06F13/362 , G06F13/4068 , G06F15/17331 , G06F15/7889 , G06F17/30324 , G06F17/30442 , G06F17/30483 , G06F17/30495 , G06F17/30498 , G06F17/30501 , G06F17/30519 , G06F17/30578 , G06F17/30595 , G06F17/30867 , G06F21/6209 , H04L69/14 , Y02D10/14 , Y02D10/151 , Y02D10/45
Abstract: Techniques for processing a query are provided. One or more operations that are required to process a query are performed by a coprocessor that is separate from a general purpose microprocessor that executes query processing software. The query processing software receives a query, determines one or more operations that are required to be executed to fully process the query, and issues one or more commands to one or more coprocessors that are programmed to perform one of the operations, such as a table scan operation and/or a lookup operation. The query processing software obtains results from the coprocessor(s) and performs one or more additional operations thereon to generate a final result of the query.
Abstract translation: 提供了处理查询的技术。 处理查询所需的一个或多个操作由与执行查询处理软件的通用微处理器分开的协处理器执行。 查询处理软件接收查询,确定要执行的一个或多个操作以完全处理该查询,并向被编程为执行其中一个操作的一个或多个协处理器发出一个或多个命令,诸如表 扫描操作和/或查找操作。 查询处理软件从协处理器获得结果,并在其上执行一个或多个附加操作以生成查询的最终结果。
-
公开(公告)号:US11983151B2
公开(公告)日:2024-05-14
申请号:US17334360
申请日:2021-05-28
Applicant: Oracle International Corporation
Inventor: Nagarajan Muthukrishnan , Binoy Sukumaran , Garret F. Swart , Sumanta Chatterjee , Ravi Shankar Thammaiah
IPC: G06F16/21 , G06F11/20 , G06F11/34 , G06F16/25 , H04L67/1001
CPC classification number: G06F16/21 , G06F11/203 , G06F11/3428 , G06F16/256 , H04L67/1001
Abstract: Herein are resource-constrained techniques that plan ahead for resiliently moving pluggable databases between container databases after a failure in a high-availability database cluster. In an embodiment, a computer identifies many alternative placements that respectively assign each pluggable database to a respective container database. For each alternative placement, a respective resilience score is calculated for each pluggable database that is based on the container database of the pluggable database. Based on the resilience scores of the pluggable databases for the alternative placements, a particular placement is selected as an optimal placement that would maximize utilization of computer resources, minimize database latencies, maximize system throughput, and maximize the ability of the database cluster to avoid a service outage.
-
-
-
-
-
-
-
-
-