)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"6b34d4454f2d44c329691ee68b0b0b02bab82e9a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"bdc5d815_331cf40e","updated":"2022-06-29 14:11:08.000000000","message":"Adding a few thoughts.","commit_id":"408a841e31168c9e7f352b3d96e6cf00317e8edf"}],"specs/version1.2/amphora-vertical-scaling.rst":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"6b34d4454f2d44c329691ee68b0b0b02bab82e9a","unresolved":true,"context_lines":[{"line_number":24,"context_line":"with multiple vCPUs are used."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Proposed change"},{"line_number":28,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Although HAProxy also supports multi-processing, which provides better"}],"source_content_type":"text/x-rst","patch_set":1,"id":"4aaaf395_7e2447eb","line":27,"updated":"2022-06-29 14:11:08.000000000","message":"We need to disable irq_balance or create a custom profile for it.","commit_id":"408a841e31168c9e7f352b3d96e6cf00317e8edf"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"34077a956337bf64f8f862998f444aa8984b7c8d","unresolved":false,"context_lines":[{"line_number":24,"context_line":"with multiple vCPUs are used."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Proposed change"},{"line_number":28,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Although HAProxy also supports multi-processing, which provides better"}],"source_content_type":"text/x-rst","patch_set":1,"id":"90c786b4_75842627","line":27,"in_reply_to":"4aaaf395_7e2447eb","updated":"2022-06-29 17:16:48.000000000","message":"Ack","commit_id":"408a841e31168c9e7f352b3d96e6cf00317e8edf"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"6b34d4454f2d44c329691ee68b0b0b02bab82e9a","unresolved":true,"context_lines":[{"line_number":27,"context_line":"Proposed change"},{"line_number":28,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Although HAProxy also supports multi-processing, which provides better"},{"line_number":31,"context_line":"performance than multi-threading, its use is \"really discouraged\"[1]_ and"},{"line_number":32,"context_line":"not part of this proposal."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"HAProxy\u0027s *cpu-map* directive allows to map individual threads to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"29fc3860_e95faab6","line":31,"range":{"start_line":30,"start_character":49,"end_line":31,"end_character":32},"updated":"2022-06-29 14:11:08.000000000","message":"I would argue this is no longer true.\nThere are also proposals to remove the multi-process (nbproc) option from HAProxy completely.","commit_id":"408a841e31168c9e7f352b3d96e6cf00317e8edf"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"34077a956337bf64f8f862998f444aa8984b7c8d","unresolved":false,"context_lines":[{"line_number":27,"context_line":"Proposed change"},{"line_number":28,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Although HAProxy also supports multi-processing, which provides better"},{"line_number":31,"context_line":"performance than multi-threading, its use is \"really discouraged\"[1]_ and"},{"line_number":32,"context_line":"not part of this proposal."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"HAProxy\u0027s *cpu-map* directive allows to map individual threads to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"8f38bae8_02da9df5","line":31,"range":{"start_line":30,"start_character":49,"end_line":31,"end_character":32},"in_reply_to":"29fc3860_e95faab6","updated":"2022-06-29 17:16:48.000000000","message":"Ack","commit_id":"408a841e31168c9e7f352b3d96e6cf00317e8edf"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"6b34d4454f2d44c329691ee68b0b0b02bab82e9a","unresolved":true,"context_lines":[{"line_number":34,"context_line":"HAProxy\u0027s *cpu-map* directive allows to map individual threads to"},{"line_number":35,"context_line":"individual CPUs in various ways. When multiple vCPUs are available"},{"line_number":36,"context_line":"Octavia could map *number of vCPUs-1* to HAProxy threads and keep the"},{"line_number":37,"context_line":"remaining CPU free for other processes. This can be achieved by using"},{"line_number":38,"context_line":"the TuneD project[2]_."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"A new Octavia configuration variable *amphora_use_tuned* defines whether"},{"line_number":41,"context_line":"HAProxy and TuneD should be configured on the amphora as proposed. If is"}],"source_content_type":"text/x-rst","patch_set":1,"id":"efef8dd1_a3f2f74c","line":38,"range":{"start_line":37,"start_character":40,"end_line":38,"end_character":22},"updated":"2022-06-29 14:11:08.000000000","message":"I don\u0027t think tuned has an haproxy profile, but this can be done directly in the haproxy configuration file via the amphora agent.","commit_id":"408a841e31168c9e7f352b3d96e6cf00317e8edf"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"34077a956337bf64f8f862998f444aa8984b7c8d","unresolved":true,"context_lines":[{"line_number":34,"context_line":"HAProxy\u0027s *cpu-map* directive allows to map individual threads to"},{"line_number":35,"context_line":"individual CPUs in various ways. When multiple vCPUs are available"},{"line_number":36,"context_line":"Octavia could map *number of vCPUs-1* to HAProxy threads and keep the"},{"line_number":37,"context_line":"remaining CPU free for other processes. This can be achieved by using"},{"line_number":38,"context_line":"the TuneD project[2]_."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"A new Octavia configuration variable *amphora_use_tuned* defines whether"},{"line_number":41,"context_line":"HAProxy and TuneD should be configured on the amphora as proposed. If is"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7c762cb5_ef0ff272","line":38,"range":{"start_line":37,"start_character":40,"end_line":38,"end_character":22},"in_reply_to":"efef8dd1_a3f2f74c","updated":"2022-06-29 17:16:48.000000000","message":"What I meant here is that TuneD would be used to prevent other processes/threads from using the vCPUs that are mapped to HAProxy (not sure if HAProxy should use them exclusively).","commit_id":"408a841e31168c9e7f352b3d96e6cf00317e8edf"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"6b34d4454f2d44c329691ee68b0b0b02bab82e9a","unresolved":true,"context_lines":[{"line_number":37,"context_line":"remaining CPU free for other processes. This can be achieved by using"},{"line_number":38,"context_line":"the TuneD project[2]_."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"A new Octavia configuration variable *amphora_use_tuned* defines whether"},{"line_number":41,"context_line":"HAProxy and TuneD should be configured on the amphora as proposed. If is"},{"line_number":42,"context_line":"set to false the configuration described in the next section will be used."},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7e2eb3bd_b6675c71","line":40,"updated":"2022-06-29 14:11:08.000000000","message":"I think we want to setup tuned in a diskimage-builder element. This way the proper services will start and load the profile at boot time.\nHowever, it might be a good idea to have a configuration setting for the CPU pinning that can be overridden in a flavor.","commit_id":"408a841e31168c9e7f352b3d96e6cf00317e8edf"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"6b34d4454f2d44c329691ee68b0b0b02bab82e9a","unresolved":true,"context_lines":[{"line_number":41,"context_line":"HAProxy and TuneD should be configured on the amphora as proposed. If is"},{"line_number":42,"context_line":"set to false the configuration described in the next section will be used."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"TODO \"intelligent CPU pinning for the NIC interrupts\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Alternatives"},{"line_number":47,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"e41f5cad_8011286b","line":44,"updated":"2022-06-29 14:11:08.000000000","message":"FYI, the \"tuna\" tool may be helpful here to simplify pinning the NIC interrupts. It is available on both Red Hat and Ubuntu.","commit_id":"408a841e31168c9e7f352b3d96e6cf00317e8edf"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"34077a956337bf64f8f862998f444aa8984b7c8d","unresolved":false,"context_lines":[{"line_number":41,"context_line":"HAProxy and TuneD should be configured on the amphora as proposed. If is"},{"line_number":42,"context_line":"set to false the configuration described in the next section will be used."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"TODO \"intelligent CPU pinning for the NIC interrupts\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Alternatives"},{"line_number":47,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"f8b733f2_102f4746","line":44,"in_reply_to":"e41f5cad_8011286b","updated":"2022-06-29 17:16:48.000000000","message":"Done","commit_id":"408a841e31168c9e7f352b3d96e6cf00317e8edf"}]}
