12.1.1 グラフ・サーバー(PGX)ランタイム・パラメータの構成

次のグラフ・サーバー(PGX)ランタイム・フィールドを構成できます。

表12-2 グラフ・サーバー(PGX)のランタイム・パラメータ

パラメータ 説明 デフォルト
bfs_iterate_que_task_size integer BFS反復QUEフェーズのタスク・サイズ。 128
bfs_threshold_parent_read_based number BFSトラバース・レベル・アイテムの、親読取りベースのアクセス戦略に切り替える際のしきい値。 0.05
bfs_threshold_read_based integer BFSトラバース・レベル・アイテムの、読取りベースのアクセス戦略に切り替える際のしきい値。 1024
bfs_threshold_single_threaded integer BFSトラバース・レベル・アイテムの頂点がシングル・スレッドでアクセスされる回数。 128
character_set string PGX全体で使用する標準文字セット。UTF-8がデフォルトとして使用されます。ノート: 一部の書式には互換性がない可能性があります。 utf-8
cni_diff_factor_default integer 共通の隣接イテレータ実装で使用されるデフォルトの差分係数値。 8
cni_small_default integer 部分配列が小さいとみなされるしきい値を示すために、共通の隣接イテレータ実装で使用されるデフォルト値。 128
cni_stop_recursion_default integer バイナリ検索アプローチが適用される最小サイズを示すために、共通の隣接イテレータ実装で使用されるデフォルト値。 96
dfs_threshold_large integer 多数の頂点に対してより最適化されたデータ構造にDFS実装が切り替わる判断の基準となる頂点へのアクセス数。 4096
enterprise_scheduler_flags object [enterprise_schedulerに関連]エンタープライズ・スケジューラ固有の設定。 null
explicit_spin_locks boolean trueの場合、ロックが使用可能になるまで、ループ内で明示的にスピンします。falseの場合、JVMに依存するJDKのロックを使用し、コンテキスト切替えとスピンのどちらを行うかを決定します。経験的に、この値をtrueに設定するとパフォーマンスが向上します。 true
graph_validation_level enum[low, high] 新しくロードまたは作成されたグラフで実行される検証のレベル。 low
max_distinct_strings_per_pool integer [string_pooling_strategyindexedの場合のみ関連]プーリングを停止するまでのプロパティごとの個別の文字列数。制限に達すると、例外がスローされます。 65536
max_off_heap_size integer OutOfMemoryErrorがスローされるまで、PGXで割当て可能なオフヒープ・メモリーの最大容量(MB)。

ノート:

端数処理および同期のトレードオフのため、この制限を超えないことは保証されていません。これは、PGXが新しいメモリー割当てリクエストを拒否し始める場合のみ、しきい値として機能します。
<available-physical-memory>
memory_allocator enum[basic_allocator, enterprise_allocator] 使用するメモリー・アロケータを示します。 basic_allocator
ms_bfs_frontier_type_strategy enum[auto_grow, short, int] MS-BFSフロンティアに使用するタイプ方針。 auto_grow
num_spin_locks integer 生成された各アプリケーションがインスタンス化の際に作成するスピン・ロックの数。トレードオフ: 数が小さい場合、メモリー消費が少なくなります。数が大きいと、実行速度が速くなります(アルゴリズムでスピン・ロックを使用している場合)。 1024
pattern_matching_supernode_cache_threshold integer スーパーノードになるノードの近隣の最小数。これは、パターン一致エンジン用です。 1000
pooling_factor number [string_pooling_strategyon_heapの場合のみ関連]この値は、文字列プールがプロパティのサイズと同じ大きさになることを阻止します。同じ大きさになると、プーリングの表示が無効になる可能性があります。 0.25
random_generator_strategy enum[non_deterministic, deterministic] PGXで乱数を生成する方法。 non_deterministic
random_seed long [deterministic乱数ジェネレータにのみ関連] PGXで使用される決定論的乱数ジェネレータのシード。デフォルトは-24466691093057031です。 -24466691093057031
revisit_threshold integer キャッシュされるノードからの一致結果の最大数。 4096
scheduler enum[basic_scheduler, enterprise_scheduler, low_latency_scheduler] 使用するスケジューラを示します。
  • basic_scheduler: 基本機能を持つスケジューラを使用します。
  • enterprise_scheduler: 複数のタスクを同時に実行してパフォーマンスを改善するための高度なエンタープライズ機能を備えたスケジューラを使用します。
  • low_latency_scheduler: 複数のセッションにわたるスループットまたは公平性よりもタスクのレイテンシを優先するスケジューラを使用します。low_latency_schedulerは埋込みモードでのみ使用できます
enterprise_scheduler
small_task_length integer 処理の合計量がデフォルトのタスクの長さ未満である場合のタスクの長さ(タスク・スティーリング戦略にのみ関連)。 128
string_pooling_strategy enum[indexed, on_heap, none] 使用する文字列プール戦略を示します。 on_heap
task_length integer デフォルトのタスクの長さ(タスク・スティーリング戦略の場合のみ該当します)。F/Jプールのドキュメントでは、この値を100から10000までの値にする必要があることが示されています。トレードオフ: 数が小さい場合、より詳細なタスクが生成され、スティーリング・スループットが高くなります。大きい数を指定すると、メモリー消費とGCアクティビティが少なくなります。 4096
use_index_for_reachability_queries enum[auto, off] 到達可能性問合せの索引を作成します。 auto
use_memory_mapper_for_reading_pgb boolean trueの場合、可能な場合はPGB形式でグラフを読み取るためにメモリーにマップされたファイルを使用します。falseの場合は、常にストリーム・ベースの実装を使用します。 true
use_memory_mapper_for_storing_pgb boolean trueの場合、可能な場合はPGB形式で格納するためにメモリーにマップされたファイルを使用します。falseの場合は、常にストリーム・ベースの実装を使用します。 true