15:00:37 #startmeeting gantt 15:00:38 Meeting started Tue Feb 4 15:00:37 2014 UTC and is due to finish in 60 minutes. The chair is n0ano. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:00:40 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 15:00:42 The meeting name has been set to 'gantt' 15:00:50 anyone here to talk about the scheduler? 15:01:05 me here 15:01:16 o/ 15:01:21 hi 15:01:27 hi 15:02:10 hi 15:02:23 then let's get started 15:02:32 #topic no db scheduler 15:02:55 hmm, boris doesn't seem to be on, might not be able to talk about this one much 15:03:38 well, I can substitute boris to some extent 15:03:58 alexey_o, I thought you might but I didn't want to presume :-), what have you got? 15:04:49 I am working on it and I think we are close now 15:05:10 it appeared to be not a straitforward task to get rid of compute_nodes table 15:06:29 the devil is always in the details, can you give a short summary of the problem (emphasis on short) 15:07:34 well, right now I am hunting a geizenbug that thwarts tempest tests at the gate 15:08:16 also one can't just drop compute_nodes table and expect everything to keep working 15:08:51 it is related to services and appears to be joinedloaded quite frequently 15:09:04 so nothing obvious, just finding the implicit assumptions that are there. 15:09:29 good luck finding the bugs 15:09:35 alexey_o: pls remind me again, how nova conductor work with compute_nodes forked out? 15:09:58 and how computes do their frequence update : to nova-condcutor, or scheduler? 15:10:02 the last problem can be overcome with some effort 15:12:03 toan-tran: the idea was to get rid of writing state changes to compute_nodes table and keep host-related data right in places where it will be needed 15:12:21 for example in nova-scheduler 15:12:56 e.g. state the scheduler needs is periodically sent to the scheduler, not the DB 15:13:09 yes 15:13:23 ultimately that was supposed to be sent to schedulers 15:13:24 so nova-compute will send their updates to scheduler? that's quite a quantity 15:13:48 and also their would be a question of the existence of nova-conductor at this point 15:14:24 right now the change does not remove the conductor 15:14:37 it still listens to state updates 15:14:51 * mspreitz is still unclear on whether we are talking about one scheduler or multiple 15:15:11 when it receives an update it propagate it to all other entities which are interested in host states 15:15:22 that would be multiple schedulers 15:15:24 how many entities is that? Which are they? 15:15:48 at least one more -- a scheduler 15:16:23 And there is just one conductor? 15:16:29 it is quite possible to have mutliple schedulers so this change was made keeping this in mind 15:17:13 I am unsure whether or not current implementation allows for multiple conductors, but state synchronizatoiin allows for multiple conductors as well 15:18:18 And how is an update propagated from original receive (a conductor) to the other interested parties? And why is this better than just pub/sub to all of the interested parties directly in the first place? 15:20:09 as soon as one of the interested parties decides it wants to do sth with state data stored locally it checks a backend to see if there are any fresh updates 15:21:18 So it's polled/pulled, not pushed, to other parties 15:21:22 as for pub/sub approach if I get you right our technique does not load the queue as much as state broadcasting 15:21:26 n0ano mspreitz alexey_o can this discussion continue on ML instead of meeting? 15:21:53 OK with me 15:22:08 if it needs to go too much deeper we can move to ML, I'm OK with a little more discussion. 15:22:15 ok, feel free to ask any questions 15:22:40 mspreitz, maybe you can start a ML thread on your concerns, they certainly seem valid 15:22:52 n0ano: I agree, but we are getting stuck at places with no inputs, so just wanted to put a thought 15:22:55 Maybe I got the answer, let me see if I got it right.. 15:23:20 yes, it is polled by those who cares 15:23:36 The revised technique wins when updates are more frequent than need to know. In this situation, the revised technnique does a query when there is a need to know 15:24:27 yes, it was intended to be used in very large scale clouds 15:24:39 by very large I mean thousands of nodes 15:24:57 It's a question not only of scale but how often there is a need to know (scheduling task). 15:25:13 I presume the eval done is accurate. I think I got my answer. thanks 15:25:24 alexey_o, one quick question, last week boris mentioned the demo show bottlenecks not in the scheduler, do you know if these bottlenecks have been identified? 15:25:25 at such scale updates will be very frequent, especially comapred to requests for scheduling 15:25:37 alexey_o: I remark that there is not a design on how all these things interact with other components 15:25:46 on your blueprint/doc page 15:25:52 * mspreitz is not sure why we would expect scheduling rate to not increase with cloud size 15:25:58 could you elaborate in a wiki/doc 15:26:16 so that we can understand how no-db scheduler would interact with all other nova components 15:26:19 n0ano: unfortunately I don't know 15:26:32 and how current message flows would go 15:26:36 it is best to ask boris 15:26:48 mspreitz, the scheduling rate increases the but node updates increase (potentially even more) 15:27:03 alexey_o, tnx 15:27:16 n0ano: is that an observation based on data I can see? 15:27:17 toan-tran: yes, there is still a lot to document carefully 15:27:55 mspreitz, strictly guess, hard data would be good to have but `I` think the guess is good 15:28:24 Can you elaborate on why you expect scheduling rate to increase more slowly than cloud size? 15:28:43 mspreitz: some time ago I've measured delay in mysql responce to compute node get as a function of the number of compute node records 15:29:06 as long as its optional, then I am good with having it as an option for people to try, and we can decide to change the default, once we "are happy" with it 15:29:34 as cloud size increases the node updates increase, if guests are long lived then the scheduling rate should not increase at the same rate 15:29:45 as scheduler issues a request for all compute nodes to be grabbed from db it takes more time to schedule a single instance 15:30:17 number of nodes vs rate of builds vs rate of deletes is going to change what is best, so trying this out seems to make sense to me 15:31:01 alexey_o: yes, that makes sense. I think n0ano is making a different assertion: the (number of calls to scheduler)/time is less than proportional to cloud size 15:31:21 yes, I got it wrong the first time 15:31:52 n0ano: I do not follow your reply... 15:32:09 mspreitz, no, I think I'm saying (number of call to sched)/time is less than (node updates)/time, especially as the cloud gets larger 15:32:11 Do you expect guest lifetime to increase with cloud size? 15:32:49 node = host, I take it 15:32:57 mspreitz, yes 15:33:24 node update = guest start, guest stop, or stats, or what? 15:33:50 stats is the real concern, start/stop should be directly proportional to scheduler calls 15:34:12 mspreitz: I think node update = periodic ms 15:34:21 n0ano: your previus "yes" was response to terminology question, or guest lifetime? 15:34:48 I think terminology confusions, I'm not really concerned about lifetime 15:34:51 = number of nodes (per minute) 15:35:21 stats update / time should be proportional to cloud size 15:35:23 while (call to scheduler) = guesses requesting compute nodes 15:35:34 mspreitz: yes 15:36:01 so I do not see clearly the relation between the two 15:36:31 Big servers ==> less update & more call to scheduler 15:36:40 Assuming overall utilization stays constant as cloud size grows, and that guest lifetime stays constant as cloud size grows, this implies that guest arrivals/time stays constant as cloud size grows 15:37:19 but updates/time should increase as the cloud size increases 15:37:32 mspreitz: I don't think so 15:37:35 sorry, I stated my conclusion wrong 15:37:49 the implication is that guest arrivals / time will be proportional to cloud size 15:37:55 because cloud providers will not increase their size if there is a constant guest arrival 15:38:33 rember that is scheduler call is when there is a change in a number of instances of clients' applications 15:38:35 Assuming overall utilization stays constant as cloud size grows, and that guest lifetime stays constant as cloud size grows, this implies that guest arrivals/time will be proportional to cloud size 15:39:12 so if guest arrival is constant ==> there is almost no activities on clients' applications 15:39:18 it's hard to fantom 15:39:31 toan-tran: right. Read my corrected statement 15:39:35 well, my concern is the ratio between (update requests)/(scheduler requests), I'm thinking that ratio should be >1 15:40:18 guys, I hate to cut this short but I think we have to move on, one other topic I'd like to cover today 15:40:20 I gave an argument why instance creations / time will be proportional to cloud size. I think we agree that stats / time will be proportional to cloud size 15:40:40 mspreitz +1 15:40:50 OK with me 15:41:04 It will be good to see some real experiments and numbers 15:41:06 I think Boris showed that the revision is a win at the size he studied 15:41:22 and if my expectation is right, that winnage extends to other size 15:41:22 mspreitz, if you have experiments done in your team, please share the results or any paper you may have written 15:42:04 My group is not studying that question, we are pretty convinced that Boris has a win 15:42:15 we are working on scaling study 15:42:33 moving on... 15:42:39 +1 15:42:44 #scheduler code forklift 15:42:52 good news/bad news 15:43:17 good news - the changes to devstack have been merged so you can now requests the gantt scheduler service 15:43:59 bad news - still working on pushing the change to get gantt to pass the unit tests, everytime I think I've got it another (mostly minor) issue crops up 15:44:21 getting there, it's just a matter of resolving the review issues 15:45:07 n0ano: thats great! 15:45:11 +1 15:46:07 actually, the other good news is that gantt passes most of the tempest tests locally (I fail about 100 tests out of 2000 but I get the same failures on a clean devstack build with the nova scheduler so the failures are probably my local setup 15:46:43 anyone, if anyone want to review the changes at https://review.openstack.org/#/c/68521/ go for it 15:46:50 n0ano: does the scheduler code work standalone right now? without OS dependencies 15:47:24 ddutta, no, that's the next step, to cut all ties to nova, not there yet 15:47:49 coool! 15:48:31 I like stepwise progression - first tree -> unit tests -> tempests tests -> independent tree 15:48:51 agreed! 15:49:16 n0ano: I will give a try to gantt tree tempest tests tonight 15:49:20 n0ano +1 15:50:14 coolsvap, one warning, you have to change the SCHEDULER environment variable from it's default, set it to gantt.scheduler.filter_scheduler.FilterScheduler in your localrc 15:50:38 other than that, it should work (I want to know if it doesn't) 15:51:04 n0ano: is there a requirement for nova version? 15:51:39 n0ano: point noted! thx! 15:51:44 for the unit tests yes, my local tempest tests have just been against to of tree 15:51:51 s/to of/top of 15:52:06 n0ano, do you have any documentation of how we can start trying out gantt now ? 15:52:32 depending upon how far the top of tree changes this could be a problem for tempest, that's why we need to cut the cord as soon as possible 15:53:17 Yathi, no, it's pretty simple, I can sent an email to the ML to tell how to do it (enable gantt, disable n-sch, set SCHEDULER) 15:53:48 ok cool.. will look for it 15:54:18 aproaching the top of the hour 15:54:21 #topic opens 15:54:30 anyone have anything else? 15:54:39 ML about gantt will be good 15:54:48 Request to review two patches for Solver scheduler 15:54:56 pointers please 15:54:57 Yathi, links? 15:55:00 #link https://review.openstack.org/#/c/46588/ 15:55:11 #link https://review.openstack.org/#/c/70654/ 15:55:19 thanks 15:55:21 Yathi, tnx 15:55:21 and the API patches https://review.openstack.org/#/c/62557/ 15:55:37 sorry I meant API for group instance 15:55:48 and the Policy Based Scheduler patch: https://review.openstack.org/#/c/61386 15:55:50 :) 15:55:54 :) 15:55:58 :) 15:56:15 mspreitz, there have been multiple ML threads on gantt and there's a launchpad about it at https://etherpad.openstack.org/p/icehouse-external-scheduler 15:56:29 I meant the instr on how to test 15:56:44 mspreitz, ah, sure NP 15:56:56 * n0ano I guess I really have to write today :-) 15:57:39 n0ano, I may have missed this from the previous meetings, how will the new patches to scheduler, like the Solver scheduler, policy-based scheduler be merged with gantt ? 15:57:52 after gantt merging, before, and re-merge with gantt ? 15:58:44 the current gantt tree is a preview, after we get it working we'll re-create the tree, apply the changes we now know get it working (lots of work for me) and then cut to gantt 15:59:17 ok cool Thanks 15:59:31 OK guys, tnx and we'll talk again 15:59:37 #endmeeting