5 Feature set and Requirements from Infrastructure ¶
Table of Contents ¶
5.1 Cloud Infrastructure Software profile description ¶
Cloud Infrastructure Software layer is composed of 2 layers, Figure 5-1 :
- The virtualisation Infrastructure layer, which is based on hypervisor virtualisation technology or container-based virtualisation technology. Container virtualisation can be nested in hypervisor-based virtualisation
- The host OS layer
Figure 5-1: Cloud Infrastructure software layers
For a host (compute node or physical server), the virtualisation layer is an abstraction layer between hardware components (compute, storage, and network resources) and virtual resources allocated to a VM or a Pod. Figure 5-2 represents the virtual resources (virtual compute, virtual network, and virtual storage) allocated to a VM or a Pod and managed by the Cloud Infrastructure Manager.
Figure 5-2: Cloud Infrastructure Virtual resources
Depending on the requirements of the workloads, a VM or a Pod will be deployed with a Cloud Infrastructure Profile and an appropriate compute flavour. A Cloud Infrastructure Profile is defined by a Cloud Infrastructure Software Profile and a Cloud Infrastructure Hardware Profile. A Cloud Infrastructure Software Profile is a set of features, capabilities, and metrics offered by a Cloud Infrastructure software layer. Figure 5-3 depicts a high level view of the Basic and Network Intensive Cloud Infrastructure Profiles.
Figure 5-3: Cloud Infrastructure Profiles
The following sections detail the Cloud Infrastructure Software Profile features per type of virtual resource. The list of these features will evolve over time.
5.1.1 Virtual Compute ¶
Table 5-1 and Table 5-2 depict the features related to virtual compute.
Reference | Feature | Type | Description |
---|---|---|---|
infra.com.cfg.001 | CPU allocation ratio | Value | Number of virtual cores per physical core |
infra.com.cfg.002 | NUMA alignment | Yes/No | Support of NUMA at the virtualization layer |
infra.com.cfg.003 | CPU pinning | Yes/No | Binds a vCPU to a physical core or SMT thread |
infra.com.cfg.004 | Huge Pages | Yes/No | Ability to manage huge pages of memory |
Table 5-1: Virtual Compute features.
Reference | Feature | Type | Description |
---|---|---|---|
infra.com.acc.cfg.001 | Left for RA specifications |
Table 5-2: Virtual Compute Acceleration features.
5.1.2 Virtual Storage ¶
Table 5-3 and Table 5-4 depict the features related to virtual storage.
Reference | Feature | Type | Description |
---|---|---|---|
infra.stg.cfg.001 | Catalogue Storage Types | Yes/No | Support of Storage types described in the catalogue |
infra.stg.cfg.002 | Storage Block | Yes/No | |
infra.stg.cfg.003 | Storage with replication | Yes/No | |
infra.stg.cfg.004 | Storage with encryption | Yes/No |
Table 5-3: Virtual Storage features.
Reference | Feature | Type | Description |
---|---|---|---|
infra.stg.acc.cfg.001 | Storage IOPS oriented | Yes/No | |
infra.stg.acc.cfg.002 | Storage capacity oriented | Yes/No |
Table 5-4: Virtual Storage Acceleration features.
5.1.3 Virtual Networking ¶
Table 5-5 and Table 5-6 depict the features related to virtual networking.
Reference | Feature | Type | Description |
---|---|---|---|
infra.net.cfg.001 | Connection Point interface | IO virtualisation | e.g. virtio1.1 |
infra.net.cfg.002 | Overlay protocol | Protocols | The overlay network encapsulation protocol needs to enable ECMP in the underlay to take advantage of the scale-out features of the network fabric. |
infra.net.cfg.003 | NAT | Yes/No | Support of Network Address Translation |
infra.net.cfg.004 | Security Groups | Yes/No | Set of rules managing incoming and outgoing network traffic |
infra.net.cfg.005 | Service Function Chaining | Yes/No | Support of Service Function Chaining (SFC) |
infra.net.cfg.006 | Traffic patterns symmetry | Yes/No | Traffic patterns should be optimal, in terms of packet flow. North-south traffic shall not be concentrated in specific elements in the architecture, making those critical choke-points, unless strictly necessary (i.e. when NAT 1:many is required). |
Table 5-5: Virtual Networking features.
Reference | Feature | Type | Description |
---|---|---|---|
infra.net.acc.cfg.001 | vSwitch optimisation | Yes/No and SW Optimisation | e.g. DPDK. |
infra.net.acc.cfg.002 | Support of HW offload | Yes/No | e.g. support of SmartNic. |
infra.net.acc.cfg.003 | Crypto acceleration | Yes/No | |
infra.net.acc.cfg.004 | Crypto Acceleration Interface | Yes/No |
Table 5-6: Virtual Networking Acceleration features.
5.1.5 Platform Services ¶
This section details the services that may be made available to workloads by the Cloud Infrastructure.
Reference | Feature | Type | Description |
---|---|---|---|
infra.svc.stg.001 | Object Storage | Yes/No | Object Storage Service (e.g S3-compatible) |
Table 5-7: Cloud Infrastructure Platform services.
Minimum requirements | Example |
---|---|
Database as a service | Cassandra |
Queue | Rabbit MQ |
LB and HA Proxy |
Table 5-7a: Service examples.
5.2 Cloud Infrastructure Software Profiles features and requirements ¶
This section will detail Cloud Infrastructure Software Profiles and associated configurations for the 2 types of Cloud Infrastructure Profiles: Basic and Network intensive.
5.2.1 Virtual Compute ¶
Table 5-8 depicts the features and configurations related to virtual compute for the 2 types of Cloud Infrastructure Profiles.
Reference | Feature | Type | Basic | Network Intensive | Notes |
---|---|---|---|---|---|
infra.com.cfg.001 | CPU allocation ratio | value | 1:1 | 1:1 | This is set to 1:1 for the Basic profile to enable predictable and consistent performance during benchmarking and certification. Operators may choose to modify this for actual deployments if they are willing to accept the risk of performance impact to workloads using the basic profile._ |
infra.com.cfg.002 | NUMA alignment | Yes/No | N | Y | |
infra.com.cfg.003 | CPU pinning | Yes/No | N | Y | |
infra.com.cfg.004 | Huge Pages | Yes/No | N | Y |
Table 5-8: Virtual Compute features and configuration for the 2 types of Cloud Infrastructure Profiles.
Note: Capability nfvi.com.cfg.001 is set to 1:1 for the Basic profile to enable predictable and consistent performance during benchmarking, certification, and deployment. Operators may choose to modify this for actual deployments if they are willing to accept the risk of performance impact to these workloads.
Table 5-9 will gather virtual compute acceleration features. It will be filled over time.
Reference | Feature | Type | Basic | Network Intensive |
---|---|---|---|---|
infra.com.acc.cfg.001 | Note: for further study |
Table 5-9: Virtual Compute Acceleration features.
5.2.2 Virtual Storage ¶
Table 5-10 and Table 5-11 depict the features and configurations related to virtual storage for the 2 types of Cloud Infrastructure Profiles.
Reference | Feature | Type | Basic | Network Intensive |
---|---|---|---|---|
infra.stg.cfg.001 | Catalogue storage Types | Yes/No | Y | Y |
infra.stg.cfg.002 | Storage Block | Yes/No | Y | Y |
infra.stg.cfg.003 | Storage with replication | Yes/No | N | Y |
infra.stg.cfg.004 | Storage with encryption | Yes/No | Y | Y |
Table 5-10: Virtual Storage features and configuration for the 2 types of SW profiles.
Table 5-11 depicts the features related to Virtual storage Acceleration
Reference | Feature | Type | Basic | Network Intensive |
---|---|---|---|---|
infra.stg.acc.cfg.001 | Storage IOPS oriented | Yes/No | N | Y |
infra.stg.acc.cfg.002 | Storage capacity oriented | Yes/No | N | N |
Table 5-11: Virtual Storage Acceleration features.
5.2.3 Virtual Networking ¶
Table 5-12 and Table 5-13 depict the features and configurations related to virtual networking for the 2 types of Cloud Infrastructure Profiles.
Reference | Feature | Type | Basic | Network Intensive |
---|---|---|---|---|
infra.net.cfg.001 | Connection Point interface | IO virtualisation | virtio1.1 | virtio1.1* |
infra.net.cfg.002 | Overlay protocol | Protocols | VXLAN, MPLSoUDP, GENEVE, other | VXLAN, MPLSoUDP, GENEVE, other |
infra.net.cfg.003 | NAT | Yes/No | Y | Y |
infra.net.cfg.004 | Security Group | Yes/No | Y | Y |
infra.net.cfg.005 | Service Function Chaining | Yes/No | N | Y |
infra.net.cfg.006 | Traffic patterns symmetry | Yes/No | Y | Y |
Table 5-12: Virtual Networking features and configuration for the 2 types of SW profiles.
Note: * might have other interfaces (such as SR-IOV VFs to be directly passed to a VM or a Pod) or NIC-specific drivers on guest machines transiently allowed until mature enough solutions are available with a similar efficiency level (for example regarding CPU and energy consumption).
Reference | Feature | Type | Basic | Network Intensive |
---|---|---|---|---|
infra.net.acc.cfg.001 | vSwitch optimisation | Yes/No and SW Optimisation | N | Y, DPDK |
infra.net.acc.cfg.002 | Support of HW offload | Yes/No | N | Y, support of SmartNic |
infra.net.acc.cfg.003 | Crypto acceleration | Yes/No | N | Y |
infra.net.acc.cfg.004 | Crypto Acceleration Interface | Yes/No | N | Y |
Table 5-13: Virtual Networking Acceleration features.
5.3 Cloud Infrastructure Hardware Profile description ¶
The support of a variety of different workload types, each with different (sometimes conflicting) compute, storage, and network characteristics, including accelerations and optimizations, drives the need to aggregate these characteristics as a hardware (host) profile and capabilities. A host profile is essentially a “personality” assigned to a compute host (physical server, also known as compute host, host, node, or pServer). The host profiles and related capabilities consist of the intrinsic compute host capabilities (such as number of CPU sockets, number of cores per CPU, RAM, local disks and their capacity, etc.), and capabilities enabled in hardware/BIOS, specialised hardware (such as accelerators), the underlay networking, and storage.
This chapter defines a simplified host, host profile and related capabilities model associated with each of the different Cloud Infrastructure Hardware Profile and related capabilities; some of these profiles and capability parameters are shown in Figure 5-4 .
Figure 5-4: Cloud Infrastructure Hardware Profiles and host associated capabilities.
The host profile model and configuration parameters (hereafter for simplicity simply “host profile”) will be used in the Reference Architecture to define different hardware profiles. The host profiles can be considered to be the set of EPA-related (Enhanced Performance Awareness) configurations on Cloud Infrastructure resources.
Note: In this chapter we shall not list all of the EPA-related configuration parameters.
A software profile (see Chapter 4 , 5.1 and 5.2 ) defines the characteristics of Cloud Infrastructure SW of which Virtual Machines or Containers will be deployed on. A many to many relationship exists between software profiles and host profiles. A given host can only be assigned a single host profile; a host profile can be assigned to multiple hosts. Different Cloud Service Providers (CSP) may use different naming standards for their host profiles.
The following naming convention is used in this document:
<host
profile
name>::
<”hp”><numeral
host
profile
sequence
#>
When a software profile is associated with a host profile, a qualified name can be used as specified below.
<qualified
host
profile>::
<software
profile><”-“><”hp”><numeral
host
profile
sequence
#>
For Example:
for software profile “n” (network intensive) the above host profile name would be “n-hp1”
.
Figure 5-5: Generic Hardware Profile, Software Flavour, Physical server relationship.
Figure 5-5 shows a simplistic depiction of the relationship between Hardware profile, Software Profile, Physical server, and virtual compute. In the diagram the resource pool, a logical construct, depicts all physical hosts that have been configured as per a given host profile; there is one resource pool for each hardware profile.
Note: resource pools are not OpenStack host aggregates.
The host profile and capabilities include:
- Number of CPU sockets : is the number of CPUs installed on the physical server.
- Number of cores per CPU : is the number of cores on each of the CPUs of the physical server.
- RAM (GB) : is the amount of RAM installed on the physical server.
- Local Disk Capacity : is the number of local disks and the capacity of the disks installed on the physical server.
- SMT (Simultaneous Multithreading) : Enabled on all physical servers. Gets multiple threads per physical core. Always ON. Configured in the host.
- NUMA (Non-Uniform Memory Access) : Indicates that vCPU will be on a Socket that is aligned with the associated NIC card and memory. Important for performance optimized workloads. Configured in the host.
- SR-IOV (Single-Root Input/Output Virtualisation) : Configure PCIe ports to enable SR-IOV.
- smartNIC (aka Intelligent Server Adaptors) : Accelerated virtual switch using smartNIC
- Cryptography Accelerators : such as AES-NI, SIMD/AVX, and QAT.
- Security features : such as Trusted Platform Module (TPM).
The following model, Figure 5-6 , depicts the essential characteristics of a host that are of interest in specifying a host profile. The host (physical server) is composed of compute, network, and storage resources. The compute resources are composed of physical CPUs (aka CPU sockets or sockets) and memory (RAM). The network resources and storage resources are similarly modelled.
Figure 5-6: Generic model of a compute host for use in Host Profile configurations.
The hardware (host) profile properties are specified in the following sub-sections. The following diagram ( Figure 5-7 ) pictorially represents a high-level abstraction of a physical server (host).
Figure 5-7: Generic model of a compute host for use in Host Profile configurations.
5.4 Cloud Infrastructure Hardware Profiles features and requirements. ¶
The configurations specified in here will be used in specifying the actual hardware profile configurations for each of the Cloud Infrastructure Hardware Profiles depicted in Figure 5-4 .
5.4.1 Compute Resources ¶
Reference | Feature | Description | Basic Type | Network Intensive |
---|---|---|---|---|
infra.hw.cpu.cfg.001 | Minimum number of CPU sockets | This determines the minimum number of CPU sockets within each host | 2 | 2 |
infra.hw.cpu.cfg.002 | Minimum number of cores per CPU | This determines the number of cores needed per CPU | 20 | 20 |
infra.hw.cpu.cfg.003 | NUMA alignment | NUMA alignment support and BIOS configured to enable NUMA | N | Y |
infra.hw.cpu.cfg.004 | Simultaneous Multithreading (SMT) | This allows a CPU to work multiple streams of data simultaneously | Y | Y |
Table 5-14: Minimum Compute resources configuration parameters.
5.4.1.1 Compute Acceleration Hardware Specifications ¶
Reference | Feature | Description | Basic Type | Network Intensive |
---|---|---|---|---|
infra.hw.cac.cfg.001 | GPU | GPU | N | N |
Table 5-15: Compute acceleration configuration specifications.
5.4.2 Storage Configurations ¶
Reference | Feature | Description | Basic Type | Network Intensive |
---|---|---|---|---|
infra.hw.stg.hdd.cfg.001* | Local Storage HDD | Hard Disk Drive | ||
infra.hw.stg.ssd.cfg.002* | Local Storage SSD | Solid State Drive | Recommended | Recommended |
Table 5-16: Storage configuration specification.
Note: *This specified local storage configurations including # and capacity of storage drives.
5.4.3 Network Resources ¶
5.4.3.1 NIC configurations ¶
Reference | Feature | Description | Basic Type | Network Intensive |
---|---|---|---|---|
infra.hw.nic.cfg.001 | NIC Ports | Total number of NIC Ports available in the host | 4 | 4 |
infra.hw.nic.cfg.002 | Port Speed | Port speed specified in Gbps (minimum values) | 10 | 25 |
Table 5-17: Minimum NIC configuration specification.
5.4.3.2 PCIe Configurations ¶
Reference | Feature | Description | Basic Type | Network Intensive |
---|---|---|---|---|
infra.hw.pci.cfg.001 | PCIe slots | Number of PCIe slots available in the host | 8 | 8 |
infra.hw.pci.cfg.002 | PCIe speed | Gen 3 | Gen 3 | |
infra.hw.pci.cfg.003 | PCIe Lanes | 8 | 8 |
Table 5-18: PCIe configuration specification.
5.4.3.3 Network Acceleration Configurations ¶
Reference | Feature | Description | Basic Type | Network Intensive |
---|---|---|---|---|
infra.hw.nac.cfg.001 | Crypto Acceleration | IPSec, Crypto | N | Optional |
infra.hw.nac.cfg.002 | SmartNIC | A SmartNIC that is used to offload network functionality to hardware | N | Optional |
infra.hw.nac.cfg.003 | Compression | Optional |
Table 5-19: Network acceleration configuration specification.