-
公开(公告)号:US10853137B2
公开(公告)日:2020-12-01
申请号:US16351377
申请日:2019-03-12
Applicant: Oracle International Corporation
Inventor: Vlad Ioan Haprian , Iraklis Psaroudakis , Alexander Weld , Oskar Van Rest , Sungpack Hong , Hassan Chafi
Abstract: Techniques are described herein for allocating and rebalancing computing resources for executing graph workloads in manner that increases system throughput. According to one embodiment, a method includes receiving a request to execute a graph processing workload on a dataset, identifying a plurality of graph operators that constitute the graph processing workload, and determining whether execution of each graph operator is processor intensive or memory intensive. The method also includes assigning a task weight for each graph operator of the plurality of graph operators, and performing, based on the assigned task weights, a first allocation of computing resources to execute the plurality of graph operators. Further, the method includes causing, according to the first allocation, execution of the plurality of graph operators by the computing resources, and monitoring computing resource usage of graph operators executed by the computing resources according to the first allocation. In addition, the method includes performing, responsive to monitoring computing resource usage, a second allocation of computing resources to execute the plurality of graph operators, and causing, according to the second allocation instead of according to the first allocation, execution of the plurality of graph operators by the computing resources.
-
公开(公告)号:US20200293372A1
公开(公告)日:2020-09-17
申请号:US16351377
申请日:2019-03-12
Applicant: Oracle International Corporation
Inventor: Vlad Ioan Haprian , Iraklis Psaroudakis , Alexander Weld , Oskar Van Rest , Sungpack Hong , Hassan Chafi
IPC: G06F9/50 , G06F9/38 , G06F16/901 , G06K9/62 , G06F11/30
Abstract: Techniques are described herein for allocating and rebalancing computing resources for executing graph workloads in manner that increases system throughput. According to one embodiment, a method includes receiving a request to execute a graph processing workload on a dataset, identifying a plurality of graph operators that constitute the graph processing workload, and determining whether execution of each graph operator is processor intensive or memory intensive. The method also includes assigning a task weight for each graph operator of the plurality of graph operators, and performing, based on the assigned task weights, a first allocation of computing resources to execute the plurality of graph operators. Further, the method includes causing, according to the first allocation, execution of the plurality of graph operators by the computing resources, and monitoring computing resource usage of graph operators executed by the computing resources according to the first allocation. In addition, the method includes performing, responsive to monitoring computing resource usage, a second allocation of computing resources to execute the plurality of graph operators, and causing, according to the second allocation instead of according to the first allocation, execution of the plurality of graph operators by the computing resources.
-
公开(公告)号:US10776966B2
公开(公告)日:2020-09-15
申请号:US15581820
申请日:2017-04-28
Applicant: Oracle International Corporation
Inventor: Jan Boettcher , Alexander Weld , Korbinian Schmid , Sungpack Hong , Hassan Chafi
Abstract: Techniques are provided for strategy-based graph simplification. In an embodiment, a computer provides configurable strategies that simplify edges of a graph. A client selects and configures a strategy subset of the configurable strategies to define a particular simplification scheme. The computer simplifies a graph by applying the strategy subset to the graph. In embodiments, predefined classes or other application programming interface (API) is provided to clients to obtain and customize strategy instances, such as with a factory or builder. Strategy instances may be imperative or declarative. A service implementation, such as a graph engine, may be embedded or remoted. Techniques herein provide for reuse and optimization.
-
24.
公开(公告)号:US10540398B2
公开(公告)日:2020-01-21
申请号:US15495193
申请日:2017-04-24
Applicant: Oracle International Corporation
Inventor: Martin Sevenich , Sungpack Hong , Alexander Weld , Hassan Chafi , Daniel Lehmann
IPC: G06F16/00 , G06F16/901 , G06F16/23 , G06F16/903
Abstract: Techniques herein minimize memory needed to store distances between vertices of a graph for use during a multi-source breadth-first search (MS-BFS). In an embodiment, during each iteration of a first sequence of iterations of a MS-BFS, a computer updates a first matrix that contains elements that use a first primitive integer type having a first width to record a distance from a source vertex of a graph to another vertex. The computer detects that a count of iterations of the first sequence of iterations exceeds a threshold. Responsively, the computer creates a second matrix that contains elements that use a second primitive integer type having a second width that is larger than the first width to record a distance from a source vertex of the graph to another vertex. During each iteration of a second sequence of iterations of the MS-BFS, the computer updates the second matrix.
-
25.
公开(公告)号:US20190286662A1
公开(公告)日:2019-09-19
申请号:US16431294
申请日:2019-06-04
Applicant: Oracle International Corporation
Inventor: SIHAM YOUSFI , SUNGPACK HONG , Alexander Weld , Korbinian Schmid , Hassan Chafi
IPC: G06F16/901 , G06F16/25 , G06F16/84 , G06F16/903
Abstract: Techniques are provided for mapping tables and columns of a legacy relational schema into synthetic tables that are dedicated for graph analysis. In an embodiment, a computer receives a mapping of relational tables to node tables and edge tables. The node tables contain columns and rows. The edge tables contain columns and rows. The rows of the node tables and the rows of the edge tables define a graph. Based on the mapping and the relational tables, the computer calculates a value of at least one column of at least one row of the node tables. Based on an execution of a query of the graph, the computer returns the value.
-
公开(公告)号:US10235474B2
公开(公告)日:2019-03-19
申请号:US15443327
申请日:2017-02-27
Applicant: Oracle International Corporation
Inventor: Michael Haubenschild , Sungpack Hong , Hassan Chafi , Korbinian Schmid , Martin Sevenich , Alexander Weld
IPC: G06F17/30
Abstract: Techniques herein are for navigation data structures for graph traversal. In an embodiment, navigation data structures that a computer stores include: a source vertex array of vertices; a neighbor array of dense identifiers of target vertices terminating edges; a bidirectional map associating, for each vertex, a sparse identifier of the vertex with a dense identifier of the vertex; and a vertex array containing, when a dense identifier of a source vertex is used as an offset, a pair of offsets defining an offset range, for use with the neighbor array. The source vertex array, using the dense identifier of a particular vertex as an offset, contains an offset, into a neighbor array, of a target vertex terminating an edge originating at the particular vertex. The neighbor array contiguously stores dense identifiers of target vertices terminating edges originating from a same source vertex.
-
27.
公开(公告)号:US20190042661A1
公开(公告)日:2019-02-07
申请号:US15666310
申请日:2017-08-01
Applicant: Oracle International Corporation
Inventor: Martin Sevenich , Sungpack Hong , Alexander Weld , Hassan Chafi , Martijn Dwars
Abstract: Techniques herein generate, such as during compilation, polymorphic dispatch logic (PDL) to switch between specialized implementations of a polymorphic graph algorithm. In an embodiment, a computer detects, within source logic of a graph algorithm, that the algorithm processes an instance of a generic graph type. The computer generates several alternative implementations of the algorithm. Each implementation is specialized to process the graph instance as an instance of a respective graph subtype. The computer generates PDL that performs dynamic dispatch as follows. At runtime, the PDL receives a graph instance of the generic graph type. The PDL detects which particular graph subtype is the graph instance. The PDL then invokes whichever alternative implementation that is specialized to process the graph instance as an instance of the detected particular graph subtype. In embodiments, the source logic is expressed in a domain specific language (DSL), e.g. for analysis, traversal, or querying of graphs.
-
公开(公告)号:US20180329953A1
公开(公告)日:2018-11-15
申请号:US15592050
申请日:2017-05-10
Applicant: Oracle International Corporation
Inventor: Alexander Weld , Korbinian Schmid , Sungpack Hong , Hassan Chafi , Hyungyu Shin
IPC: G06F17/30
CPC classification number: G06F16/24535 , G06F16/248 , G06F16/252 , G06F16/278 , G06F16/9024
Abstract: Techniques herein optimally distribute graph query processing across heterogeneous tiers. In an embodiment, a computer receives a graph query to extract a query result (QR) from a graph in a database operated by a database management system (DBMS). The graph has vertices interconnected by edges. Each vertex has vertex properties, and each edge has edge properties. The computer decomposes the graph query into filter expressions (FE's). Each FE is processed as follows. A filtration tier to execute the FE is selected from: the DBMS which sends at least the QR to a stream, a stream evaluator that processes the stream as it arrives without waiting for the entire QR to arrive and that stores at least the QR into memory, and an in-memory evaluator that identifies the QR in memory. A translation of the FE executes on the filtration tier to obtain vertices and/or edges that satisfy the FE.
-
29.
公开(公告)号:US10102047B2
公开(公告)日:2018-10-16
申请号:US15978061
申请日:2018-05-11
Applicant: Oracle International Corporation
Inventor: Alexander Weld , Korbinian Schmid , Felix Kaser , Sungpack Hong , Hassan Chafi
Abstract: Techniques and a system are provided for managing resources used by user-provided programs. The system includes an application programming interface (API) that allows user-provided programs to access memory resources managed by functions provided by the API. The system stores memory-usage records made during memory allocations. Memory-usage records may be used to identify memory resources, analyze memory usage, and provide other features.
-
30.
公开(公告)号:US10102046B2
公开(公告)日:2018-10-16
申请号:US15080136
申请日:2016-03-24
Applicant: Oracle International Corporation
Inventor: Alexander Weld , Korbinian Schmid , Felix Kaser , Sungpack Hong , Hassan Chafi
Abstract: Techniques and a system are provided for managing resources used by user-provided programs. The system includes an application programming interface (API) that allows user-provided programs to access memory resources managed by functions provided by the API. The system stores memory-usage records made during memory allocations. Memory-usage records may be used to identify memory resources, analyze memory usage, and provide other features.
-
-
-
-
-
-
-
-
-