11.1.1 Configuration of the Graph Server (PGX) Run-Time Parameters
You can configure the following graph server (PGX) run-time fields.
Table 11-2 Graph Server (PGX) Run-Time Parameters
Parameter | Type | Description | Default |
---|---|---|---|
bfs_iterate_que_task_size |
integer |
Task size for BFS iterate QUE phase. | 128 |
bfs_threshold_parent_read_based |
number |
Threshold of BFS traversal level items above which to switch to parent-read-based visiting strategy. | 0.05 |
bfs_threshold_read_based |
integer |
Threshold of BFS traversal level items above which to switch to read-based visiting strategy. | 1024 |
bfs_threshold_single_threaded |
integer |
Number until which BFS traversal level items vertices are visited single-threaded. | 128 |
character_set |
string |
Standard charset to use throughout PGX, UTF-8 will be used as default. Note: Some formats may not be compatible. | utf-8 |
cni_diff_factor_default |
integer |
Default diff factor value used in the common neighbor iterator implementations. | 8 |
cni_small_default |
integer |
Default value used in the common neighbor iterator implementations, to indicate below which threshold a subarray is considered small. | 128 |
cni_stop_recursion_default |
integer |
Default value used in the common neighbor iterator implementations, to indicate the minimum size where the binary search approach is applied. | 96 |
dfs_threshold_large |
integer |
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. | 4096 |
enterprise_scheduler_flags |
object |
[relevant for enterprise_scheduler] Enterprise scheduler specific settings. | null |
explicit_spin_locks |
boolean |
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 to true results in better performance.
|
true |
graph_validation_level |
enum[low, high] |
Level of validation performed on newly loaded or created graphs. | low |
max_distinct_strings_per_pool |
integer |
[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. | 65536 |
max_off_heap_size |
integer |
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. |
<available-physical-memory> |
memory_allocator |
enum[basic_allocator, enterprise_allocator] |
Denotes which memory allocator to use. | basic_allocator |
ms_bfs_frontier_type_strategy |
enum[auto_grow, short, int] |
The type strategy to use for MS-BFS frontiers. | auto_grow |
num_spin_locks |
integer |
Number of 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). | 1024 |
pattern_matching_supernode_cache_threshold |
integer |
Minimum number of a node's neighbor to be a supernode. This is for pattern matching engine. | 1000 |
pooling_factor |
number |
[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. | 0.25 |
random_generator_strategy |
enum[non_deterministic, deterministic] |
Method of generating random numbers in PGX. | non_deterministic |
random_seed |
long |
[relevant for deterministic random number generator only] Seed for the deterministic random number generator used in PGX. The default is -24466691093057031 .
|
-24466691093057031 |
revisit_threshold |
integer |
Maximum number of matched results from a node to be cached. | 4096 |
scheduler |
enum[basic_scheduler, enterprise_scheduler, low_latency_scheduler] |
Denotes which scheduler to use.
|
enterprise_scheduler |
small_task_length |
integer |
Task length, if total amount of work is small than default task length (only relevant for task-stealing strategies). | 128 |
string_pooling_strategy |
enum[indexed, on_heap, none] |
Denotes which string pooling strategy to use. | on_heap |
task_length |
integer |
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. | 4096 |
use_index_for_reachability_queries |
enum[auto, off] |
Create index for reachability queries. | auto |
use_memory_mapper_for_reading_pgb |
boolean |
If true, use memory mapped files for reading graphs in PGB format if possible; false always use s stream based implementation. | true |
use_memory_mapper_for_storing_pgb |
boolean |
If true, use memory mapped files for storing in PGB format if possible; if false always use a stream based implementation. | true |