Configuring the vCPU Distribution

The distribution and allocation of virtual CPUs in Cisco Catalyst 8000V can be configured based on the requirements of your network environment and the your deployment needs. Based on your network's throughput and your requirements, you can allocate a specific number of vCPUs to the Cisco Catalyst 8000V virtual machine. When you allocate the vCPUs, the Cisco IOS XE processing threads in the Guest OS are mapped to the vCPU threads. These threads, in turn, are allocated to the physical cores. Thus, more vCPUs implies a higher throughput and better performance.

Depending on your hypervisor, you can set resource limits and reservations to ensure that the Cisco Catalyst 8000V gets the necessary CPU resources even under high load conditions.

Choose a template

To ease the allocation and distribution process, Cisco offers several templates with pre-allocated vCPUs. Based on the vCPU allocation for each of the templates, you can choose the template best suited for your needs.

Cisco Catalyst 8000V supports the following templates: Control Plane (CP) Extra Heavy, Control Plane Heavy, Data Plane (DP) Heavy, Data Plane Normal, Service Plane (SP) Heavy, and Service Plane Medium.

Before you choose a template, see this list, which provides a few recommendations.

  • Service Plane Heavy: This template is recommended if you configure Cisco Catalyst 8000V as a service node for AppQoE. This is also the recommended profile to use when deploying NGFW capabilities (UTD) container on Cisco Catalyst 8000V. Note that 8 vCPU / 16GB memory is the minimum requirement to configure with service plane heavy template. Note that the Service Plane includes containers running SNORT.

  • Control Plane Heavy: This template is recommended in use cases such as route reflector deployment and scaling FlexVPN to 10k deployment.

  • Data plane Heavy: This is the default template that Cisco Catalyst 8000V functions. Use this template if your goal is to achieve maximum forwarding performance.

For detailed allocation information for each template, refer to the tables in this chapter.

Guidelines

Do not create a VM larger than the total number of physical cores of your host. For example, if you have a host system with 6 cores per NUMA node, it is recommended you size your virtual machines with no more than 6 vCPUs.

vCPU Distribution: Control Plane Extra heavy

The following table shows the vCPU distribution for the Control Plane Extra heavy template.

Table 1. Control Plane Extra heavy - vCPU Distribution

Number of vCPUs

1

2

4

8

16

Control Plane

1/3

1/2

1 1/2

1 1/2

6

Service Plane

1/3

1/2

1 1/2

1 1/2

6

Data Plane

1/3

1

1

5

10


Note


Using a Control Plane Extra heavy template, a service plane app can obtain 1.5 full cores for its operation. For example, in the case of Wide Area Application Services (WAAS).

vCPU Distribution: Control Plane heavy

The following table shows the vCPU distribution for the Control Plane heavy template.

Table 2. Control Plane heavy - vCPU Distribution

Number of vCPUs

1

2

4

8

16

Control Plane

1/3

1/2

1

1

4

Service Plane

1/3

1/2

1

1

4

Data Plane

1/3

1

2

6

12


Note


The Control Plane heavy template allocates an extra core to the Control Plane/Service Plane services compared to the Data Plane heavy template (there is one core for the Control Plane and another core for the Service Plane). If there is no Service Plane application, the Control Plane utilizes allthe resources (both the cores).


vCPU Distribution: Data Plane heavy


Note


The Data Plane heavy template is the default vCPU Distribution template. Even if the configuration output for the Template option reads 'None', the Data Plane heavy template is applied by default.

The above mentioned statement is not applicable for Cisco Catalyst 8000V instances running in the controller mode.


The following table shows the vCPU distribution for the Data Plane heavy template.

Table 3. Data Plane heavy - vCPU Distribution

Number of vCPUs

1

2

4

8

16

Control Plane

1/3

1/2

1/2

1/2

2

Service Plane

1/3

1/2

1/2

1/2

2

Data Plane

1/3

1

3

7

14


Note


By default, the Cisco Catalyst 8000V core allocation favors a larger data plane for performance. If there is no Service Plane application, the Control Plane also utilizes the Service Plane's resources.

vCPU Distribution: Data Plane normal

You can use the vCPU distribution for the Data Plane normal template to force the Cisco Catalyst 8000V to behave in the same way as before using a template for vCPU distribution.

That is, assume you create a Cisco Catalyst 8000V VM using the Data Plane heavy template for vCPU distribution, as specified in the ovf-env.xml file. You can later use the CLI commands in the Data Plane normal template to override the XML file settings that were previously applied by the Data Plane heavy template.

vCPU Distribution: Service Plane heavy

The following table shows the vCPU distribution for the Service Plane heavy template.

Table 4. Service Plane heavy - vCPU Distribution

Number of vCPUs

1

2

4

8

16

Control Plane

1/3

1/2

1

2

8

Service Plane

1/3

1/2

1

2

8

Data Plane

1/3

1

2

4

8


Note


Using a Service Plane heavy template, a Service Plane application (such as Snort IPS) can use up to 2 full cores for its operation. This is the recommended vCPU template to use when NGFW features are enabled on the device. This applies to both SD-WAN and autonomous mode deployments.


vCPU Distribution: Service Plane medium

The following table shows the vCPU distribution for the Service Plane medium template.

Table 5. Service Plane medium - vCPU Distribution

Number of vCPUs

1

2

4

8

16

Control Plane

1/3

1/2

1

1

4

Service Plane

1/3

1/2

1

1

4

Data Plane

1/3

1

2

6

12

Configuring the vCPU Distribution across the Data, Control, and Service Planes

Enter the platform resource command on theCisco Catalyst 8000V CLI to select a template for vCPU distribution.

configure template

platform resource template

Example:


Router# configure template
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)# platform resource ?
  control-plane-extra-heavy Use Control Plane Extra Heavy template
  control-plane-heavy   Use Control Plane Heavy template
  data-plane-heavy      Use Data Plane Heavy template
  data-plane-normal     Use Data Plane Normal template
  service-plane-heavy   Use Service Plane Heavy template
  service-plane-medium  Use Service Plane Medium template
Router(config)# platform resource service-plane-heavy

Note


After entering the platform resource command, you must reboot the Cisco Catalyst 8000V instance to activate the template.


Determining the Active vCPU Distribution Template

To determine which template is being used for vCPU distribution, use the following command:

show platform software cpu alloc

Example:


Router# show platform software cpu alloc
CPU alloc information:
Control plane cpu alloc: 0-1
Data plane cpu alloc: 2-3
Service plane cpu alloc: 0-1
Template used: CLI-service_plane_heavy

Note


The Control plane and the Service plane share cores 0 and 1.