Future Development Crew / Mirai #60
Replies: 1 comment 13 replies
-
On this I had an idea. I am prepared to provide access to dispatcher through a language interface. By that I mean an argument at As you know, the dispatcher event loop is hyper-efficient as it really is event-driven rather than polling. This means it is simply waiting most of the time. This is only possible due to its use of synchronisation primitives that In this way, the additional scaling and launching logic can be retained within I would be happy to facilitate this if you find this appealing. I use this type of interface all the time in my machine learning work, so it's pretty much second nature to me. The ability for meta-programming / DSL is one of the core strengths of the R language and it would be rather cool to make use of it here. |
Beta Was this translation helpful? Give feedback.
-
Not to propose a new direction in development, but this does get me thinking big-picture about the
mirai
/crew
integration.mirai
has a dispatcher as a separate process which frees the user session. But increw
, because of auto-scaling and transient workers, the main R process needs to be an event loop that continuously callspush()
,pop()
, orwait()
(similar to Gabor's task queue idea forcallr
). Thecrew
event loop is even more important now that there is throttling. All this makes me wonder ifcrew
itself could manually run an iteration of dispatch each time e.g.pop()
is called, rather than overburdening themirai
dispatcher. It might not be feasible due to the scope and intent ofmirai
, but I keep wondering about this.Originally posted by @wlandau in wlandau/crew#76 (comment)
Beta Was this translation helpful? Give feedback.
All reactions