Package oracle.pgx.config
Enum RuntimeConfig.Field
- java.lang.Object
-
- java.lang.Enum<RuntimeConfig.Field>
-
- oracle.pgx.config.RuntimeConfig.Field
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable<RuntimeConfig.Field>
,ConfigField
- Enclosing class:
- RuntimeConfig
public static enum RuntimeConfig.Field extends java.lang.Enum<RuntimeConfig.Field> implements ConfigField
Fields of PGX Runtime Config
-
-
Enum Constant Summary
Enum Constants Enum Constant Description BFS_ITERATE_QUE_TASK_SIZE
task size for BFS iterate QUE phaseBFS_THRESHOLD_PARENT_READ_BASED
threshold of BFS traversal level items above which to switch to parent-read-based visiting strategyBFS_THRESHOLD_READ_BASED
threshold of BFS traversal level items above which to switch to read-based visiting strategyBFS_THRESHOLD_SINGLE_THREADED
until what number of BFS traversal level items vertices are visited single-threadedCHARACTER_SET
standard charset to use throughout PGX, UTF-8 will be used as default.CNI_DIFF_FACTOR_DEFAULT
default diff factor value used in the common neighbor iterator implementations.CNI_SMALL_DEFAULT
default value used in the common neighbor iterator implementations, to indicate below which threshold a subarray is considered small.CNI_STOP_RECURSION_DEFAULT
default value used in the common neighbor iterator implementations, to indicate the minimum size where the binary search approach is applied.DFS_THRESHOLD_LARGE
value that determines at which number of visited vertices the DFS implementation will switch to data-structures that are more optimized for larger numbers of vertices.ENTERPRISE_SCHEDULER_FLAGS
[relevant for enterprise_scheduler] enterprise scheduler specific settings.EXPLICIT_SPIN_LOCKS
true
means spin explicitly in a loop until lock becomes available.GRAPH_VALIDATION_LEVEL
level of validation performed on newly loaded or created graphsLARGE_ARRAY_THRESHOLD
threshold when the size of an array is too big to use a normal Java array.MAX_DISTINCT_STRINGS_PER_POOL
[only relevant if string_pooling_strategy is indexed] amount of distinct strings per property after which to stop pooling.MAX_OFF_HEAP_SIZE
maximum amount of off-heap memory PGX is allowed to allocate in megabytes, before an OutOfMemoryError will be thrown.MAX_ON_HEAP_MEMORY_USAGE_RATIO
maximum ratio of on-heap memory that PGX is allowed to use, between 0 and 1.MEMORY_ALLOCATOR
which memory allocator to useMS_BFS_FRONTIER_TYPE_STRATEGY
the type strategy to use for MS-BFS frontiersNUM_SPIN_LOCKS
how many spin locks each generated app will create at instantiation.PARALLELISM
number of worker threads to be used in thread pool.PATTERN_MATCHING_SUPERNODE_CACHE_THRESHOLD
minimum number of a node's neighbor to be a supernode.POOLING_FACTOR
[only relevant if string_pooling_strategy is on_heap] this value prevents the string pool to grow as big as the property size which could render the pooling ineffectiveRANDOM_GENERATOR_STRATEGY
method of generating random numbers in pgxRANDOM_SEED
[relevant for deterministic random number generator only] seed for the deterministic random number generator used in pgx.REVISIT_THRESHOLD
maximum number of matched results from a node to be cachedSCHEDULER
which scheduler to use.SMALL_TASK_LENGTH
task length if total amount of work is small than default task length (only relevant for task-stealing strategies)STRING_POOLING_STRATEGY
which string pooling strategy to useTASK_LENGTH
default task length (only relevant for task-stealing strategies).USE_INDEX_FOR_REACHABILITY_QUERIES
create index for reachability queriesUSE_MEMORY_MAPPER_FOR_READING_PGB
if true, use memory mapped files for reading graphs in PGB format if possible; false always use s stream based implementationUSE_MEMORY_MAPPER_FOR_STORING_PGB
if true, use memory mapped files for storing in PGB format if possible; if false always use a stream based implementation
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
getDefaultVal()
Gets the default value of this field.java.util.List<java.lang.String>
getKeyAliases()
Gets the key aliases of this field which are also recognized during parsing.java.util.List<java.lang.String>
getSingletonListKeyAliases()
Gets the key aliases of this field which contain single values for lists and are also recognized during parsing.java.lang.Class<?>
getType()
Gets the type of this field.boolean
isArray()
Checks if this field is an array.boolean
isHidden()
Checks if this field should be hidden.boolean
isPath()
Checks if this field is a path.boolean
isRequired()
Checks if this field is required.boolean
isSensitive()
Checks if this field holds a sensitive data.java.lang.String
toKey()
Get the key of this field, which is how this field is represented in serialized form.java.lang.String
toString()
static RuntimeConfig.Field
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static RuntimeConfig.Field[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.-
Methods inherited from class java.lang.Enum
compareTo, equals, getDeclaringClass, hashCode, name, ordinal, valueOf
-
Methods inherited from interface oracle.pgx.config.ConfigField
isEnum, isPrimitive
-
-
-
-
Enum Constant Detail
-
NUM_SPIN_LOCKS
public static final RuntimeConfig.Field NUM_SPIN_LOCKS
how many spin locks each generated app will create at instantiation. Trade-off: small number implies less memory consumption. Big number implies faster execution (if algorithm uses spin locks)
-
EXPLICIT_SPIN_LOCKS
public static final RuntimeConfig.Field EXPLICIT_SPIN_LOCKS
true
means spin explicitly in a loop until lock becomes available.false
means using JDK locks which rely on the JVM to decide whether to context switch or spin. Our experiments showed that setting this value totrue
results in better performance.
-
SCHEDULER
public static final RuntimeConfig.Field SCHEDULER
which scheduler to use.
basic_scheduler = use scheduler with basic features.
enterprise_scheduler = use scheduler with advanced, enterprise features for running multiple tasks concurrently and increased performance.
low_latency_scheduler = use scheduler that privileges latency of tasks over throughput or fairness across multiple sessions. The low_latency_scheduler is only available in embedded mode
-
TASK_LENGTH
public static final RuntimeConfig.Field TASK_LENGTH
default task length (only relevant for task-stealing strategies). F/J pool documentation says this value should be between 100 and 10000. Trade-off: small number implies more fine-grained tasks are generated, higher stealing throughput. High number implies less memory consumption and GC activity
-
SMALL_TASK_LENGTH
public static final RuntimeConfig.Field SMALL_TASK_LENGTH
task length if total amount of work is small than default task length (only relevant for task-stealing strategies)
-
MS_BFS_FRONTIER_TYPE_STRATEGY
public static final RuntimeConfig.Field MS_BFS_FRONTIER_TYPE_STRATEGY
the type strategy to use for MS-BFS frontiers
-
BFS_THRESHOLD_SINGLE_THREADED
public static final RuntimeConfig.Field BFS_THRESHOLD_SINGLE_THREADED
until what number of BFS traversal level items vertices are visited single-threaded
-
BFS_THRESHOLD_READ_BASED
public static final RuntimeConfig.Field BFS_THRESHOLD_READ_BASED
threshold of BFS traversal level items above which to switch to read-based visiting strategy
-
BFS_ITERATE_QUE_TASK_SIZE
public static final RuntimeConfig.Field BFS_ITERATE_QUE_TASK_SIZE
task size for BFS iterate QUE phase
-
BFS_THRESHOLD_PARENT_READ_BASED
public static final RuntimeConfig.Field BFS_THRESHOLD_PARENT_READ_BASED
threshold of BFS traversal level items above which to switch to parent-read-based visiting strategy
-
DFS_THRESHOLD_LARGE
public static final RuntimeConfig.Field DFS_THRESHOLD_LARGE
value that determines at which number of visited vertices the DFS implementation will switch to data-structures that are more optimized for larger numbers of vertices.
-
CNI_STOP_RECURSION_DEFAULT
public static final RuntimeConfig.Field CNI_STOP_RECURSION_DEFAULT
default value used in the common neighbor iterator implementations, to indicate the minimum size where the binary search approach is applied.
-
CNI_SMALL_DEFAULT
public static final RuntimeConfig.Field CNI_SMALL_DEFAULT
default value used in the common neighbor iterator implementations, to indicate below which threshold a subarray is considered small.
-
CNI_DIFF_FACTOR_DEFAULT
public static final RuntimeConfig.Field CNI_DIFF_FACTOR_DEFAULT
default diff factor value used in the common neighbor iterator implementations.
-
LARGE_ARRAY_THRESHOLD
public static final RuntimeConfig.Field LARGE_ARRAY_THRESHOLD
threshold when the size of an array is too big to use a normal Java array. This depends on the used JVM. (defaults toInteger.MAX_VALUE - 3
)
-
MAX_OFF_HEAP_SIZE
public static final RuntimeConfig.Field MAX_OFF_HEAP_SIZE
maximum amount of off-heap memory PGX is allowed to allocate in megabytes, before an OutOfMemoryError will be thrown. Note: this limit is not guaranteed to never be exceeded because of rounding and synchronization trade-offs. It only serves as threshold when PGX starts to reject new memory allocation requests.
-
MAX_ON_HEAP_MEMORY_USAGE_RATIO
public static final RuntimeConfig.Field MAX_ON_HEAP_MEMORY_USAGE_RATIO
maximum ratio of on-heap memory that PGX is allowed to use, between 0 and 1.
-
CHARACTER_SET
public static final RuntimeConfig.Field CHARACTER_SET
standard charset to use throughout PGX, UTF-8 will be used as default. Note: Some formats may not be compatible.
-
PARALLELISM
public static final RuntimeConfig.Field PARALLELISM
number of worker threads to be used in thread pool. Note: if caller thread is part of another thread-pool, this value is ignored and parallelism of parent pool is used.
-
RANDOM_GENERATOR_STRATEGY
public static final RuntimeConfig.Field RANDOM_GENERATOR_STRATEGY
method of generating random numbers in pgx
-
RANDOM_SEED
public static final RuntimeConfig.Field RANDOM_SEED
[relevant for deterministic random number generator only] seed for the deterministic random number generator used in pgx. The default is -24466691093057031
-
PATTERN_MATCHING_SUPERNODE_CACHE_THRESHOLD
public static final RuntimeConfig.Field PATTERN_MATCHING_SUPERNODE_CACHE_THRESHOLD
minimum number of a node's neighbor to be a supernode. This is for pattern matching engine.
-
USE_INDEX_FOR_REACHABILITY_QUERIES
public static final RuntimeConfig.Field USE_INDEX_FOR_REACHABILITY_QUERIES
create index for reachability queries
-
REVISIT_THRESHOLD
public static final RuntimeConfig.Field REVISIT_THRESHOLD
maximum number of matched results from a node to be cached
-
ENTERPRISE_SCHEDULER_FLAGS
public static final RuntimeConfig.Field ENTERPRISE_SCHEDULER_FLAGS
[relevant for enterprise_scheduler] enterprise scheduler specific settings.
-
MEMORY_ALLOCATOR
public static final RuntimeConfig.Field MEMORY_ALLOCATOR
which memory allocator to use
-
MAX_DISTINCT_STRINGS_PER_POOL
public static final RuntimeConfig.Field MAX_DISTINCT_STRINGS_PER_POOL
[only relevant if string_pooling_strategy is indexed] amount of distinct strings per property after which to stop pooling. If the limit is reached an exception is thrown
-
STRING_POOLING_STRATEGY
public static final RuntimeConfig.Field STRING_POOLING_STRATEGY
which string pooling strategy to use
-
USE_MEMORY_MAPPER_FOR_STORING_PGB
public static final RuntimeConfig.Field USE_MEMORY_MAPPER_FOR_STORING_PGB
if true, use memory mapped files for storing in PGB format if possible; if false always use a stream based implementation
-
USE_MEMORY_MAPPER_FOR_READING_PGB
public static final RuntimeConfig.Field USE_MEMORY_MAPPER_FOR_READING_PGB
if true, use memory mapped files for reading graphs in PGB format if possible; false always use s stream based implementation
-
POOLING_FACTOR
public static final RuntimeConfig.Field POOLING_FACTOR
[only relevant if string_pooling_strategy is on_heap] this value prevents the string pool to grow as big as the property size which could render the pooling ineffective
-
GRAPH_VALIDATION_LEVEL
public static final RuntimeConfig.Field GRAPH_VALIDATION_LEVEL
level of validation performed on newly loaded or created graphs
-
-
Method Detail
-
values
public static RuntimeConfig.Field[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (RuntimeConfig.Field c : RuntimeConfig.Field.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static RuntimeConfig.Field valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is null
-
getKeyAliases
public java.util.List<java.lang.String> getKeyAliases()
Description copied from interface:ConfigField
Gets the key aliases of this field which are also recognized during parsing.- Specified by:
getKeyAliases
in interfaceConfigField
- Returns:
- the key aliases
-
getSingletonListKeyAliases
public java.util.List<java.lang.String> getSingletonListKeyAliases()
Description copied from interface:ConfigField
Gets the key aliases of this field which contain single values for lists and are also recognized during parsing.- Specified by:
getSingletonListKeyAliases
in interfaceConfigField
- Returns:
- the singleton list key aliases
-
getType
public java.lang.Class<?> getType()
Description copied from interface:ConfigField
Gets the type of this field.- Specified by:
getType
in interfaceConfigField
- Returns:
- the type
-
isRequired
public boolean isRequired()
Description copied from interface:ConfigField
Checks if this field is required.- Specified by:
isRequired
in interfaceConfigField
- Returns:
- true, if required
-
isArray
public boolean isArray()
Description copied from interface:ConfigField
Checks if this field is an array.- Specified by:
isArray
in interfaceConfigField
- Returns:
- true, if array
-
isPath
public boolean isPath()
Description copied from interface:ConfigField
Checks if this field is a path.- Specified by:
isPath
in interfaceConfigField
- Returns:
- true, if path
-
getDefaultVal
public java.lang.Object getDefaultVal()
Description copied from interface:ConfigField
Gets the default value of this field.- Specified by:
getDefaultVal
in interfaceConfigField
- Returns:
- the default value
-
toKey
public java.lang.String toKey()
Description copied from interface:ConfigField
Get the key of this field, which is how this field is represented in serialized form.- Specified by:
toKey
in interfaceConfigField
- Returns:
- the key.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Enum<RuntimeConfig.Field>
-
isSensitive
public boolean isSensitive()
Description copied from interface:ConfigField
Checks if this field holds a sensitive data.- Specified by:
isSensitive
in interfaceConfigField
- Returns:
- true, if use for sensitive data
-
isHidden
public boolean isHidden()
Description copied from interface:ConfigField
Checks if this field should be hidden. Hidden fields are used to hid desired field from the user and only allow it for internal usage.- Specified by:
isHidden
in interfaceConfigField
- Returns:
- true if field should be hidden, false otherwise
-
-