Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,21 @@ The following table compares the main concepts of resource management and how ea
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Concurrency | Managed at the transaction level | Managed at the transaction level |
| CPU | Specify percentage of CPU resources or the number of CPU cores; uses Linux Control Groups | Specify percentage of CPU resources or the number of CPU cores, as well as set upper limits per resource group; uses Linux Control Groups |
| Memory | Managed at the transaction level, with enhanced allocation and tracking; users cannot over-subscribe | Managed at the transaction level, with enhanced allocation and tracking; users can over-subscribe; simpler and more convenient configuration |
| Memory | Managed at the transaction level, with enhanced allocation and tracking; users cannot over-subscribe | `MEMORY_QUOTA` and `CONCURRENCY` shape a query's planned memory allocation only, and WarehousePG doesn't enforce a per-resource-group memory limit at the segment level; actual memory usage is governed by the shared per-segment pool that `gp_vmem_protect_limit` defines, so users can over-subscribe |
| Disk I/O | None | Limit the maximum read/write disk I/O throughput, and maximum read/write I/O operations per second |
| Users | Limits are applied to `SUPERUSER` and non-admin users alike<br />There are two default resource groups: `admin_group` and `default_group` | Limits are applied to `SUPERUSER`, non-admin users, and system processes of non-user classes<br />There are three default resource groups: `admin_group`, `default_group`, and `system_group` |
| Queueing | Queue when no slot is available or not enough available memory | Queue when no slot is available |
| Query Failure | Query may fail after reaching transaction fixed memory limit when no shared resource group memory exists and the transaction requests more memory | Query may fail if the allocated memory for the query surpasses the available system memory and spill limits |
| Limit Bypass | Limits are not enforced on `SET`, `RESET`, and `SHOW` commands | Limits are not enforced on `SET`, `RESET`, and `SHOW` commands. Additionally, certain queries may be configured to bypass the concurrency limit |
| External Components | Manage PL/Container CPU and memory resources | Manage PL/Container CPU resources |

> **Note** Disk I/O limits are only available when you use Linux Control Groups v2. See [Configuring and Using Resource Groups](workload_mgmt_resgroups.md#topic71717999) for more information.
::: info Note
Disk I/O limits are only available when you use Linux Control Groups v2. See [Configuring and Using Resource Groups](workload_mgmt_resgroups.md#topic71717999) for more information.
:::

::: info Note
WarehousePG 7 removed the direct per-group memory attributes that WarehousePG 6 used (`MEMORY_LIMIT`, `MEMORY_SHARED_QUOTA`, and `MEMORY_SPILL_RATIO`), and memory management is delegated to `gp_vmem_protect_limit` at the segment level. See [Memory Limits](workload_mgmt_resgroups.md#topic8339717) for more information.
:::

<a id="attributes"></a>

Expand Down
9 changes: 8 additions & 1 deletion docs/whpg/7x/admin_guide/performance/wlmgmt/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,19 @@ The following table summarizes some of the differences between resource queues a
| ------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| Concurrency | Defines the number of query slots available at a time | Defines the number of transaction slots available at a time |
| CPU | Specify query priority | Specify percentage of CPU resources or the specific number of CPU cores; uses Linux Control Groups |
| Memory | Managed at the queue and operator level; users can over-subscribe | Managed at the transaction level, with enhanced allocation and tracking; users can over-subscribe |
| Memory | Managed at the queue and operator level; users can over-subscribe | `MEMORY_QUOTA` and `CONCURRENCY` shape a query's planned memory allocation only; actual memory is enforced at the segment level by `gp_vmem_protect_limit`, so users can over-subscribe |
| Users | Limits are applied only to non-admin users | Limits are applied to `SUPERUSER`, non-admin users, and system processes of non-user classes |
| Disk I/O | None | Limit the maximum read/write disk I/O throughput, and maximum read/write I/O operations per second |
| Queueing | Queue when no slot available or not enough available memory | Queue only when no slot is available |
| Query Failure | Query may fail immediately if the allocated memory for the query surpasses the available system memory and spill limits | Query may fail if the allocated memory for the query surpasses the available system memory and spill limits |
| Limit Bypass | Limits are not enforced for `SUPERUSER` roles and certain operators and functions | Limits are not enforced on `SET`, `RESET`, and `SHOW` commands. Additionally, certain queries may be configured to bypass the concurrency limit |
| External Components | None | Manage PL/Container CPU resources |

- **[About Changes to Resource Groups in WarehousePG 7](about-resgroups-changes.md)**
Compares resource group-based resource management between WarehousePG 6 and WarehousePG 7.
- **[Using Resource Groups](workload_mgmt_resgroups.md)**
Configuring and using resource groups to manage CPU, memory, concurrency, and disk I/O.
- **[Using Resource Queues](workload_mgmt.md)**
Configuring and using resource queues to prioritize and allocate resources to queries.

**Parent topic:** [Managing Performance](../index.md)
Loading