Serialized Form

  • Package it.unimi.dsi.big.webgraph

    • Class it.unimi.dsi.big.webgraph.BVGraph

      class BVGraph extends ImmutableGraph implements Serializable
      serialVersionUID:
      0L
      • Serialization Methods

      • Serialized Fields

        • basename
          CharSequence basename
          The basename of the graph. This may be null, but trying to load the graph with an offset step of -1 will cause an exception.
        • blockCoding
          int blockCoding
          The coding for copy-block lists. By default, we use γ coding.
        • blockCountCoding
          int blockCountCoding
          The coding for block counts. By default, we use γ coding.
        • blockCountStats
          PrintWriter blockCountStats
        • blockStats
          PrintWriter blockStats
        • cachedOutdegree
          int cachedOutdegree
          If BVGraph.cachedNode is not Long.MIN_VALUE, its cached outdegree.
        • cachedPointer
          long cachedPointer
          If BVGraph.cachedNode is not Long.MIN_VALUE, the position immediately after the coding of the outdegree of BVGraph.cachedNode.
        • flags
          int flags
          The compression flags used.
        • graphMemory
          byte[] graphMemory
          The byte array storing the compressed graph, if BVGraph.isMemory is true and BVGraph.offsetType is not -1.

          This variable is loaded with a copy of the graph file, or with a rearrangement of the latter, depending on whether BVGraph.offsetType is smaller than or equal to one. If BVGraph.offsetType is -1, this variable is null, and node iterators are generated by opening streams directly on the graph file.

        • graphStream
          FastMultiByteArrayInputStream graphStream
          The multi-byte array input stream storing the compressed graph, if BVGraph.isMemory is false, BVGraph.isMapped is false and BVGraph.offsetType is not -1.

          It is loaded with a copy of the graph file. If BVGraph.offsetType is -1, this variable is null, and node iterators are generated by opening streams directly on the graph file.

        • intervalCountStats
          PrintWriter intervalCountStats
        • isMapped
          boolean isMapped
          When BVGraph.offsetType is not -1, whether this graph is directly loaded into BVGraph.graphMemory, or rather memory-mapped.
        • isMemory
          boolean isMemory
          When BVGraph.offsetType is not -1, whether this graph is directly loaded into BVGraph.graphMemory, or rather wrapped in a FastMultiByteArrayInputStream specified by BVGraph.graphStream.
        • leftStats
          PrintWriter leftStats
        • lenStats
          PrintWriter lenStats
        • m
          long m
          The number of arcs of the graph.
        • mappedGraphStream
          ByteBufferInputStream mappedGraphStream
          The memory-mapped input stream storing the compressed graph, if BVGraph.isMapped is true.

          It is loaded with a copy of the graph file. If BVGraph.offsetType is -1, this variable is null, and node iterators are generated by opening streams directly on the graph file.

        • maxRefCount
          int maxRefCount
          The maximum reference count.
        • minIntervalLength
          int minIntervalLength
          The minimum interval length.
        • n
          long n
          The number of nodes of the graph.
        • offsetCoding
          int offsetCoding
          The coding for offsets. By default, we use γ coding.
        • offsets
          LongBigList offsets
          This variable is null iff BVGraph.offsetType is zero or less (implying that offsets have not been loaded). Otherwise, it is an Elias–Fano monotone list containing the pointers of the bit streams of one each BVGraph.offsetType nodes.
        • offsetStats
          PrintWriter offsetStats
        • offsetType
          int offsetType
          The offset type: 2 is memory-mapping, 1 is normal random-access loading, 0 means that we do not want to load offsets at all, -1 that the we do not want even load the graph file.
        • outdegreeCoding
          int outdegreeCoding
          The coding for outdegrees. By default, we use γ coding.
        • outdegreeStats
          PrintWriter outdegreeStats
        • referenceCoding
          int referenceCoding
          The coding for references. By default, we use unary coding.
        • referenceStats
          PrintWriter referenceStats
        • residualCoding
          int residualCoding
          The coding for residuals. By default, we use ζ coding.
        • residualCountStats
          PrintWriter residualCountStats
        • residualStats
          PrintWriter residualStats
        • windowSize
          int windowSize
          The window size. Zero means no references.
        • zetaK
          int zetaK
          The value of k for ζk coding (for residuals).
  • Package it.unimi.dsi.big.webgraph.algo

    • Class it.unimi.dsi.big.webgraph.algo.HyperBall

      class HyperBall extends HyperLogLogCounterArray implements Serializable
      serialVersionUID:
      1L
      • Serialization Methods

      • Serialized Fields

        • adaptiveGranularity
          long adaptiveGranularity
          The number of nodes per task (obtained by adapting HyperBall.granularity to the current ratio of modified nodes). Must be a multiple of Long.SIZE.
        • aliveThreads
          int aliveThreads
          A variable used to wait for all threads to complete their iteration.
        • allWaiting
          Condition allWaiting
          A condition that is notified when all iteration threads are waiting to be started.
        • arcs
          AtomicLong arcs
          An atomic integer keeping track of the number of arcs processed so far.
        • bufferSize
          int bufferSize
          The size of an I/O buffer, in counters.
        • closed
          boolean closed
          Whether this approximator has been already closed.
        • completed
          boolean completed
          True if the computation is over.
        • cumulativeOutdegrees
          EliasFanoCumulativeOutdegreeList cumulativeOutdegrees
          The cumulative list of outdegrees.
        • current
          double current
          The value computed by the current iteration.
        • discountedCentrality
          float[][][] discountedCentrality
          The overall discounted centrality, for every HyperBall.discountFunction.
        • discountFunction
          Int2DoubleFunction[] discountFunction
          A number of discounted centralities to be computed, possibly none.
        • doSumOfDistances
          boolean doSumOfDistances
          Whether the sum of distances from each node (inverse of positive closeness centrality) should be computed; if false, HyperBall.sumOfDistances is null.
        • doSumOfInverseDistances
          boolean doSumOfInverseDistances
          Whether the sum of inverse distances from each node (positive harmonic centrality) should be computed; if false, HyperBall.sumOfInverseDistances is null.
        • external
          boolean external
          Whether we should used an update list on disk, instead of computing results in core memory.
        • fileChannel
          FileChannel fileChannel
          If HyperBall.external is true, a file channel used to write to the update list.
        • gotTranspose
          boolean gotTranspose
          True if we have the transpose graph.
        • granularity
          long granularity
          The number of actually scanned nodes per task in a multithreaded environment. Must be a multiple of Long.SIZE.
        • iteration
          int iteration
          The current iteration.
        • last
          double last
          The value computed by the last iteration.
        • local
          boolean local
          True if we started a local computation.
        • localCheckList
          long[] localCheckList
          If HyperBall.local is true, the sorted list of nodes that should be scanned.
        • localNextMustBeChecked
          LongSet localNextMustBeChecked
          If HyperBall.preLocal is true, the list of nodes that should be scanned on the next iteration. Note that this set is synchronized.
        • lock
          ReentrantLock lock
          The lock protecting all critical sections.
        • modified
          AtomicLong modified
          The number of register modified by the last call to HyperBall.iterate().
        • modifiedCounter
          boolean[][] modifiedCounter
          For each counter, whether it has changed its value. We use an array of boolean (instead of a LongArrayBitVector) just for access speed.
        • modifiedResultCounter
          boolean[][] modifiedResultCounter
          For each newly computed counter, whether it has changed its value. HyperBall.modifiedCounter will be updated with the content of this bit vector by the end of the iteration.
        • mustBeChecked
          boolean[][] mustBeChecked
          For each newly computed counter, whether it has changed its value. HyperBall.modifiedCounter will be updated with the content of this bit vector by the end of the iteration.
        • neighbourhoodFunction
          DoubleArrayList neighbourhoodFunction
          The neighbourhood function, if requested.
        • nextArcs
          long nextArcs
          The number of arcs before HyperBall.nextNode.
        • nextMustBeChecked
          boolean[][] nextMustBeChecked
          For each counter, whether it has changed its value. We use an array of boolean (instead of a LongArrayBitVector) just for access speed.
        • nextNode
          long nextNode
          The starting node of the next chunk of nodes to be processed.
        • nodes
          AtomicLong nodes
          An atomic integer keeping track of the number of node processed so far.
        • numArcs
          long numArcs
          The number of arcs of the graph, cached.
        • numberOfThreads
          int numberOfThreads
          The number of cores used in the computation.
        • numberOfWrites
          long numberOfWrites
          Total number of write operation performed on HyperBall.fileChannel.
        • numNodes
          long numNodes
          The number of nodes of the graph, cached.
        • phase
          int phase
          The current computation phase.
        • pl
          ProgressLogger pl
          A progress logger, or null.
        • preLocal
          boolean preLocal
          True if we are preparing a local computation (we are HyperBall.systolic and less than 1% nodes were modified).
        • randomAccessFile
          RandomAccessFile randomAccessFile
          If HyperBall.external is true, the random-access file underlying HyperBall.fileChannel.
        • relativeIncrement
          double relativeIncrement
          The relative increment of the neighbourhood function for the last iteration.
        • resultBits
          long[][] resultBits
          If HyperBall.external is false, the arrays where results are stored.
        • resultRegisters
          LongBigList[] resultRegisters
        • squareNumNodes
          double squareNumNodes
          The square of HyperBall.numNodes, cached.
        • start
          Condition start
          The condition on which all iteration threads wait before starting a new phase.
        • sumOfDistances
          float[][] sumOfDistances
          The sum of the distances from every given node, if requested.
        • sumOfInverseDistances
          float[][] sumOfInverseDistances
          The sum of inverse distances from each given node, if requested.
        • systolic
          boolean systolic
          True if we started a systolic computation.
        • thread
          it.unimi.dsi.big.webgraph.algo.HyperBall.IterationThread[] thread
          The threads performing the computation.
        • threadThrowable
          Throwable threadThrowable
          One of the throwables thrown by some of the threads, if at least one thread has thrown a throwable.
        • totalIoMillis
          long totalIoMillis
          Total wait time in milliseconds of I/O activity on HyperBall.fileChannel.
        • unwritten
          AtomicLong unwritten
          Counts the number of unwritten entries when HyperBall.external is true, or the number of counters that did not change their value.
        • updateFile
          File updateFile
          If HyperBall.external is true, the name of the temporary file that will be used to write the update list.