*** caoyuan has joined #openstack-qinling | 00:36 | |
*** caoyuan has quit IRC | 00:44 | |
*** caoyuan has joined #openstack-qinling | 00:51 | |
*** huntxu has joined #openstack-qinling | 00:56 | |
*** caoyuan has quit IRC | 01:00 | |
*** openstackgerrit has joined #openstack-qinling | 01:22 | |
openstackgerrit | Xiaohan Bai proposed openstack/qinling master: Add a basic feature description about Sync/Async https://review.openstack.org/554752 | 01:22 |
---|---|---|
openstackgerrit | Xiaohan Bai proposed openstack/qinling master: Add a basic feature description about Sync/Async https://review.openstack.org/554752 | 01:25 |
openstackgerrit | Xiaohan Bai proposed openstack/qinling master: Add a basic feature description about Sync/Async https://review.openstack.org/554752 | 01:37 |
openstackgerrit | Xiaohan Bai proposed openstack/qinling master: Test https://review.openstack.org/554758 | 01:46 |
*** jiangyuan has joined #openstack-qinling | 01:52 | |
*** caoyuan has joined #openstack-qinling | 01:58 | |
*** caoyuan has quit IRC | 01:59 | |
*** caoyuan has joined #openstack-qinling | 02:00 | |
openstackgerrit | Merged openstack/qinling master: Add a basic feature description about Sync/Async https://review.openstack.org/554752 | 02:01 |
*** caoyuan_ has joined #openstack-qinling | 02:06 | |
*** caoyuan has quit IRC | 02:06 | |
openstackgerrit | Merged openstack/qinling master: zuul: create Neutron config dir for the devstack job https://review.openstack.org/554410 | 03:35 |
openstackgerrit | Jiangyuan proposed openstack/qinling master: add customized mem/cpu for image type function https://review.openstack.org/553947 | 04:55 |
openstackgerrit | Hunt Xu proposed openstack/qinling master: Exclude tests and db migrations from coverage report https://review.openstack.org/554802 | 06:25 |
jiangyuan | hi, huntxu ! What do you think of using resource.RLIMIT_CPU and resource.RLIMIT_AS to limit resource taken by file/package function in runtime server subprocess? | 06:42 |
huntxu | jiangyuan: I don't have very good idea either. For me, RLIMIT_CPU is about time limitation, so it seems better to be taken care of by the timeout param | 07:08 |
huntxu | jiangyuan: and take the python2 runtime as the example, if you use resource.set_rlimit, it will limit the flask app's resource usage, but not the actual function which we would like to limit | 07:11 |
huntxu | jiangyuan: they can be close if the overhead of the flask app is considered as a constant and users run the function synchronously. | 07:12 |
huntxu | jiangyuan: But for async executions, one flask app can run serveral copies of the function at the same time, so we still have to find a way to limit the function itself | 07:13 |
jiangyuan | each function will be run in a different subprocess, and what if we set limit in the individual subprocess | 07:18 |
huntxu | jiangyuan: then it is fine for the memory limitation | 07:23 |
jiangyuan | Do you think that the limitation in subprocess will affact it's parent process if we use resource.set_rlimit in subprocess? | 07:26 |
jiangyuan | And for RLIMIT_CPU, I want to use cpu param and timeout param to generate the value | 07:27 |
huntxu | jiangyuan: oh, current python2-runtime uses multiprocessing lib, that means it runs the functions as its childprocesses, so I think they will be limited seperately if you set the limit in the parent process(the flask app) | 07:32 |
huntxu | jiangyuan: but for nodejs runtime, I wonder there would be a way to achieve this | 07:32 |
jiangyuan | you said,'set the limit in the parent process'? not in the individual subprocess ? | 07:35 |
jiangyuan | I'm not familiar with nodejs, sorry | 07:37 |
huntxu | jiangyuan: yes a child process created via fork will inherit its parent's limitation, and the python2 runtime uses multiprocessing and on linux it should by default using for to create the child processes | 07:38 |
huntxu | jiangyuan: I'm not meaning we can always set the limit on the parent process. Just for the current python2 runtime implemetation, we can get what we want in this way | 07:42 |
jiangyuan | If you set the limit on the parent process, then all the executions(all subprocess) will share the same limitation, but we need to Re limit each subprocess every time of execution. | 07:47 |
jiangyuan | the parent process should be unlimited due to the pod is unlimited | 07:52 |
huntxu | jiangyuan: if the child process is created via fork, then the resource limitation is inherited, not shared | 07:57 |
huntxu | jiangyuan: but setting limitations for the child process is the right way to go, as it always works | 07:58 |
jiangyuan | Oh, I see. Thank you. I am going to do more tests on it, if it's ok , then I will commit a patch | 08:17 |
*** caoyuan_ has quit IRC | 10:13 | |
*** huntxu has quit IRC | 11:55 | |
*** jiangyuan has quit IRC | 12:41 | |
*** caoyuan has joined #openstack-qinling | 14:19 | |
*** caoyuan has quit IRC | 15:49 | |
*** caoyuan has joined #openstack-qinling | 15:58 | |
*** caoyuan_ has joined #openstack-qinling | 16:19 | |
*** caoyuan has quit IRC | 16:20 | |
*** caoyuan_ has quit IRC | 17:09 | |
*** rbrady is now known as rbrady-afk | 21:46 |
Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!