Resource Quota Management
Understand resource quotas and resource groups
Overview
Intelligent Risk Platform manages access to system resources by means of resource quotas and resource groups.
A resource quota represents a countable system resource, such as the number locations that can be modeled per day, the number of model or non-model jobs that can be run concurrently, or the storage space in GB available to store exposure or result data.
For each entitlement, the tenant is allocated a resource quota for key system resources. A resource quota defines limits on aggregate resource consumption per entitlement. (The same quota applies to end users of the Risk Modeler application and client applications using Platform APIs with the RI-RISKMODELER
entitlement.)
At the same time the tenant is provisioned with a resource group, which enables the tenant to manage and track the tenant's quota of platform jobs. Whenever a client application submits a request that initiates a job, the client must specify the ID of a resource group.
The following sections describe entitlement-based resource quotas, identify the relationship between resource groups and job quotas, and strategies for using resource groups effectively on the Intelligent Risk Platform.
Resource Quotas
A resource quota specifies a fixed share of Intelligent Risk Platform system resources that is allocated to a tenant as part of an entitlement. These resource quotas are managed and tracked separately for each entitlement.
A resource quota guarantees access to a share of system resources and constrains resource consumption per entitlement. Each entitlement is allocated resource quotas that govern a variety of compute and storage resources. There are three broad types of resource quotas: ModeledLocations
, jobs
, and storage
quotas.
- Total Daily Modeled Locations Limit
- Total Daily Accumulated Risks Limit
- Model Job Concurrency Limit
- Non-model Job Concurrency Limit
- Total Daily Jobs Limit
- Total Exposure Storage Limit
- Total Other Storage Limit
- Total EDM Database Limit
Resource quotas measure usage that aggregate the activity of all principals with access to a licensed entitlement. End users of an Intelligent Risk Platform application (e.g. Risk Modeler) and client applications using Platform APIs with the corresponding entitlement (e.g. `RI-RISKMODELER) are tracked with the same resource quota.
The Intelligent Risk Platform allocates distinct resource quotas to the tenant for each entitlement, RI-EXPOSUREIQ
RI-RISKMODELER
RI-TREATYIQ
or `RI-UNDERWRITEIQ. A single tenant may license multiple applications and be allocated different resource quotas for each of those entitlements. Each entitlement is allocated a distinct resource group, resource quotas, and workflow queues for managing model and non-model jobs. To learn more about entitlements, see Entitlements.
Modeled Locations Quota
The modeled locations quota specifies the total number of location exposures that the tenant -- in aggregate-- can model per day. This quota includes end users of an Intelligent Risk Platform application (e.g. Risk Modeler) and client applications that specify a resource group tied to an entitlement (e.g. RI-RISKMODELER
).
Licensed tenants with the RI-RISKMODELER
and RI-UNDERWRITEIQ
entitlements are allocated a quota of locations that can be modeled per day.
Job Quotas
A job is a computationally expensive and long-running process that consumes significant system resources, such as modeling a location, creating exposure data in batch, or importing or exporting data. In general, API requests that cannot be returned immediately are added to the workflow queue for processing. The API returns a 201 Created
or 202 Accepted
HTTP status code and the URI of a job resource that enables the client to poll for the status of the job.
Such requests utilize compute resources and count against the compute capacity of a tenant's resource quota.
Job quotas specify define Job quotas include the following resource quotas:
Resource Quota | Description |
---|---|
Total Daily Accumulated Risks Limit | Quota of accumulations that may be run per day. |
Model Job Concurrency Limit | Quota of model jobs that can be run concurrently. |
Non-model Job Concurrency Limit | Quota of non-model jobs that can be run concurrently. |
Total Daily Jobs Limit | Quota of jobs that can be run per day. |
Distinct job quotas are allocated to the tenant for model jobs and non-model jobs.
A tenant with the RI-RISKMODELER
may use resource groups to allocate job quotas to distinct user groups by means of resource groups.
Model Jobs
A model job is a platform job that performs the principal modeling or analysis operation. Such jobs generally produce an analysis result.
Model jobs are sometimes called primary jobs and are contrasted with non-model jobs (secondary jobs). In general, primary jobs and secondary jobs are managed in distinct job queues. Primary jobs are general time-sensitive, and as such are managed separately from long-running data migration jobs.
Job | Entitlement |
---|---|
ACCUMULATION | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
ALM | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
DLM | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
HD | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
PORTFOLIO_VARIATION | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
ROLLUP | RI-TREATYIQ |
For more information on jobs and a list of the operations that initiate model jobs, see Platform Jobs.
In general, model jobs are managed in a different job queue than non-model jobs. Non-model jobs tend to be long-running and can delay the processing of more time-sensitive model jobs.
Non-model Jobs
A non-model job is a platform job that creates or updates a new resource. In general, these jobs are quite long-running and not time-sensitive. Examples of secondary jobs include import job and export jobs.
Non-model jobs are sometimes called secondary jobs. They are generally managed in a distinct job queue.
Job | Entitlement |
---|---|
ALM_IMPORT | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
ARCHIVE_EDM | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
ARCHIVE_SECURABLE | RI-DATAADMIN |
AUTO_DELETE_ARCHIVE | RI-DATAADMIN |
BULK_EDIT | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
BULK_EXPORT | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
BULK_GEOHAZ | RI-RISKMODELER , RI-UNDERWRITEIQ |
CADOI | RI-RISKMODELER |
CEDE_IMPORT | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
CLIMATE_CHANGE | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
CONVERT_ACCOUNT_CURRENCY | RI-RISKMODELER , RI-UNDERWRITEIQ |
CONVERT_AGGREGATE_PORTFOLIO_CURRENCY | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
CONVERT_EVENT_RATE_LOSS | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
CONVERT_PORTFOLIO_CURRENCY | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
CONVERT_RESULT_CURRENCY | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
CONVERT_TREATY_CURRENCY | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
COPY_ACCOUNT | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
COPY_AGGREGATE_PORTFOLIO | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
COPY_PORTFOLIO | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
COPY_TO_ARCHIVE | RI-DATAADMIN |
CREATE_EDM | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
CREATE_MAP_LAYER | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
DELETE_ACCOUNT | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
DELETE_AGGREGATE_PORTFOLIO | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
DELETE_ARCHIVE | RI-DATAADMIN |
DELETE_EDM | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
DELETE_PORTFOLIO | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
DELETE_RDM | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
DEREGISTER_DATA_BRIDGE_EDM | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
DETACH_EDM | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
DOMAIN_DATA_LOAD | RI-RISKMODELER , RI-UNDERWRITEIQ |
DOWNLOAD_EDM | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
DOWNLOAD_DETACH_EDM | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
DOWNLOAD_EXPOSURE_RESOURCE | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
DOWNLOAD_LOCATION_RESULTS | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
DOWNLOAD_PEQT | |
DOWNLOAD_RDM | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
DOWNLOAD_REPORT | |
DOWNLOAD_RESULTS | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
EDM | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
EDM2EDM | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
EDM_DATA_UPGRADE | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
ENRICH_EXPOSURE | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
EXPOSURE_BATCH_EDIT_WITH_GEOHAZ | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
EXPOSURE_BATCH_EDIT | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
GEOHAZ | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
GROUPING | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
MAP_PERSPECTIVE | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
MARGINAL_IMPACT | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
MODEL_PRICING | RI-UNDERWRITEIQ |
MRI_IMPORT | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
OED_IMPORT | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
PATE | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
PLT_TO_ELT | |
RDM | |
RDM_DATABRIDGE | |
REGISTER_DATA_BRIDGE_EDM | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
RENAME_ANALYSIS | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
REPORT_GENERATION | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
RERUN_EP | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
RESTORE_ARCHIVE | RI-DATAVAULT |
SIMULATE_LOSSES | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
STEP_TOOL | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
STOCHASTIC_CEP | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
UPDATE_RESULTS_COUNT | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
UPLOAD_EDM | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
UPLOAD_RDM | RI-EXPOSUREIQ , RI-RISKMODELER , RI-UNDERWRITEIQ |
For more information on jobs and a list of the operations that initiate non-model jobs, see Platform Jobs.
In general, non-model jobs are managed in a different job queue than model jobs. Non-model jobs tend to be long-running and can delay the processing of more time-sensitive model jobs.
Storage quotas
Tenants can track storage quota usage using the Tenant Data API operations.
Metric | Description |
---|---|
TotalEdmsCount | Number of EDM data modules. |
ExposureStorageInGB | Size of exposure data in GB. |
OtherStorageInGB | Size of other storage including results in GB. |
Tracking Resource Quota Usage
The Tenant Data API exposes operations for viewing information about entitlement-based resource quotas, resource quota usage metrics, and resource groups.
The Get Usage Metrics and Get Usage Metrics by Date operations return resource quota usage metrics by entitlement.
Using these Tenant Data API operations, client applications with the Admin role can view usage metrics for various system resources: ModeledLocationsCount
, TotalJobsCount
, CancelledJobsCount
, FailedJobsCount
, CompletedJobsCount
, ModelJobsCount
, NonModelJobsCount
, ModelJobsMaxConcurrency
, NonModelJobsMaxConcurrency
, TotalJobsMaxConcurrency
, and TotalJobsAverage
, TotalDelayedJobsAverage
.
The Get Usage Metrics operation also returns information about storage quotas licensed by the tenant: TotalEdmsCount
, ExposureStorageInGB
, and OtherStorageInGB
.
Resource Groups
A resource group is a mechanism for managing and tracking job quotas. A job quota specifies the number of jobs that are allocated to the tenant for a particular entitlement.
For each entitlement, the tenant is "seeded" a resource group, which is identified by a unique ID number. Whenever a client application makes a request that initiates a platform job, the client application must specify a valid resource group ID in the x-rms-resource-group-id
header parameter of the request.
This resource group ID enables the Intelligent Risk Platform to track the number of jobs submitted by the tenant for each entitlement and ensure that no resource group exceeds its quota of platform jobs.
Resource Group IDs
All Intelligent Risk Platform endpoints that create a job now require that the client application pass a resource group ID in the x-rms-resource-group-id
header.
The x-rms-resource-group-id
header parameter passes a resource group ID. The resource group ID identifies the entitlement and resource group. A single entitlement may be allocated multiple resource groups, each of which has been allocated a percentage of the tenant's work load for that application.
The resource group enables the Intelligent Risk Platform to ensure that the client application has the correct entitlement to make the request and the specified resource group has sufficient resource quota.
As an operation that initiates a job, this operation requires the client pass a valid resource group ID in a header parameter:
curl --request POST \
--url https://api-euw1.rms.com/platform/batch/v1/jobs/ \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'x-rms-resource-group-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' \
--data '{exposure_data}'
If no resource group ID is specified in the request, the Intelligent Risk Platform returns an error.
Search Resource Group IDs
The Search Resource Group operation supports querying resource group IDs by entitlement.
The entitlement
path parameter specifies the licensed Intelligent Risk Intelligence application. One of RI-DATAVAULT
RI-EXPOSUREIQ
RI-RISKMODELER
RI-TREATYIQ
or RI-UNDERWRITEIQ
.
For each resource group ID, the response lists the name of the resource group, the entitlement to which it applies, and information about the user and date that the resource group was created and updated.
This response also returns information about the scope of the resource group including whether it is the default resource group for the entitlement and whether it is applicable to all tenant principals.
Resource Group Administration
All resource group management tasks must be performed in Admin Center. The Tenant Data API does not support operations for managing resource groups.
Using controls Admin Center, tenant administrators can create, update, and delete resource groups. To learn more, see Resource Group and Application Management in Help Center.
Updated 4 days ago