| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-cyborg - 2020-06-02 | |||
| 06:24:34 | brinzhang | with unbind, I think we should judge the instance does have the accel:device_profile, access unbind or reject. | |
| 06:25:07 | songwenping_ | Yeah, right Sundar. Libvirt has supported hotplug for PCI devices. | |
| 06:25:41 | Sundar | IMHO, it is better to support resize: it covers hot-add and is more generally useful also. It allows us to keep the model that one VM has one device profile. | |
| 06:26:24 | Sundar | It is a standrd Nova operation: so less resistance, and may be we can even get help from Nova developers | |
| 06:27:01 | shaohe_feng | Libvirt has supported hotplug for PCI devices for a long time-_- | |
| 06:27:10 | Sundar | brinzhang: on a resize, does Nova scheduler get involved? If so, can it pick a different host? | |
| 06:27:37 | brinzhang | Sundar, resize may need to change host,that not easy to control, I know it should support, but it need time | |
| 06:27:43 | xinranwang | I think it will do re-schedule | |
| 06:27:45 | Sundar | Libvirt does not support it for the default config: looks like you have to specify a different cpu model q35. | |
| 06:29:20 | Sundar | brinzhang: we already have the scheduler flow for device profiles and ARQs. Why do you think it is difficult? | |
| 06:30:59 | Yumeng | brinzhang: I think unshelve will also do re-schedule, right? | |
| 06:31:48 | brinzhang | unshelve jsut need to re-create ARQs, it's easy to get | |
| 06:32:38 | brinzhang | I am not search into resize, so I can not answer clearly. | |
| 06:32:48 | Sundar | We can bring this up in the Nova discussion. | |
| 06:33:35 | Sundar | Anyway, we need to tlak to them about other VM ops for accelerators. | |
| 06:33:39 | Sundar | *talk | |
| 06:33:42 | shaohe_feng | Sundar: a question about schedule. You have bring up a discussion about this: | |
| 06:33:52 | brinzhang | This release we have rebuild/evcaute, suspend/resume, shelve/unshelve, I think it's enough to do in V | |
| 06:34:03 | shaohe_feng | add a new filter for dynamic program | |
| 06:34:23 | shaohe_feng | let cyborg do the filter, right? | |
| 06:34:41 | Sundar | shaohe_feng: not sue what you are referring to | |
| 06:34:50 | brinzhang | In https://review.opendev.org/#/c/729945/5/api-guide/source/accelerator-support.rst we record the operations supported in cyborg | |
| 06:36:07 | Yumeng | brinzhang: I think we can also start to support resize, chenke can investigate in. anyway, we can start discuss with nova during the session. | |
| 06:36:28 | brinzhang | agree | |
| 06:37:53 | brinzhang | after chenke talked with nova team, I think we can get more info about resize. | |
| 06:38:19 | shaohe_feng | such as, currently the function of the FPGA is ovs with 4 VF, but no VM uses it. and now on more FPGA available , we can select this one ovs PFGA as IPsec with 2 NICs, and change its function. | |
| 06:38:52 | shaohe_feng | ^ Sundar so this need a scheduler improvement, right? | |
| 06:39:05 | shaohe_feng | and you bring up to add a new filter. | |
| 06:39:13 | shaohe_feng | I remember. | |
| 06:40:49 | Sundar | shaohe_feng: That doesn;t involve the Nova scheduler. We can define a device profile with a trait that selects that type of FPGA, and an accel:bitstream that refers to ipsec. Then Placement may return some FPGA with ovs image if it is free. But Cyborg will notice it does not have ipsec and do the programming. | |
| 06:41:36 | Sundar | What we don't have is this: | |
| 06:42:05 | shaohe_feng | yes, that's the current flow in cyborg at present | |
| 06:42:13 | Sundar | Say, we have two free FPGAs, one with ovs and with ipsec. In this case, we want the scheduler to pick the one with ipsec preferentially. That is not there today. | |
| 06:43:05 | Sundar | The scheduler has a weigher but it selects among hosts, not among allocation candidates from Placement | |
| 06:43:13 | shaohe_feng | you can not fill ovs or ipsec in the trait | |
| 06:43:44 | Yumeng | brinzhang: I was curious, given "unshelve jsut need to re-create ARQs, it's easy to get", does that mean shelve operation does not actually release the accelerator in hypervisor, the accelerator is still a claimed allocation, that's why there is no re-scheduler in unshelve. | |
| 06:44:00 | shaohe_feng | but the weigher also not support for FPGA, right? | |
| 06:44:00 | Yumeng | please correct me if I was wrong | |
| 06:44:08 | Sundar | That is right. At least, if you do, it makes it too specific -- if you ask for ipsec and no FPGA with ipsec is free, the request will fail. No reprogramming. | |
| 06:44:17 | Sundar | What we really want is preferred traits: | |
| 06:44:36 | Sundar | We should be able to say I prefer the resource provider have this trait but, if not, give me something | |
| 06:44:42 | Sundar | Alex Xu knows about this | |
| 06:45:00 | shaohe_feng | everyone also know about it | |
| 06:45:07 | shaohe_feng | -_- | |
| 06:45:19 | shaohe_feng | but we want to improve it | |
| 06:45:46 | Sundar | shaohe_feng: There are many weighers, and we cna write custom weighers too. None of them cover FPGA, because they deal with hosts, not device RPs. | |
| 06:45:57 | shaohe_feng | and everyone know placement is so weak :') | |
| 06:46:14 | shaohe_feng | we can consider how to improve it. | |
| 06:46:37 | Sundar | What I meant is, Alex Xu knows Cyborg wants preferred traits. I think he was looking into implementing it at some point, but he got busy with other things | |
| 06:47:00 | shaohe_feng | yes, we can consider write a custom weigher for FPGA | |
| 06:47:25 | Sundar | Nope, that won;t help, as I said | |
| 06:47:39 | shaohe_feng | he did not give us a good suggestion | |
| 06:47:54 | shaohe_feng | what he know, others also know \ | |
| 06:48:01 | shaohe_feng | we want a good solution | |
| 06:48:13 | shaohe_feng | not the common knowledge | |
| 06:48:33 | brinzhang | Yumeng: when shelve instance we delete the instance's ARQs from nova and cyborg, when unshelve we should create it, it need to re-scheduler in unshelve | |
| 06:49:16 | shaohe_feng | yes, we can improve placement, every one can improve it. but we can let upstream accept it. | |
| 06:49:31 | brinzhang | Yumeng: the poc code is here, you can review https://review.opendev.org/#/c/729563/2 | |
| 06:50:42 | shaohe_feng | such as SDL can used for placement, but it is a big change for placement, right? vendor can improve it in this way. but it is difficult in upstream, right? | |
| 06:51:12 | Sundar | If we can get preferred traits, that would help. Shall we add that to Nova discussion? | |
| 06:51:19 | brinzhang | we will introduce the service version to support these operations, controled in https://review.opendev.org/#/c/715326/13/nova/compute/api.py@288 | |
| 06:52:23 | shaohe_feng | preferred is just a case of SDL. SDL can cover it. | |
| 06:54:18 | shaohe_feng | and preferred can not resolve the complex scenarios :') | |
| 06:54:24 | Sundar | Yumeng: ^ | |
| 06:54:38 | Sundar | brinzhang: ^ | |
| 06:55:15 | Yumeng | Sundar,yes sure. I will add operations to Nova etherpad | |
| 06:55:32 | shaohe_feng | Yumeng no, not this release. | |
| 06:55:32 | Sundar | No I mean discuss preferred traits | |
| 06:55:46 | shaohe_feng | the next release. | |
| 06:56:00 | shaohe_feng | I just want to know some history from sunder | |
| 06:56:04 | Yumeng | I don't think we have enough time to discuss preferred traits. | |
| 06:56:09 | shaohe_feng | but not preferred history | |
| 06:56:10 | Yumeng | yes next release. | |
| 06:56:12 | brinzhang | I found nova PTG time is too later for china, I will atten it asap, | |
| 06:56:32 | shaohe_feng | about the filter and weigher discussion | |
| 06:56:36 | Yumeng | this release, we discuss nova operations and smartnic integration | |
| 06:56:40 | brinzhang | Yumeng: you can ping me when this will be start | |
| 06:57:46 | Yumeng | yes, nova session is 10:00-11:00pm beijing time Friday. | |
| 06:57:53 | Yumeng | brinzhang:ok. | |
| 06:58:07 | brinzhang | Yumeng: ack | |
| 06:58:33 | Sundar | Ok, anything else for me? :) | |
| 06:59:00 | Yumeng | Nope for today. Thank you Sundar ! | |
| 06:59:30 | Sundar | Thank you, Yumeng and all! Have a good day. | |
| 06:59:30 | brinzhang | Sundar, hope you have a good day, bye | |
| 06:59:32 | Yumeng | Have a good night. BTW, wil you come tomorrow? | |
| 06:59:49 | Sundar | Yumeng, am I required for some topic tomorrow? | |
| 07:00:20 | Sundar | New drivers and drive rprograms -- sounds interesting | |
| 07:00:33 | Yumeng | Driver program API support? API attribute? | |
| 07:00:42 | Sundar | I'll try to join for 1 hour, but I have a long day tomorrow | |
| 07:01:13 | Sundar | Bye for now :) | |
| 07:01:15 | Yumeng | ok. Thanks! Then I will move New drivers and drive rprograms first, others later. | |
| 07:01:27 | Yumeng | Sundar: bye. | |
| 07:02:27 | brinzhang | In zoom all chinese people? | |
| 07:02:51 | Yumeng | hi. let's take a break for 10 mins. | |
| 07:03:21 | Yumeng | brinzhang: nope. We have shogo and one guest. | |
| 07:03:45 | Yumeng | after ten mins shall we go back to zoom? | |
| 07:03:56 | Mudit | Hello! from India this is Mudit | |
| 07:03:56 | chenke | are your phone ok with zoom? brin | |
| 07:04:05 | chenke | hello dudit | |
| 07:04:11 | chenke | hello mudit | |