Workload scale customization
Scale your workload to use more or less resources. Scalable resources include memory, CPU, and replicas.
From Maximo® Visual Inspection version 8.9, you can use workload scale customization.
Customization processes
- HorizontalPodAutoscaler (HPA)
- Defined and enabled for the following components:
vision-service-dataset
vision-dataset-feature
vision-model-conversion
- Custom ConfigMap
Enabled with manual editing.
Note:If you are upgrading Maximo Visual Inspection to version 9.0+, back up the Custom ConfigMaps that you modified. Complete the backup in the Red Hat® OpenShift® web console by selecting the Custom ConfigMaps that have the following naming convention:
custom-name
.- podTemplates
- Enabled by adding the associated component template in the corresponding
visualinspectionapp
custom resource.
Affinity customization
Configure affinity customization by using the podTemplates
specification.
Add the associated component template in the corresponding visualinspectionapp
costume resource by refining the following affinity rules:
nodeAffinity
podAffinity
podAntiAffinity
tolerations
Example podTemplates
specifications
The following parameters are an example of the podTemplates
specification with the node affinity rule for the vision-ui
component:
spec:
podTemplates:
- name: vision-ui
# Schedule vision-ui pod to run on node matching following expression
affinity:
nodeAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
preference:
matchExpressions:
- key: runtimeType
operator: In
values:
- frontend
Storage guidelines
Configuration | Workload type | Storage partition | PVC | ObjectStorage | Notes |
---|---|---|---|---|---|
small |
|
Models: 25% Data: 75% training or inspection |
100 GB | Disabled | Enable data retention policy |
medium |
|
PVC
ObjectStorage
|
500 GB | Enabled | Enable data retention policy |
large |
|
PVC
ObjectStorage
|
1 TB | Enabled | Enable data retention policy |
Components and supported workload customizations
The following table lists the components and their supported customizations:
Component | Supported customization | Notes |
---|---|---|
vision-dnn-service |
|
Not applicable |
vision-edge-dle |
|
Not applicable |
vision-preprocessing |
|
Not applicable |
vision-service |
|
Not applicable |
vision-service |
|
Not applicable |
vision-service-dataset |
|
Not applicable |
vision-ui |
|
Not applicable |
vision-edgeman |
|
Not applicable |
vision-video-microservice |
|
Not applicable |
vision-dataset-feature
|
|
Not applicable |
vision-dataset-summarization |
|
Not applicable |
vision-model-conversion
|
|
Not applicable |
The following components do not need scaling and affinity:
vision-user agent
, small workloadvision-taskanaly
, small workloadvision-usage-hourly
, cronjob
vision-dnn-service
The following parameters are used with the vision-dnn-service
component customization:
- Workload
- Used when training models.
- Resources
- By default, there is no request or limits.
- Example
podTemplates
specifications - Use the following
custom/sample_affinity_training.yaml
of node affinity for picking a specific GPU type for training:spec: podTemplates: - name: vision-dnn-service # Schedule training workloads to run on node matching following expression affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 1 preference: matchExpressions: - key: nvidia.com/gpu.product operator: In values: - NVIDIA-H100-NVL
vision-edge-dle
The following parameters are used with the vision-edge-dle
component customization:
- Workload
- Used when deploying models.
- Custom ConfigMap files
custom-dle-config
- Resources
- By default, there is no request or limits.
- Example
podTemplates
specifications - Use the following
custom/sample_affinity_inference.yaml
of node affinity for picking a specific GPU type for training:spec: podTemplates: - name: vision-edge-dle # Schedule inference workloads to run on node matching following expression affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 1 preference: matchExpressions: - key: nvidia.com/gpu.product operator: In values: - NVIDIA-L40S
vision-preprocessing
The following parameters are used with the vision-preprocessing
component customization:
- Workload
- Used when augmenting data sets.
- Resources
- By default, there is no request or limits.
vision-service
The following parameters are used with the vision-service
component customization:
- Workload
- Handles the workloads of data set and inspection uploads.
- Custom ConfigMap files
custom-service-config
,custom-service-jvm-config
- Resources
- Parameters for the template type.
The following table lists the customization for the vision-service
Configuration | Workload | Resources |
---|---|---|
small |
|
The following parameters are used for the
|
default |
|
The following parameters are used for the
|
custom-service-jvm-config
configuration.vision-service-dataset
vision-service-dataset
component customization is supported from Maximo Visual Inspection version 9.0.The following parameters are used with the vision-service-dataset
component customization:
- Workload
- Handles data set related workloads including inspection result uploads, working with data sets, and the images associated with a specific dataset.
- Custom ConfigMap files
-
The
vision-service-dataset
component is an extension of thevision-service
component. Therefore, these components share some Custom ConfigMaps and provide the API service for Maximo Visual Inspection. Many of the workload customizations apply to both components.The following Custom ConfigMap files apply to both the
vision-service
andvision-service-dataset
components:custom-service-config
custom-service-logging-config
The following Custom ConfigMap file applies only to the
vision-service-dataset
component:custom-svc-dataset-jvm-config
- Resources
- Parameters for the template type.
The following table lists the customization for the vision-service-dataset
Configuration | Workload | Resources |
---|---|---|
default |
|
The following resource parameters are used for the
The following HPA parameters are used for the
default_template:
|
large |
|
The following parameters are used for the
The following HPA parameters are used for the
large_template:
|
default_template
and the
large_template
are the HPA settings and the minimum CPU request values.
When the minimum CPU value is increased, more of the vision-service-dataset
component can be consumed before another component replica is created by the HPA. The HPA replicas are doubled for the large_template
.custom-svc-dataset-jvm-config
configuration. This update ensures that the JVM can consume more memory.vision-ui
The following parameters are used with the vision-ui
customization:
- Workloads
- Used for a front-end user session.
- Custom ConfigMap file
custom-ui-config
- Resources
- Parameters for the template type.
The following table lists the customization for the vision-ui
:
Configuration | Workload type | Resources |
---|---|---|
default | Multiple users |
The following parameters are used for the
|
custom-ui-config
file.vision-edgeman
The following parameters are used with the vision-edgeman
customization:
- Workload
- Manages Maximo Visual Inspection Edge devices.
- Custom ConfigMap file
custom-edgeman-config
- Resources
- Parameters for the template type.
The following table lists the customization for the vision-edgeman
:
Configuration | Workload size | Resources |
---|---|---|
small | 0–20 edge devices |
The following parameters are used for the
|
default | 20–100 edge devices |
The following parameters are used for the
|
large | 100–200 edge devices |
The following parameters are used for the
|
video-microservice
The following parameters are used with the vision-video-microservice
customization:
- Workload
- Video operations, such as frame extraction, video object detection, and coreML conversion.
- Resources
- Parameters for the template type.
The following table lists the customization for the
vision-video-microservice
:
The following table lists the customization for the vision-video-microservice
:
Configuration | Workload type | Resources |
---|---|---|
small |
|
The following parameters are used for the
|
default |
|
The following parameters are used for the
|
vision-dataset-feature
The following parameters are used with the vision-dataset-feature customization:
- Workload
- Data sets are prepared for grouping using the Group images feature.
- HPA name
<instanceID>-dataset-feature
- Custom ConfigMap file
custom-datasetfeature-config
- Resources
- Parameters for the template type.
The following table lists the customization for the dataset-feature
:
Configuration | Workload type | HPA | Custom ConfigMap | Memory pod limit |
---|---|---|---|---|
default |
|
|
WRITE_INTERVAL: 10 |
The following parameters are used for the
|
medium |
|
|
WRITE_INTERVAL: 60 |
The following parameters are used for the
|
large |
|
|
|
The following parameters are used for the
|
minReplicas
and maxReplicas
values.vision-dataset-summarization
- Workload
- Groups that are generated by using the Group images feature.
The following table lists the customization for the
vision-dataset-summarization
:
Configuration | Workload type | Resources |
---|---|---|
small |
|
The following parameters are used for the
|
default |
|
The following parameters are used for the
|
vision-model-conversion
The following parameters are used with the vision-model-conversion customization:
- Workload
- Training YOLOv3 and Tiny YOLOv3 models. TFLite assets are generated as part of the training.
- HPA name
<instanceID>-model-conversion
The following table lists the customization for the vision-model-conversion
:
Configuration | Workload type | HPA |
---|---|---|
default |
|
|
medium |
|
|
minReplicas
and maxReplicas
values to the number of GPUs in the cluster.