From e80c49f8564088ddfc833e0168aa555a82a24bda Mon Sep 17 00:00:00 2001 From: Marko Budiselic Date: Sun, 2 Sep 2018 22:40:21 +0200 Subject: [PATCH] Add dgp related docs Summary: The following documents related to dynamic graph partitioning are added: * Dependency Diagram * Feature Specification * Feature Reference Reviewers: teon.banek Reviewed By: teon.banek Subscribers: pullbot Differential Revision: https://phabricator.memgraph.io/D1584 --- docs/dev/diagram/dgp/logical.dot | 22 +++++++++++++++++++ .../feature_ref/dynamic_graph_partitioning.md | 20 +++++++++++++++++ .../dynamic_graph_partitioning.md | 0 .../kafka/opencypher.md | 0 .../kafka/transform.md | 0 5 files changed, 42 insertions(+) create mode 100644 docs/dev/diagram/dgp/logical.dot create mode 100644 docs/feature_ref/dynamic_graph_partitioning.md rename docs/{feature_specs => feature_spec}/dynamic_graph_partitioning.md (100%) rename docs/{feature_specs => feature_spec}/kafka/opencypher.md (100%) rename docs/{feature_specs => feature_spec}/kafka/transform.md (100%) diff --git a/docs/dev/diagram/dgp/logical.dot b/docs/dev/diagram/dgp/logical.dot new file mode 100644 index 000000000..79388f968 --- /dev/null +++ b/docs/dev/diagram/dgp/logical.dot @@ -0,0 +1,22 @@ +digraph { + // label="Dynamig Graph Partitioning"; + fontname="Roboto Bold"; fontcolor=black; + fontsize=26; labelloc=top; labeljust=center; + compound=true; // If true, allow edges between clusters + rankdir=TB; // Alternatives: LR + node [shape=record fontname="Roboto", fontsize=12, fontcolor=white + style=filled, color="#FB6E00" fillcolor="#FB6E00"]; + edge [color="#B5AFB7"]; + + "distributed::DistributedGraphDb" -> "distributed::TokenSharingRpcServer"; + + "distributed::TokenSharingRpcServer" -> "communication::rpc::Server"; + "distributed::TokenSharingRpcServer" -> "distributed::Coordination"; + "distributed::TokenSharingRpcServer" -> "distributed::TokenSharingRpcClients"; + "distributed::TokenSharingRpcServer" -> "storage::dgp::Partitioner"; + + "storage::dgp::Partitioner" -> "distributed::DistributedGraphDb" [style=dashed]; + + "storage::dgp::Partitioner" -> "storage::dgp::VertexMigrator"; + "storage::dgp::VertexMigrator" -> "database::GraphDbAccessor" [style=dashed]; +} diff --git a/docs/feature_ref/dynamic_graph_partitioning.md b/docs/feature_ref/dynamic_graph_partitioning.md new file mode 100644 index 000000000..28ca3ab82 --- /dev/null +++ b/docs/feature_ref/dynamic_graph_partitioning.md @@ -0,0 +1,20 @@ +## Dynamic Graph Partitioner + +Memgraph supports dynamic graph partitioning which dynamically improves +performance on badly partitioned dataset over workers. To enable it, the user +should use the following flag when firing up the *master* node: + +```plaintext +--dynamic_graph_partitioner_enable +``` + +### Parameters + +| Name | Default Value | Description | Range | +|------|---------------|-------------|-------| +|--dgp_improvement_threshold | 10 | How much better should specific node score +be to consider a migration to another worker. This represents the minimal +difference between new score that the vertex will have when migrated and the +old one such that it's migrated. | Min: 1, Max: 100 +|--dgp_max_batch_size | 2000 | Maximal amount of vertices which should be +migrated in one dynamic graph partitioner step. | Min: 1, Max: MaxInt32 | diff --git a/docs/feature_specs/dynamic_graph_partitioning.md b/docs/feature_spec/dynamic_graph_partitioning.md similarity index 100% rename from docs/feature_specs/dynamic_graph_partitioning.md rename to docs/feature_spec/dynamic_graph_partitioning.md diff --git a/docs/feature_specs/kafka/opencypher.md b/docs/feature_spec/kafka/opencypher.md similarity index 100% rename from docs/feature_specs/kafka/opencypher.md rename to docs/feature_spec/kafka/opencypher.md diff --git a/docs/feature_specs/kafka/transform.md b/docs/feature_spec/kafka/transform.md similarity index 100% rename from docs/feature_specs/kafka/transform.md rename to docs/feature_spec/kafka/transform.md