This bug has been migrated to another issue tracking site. It has been closed here and may no longer be being monitored.

If you would like to get updates for this issue, or to participate in it, you may do so at Red Hat Issue Tracker .
Bug 1813562 - Amphora Vertical Scaling (Threading/CPU pinning)
Summary: Amphora Vertical Scaling (Threading/CPU pinning)
Keywords:
Status: CLOSED MIGRATED
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-octavia
Version: 18.0 (Zed)
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ga
: ---
Assignee: Tom Weininger
QA Contact: Bruna Bonguardo
URL:
Whiteboard:
Depends On: 1813560 1813718
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-03-14 13:18 UTC by Carlos Goncalves
Modified: 2023-10-10 11:37 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-10-10 11:36:30 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
OpenStack Storyboard 2010236 0 None None None 2022-08-22 12:32:22 UTC
OpenStack gerrit 849129 0 None MERGED Add cpu-pinning element 2023-01-13 13:41:01 UTC
OpenStack gerrit 849130 0 None MERGED Amphora vertical scaling optimization in Octavia 2023-01-13 13:41:04 UTC
OpenStack gerrit 853606 0 None MERGED Optimize HAProxy SSL cache size 2023-01-13 14:30:56 UTC
OpenStack gerrit 853802 0 None MERGED Set nohz_full in cpu-pinning element 2023-01-13 14:30:56 UTC
OpenStack gerrit 879258 0 None MERGED Create octavia multi-vCPU flavor 2023-05-02 08:05:54 UTC
OpenStack gerrit 879264 0 None MERGED Add configuration for Octavia multi-vCPU flavor 2023-05-02 08:05:00 UTC
Red Hat Issue Tracker OSP-29562 0 None None None 2023-10-10 11:37:43 UTC
Red Hat Issue Tracker   OSP-5194 0 None None None 2023-10-10 11:36:29 UTC

Description Carlos Goncalves 2020-03-14 13:18:11 UTC
Now that Octavia supports flavors, operators are able to define flavors that have varying sizes of compute instances. Currently, the Amphora driver does not leverage vCPU cores beyond one. This is due to limitations in previous versions of the HAProxy engine and the lack of demand for performance beyond what 1 vCPU can provide.

Now with version 2.0 of the HAProxy engine, we can enable vertical scaling by supporting multiple vCPUs per amphora instance using threading. We would also enable intelligent CPU pinning for the NIC interrupts and the HAProxy threads. This should require no additions to the Octavia API as the amphora agent should be able to detect these configurations and make the necessary configuration settings automatically. This would allow much higher numbers of concurrent connections without requiring an active/active topology.

https://www.haproxy.com/blog/multithreading-in-haproxy/
https://www.haproxy.com/documentation/hapee/latest/administration/multithreading/

Comment 6 Tom Weininger 2023-05-05 08:23:22 UTC
Resetting to ON_DEV because adjustments for next-gen still need to be done.


Note You need to log in before you can comment on or make changes to this bug.