Wednesday, 2018-05-02

*** openstackgerrit has joined #openstack-cyborg01:23
openstackgerritXinran WANG proposed openstack/cyborg master: Introduce quota_usage and reservation table to Cyborg
*** masber has joined #openstack-cyborg02:09
*** masuberu has joined #openstack-cyborg02:52
openstackgerritXinran WANG proposed openstack/cyborg master: Introduce quota_usage and reservation table to Cyborg
*** masber has quit IRC02:52
openstackgerritXinran WANG proposed openstack/cyborg master: Introduce Cyborg Resource Quota -- Usage Part
*** masuberu has quit IRC04:47
*** alex_xu has quit IRC12:29
*** alex_xu has joined #openstack-cyborg12:36
*** sundar has joined #openstack-cyborg13:57
*** Li_Liu has joined #openstack-cyborg14:02
*** shashaguo has joined #openstack-cyborg14:03
*** dolpher has joined #openstack-cyborg14:07
*** Helloway has joined #openstack-cyborg14:08
*** shaohe has joined #openstack-cyborg14:09
shaohehi all.14:10
*** xinran_ has joined #openstack-cyborg14:10
zhipengh[m]We don't have meeting today14:11
*** alex_xu has quit IRC14:11
zhipengh[m]You didn't see the email :P14:11
Li_Liu#info Li_Liu14:11
Li_LiuI didn't14:11
xinran_what mail14:11
sundarHi Li_Liu, can we chat a bit?14:11
jiapeiGood evening14:12
Li_Liuyou wanna chat here?14:12
zhipengh[m]No meeting today , but feel free to chat :)14:13
sundarLi_Liu: For the FPGA bitstreams, we plan to use Glance properties14:14
sundarYour spec referes to a table. That is a table in Cyborg, right?14:14
sundarThe spec says: "For each metadata, it will be stored as a row in this Glance's image_properties in key-value pair format"14:17
*** alex_xu has joined #openstack-cyborg14:17
sundarHi Li_Liu14:20
Li_LiuFor the Glance properties. It's not a table in Cyborg14:21
Li_LiuI am re-using the table in Glance14:21
sundarAre you proposing to add it to Glance?14:21
sundarCyborg can use glaceclient to create and query properties14:22
Li_LiuI am just defining what should be in that table if it's meant for a bitstream14:22
sundarIf we propose a change to Glance, we should fly it by them. But, by using only the glanceclient, we should be ok14:22
Li_Liuyou are right14:23
Li_LiuWe are not changing anything in the Glance space14:23
sundarOk. Instead of phrasing it as rows in Glance, which is really Glance internals, we can say what properties we intend to create and query14:23
Li_Liuhmm. ok I can make according changes14:24
sundarCool, thanks.14:24
sundarAlso, having fields for 'shell' makes me concerned. Today, we use shell. But there is no guarantee that all products tomorrow14:24
sundar... will also use a shell14:25
sundarThere are lots of FPGA products out there, and somebody may want to make a service out of them14:25
Li_Liubut I think for at least Xilinx/Altera fpga, we are following such scheme14:28
Li_Liuthat field is also optional14:28
Li_Liuuser can totally ignore it14:29
sundarThere are plenty of Alter-based products out there that don;t use a shell. Same must be true of Xilinx too. We should not preclude them from being used in the cloud, by design14:29
*** alex_xu has quit IRC14:29
sundarThe spec says: "Required shell bs-uuid for this bitstream"14:29
sundarWhat we really need is 3 separate fields: shell, region type UUID, function type UUID.14:30
Li_Liuoh, for that14:30
sundarThe shell ID is presumably used by the proposed API to update shell logic, presumably14:31
sundarThe region type UUID is what is matched by the bitstream. A bitstream is synthesized for a specific region type14:31
Li_LiuI marked that filed as nullable=True. "Required shell bs-uuid for this bitstream" I mean if a shell is required for this bitstrea,14:31
sundarOK, Thanks for clarifying that the shell-id is optional14:32
sundarCan we add a region type UUID and a function type UUID also?14:32
sundarWe need region type for matching the bitstream to the region type14:33
shaohezhipengh[m]:  Li_Liu: sundar: can cyborg manage  MK-TME?
*** openstackgerrit has quit IRC14:34
sundarZHipeng: there are many aspects to MKTME (and  SGX). Some are clearly within Cyborg's reach. For others, I need to investigate14:35
Li_Liusundar: the problem is where are these region types pointing to?14:36
Li_Liuare they pointing to another bitstream image?14:37
sundarLi_Liu: The current approach seems to assume a simple model of a shell and a single region within that. That may not remain true over time. We may want to support multiple regions in the same shell. Then, we need a separate region type UUID for each such region. When we synthesize a bitstream, its metadata would say which region type it was synthesized for14:37
sundarEach bitstream corresponds to a single region type, so the metadata need only identify one region type UUID14:38
Li_LiuI see you point.14:38
shaohezhipengh[m]: Li_Liu: sundar:  For MKTME,  the keyID is limitation. Cyborg can manage the keyID,  for example, assign a keyID to a VM, and how multi-VM (belong to one tanent) share one keyID14:39
Li_Liuas you said, the region type UUID is packed in bitstreams during sythesis, Cyborg shoud not care which specific region this bs is targeting14:40
Li_Liuuntil the bs program driver would figure it out14:40
Li_Liulet's say you have shell A with 2 region c and d14:41
zhipengh[m]Is there a hardware for tme ?14:41
zhipengh[m]From wiki it looks like an instruction set ?14:41
sundarZhipeng: are you propsoing to extend Cyborg to SGX/TME, outside of accelerators?14:42
Li_Liuand you are loading bs B into Ac region14:42
zhipengh[m]That's why I asked the question14:43
Li_LiuCyborg only needs to know I have a shell A some where and I am sending bs B to the coresponding host(that contains an A)14:43
sundarLi_Liu: Cyborg needs to handle the use case where the flavor asks for a function ID and a product trait (e.g. Intel ARria 10). The scheduler picks up all the RPs with that trait, including regions of different types. Based on which region got selected, Cyborg would quey glance for a bitstream that has the function ID as its property, and also the same region type UUID as its property.14:43
Li_Liuand the program driver will load the bs B into the right region14:43
sundarLi_Liu: please look at the use cases I defined in the CYborg/Nova spec14:44
sundarZhipeng: yes, it is an instruction set, together with other hardware mechanisms. I am not aware of any device to handle it.14:46
sundarZhipeng: Sorry if I am vague: I don't know how much is publicly known already :)14:48
zhipengh[m]Then that might be out of our scope14:48
zhipengh[m]Understood :)14:48
sundarIs anybody asking Cyborg to support it? If so, we can probably ask for time to investigate?14:49
Li_Liusundar, you are saying when user doesn't know which bs they are trying to load at first place. but trying to find a region first then map to a usable bs on that region14:50
Li_Liuam I right?14:50
sundarLi_Liu: Users will not know about shell in general. The operator can broadly define 2 kinds of flavors: A. Flavor asks for a specific region type and optionally a bitstream. We call this Device as a Service. Nova finds a region of that type, and Cyborg programs it, before the VM comes up.14:52
sundarB. The flavor asks for a function ID and a device trait (e.g. Intel Arria 10), not a region type. Nova finds all devices of that type, which may contain different region types.14:53
sundarWe call this Accelerated Function as a Service. Intel is interested in both use cases (and their variants).14:54
Li_Liuah, I see14:54
Li_LiuI can surely add those two. then the one who is uploading the bs needs to figure out all of these information then14:55
sundarLi_Liu: yes. We can have an Cyborg API which accepts a bitstream, ensures required metadata, validates optional metadata and then uploads to Glance14:56
Li_LiuThanks a lot for the suggestions14:57
Li_Liuso this meeting turns out to be a FFA discussion :)14:58
sundarLi_Liu: FFA?14:58
Li_Liufree for all14:58
sundarlol, yes it was FFA14:59
sundarHope to make more discussions with you to make sure we are headed in the same direction :)15:00
sundar*have more15:00
Li_Liusure anytime :)15:00
shaohesundar: zhipengh[m]: Li_Liu: I means the KeyID management instead the TME, that libvirt's thing.15:07
shaohebut keyID seems not a acceleration, but it is a resource.15:07
*** alex_xu has joined #openstack-cyborg15:07
zhipengh[m]Yes that would be problematic15:15
*** shashaguo has quit IRC16:12
*** xinran_ has quit IRC16:20
*** Helloway has quit IRC16:22
*** sundar has quit IRC16:44
-openstackstatus- NOTICE: The Gerrit service at will be offline starting at 20:00 (in roughly 25 minutes) for a server move and operating system upgrade:
-openstackstatus- NOTICE: The Gerrit service at will be offline over the next 1-2 hours for a server move and operating system upgrade:
*** ChanServ changes topic to "The Gerrit service at will be offline over the next 1-2 hours for a server move and operating system upgrade:"20:03
*** Li_Liu has quit IRC20:48
*** ChanServ changes topic to "OpenStack Cyborg Project Discussion"22:08
-openstackstatus- NOTICE: Gerrit maintenance has concluded successfully22:08
*** mnaser_ has joined #openstack-cyborg23:09
*** mnaser has quit IRC23:16
*** mnaser_ is now known as mnaser23:16

Generated by 2.15.3 by Marius Gedminas - find it at!