Configuring a VM with higher bandwidth

Compute Engine lets you select a high bandwidth TIER_1 configuration for N2 and C2 machines. 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 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 to 32 Gbps depending on the machine type and VM size.
  • Tier 1 bandwidth increases the maximum possible egress bandwidth for VM instances and ranges from 50 to 100 Gbps depending on your N2 or C2 instance.

General purpose N2 machine types

The following table describes the egress bandwidth configurations for N2 machine types.

vCPUs Default Tier 1
2 10 Gbps 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) machine types

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

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

Compute-optimized C2 machine types

The following table describes the egress bandwidth configurations for C2 machine types.

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.

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/PROJECT_ZONE/instances

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

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 

Example output:

  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:

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

Benchmarking

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

What's next