Closed michaelspedersen closed 4 years ago
Hmm, why mix GoGTP and isolcpus. They have no relation at all.
Hmm, why mix GoGTP and isolcpus. They have no relation at all.
I would say they have as much relation as any use-case at this point. While not focusing on performance in particular, I still consider CPU isolation/affinity relevant for anything in telco deployments that interacts with a data plane.
I will agree that there are far better use-cases for it, e.g. dpdk applications running poll-mode, but I'd rather avoid creating a new use-case for every "piece" of infrastructure tooling that we add to the testbed.
This PR does the following:
isolcpus
argument to Makefile, which will update GRUB on worker nodes with CPU isolation (similar to what is being done when deploying vSwitch)grub_vswitch
Ansible role, as the CPUs in n2.xlarge.x86 (and maybe others) don't always match the described/expected CPU (16 cores instead of 14)go-gtp-ubuntu
network_functions example. Similar togo-gtp
, but based on Ubuntu 18.04 instead of Alpine (due to cross-compatibility issues with CMK)cpu-manager
workload_infra example. Deploys CPU Manager for Kubernetes on each worker, with 11 exclusive and 2 shared cores per socket.gogtp-k8s/k8s_bridged_cmk
use_case example. Similar tok8s_bridged_networks
example, but with each workload/application having CPU affinity assigned through CMKIssues
cncf/cnf-testbed#334
How Has This Been Tested?
Types of changes
Checklist: