Update patch set 1

Patch Set 1:

(10 comments)

Patch-set: 1
Attention: {"person_ident":"Gerrit User 4393 \u003c4393@4a232e18-c5a9-48ee-94c0-e04e7cca6543\u003e","operation":"ADD","reason":"\u003cGERRIT_ACCOUNT_11604\u003e replied on the change"}
Attention: {"person_ident":"Gerrit User 11604 \u003c11604@4a232e18-c5a9-48ee-94c0-e04e7cca6543\u003e","operation":"REMOVE","reason":"\u003cGERRIT_ACCOUNT_11604\u003e replied on the change"}
This commit is contained in:
Gerrit User 11604 2024-01-24 16:16:58 +00:00 committed by Gerrit Code Review
parent 42ccae57ab
commit 623f975add
1 changed files with 186 additions and 0 deletions

View File

@ -338,6 +338,24 @@
"revId": "8487cb0bd57caf9f881457b38a5e77a6e88733cd",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "4da83910_6d28effc",
"filename": "specs/backlog/nova-dynamic-cpus.rst",
"patchSetId": 1
},
"lineNbr": 172,
"author": {
"id": 11604
},
"writtenOn": "2024-01-24T16:16:58Z",
"side": 1,
"message": "i will reword this\n\nthe specific thing i want to prevent is overlap bettween cpu_overhead_set\nand cpu_dedicated_set or cpu_dynmaic_set\n\noverlap with cpu_shared_set is actully fine since cpu_overhead_set shoudl default to cpu_shared_set if not defiend.\n\nwhat i would like to be able to express more simpley is i have a host which only has dedicated cpu and the emulatort thread shoudl not run on those cores\n\ntoday you have to use cpu_shared_set to express that and then reserve all cores in it.\n\nmy expecation is that cpu_overhead_set woudl actully just be the cores you reserve for the host os when you are using cpu_dynmaic_set so it shoudl not require extra capstity\n\ni just want a clean way to enable the emulator threads to be pined to cores outside of cpu_dynmaic_set when the instance requst cpu_policy\u003ddedicated with threads_policy\u003dshared.\n\nwe coudl get the same effect by supproting cpu_shared_set and cpu_dynmaic_set and ensuring they do not overlap. that could be supproted its just more complicated but that is a viald alternitive.",
"parentUuid": "d3a4f5db_27ac96bc",
"revId": "8487cb0bd57caf9f881457b38a5e77a6e88733cd",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
@ -372,6 +390,24 @@
"revId": "8487cb0bd57caf9f881457b38a5e77a6e88733cd",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "10cca819_1a6f08b4",
"filename": "specs/backlog/nova-dynamic-cpus.rst",
"patchSetId": 1
},
"lineNbr": 261,
"author": {
"id": 11604
},
"writtenOn": "2024-01-24T16:16:58Z",
"side": 1,
"message": "you are correct that the packing behavior was an attempt to minimise fragmentation and also a correctness requireemtn to ensure that dedicated and shared cores dont overlap.\n\ni have some tought on how to adress fragmentation but i woudl prefer to do that as a followup.\n\nbascially there are two relitivly simple things we coudl do with pros and cons.\nfirst we coudl make hard reboot repin the cores of just that vm and compact them whne an instance is hard rebooted. that woudl invovle doing an RP update in palcement and a db update on hard reboot but that not terrible.\n\nsecond on a host reboot we can effectivly use teh defrag on hardreboot to ensure\nthat as each instnace is started again it will lazally or egerly defrag the allocations.\n\ni could add this as a note in the spec for future work or we could bring it into scope proper. there may be other aprpoches to this but this is the lest problematic in the context of action on one instance not impacting others.",
"parentUuid": "582c0eaa_fd2194e9",
"revId": "8487cb0bd57caf9f881457b38a5e77a6e88733cd",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
@ -389,6 +425,24 @@
"revId": "8487cb0bd57caf9f881457b38a5e77a6e88733cd",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "49a55dfa_dd2af664",
"filename": "specs/backlog/nova-dynamic-cpus.rst",
"patchSetId": 1
},
"lineNbr": 319,
"author": {
"id": 11604
},
"writtenOn": "2024-01-24T16:16:58Z",
"side": 1,
"message": "we claimed on phsical core form the dynamic set for use as a dedicated core\n\nsince the allcoation ratio is 4.0 we need to increase by 4\n\n\"\"\"\ngiven share cpus allow over subscription\nwhen a host core is reserved for dedicated use, the vcpu reserved is increased by\n(1 * allocation_ratio) instead of 1.\n\"\"\"\n\ni noted this in the explaint after on line 359",
"parentUuid": "ecc28e0a_05b68e17",
"revId": "8487cb0bd57caf9f881457b38a5e77a6e88733cd",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
@ -406,6 +460,24 @@
"revId": "8487cb0bd57caf9f881457b38a5e77a6e88733cd",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "6eb7958f_9fd6c905",
"filename": "specs/backlog/nova-dynamic-cpus.rst",
"patchSetId": 1
},
"lineNbr": 445,
"author": {
"id": 11604
},
"writtenOn": "2024-01-24T16:16:58Z",
"side": 1,
"message": "yes its true thats a side effect of teh fact all cores not used as dedicated cpus currenlty can be used as shared cpus. \n\nin a future release i coudl see us supproting\n\ncpu_dedicated_set and cpu_dynmic_set provided they did not overlap to allow you to have a pool of dedeicated cpus and some that coudl be shared or dedicated.\n\nit may also make sense to supprot cpu_dynmic_set with cpu_shared_set or even all 3\nprovided they do not overlap with each other.\n\nfor simplictiy of reasoning i wanted to start without condiering how we could make those 3 sets fo cpu resouce interact but your observation is correct.",
"parentUuid": "4b138557_1a3d4474",
"revId": "8487cb0bd57caf9f881457b38a5e77a6e88733cd",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
@ -423,6 +495,24 @@
"revId": "8487cb0bd57caf9f881457b38a5e77a6e88733cd",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "8c3bad9f_462624ad",
"filename": "specs/backlog/nova-dynamic-cpus.rst",
"patchSetId": 1
},
"lineNbr": 455,
"author": {
"id": 11604
},
"writtenOn": "2024-01-24T16:16:58Z",
"side": 1,
"message": "you are correct and he would be too however that is the main tension of this spec.\n\neither you can have static partioning of resouce on the host and in palcment or both can be dynmci\n\nif we go the dynmaic route and we do not have a new resocue class then there must be reporting of both.\n\nwe need to deicied if we are ok with that or not and that will inform if this feature can be supported in nova or not.",
"parentUuid": "580557b4_df01d708",
"revId": "8487cb0bd57caf9f881457b38a5e77a6e88733cd",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
@ -458,6 +548,24 @@
"revId": "8487cb0bd57caf9f881457b38a5e77a6e88733cd",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "0e7e25ad_eda9110d",
"filename": "specs/backlog/nova-dynamic-cpus.rst",
"patchSetId": 1
},
"lineNbr": 465,
"author": {
"id": 11604
},
"writtenOn": "2024-01-24T16:16:58Z",
"side": 1,
"message": "that woudl be no diffent then today. today the numa toplogy filter can accpet the host but it can be invlaid by the time the instance reaches it becasue in the intervening time another instance has booted on it.\n\nso yes but its not a regression form how it works today.\n\nthis race exist cor pCPUs and hugepages today.",
"parentUuid": "026952c2_325f54dc",
"revId": "8487cb0bd57caf9f881457b38a5e77a6e88733cd",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
@ -475,6 +583,24 @@
"revId": "8487cb0bd57caf9f881457b38a5e77a6e88733cd",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "66712783_15d0671f",
"filename": "specs/backlog/nova-dynamic-cpus.rst",
"patchSetId": 1
},
"lineNbr": 477,
"author": {
"id": 11604
},
"writtenOn": "2024-01-24T16:16:58Z",
"side": 1,
"message": "not just that. im also calling out that today \"we can\u0027t be positive that an instance will fit\" and this is not makign that worse just different.",
"parentUuid": "43e628af_21e5f5f2",
"revId": "8487cb0bd57caf9f881457b38a5e77a6e88733cd",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
@ -492,6 +618,24 @@
"revId": "8487cb0bd57caf9f881457b38a5e77a6e88733cd",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "56b6f216_e1180280",
"filename": "specs/backlog/nova-dynamic-cpus.rst",
"patchSetId": 1
},
"lineNbr": 487,
"author": {
"id": 11604
},
"writtenOn": "2024-01-24T16:16:58Z",
"side": 1,
"message": "yep again that is a probelm with the current implemation we have to day so this wont make that any worse",
"parentUuid": "fd191732_8cc85566",
"revId": "8487cb0bd57caf9f881457b38a5e77a6e88733cd",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
@ -509,6 +653,24 @@
"revId": "8487cb0bd57caf9f881457b38a5e77a6e88733cd",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "e4cb2608_a89154d3",
"filename": "specs/backlog/nova-dynamic-cpus.rst",
"patchSetId": 1
},
"lineNbr": 499,
"author": {
"id": 11604
},
"writtenOn": "2024-01-24T16:16:58Z",
"side": 1,
"message": "we have this code extracted into the hardware.py module and its already run in the schduler via the numa toplogy filter and on teh comptue so we have all the info we need in the cell db curerntly.\n\nso i think we have the abstraction in place to do this in the context of cpus hugepages, numa aware vswtichs and pci devices",
"parentUuid": "16428a35_fe33b75d",
"revId": "8487cb0bd57caf9f881457b38a5e77a6e88733cd",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
@ -532,6 +694,30 @@
"revId": "8487cb0bd57caf9f881457b38a5e77a6e88733cd",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {
"uuid": "bf600b3e_a1d2b306",
"filename": "specs/backlog/nova-dynamic-cpus.rst",
"patchSetId": 1
},
"lineNbr": 511,
"author": {
"id": 11604
},
"writtenOn": "2024-01-24T16:16:58Z",
"side": 1,
"message": "yep that shoudl be cpus",
"parentUuid": "3a92441b_b1330e9a",
"range": {
"startLine": 511,
"startChar": 71,
"endLine": 511,
"endChar": 80
},
"revId": "8487cb0bd57caf9f881457b38a5e77a6e88733cd",
"serverId": "4a232e18-c5a9-48ee-94c0-e04e7cca6543"
},
{
"unresolved": true,
"key": {