This repository was archived by the owner on Dec 13, 2023. It is now read-only.
- Notifications
You must be signed in to change notification settings - Fork 57
add several configuration options for Pregel jobs #1007
Merged
Merged
Changes from 1 commit
Commits
Show all changes
10 commits Select commit Hold shift + click to select a range
8cdebdb docs PR for https://github.com/arangodb/arangodb/pull/16332
jsteemann 4ce89f9 Update 3.10/programs-arangod-pregel.md
ansoboleva 1e90c2c Update 3.10/release-notes-new-features310.md
ansoboleva 972055f Update programs-arangod-pregel.md
ansoboleva 30c41b0 Update release-notes-new-features310.md
ansoboleva 2cdf0fb Update release-notes-upgrading-changes310.md
ansoboleva 6e67d53 Merge branch 'main' of github.com:arangodb/docs into feature/add-preg…
jsteemann 973d4cc link to new options from Pregel limits
jsteemann 1360c7f Update graphs-pregel.md
ansoboleva d95499e Update graphs-pregel.md
ansoboleva File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,111 @@ | ||
| --- | ||
| layout: default | ||
| --- | ||
| # ArangoDB Server Pregel Options | ||
| | ||
| ## Pregel job parallelism | ||
| | ||
| Pregel jobs have configurable minimum, maximum and default parallelism values. | ||
| These parallelism options can be used by administrators to set concurrency defaults and bounds | ||
| for Pregel jobs on an instance level. Each individual Pregel job can set its own parallelism | ||
| value using the job's `parallelism` option, but the job's effective parallelism will be clamped | ||
| to the bounds defined by `--pregel,min-parallelism` and `--pregel.max-parallelism`. | ||
| If a job does not set its `parallelism` value, it will default to the parallelism value | ||
| configured via `--pregel.parallelism`. | ||
| | ||
| ### Pregel job minimum parallelism | ||
| | ||
| <small>Introduced in: v3.10.0</small> | ||
| | ||
| `--pregel.min-parallelism` | ||
| | ||
| Minimum parallelism usable in Pregel jobs. Defaults to `1`. | ||
| Increasing the value of this option forces each Pregel job to run with at least this | ||
| level of parallelism. | ||
| | ||
| ### Pregel job maximum parallelism | ||
| | ||
| <small>Introduced in: v3.10.0</small> | ||
| | ||
| `--pregel.max-parallelism` | ||
| | ||
| Maximum parallelism usable in Pregel jobs. Defaults to the number of available cores. | ||
| This option effectively limits the parallelism of each Pregel job to the specified value. | ||
| | ||
| ### Pregel job default parallelism | ||
| | ||
| <small>Introduced in: v3.10.0</small> | ||
| | ||
| `--pregel.parallelism` | ||
| | ||
| Default parallelism to use in Pregel jobs. Defaults to the number of available cores | ||
| divided by 4. The result will be clamped to a value between 1 and 16. | ||
| The default parallelism for a Pregel job will be used only if the job does not set its | ||
| `parallelism` attribute. | ||
| | ||
| ## Pregel memory-mapped files | ||
| | ||
| Pregel will store its temporary data in memory-mapped files on disk by default. | ||
| Storing temporary data in memory-mapped files rather than in RAM has the advantage that | ||
| the RAM usage can be kept lower, which reduces the likelihood of out-of-memory situations. | ||
| However, storing the files on disk requires disk capacity, so that instead of running out | ||
| of RAM it is possible to run out of disk space. | ||
| Therefore it is necessary to use a suitable storage location for Pregel's memory-mapped | ||
| files. | ||
| | ||
| ### Pregel memory-mapped files usage | ||
| | ||
| <small>Introduced in: v3.10.0</small> | ||
| | ||
| `--pregel.memory-mapped-files` | ||
| | ||
| if set to `true`, Pregel jobs will by default store their temporary data in disk-backed | ||
| memory-mapped files. If set to `false`, the temporary data of Pregel jobs will be buffered | ||
| in RAM. | ||
| The default value is `true`, meaning that memory-mapped files will be used. | ||
| The option can be overriden for each Pregel job by setting the `useMemoryMaps` attribute | ||
| of the job. | ||
| | ||
| ### Pregel memory-mapped files storage location type | ||
| | ||
| <small>Introduced in: v3.10.0</small> | ||
| | ||
| `--pregel.memory-mapped-files-location-type` | ||
| | ||
| This option configures the location for the memory-mapped files written by Pregel. | ||
| This option is only meaningful if memory-mapped files are actually used. | ||
| The option can have one of the following values: | ||
| | ||
| - `temp-directory`: store memory-mapped files in the temporary directory, | ||
| as configured via `--temp.path`. If `--temp.path` is not set, the | ||
| system's temporary directory will be used. | ||
| - `database-directory`: store memory-mapped files in a separate directory | ||
| underneath the database directory. | ||
| - `custom`: use a custom directory location for memory-mapped files. The | ||
| exact location must be set via the configuration parameter | ||
| `--pregel.memory-mapped-files-custom-path`. | ||
| | ||
| The default location for Pregel's memory-mapped files is the temporary directory | ||
| (`temp-directory`), which may not provide enough capacity for larger Pregel jobs. | ||
| It may be more sensible to configure a custom directory for memory-mapped files | ||
| and provide the necessary disk space there (`custom`). | ||
| Such custom directory can be mounted on ephemeral storage, as the files are only | ||
| needed temporarily. If a custom directory location is used, the actual location | ||
| needs to be provided via the option `--pregel.memory-mapped-files-custom-path`. | ||
| | ||
| There is also the option to use a subdirectory of the database directory | ||
| as the storage location for the memory-mapped files (`database-directory`). | ||
| The database directory often provides a lot of disk space capacity, but when | ||
| Pregel's temporary files are stored in there too, it has to provide enough capacity | ||
| to store both the regular database data and the Pregel files. | ||
| | ||
| ### Pregel memory-mapped files custom storage location | ||
| | ||
| <small>Introduced in: v3.10.0</small> | ||
| | ||
| `--pregel.memory-mapped-files-custom-path` | ||
| | ||
| Specifies a custom directory location for Pregel's memory-mapped files. | ||
| This setting can only be used if the option `--pregel.memory-mapped-files-location-type` | ||
| is set to `custom`. When used, the option has to contain the storage directory | ||
| location as an absolute path. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.