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
-
readObject
- Throws:
IOException
ClassNotFoundException
-
writeObject
- Throws:
IOException
-
-
Serialized Fields
-
basename
CharSequence basename
The basename of the graph. This may benull
, 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
IfBVGraph.cachedNode
is notLong.MIN_VALUE
, its cached outdegree. -
cachedPointer
long cachedPointer
IfBVGraph.cachedNode
is notLong.MIN_VALUE
, the position immediately after the coding of the outdegree ofBVGraph.cachedNode
. -
flags
int flags
The compression flags used. -
graphMemory
byte[] graphMemory
The byte array storing the compressed graph, ifBVGraph.isMemory
is true andBVGraph.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. IfBVGraph.offsetType
is -1, this variable isnull
, 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, ifBVGraph.isMemory
is false,BVGraph.isMapped
is false andBVGraph.offsetType
is not -1.It is loaded with a copy of the graph file. If
BVGraph.offsetType
is -1, this variable isnull
, and node iterators are generated by opening streams directly on the graph file. -
intervalCountStats
PrintWriter intervalCountStats
-
isMapped
boolean isMapped
WhenBVGraph.offsetType
is not -1, whether this graph is directly loaded intoBVGraph.graphMemory
, or rather memory-mapped. -
isMemory
boolean isMemory
WhenBVGraph.offsetType
is not -1, whether this graph is directly loaded intoBVGraph.graphMemory
, or rather wrapped in aFastMultiByteArrayInputStream
specified byBVGraph.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, ifBVGraph.isMapped
is true.It is loaded with a copy of the graph file. If
BVGraph.offsetType
is -1, this variable isnull
, 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 isnull
iffBVGraph.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 eachBVGraph.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
-
writeObject
Throws aNotSerializableException
, as this class implementsSerializable
because it extendsHyperLogLogCounterArray
, but it's not really.- Throws:
IOException
-
-
Serialized Fields
-
adaptiveGranularity
long adaptiveGranularity
The number of nodes per task (obtained by adaptingHyperBall.granularity
to the current ratio of modified nodes). Must be a multiple ofLong.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 everyHyperBall.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
isnull
. -
doSumOfInverseDistances
boolean doSumOfInverseDistances
Whether the sum of inverse distances from each node (positive harmonic centrality) should be computed; if false,HyperBall.sumOfInverseDistances
isnull
. -
external
boolean external
Whether we should used an update list on disk, instead of computing results in core memory. -
fileChannel
FileChannel fileChannel
IfHyperBall.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 ofLong.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
IfHyperBall.local
is true, the sorted list of nodes that should be scanned. -
localNextMustBeChecked
LongSet localNextMustBeChecked
IfHyperBall.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 toHyperBall.iterate()
. -
modifiedCounter
boolean[][] modifiedCounter
For each counter, whether it has changed its value. We use an array of boolean (instead of aLongArrayBitVector
) 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 beforeHyperBall.nextNode
. -
nextMustBeChecked
boolean[][] nextMustBeChecked
For each counter, whether it has changed its value. We use an array of boolean (instead of aLongArrayBitVector
) 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 onHyperBall.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, ornull
. -
preLocal
boolean preLocal
True if we are preparing a local computation (we areHyperBall.systolic
and less than 1% nodes were modified). -
randomAccessFile
RandomAccessFile randomAccessFile
IfHyperBall.external
is true, the random-access file underlyingHyperBall.fileChannel
. -
relativeIncrement
double relativeIncrement
The relative increment of the neighbourhood function for the last iteration. -
resultBits
long[][] resultBits
IfHyperBall.external
is false, the arrays where results are stored. -
resultRegisters
LongBigList[] resultRegisters
IfHyperBall.external
is false, aHyperLogLogCounterArray.registerSize
-bit views ofHyperBall.resultBits
. -
squareNumNodes
double squareNumNodes
The square ofHyperBall.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 onHyperBall.fileChannel
. -
unwritten
AtomicLong unwritten
Counts the number of unwritten entries whenHyperBall.external
is true, or the number of counters that did not change their value. -
updateFile
File updateFile
IfHyperBall.external
is true, the name of the temporary file that will be used to write the update list.
-
-