Optimize inter-node latency with Cluster Placement Groups on OCI

Having a low-latency networking link between infrastructure resources such as Compute resources and Block Storage is crucial for optimal performance

Cluster Placement Groups (CPGs) is a recent OCI feature that enables placement of any combination of resources such as Compute, Block Storage in a restricted physical location to ensure low-latency.

Didn’t we use Availability Domains because ADs were supposed to be connected by a low latency, high bandwidth network?

Well, this is still true, and in most situations, you’ll favor a distributed approach by placing your resources across ADs (and anti-affinity fault domains) so that they are highly available and resistant to disasters. However, in some situations, you want to favor network performance over the previous approach (note that they’re not mutually exclusive). One of those situations is when you need to keep the same level of latency despite potential future region/data center expansions.

Before we see how to create CPGs, a few remarks :

  • CPGs are logical entities, but as anyone would expect, they won’t span across ADs or Regions.

  • CPG names must be unique across the tenant

  • You can activate/deactivate CPGs (and delete them)

Let’s create our first CPG and see how to create compute resources that we place into that CPG.

First we go to Networking→ Cluster Placement Groups

Next step is just a button to click in order to create our 1st CPG:

As you can observe in the next step, it is possible to have, as of today, compute-only CPGs, Block Storage CPGs, or CPGs that will accept both resource types. From there Oracle will check the available capacity (if something goes wrong try to create in another Availability Domain).

Almost there… we just need to add a description, select the right compartment, and we’re done.

Our first Cluster Placement Group is created and active as you can see in the next screenshot :

Now let’s see specifically for compute resources how to specify in which CPG you want them to be placed :

As you can see, by toggling the Cluster Placement Group option (not active by default), I can find CPG I’ve just created.

I can repeat the same operation for the next resources I create, either through the console or any preferred Infra-as-code method.

I hope you'll find this blog post useful. Thanks again for reading me !

If you want to know more : https://docs.oracle.com/en-us/iaas/Content/cluster-placement-groups/home.htm

Walid Hajeri

Disclaimer : Views are my own , none of the ideas expressed in this post are shared, supported, or endorsed in any manner by my current employer.

0
Subscribe to my newsletter

Read articles from Walid Hajeri (WalidHaj) directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Walid Hajeri (WalidHaj)
Walid Hajeri (WalidHaj)

Customer Engineer with a passion for well-designed tech products. Tech side - Interest in Cloud-native App Dev & AI Other side - University of Paris 1 Sorbonne alumnus, grew up in a creative family, passionate about all things related to visual arts & design in general.