-
公开(公告)号:US11720630B2
公开(公告)日:2023-08-08
申请号:US17141018
申请日:2021-01-04
Applicant: Oracle International Corporation
Inventor: Arnaud Delamare , Vasileios Trigonakis , Yahya Ez-Zainabi , Sungpack Hong , Hassan Chafi
IPC: G06F16/901
CPC classification number: G06F16/9024 , G06F16/9027
Abstract: Techniques are provided for finding unused vertex and edge identifiers (IDs) in a distributed graph engine. A run-time data structure may be built during the loading of the graph. The data structure identifies unavailable IDs that are associated with graph entities of the graph. The data structure is traversed to determine one or more ranges of free IDs. Unused IDs are generated from the ranges.
-
公开(公告)号:US20220215055A1
公开(公告)日:2022-07-07
申请号:US17141018
申请日:2021-01-04
Applicant: Oracle International Corporation
Inventor: Arnaud Delamare , Vasileios Trigonakis , Yahya Ez-Zainabi , Sungpack Hong , Hassan Chafi
IPC: G06F16/901
Abstract: Techniques are provided for finding unused vertex and edge identifiers (IDs) in a distributed graph engine. A run-time data structure may be built during the loading of the graph. The data structure identifies unavailable IDs that are associated with graph entities of the graph. The data structure is traversed to determine one or more ranges of free IDs. Unused IDs are generated from the ranges.
-
公开(公告)号:US12174835B2
公开(公告)日:2024-12-24
申请号:US18211613
申请日:2023-06-20
Applicant: Oracle International Corporation
Inventor: Arnaud Delamare , Irfan Bunjaku , Vasileios Trigonakis , Calin Iorgulescu , Tomas Faltin , Sungpack Hong , Hassan Chafi
IPC: G06F17/30 , G06F16/22 , G06F16/23 , G06F16/2453 , G06F16/2455
Abstract: A storage manager for offloading graph components to persistent storage for reducing resident memory in a distributed graph processing engine is provided. The storage manager identifies a set of graph components required to execute a graph processing operation on a graph in a graph processing engine of a database system and reserves an amount of memory needed to load the set of graph components into memory. The storage manager loads the set of graph components into memory and initiates execution of the graph processing operation using the set of graph components in memory. The storage manager evicts one or more unused graph components from memory in response to receiving a request to free a requested amount of memory from memory.
-
4.
公开(公告)号:US20200073868A1
公开(公告)日:2020-03-05
申请号:US16378424
申请日:2019-04-08
Applicant: Oracle International Corporation
Inventor: Arnaud Delamare , Vasileios Trigonakis , Vlad Ioan Haprian , Oskar Van Rest , Sungpack Hong , Hassan Chafi , Tomas Faltin , Jean-Pierre Lozi
IPC: G06F16/2453 , G06F16/901 , G06F16/22 , H03M7/30
Abstract: Techniques are described herein for space-efficient encoding of label information of property graphs. In an embodiment, an input graph is received. The input graph comprises a plurality of entities and a plurality of label sets. Each entity of said plurality of entities is associated with a label set of the plurality of label sets and each label set of the plurality of label sets comprises zero or more labels of a plurality of labels. A first mapping is generated that maps each label of the plurality of labels to a label code. A second mapping is generated that maps each label integer set of a plurality of label integer sets to a label code. Each label integer set of the plurality of label integer sets corresponds to a label set of the plurality of label sets, wherein each label integer set of the plurality of label integer sets comprises label codes from the first mapping that are mapped to each label included in the corresponding label set. A compressed label set is generated for each entity of the plurality of entities. Each compressed label set comprises a plurality of bits that indicate a zeroth state, a first state, a second state, or a third state. The compressed label sets and the first and second mappings are used to efficiently evaluate graph label queries.
-
5.
公开(公告)号:US20250139163A1
公开(公告)日:2025-05-01
申请号:US18384248
申请日:2023-10-26
Applicant: Oracle International Corporation
Inventor: Jonas Schweizer , Arnaud Delamare , Jinsu Lee , Sungpack Hong , Hassan Chafi , Vasileios Trigonakis
IPC: G06F16/901 , G06F11/32
Abstract: An estimator is provided that can be used to get an estimate of final graph size and peak memory usage of the graph during loading, based on sampling of the graph data and using machine learning (ML) techniques. A data sampler samples the data from files or databases and estimates some statistics about the final graph. The sampler also samples some information about property data. Given the sampled statistics gathered and estimated by the data sampler, a graph size estimator estimates how much memory is required by the graph processing engine to load the graph. The final graph size represents how much memory will be used to keep the final graph structures in memory once loading is completed. The peak memory usage represents the memory usage upper bound that is reached by the graph processing engine during loading.
-
公开(公告)号:US11250059B2
公开(公告)日:2022-02-15
申请号:US16738972
申请日:2020-01-09
Applicant: ORACLE INTERNATIONAL CORPORATION
Inventor: Arnaud Delamare , Vasileios Trigonakis , Jean-Pierre Lozi , Vlad Ioan Haprian , Petr Koupy , Hassan Chafi , Sungpack Hong
IPC: G06F16/00 , G06F16/901 , G06F16/2453 , G06F16/903 , G06F16/9032
Abstract: Techniques are described herein for early pruning of potential graph query results. Specifically, based on determining that property values of a path through graph data cannot affect results of a query, the path is pruned from a set of potential query solutions prior to fully exploring the path. Early solution pruning is performed on prunable queries that project prunable functions including MIN, MAX, SUM, and DISTINCT, the results of which are not tied to a number of paths explored for query execution. A database system implements early solution pruning for a prunable query based on intermediate results maintained for the query during query execution. Specifically, when a system determines that property values of a given potential solution path cannot affect the query results reflected in intermediate results maintained for the query, the path is discarded from the set of possible query solutions without further exploration of the path.
-
公开(公告)号:US20250094224A1
公开(公告)日:2025-03-20
申请号:US18369254
申请日:2023-09-18
Applicant: Oracle International Corporation
Inventor: Calin Iorgulescu , Martin Kucera , Vasileios Trigonakis , Arnaud Delamare , Petr Koupy , Jinsu Lee , Sungpack Hong , Hassan Chafi
Abstract: A resource manager tracks the amount of available memory for a cluster of machines and for each machine in the cluster. The resource manager receives a reservation request from a job for a graph processing operation. The reservation request specifies an identification of the job, a type of reservation, and an amount of memory requested. The resource manager determines whether to grant the reservation request based on the type of reservation, the amount of memory requested, and the amount of available memory in the cluster or in one or more machines in the cluster. In response to determining to grant the reservation request, the resource manager sends a response to the job indicating an amount of memory reserved and adjusts the amount of available cluster memory and the amount of available machine memory for at least one machine in the cluster based on the amount of memory reserved.
-
8.
公开(公告)号:US11288108B2
公开(公告)日:2022-03-29
申请号:US16701797
申请日:2019-12-03
Applicant: ORACLE INTERNATIONAL CORPORATION
Inventor: Alberto Parravicini , Davide Bartolini , Lukas Stadler , Arnaud Delamare
Abstract: Techniques are provided for an automated method of adding out-of-bound access prevention in GPU kernels executed in a managed environment. In an embodiment, a system of computers compiles a GPU kernel code function that includes one or more array references that are memory address dependent. The system of computers compiles the kernel code function by generating a rewritten GPU kernel code module that includes, within the function signature of the rewritten GPU kernel code module, a respective array size parameter for each array reference of the one or more array references included in the GPU kernel code function. The system of computers further compiles the kernel code function by adding bounding protection instructions to the one or more potential out-of-bound access instructions in the rewritten GPU kernel code module. The potential out-of-bound access instructions comprise instructions that reference each respective array size parameter of the one or more array references. Afterwards, the rewritten GPU kernel code module is loaded in a virtual machine. Loading the rewritten GPU kernel code module in the virtual machine comprises modifying a host application to automatically transmit, from the host application, one or more input array size values. The one or more input array size values is referenced by the one or more potential out-of-bound-access instructions.
-
公开(公告)号:US11074260B2
公开(公告)日:2021-07-27
申请号:US16378424
申请日:2019-04-08
Applicant: Oracle International Corporation
Inventor: Arnaud Delamare , Vasileios Trigonakis , Vlad Ioan Haprian , Oskar Van Rest , Sungpack Hong , Hassan Chafi , Tomas Faltin , Jean-Pierre Lozi
IPC: G06F16/00 , G06F16/2453 , G06F16/901 , G06F16/22 , H03M7/40 , H03M7/30
Abstract: Techniques are described herein for space-efficient encoding of label information of property graphs. In an embodiment, an input graph is received. The input graph comprises a plurality of entities and a plurality of label sets. Each entity of said plurality of entities is associated with a label set of the plurality of label sets and each label set of the plurality of label sets comprises zero or more labels of a plurality of labels. A first mapping is generated that maps each label of the plurality of labels to a label code. A second mapping is generated that maps each label integer set of a plurality of label integer sets to a label code. Each label integer set of the plurality of label integer sets corresponds to a label set of the plurality of label sets, wherein each label integer set of the plurality of label integer sets comprises label codes from the first mapping that are mapped to each label included in the corresponding label set. A compressed label set is generated for each entity of the plurality of entities. Each compressed label set comprises a plurality of bits that indicate a zeroth state, a first state, a second state, or a third state. The compressed label sets and the first and second mappings are used to efficiently evaluate graph label queries.
-
-
-
-
-
-
-
-