-
公开(公告)号:US20180341596A1
公开(公告)日:2018-11-29
申请号:US15606327
申请日:2017-05-26
Applicant: Oracle International Corporation
Inventor: Siddharth Teotia , Krishna Kunchithapadam , Tirthankar Lahiri , Jesse Kamp , Michael J. Gleeson , Juan R. Loaiza , Garret F. Swart , Neil J.S. MacNaughton , Kam Shergill
IPC: G06F12/1018 , G06F17/30
CPC classification number: G06F12/1018 , G06F12/0864 , G06F12/0868 , G06F12/126 , G06F12/128 , G06F16/2255 , G06F16/2453 , G06F16/9014 , G06F2212/1041 , G06F2212/313 , G06F2212/621
Abstract: A hashing scheme includes a cache-friendly, latchless, non-blocking dynamically resizable hash index with constant-time lookup operations that is also amenable to fast lookups via remote memory access. Specifically, the hashing scheme provides each of the following features: latchless reads, fine grained lightweight locks for writers, non-blocking dynamic resizability, cache-friendly access, constant-time lookup operations, amenable to remote memory access via RDMA protocol through one sided read operations, as well as non-RDMA access.
-
42.
公开(公告)号:US20140096145A1
公开(公告)日:2014-04-03
申请号:US13778307
申请日:2013-02-27
Applicant: ORACLE INTERNATIONAL CORPORATION
Inventor: Kathirgamar Aingaran , William H. Bridge, JR. , Garret F. Swart , Sumti Jairath , John G. Johnson
IPC: G06F9/54
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 method and apparatus for sending and receiving messages between nodes on a compute cluster is provided. Communication between nodes on a compute cluster, which do not share physical memory, is performed by passing messages over an I/O subsystem. Typically, each node includes a synchronization mechanism, a thread ready to receive connections, and other threads to process and reassemble messages. Frequently, a separate queue is maintained in memory for each node on the I/O subsystem sending messages to the receiving node. Such overhead increases latency and limits message throughput. Due to a specialized coprocessor running on each node, messages on an I/O subsystem are sent, received, authenticated, synchronized, and reassembled at a faster rate and with lower latency. Additionally, the memory structure used may reduce memory consumption by storing messages from multiple sources in the same memory structure, eliminating the need for per-source queues.
Abstract translation: 提供了一种用于在计算集群上的节点之间发送和接收消息的方法和装置。 通过在I / O子系统上传递消息来执行不共享物理内存的计算集群上的节点之间的通信。 通常,每个节点包括同步机制,准备好接收连接的线程以及处理和重新组合消息的其他线程。 通常,I / O子系统中的每个节点向存储器中维护单独的队列,向接收节点发送消息。 这种开销增加了延迟并限制了消息吞吐量。 由于在每个节点上运行的专用协处理器,I / O子系统上的消息以更快的速率和更低的延迟被发送,接收,认证,同步和重新组装。 此外,所使用的存储器结构可以通过在相同存储器结构中存储来自多个源的消息来减少存储器消耗,从而消除对每个源队列的需要。
-
43.
公开(公告)号:US12099508B2
公开(公告)日:2024-09-24
申请号:US17948821
申请日:2022-09-20
Applicant: Oracle International Corporation
Inventor: Laleh Aghababaie Beni , Garret F. Swart
IPC: G06F16/00 , G06F8/41 , G06F16/2453 , G06F16/2455
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.
-
公开(公告)号:US12093261B2
公开(公告)日:2024-09-17
申请号: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: G06F16/24 , G06F16/172 , G06F16/22 , G06F16/2455
CPC classification number: G06F16/24552 , G06F16/172 , G06F16/221 , G06F16/2455 , G06F16/24553
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.
-
45.
公开(公告)号:US11989179B2
公开(公告)日:2024-05-21
申请号:US17895445
申请日:2022-08-25
Applicant: Oracle International Corporation
Inventor: Shasank Kisan Chavan , Garret F. Swart , Weiwei Gong
IPC: G06F16/2453 , G06F16/901 , G06N20/00 , G06N5/04
CPC classification number: G06F16/24537 , G06F16/24542 , G06F16/9024 , G06N20/00 , G06N5/04
Abstract: The present invention relates to optimized access of a database. Herein are techniques to accelerate execution of any combination of ad hoc query, heterogenous hardware, and fluctuating workload. In an embodiment, a computer receives a data access request for data tuples and compiles the data access request into relational operators. A particular implementation of a particular relational operator is dynamically selected from multiple interchangeable implementations. Each interchangeable implementation contains respective physical operators. A particular hardware operator for a particular physical operator is selected from multiple interchangeable hardware operators that include: a first hardware operator that executes on first processing hardware, and a second hardware operator that executes on second processing hardware that is functionally different from the first processing hardware. A response to the data access request is generated based on: the data tuples, the particular implementation of the particular relational operator, and the particular hardware operator.
-
公开(公告)号:US20230281190A1
公开(公告)日:2023-09-07
申请号:US18117810
申请日:2023-03-06
Applicant: Oracle International Corporation
Inventor: Ajit Mylavarapu , Vasudha Krishnaswamy , Sukhada Pendse , Solmaz Kolahi , Ankita Kumar , Garret F. Swart , Juan R. Loaiza , Tirthankar Lahiri
CPC classification number: G06F16/2379 , G06F16/285
Abstract: One or more engine instances are executed on each host to form an engine cluster. A plurality of control instances are executed on a first set of hosts to form a control cluster and comprise a control instance leader and one or more control instance followers. In response to a first host indicating a failure of a neighbor host, a pair-wise focused investigation is initiated to check peer-to-peer connections between the first host and the neighbor host. In response to one or more additional hosts indicating failures of neighbor hosts while the pair-wise focused investigation is being performed, a wide investigation is performed to check connections between the control cluster and the plurality of hosts. One or more hosts are added to an eviction list and an eviction protocol is performed to evict the one or more hosts from the engine cluster using the eviction list.
-
公开(公告)号:US20230050727A1
公开(公告)日:2023-02-16
申请号:US17974152
申请日:2022-10-26
Applicant: Oracle International Corporation
Inventor: Jesse Kamp , Allison L. Holloway , Meichun Hsu , Hideaki Kimura , Boris Klots , Vasudha Krishnaswamy , Kartik Kulkarni , Teck Hua Lee , Yunrui Li , Aurosish Mishra , Ajit Mylavarapu , Sukhada Pendse , Garret F. Swart , Shasank K. Chavan , Tirthankar Lahiri , Juan R. Loaiza
Abstract: A shared-nothing database system is provided in which parallelism and workload balancing are increased by assigning the rows of each table to “slices”, and storing multiple copies (“duplicas”) of each slice across the persistent storage of multiple nodes of the shared-nothing database system. When the data for a table is distributed among the nodes of a shared-nothing system in this manner, requests to read data from a particular row of the table may be handled by any node that stores a duplica of the slice to which the row is assigned. For each slice, a single duplica of the slice is designated as the “primary duplica”. All DML operations (e.g. inserts, deletes, updates, etc.) that target a particular row of the table are performed by the node that has the primary duplica of the slice to which the particular row is assigned. The changes made by the DML operations are then propagated from the primary duplica to the other duplicas (“secondary duplicas”) of the same slice.
-
48.
公开(公告)号:US20220405282A1
公开(公告)日:2022-12-22
申请号:US17895445
申请日:2022-08-25
Applicant: Oracle International Corporation
Inventor: Shasank Kisan Chavan , Garret F. Swart , Weiwei Gong
IPC: G06F16/2453 , G06N20/00 , G06F16/901
Abstract: The present invention relates to optimized access of a database. Herein are techniques to accelerate execution of any combination of ad hoc query, heterogenous hardware, and fluctuating workload. In an embodiment, a computer receives a data access request for data tuples and compiles the data access request into relational operators. A particular implementation of a particular relational operator is dynamically selected from multiple interchangeable implementations. Each interchangeable implementation contains respective physical operators. A particular hardware operator for a particular physical operator is selected from multiple interchangeable hardware operators that include: a first hardware operator that executes on first processing hardware, and a second hardware operator that executes on second processing hardware that is functionally different from the first processing hardware. A response to the data access request is generated based on: the data tuples, the particular implementation of the particular relational operator, and the particular hardware operator.
-
公开(公告)号:US11347678B2
公开(公告)日:2022-05-31
申请号:US16055978
申请日:2018-08-06
Applicant: Oracle International Corporation
Inventor: Tirthankar Lahiri , Juan R. Loaiza , Garret F. Swart , Jesse Kamp , Avneesh Pant , Hideaki Kimura
IPC: G06F9/54 , G06F15/173 , G06F15/167 , 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.
-
50.
公开(公告)号:US20220114192A1
公开(公告)日:2022-04-14
申请号:US17123405
申请日:2020-12-16
Applicant: Oracle International Corporation
Inventor: William H. Bridge, JR. , David Brower , Meichun Hsu , Boris Klots , Neil J S Macnaughton, JR. , Ajit Mylavarapu , Umesh Panchaksharaiah , Garret F. Swart , Tirthankar Lahiri , Juan R. Loaiza
IPC: G06F16/27 , G06F16/901 , G06F15/173
Abstract: A shared-nothing database system is provided in which parallelism and workload balancing are increased by assigning the rows of each table to “slices”, and storing multiple copies (“duplicas”) of each slice across the persistent storage of multiple nodes of the shared-nothing database system. When the data for a table is distributed among the nodes of a shared-nothing system in this manner, requests to read data from a particular row of the table may be handled by any node that stores a duplica of the slice to which the row is assigned. For each slice, a single duplica of the slice is designated as the “primary duplica”. All DML operations (e.g. inserts, deletes, updates, etc.) that target a particular row of the table are performed by the node that has the primary duplica of the slice to which the particular row is assigned. The changes made by the DML operations are then propagated from the primary duplica to the other duplicas (“secondary duplicas”) of the same slice.
-
-
-
-
-
-
-
-
-