AUTOMATED GENERATION OF MEMORY CONSUMPTION AWARE CODE

    公开(公告)号:US20170168779A1

    公开(公告)日:2017-06-15

    申请号:US14969231

    申请日:2015-12-15

    CPC classification number: G06F8/456

    Abstract: Techniques generate memory-optimization logic for concurrent graph analysis. A computer analyzes domain-specific language logic that analyzes a graph having vertices and edges. The computer detects parallel execution regions that create thread locals. Each thread local is associated with a vertex or edge. For each parallel region, the computer calculates how much memory is needed to store one instance of each thread local. The computer generates instrumentation that determines how many threads are available and how many vertices and edges will create thread locals. The computer generates tuning logic that determines how much memory is originally needed for the parallel region based on how much memory is needed to store the one instance, how many threads are available, and graph size. The tuning logic detects a memory shortage based on the original amount of memory needed exceeding how much memory is available and accordingly adjusts the execution of the parallel region.

    Efficiently counting triangles in a graph
    42.
    发明授权
    Efficiently counting triangles in a graph 有权
    有效地计算图中的三角形

    公开(公告)号:US09361403B2

    公开(公告)日:2016-06-07

    申请号:US14139269

    申请日:2013-12-23

    CPC classification number: G06F17/30958 G06F17/30312

    Abstract: Techniques for identifying common neighbors of two nodes in a graph are provided. One technique involves performing a binary split search and/or a linear search. Another technique involves creating a segmenting index for a first neighbor list. A second neighbor list is scanned and, for each node indicated in the second neighbor list, the segmenting index is used to determine whether the node is also indicated in the first neighbor list. Techniques are also provided for counting the number of triangles. One technique involves pruning nodes from neighbor lists based on the node values of the nodes whose neighbor lists are being pruned. Another technique involves sorting the nodes in a node array (and, thus, their respective neighbor lists) based on the nodes' respective degrees prior to identifying common neighbors. In this way, when pruning the neighbor lists, the neighbor lists of the highly connected nodes are significantly reduced.

    Abstract translation: 提供了用于识别图中两个节点的公共邻居的技术。 一种技术涉及执行二分割搜索和/或线性搜索。 另一种技术涉及为第一邻居列表创建分段索引。 扫描第二邻居列表,并且对于第二邻居列表中指示的每个节点,使用分段索引来确定节点是否也在第一邻居列表中指示。 还提供了用于计数三角形数量的技术。 一种技术是根据邻居列表被修剪的节点的节点值从邻居列表中修剪节点。 另一技术涉及在识别公共邻居之前基于节点的相应度来对节点阵列(以及因此其相应的邻居列表)中的节点进行排序。 这样,当修剪邻居列表时,高度连接的节点的邻居列表显着减少。

Patent Agency Ranking