Configuring a VM with higher bandwidth

Compute Engine lets you select a high-bandwidth Tier 1 configuration for N2, N2D, and C2 VMs. Machines configured with higher bandwidth are especially useful for large, distributed compute workloads with lots of heavy internode communication such as high performance computing (HPC), machine learning (ML), and deep learning (DL). You can expect the best network performance for traffic within the same zone, using internal IP addresses.

Combining these high throughput VMs with high-performance local SSD is beneficial for I/O-intensive, flash-optimized databases.

Before you begin

Limitations

  • Configure this feature using the gcloud tool or the Compute Engine API.
  • Compute Engine is the only product area supporting this feature.
  • This feature is excluded from committed use discounts.
  • Tier 1 bandwidth configuration is only supported on N2, N2D, and C2 VMs.
  • Tier 1 bandwidth configuration is only compatible with VMs that are running the gVNIC virtual network driver.

Bandwidth tiers

Total egress bandwidth is the available outbound bandwidth from a VM, regardless of whether the traffic is going to an internal IP or external IP destinations. You can think of this as the physical NIC speed for a given VM instance.

  • Default bandwidth ranges from 10‑32 Gbps depending on the machine family and VM size.
  • Tier 1 bandwidth increases the maximum egress bandwidth for VM instances and ranges from 50‑100 Gbps depending on your N2, N2D, or C2 instance.

General purpose N2 VMs

The following table describes the egress bandwidth configurations for N2 VMs.

vCPUs Default Tier 1
2 10 Gbps Not applicable (N/A)
4 10 Gbps N/A
8 16 Gbps N/A
16 32 Gbps N/A
32 32 Gbps 50 Gbps
48 32 Gbps 50 Gbps
64 32 Gbps 75 Gbps
80 32 Gbps 100 Gbps

General purpose N2 (custom size shapes) VMs

The following table describes the egress bandwidth configurations for custom-sized N2 VMs.

vCPUs Default Tier 1
16-30 32 Gbps N/A
32-46 32 Gbps 50 Gbps
48-62 32 Gbps 50 Gbps
64-78 32 Gbps 75 Gbps
80 32 Gbps 100 Gbps

General purpose N2D VMs

The following table describes the egress bandwidth configurations for N2D VMs.

vCPUs Default Tier 1
2 10 Gbps Not applicable (N/A)
4 10 Gbps N/A
8 16 Gbps N/A
16 32 Gbps N/A
32 32 Gbps N/A
48 32 Gbps N/A
64 32 Gbps N/A
80 32 Gbps N/A
96 32 Gbps 50 Gbps
128 32 Gbps 50 Gbps
224 32 Gbps 100 Gbps

General purpose N2D (custom size shapes) VMs

The following table describes the egress bandwidth configurations for custom-sized N2D VMs.

vCPUs Default Tier 1
96-222 32 Gbps 50 Gbps
224 32 Gbps 100 Gbps

Compute-optimized C2 VMs

The following table describes the egress bandwidth configurations for C2 VMs.

vCPUs Default Tier 1
4 10 Gbps N/A
8 16 Gbps N/A
16 32 Gbps N/A
30 32 Gbps 50 Gbps
60 32 Gbps 100 Gbps

Creating a VM with high-bandwidth configuration

You can enable a higher-bandwidth configuration during instance creation. However, you can also edit VMs to add or remove a high-bandwidth configuration at any time. Your VM must be in a STOPPED state before you can edit its configuration. Once you complete your changes, START your VMs to apply the higher configuration.

Creating VM instances and containers

Use the gcloud command-line tool or Compute Engine API to add a high-bandwidth network configuration to a new VM instance or to create a VM instance running container images.

Use the gcloud beta compute instances create command to create a VM with a gVNIC virtual network driver. To configure a network performance setting for the instance, use the --network-performance-configs flag. If you do not specify this flag, the instance is created with the default network performance configuration.

gcloud

To create a VM instance use the gcloud beta compute instances create command. To create a VM running container images, use the gcloud beta compute instances create-with-container command.

gcloud beta compute instances create VM_NAME \
    --network-performance-configs=PROPERTY=VALUE

Replace the following:

  • VM_NAME: the name of your VM.
  • PROPERTY: use total-egress-bandwidth-tier.
  • VALUE: set the value to TIER_1. If you don't choose TIER_1, the setting remains at the default (DEFAULT).

For example:

gcloud beta compute instances create instance_1 \
    --network-performance-configs=total-egress-bandwidth-tier=TIER_1

API

Use the Compute Engine API instances insert method to modify the network configuration. POST a request to:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
  "name": string,
    "description": string,
    ...
    "networkPerformanceConfigs": {
        "totalEgressBandwidthTier": enum,
    }
    ...
  }

Replace the following:

  • PROJECT_ID: your project ID
  • ZONE: the zone where you want to create the instance

Describing a VM instance

Use the gcloud command-line tool to describe an existing VM instance or an existing VM instance running container images.

gcloud

To update your instance, use the gcloud beta compute instances describe command.

For example:

gcloud beta compute instances describe VM_NAME \

The output is similar to the following:

  name: vm-client
  network-performance-configs
      totalEgressBandwidthTier: TIER_1
 

API

Use the Compute Engine API instances.get method to view the network configuration. Make a request to the following:

GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/RESOURCE_ID/

Replace RESOURCE_ID with the name of your VM instance.

Benchmarking

You can run a benchmark test to check your VM's performance with a higher bandwidth configuration.

What's next