Home > Edge > Manufacturing Edge > Guides > Dell Validated Design for Manufacturing Edge - Design Guide with 5 Independent Software Vendors > XMPro sizing and scaling guidance
The sizing of the overall XMPro system is determined by the following considerations:
Guidelines for sizing the system are provided in this section.
Over time, companies may have to consider scaling the system due to changes in system workload profile, future growth plans, and company policies and procedures. Scaling techniques are described in this section.
An XMPro system consists of five different component types:
While there are many different deployment models possible for the above components (consolidated, distributed, hybrid), the guidance provided in the following table assumes that each XMPro component is installed on its own bare-metal server or virtual machine, in line with the vendor’s recommendations.
Guidelines in terms of CPU, RAM, and storage are provided for small, medium, and large systems.
Component | Small | Medium | Large |
Subscription Manager Server (SM) | 2 CPU 8 GB RAM 250 GB storage | 2 CPU 8 GB RAM 250 GB storage | 4 CPU 16 GB RAM 250 GB storage |
Application Designer Server (AD) | 2 CPU 8 GB RAM 250 GB storage | 4 CPU 16 GB RAM 250 GB storage | 8 CPU 32 GB RAM 250 GB storage |
Data Stream Designer Server (DS) | 2 CPU 8 GB RAM 250 GB storage | 4 CPU 16 GB RAM 250 GB storage | 8 CPU 32 GB RAM 250 GB storage |
SQL Database Server (combined for SM, AD, DS) | 2 CPU 8 GB RAM | 4 CPU 16 GB RAM | 8 CPU 32 GB RAM |
Stream Host (SH) | 2 CPU 8 GB RAM 250 GB storage | 4 CPU 16 GB RAM 250 GB storage | 8 CPU 32 GB RAM 250 GB storage |
The sizing guidelines presented in the previous table have been validated against the system sizes (small, medium, large) as detailed in the following table.
Small system | Medium system | Large system |
40 Data Streams | 210 Data Streams | 600 Data Streams |
running across | running across | running across |
8 Stream Hosts | 15 Stream Hosts | 30 Stream Hosts |
serving data and triggering recommendations for | serving data and triggering recommendations for | serving data and triggering recommendations for |
3 applications | 10 applications | 20 applications |
As an example, the table details that a medium system is defined as one where up to 210 Data Streams run across 15 Stream Hosts (14 data streams per stream host) while serving data and triggering recommendations for 10 Applications.
Always start small. Digital transformation is achieved by many small projects that lock in success at each step. The overall goal is to achieve project success early and expand.
Over time, end users typically decide to deploy an increasing number of manufacturing use cases to run on XMPro. The system needs to be scaled accordingly to manage growth.
In order to understand how to scale XMPro, it is first useful to understand how workload is distributed across the XMPro system, as described the following table.
XMPro component | Typical workloads |
Stream Host | Runs Data Streams which are responsible for ingesting data from the plant floor, processing the data, and then generating an output to be provided to either an application or to the Recommendation engine. |
Platform Servers | |
Application Designer Server | Provides resources for the runtime user visualization application to run on. Also runs the Recommendation/Alerts engine. |
Data Stream Designer Server | Provides resources for the engineering application used to build and edit Data Streams. |
Subscription Manager Server | Provides resources for the Security application, which manages features such as user, access, and role management. |
SQL Server Server | Provides resources to host the Application Designer, Data Stream Designer, and the Subscription Manager databases. |
There are two main types of scaling within XMPro:
As more digital twin use cases are developed, new Stream Host Machines need to be deployed to run the associated use case Data Streams. A typical XMPro installation has multiple Stream Host instances connected to one Platform Server instance, as shown in the following figure.
Assuming the Platform Servers have sufficient resources (CPU, RAM, and storage) to meet the workload, the system can be easily scaled by just adding additional Stream Hosts.
For information of how to install a new Stream Host, see Install Stream Host.
The preferred approach is to have a separate infrastructure for the stream host.
It is possible that your XMPro deployment has only one Stream Host. However, this is rarely the case, and we suggest the following considerations:
Over time, as additional Applications, Recommendations, and Data Streams are added to XMPro, the resource utilization increases as expected on the Platform Servers. End users should reference the tables in this section to ensure that the appropriate CPU, RAM, and storage continues to be allocated to the individual Platform Servers.
Deployment of the XMPro Platform Servers on VMware comes with the significant benefit that, if your load or performance requirements change in the future, CPU, storage, and memory configuration changes can easily be made in the VM’s settings. Some of these changes can be made on-the-fly with no production downtime.