@Stephan, why would there be a problem with the reliability of updates? Also, what would be the best way to achieve this functionality? Preferably using the current API.
Cheers! Sachin -- Sachin Goel Computer Science, IIT Delhi m. +91-9871457685 On Tue, Jul 21, 2015 at 4:17 PM, Stephan Ewen <se...@apache.org> wrote: > I see the use case for that, but I don't think that this should be realized > through Flink's network stack. The network stack is designed for continuous > streams, backpressure, and configurable throughput/latency. I think it is > not the best solution for asynchronous messaging. > > Also, for the ML field, you will want to be able to send "fire and forget" > messages, as exact and reliable updates are usually necessary for > stochastic algorithms. > > To me, this calls for a different communication fabric. > > > On Mon, Jul 20, 2015 at 5:22 PM, Sachin Goel <sachingoel0...@gmail.com> > wrote: > > > @Max, broadcast variables have to be declared before the program is > > executed. I want to be able to do something whereby I can send data > inside > > a map operation to all nodes. This would perhaps have an effect similar > to > > the recent discussion on making Accumulators available before Job > > completion. [I don't know if it has been merged yet.] > > > > @Stephan, I was thinking more in the direction of adding a task at every > > worker which works as an Event handler to receive data from other nodes. > I > > got the idea after going through the iterative runtime module which has a > > separate task for handling synchronization. I followed it up with going > > through the optimizer routine wherein it is added to some *auxiliary > > vertices *list. Can you elaborate on that? > > > > Further, is it possible to add an event handler to the runtime context > > itself? I wrote the boilerplate stuff for this but I haven't defined the > > channels where the event would be written to the network so other workers > > can also listen to it. [ > > https://github.com/sachingoel0101/flink/tree/async_iter]. I want to be > > able > > to call broadcast and receive as getRuntimeContext.broadcast and > > getRuntimeContext.receive, which ensures complete data transmission > across > > nodes, even at runtime. > > I'm not sure how to add a separate task which handles event over the > > network like the IterationSynchronization task [which is the best use I > > could find of using event handlers]. > > > > Let me know your thoughts. Or if you can think of a better way to achieve > > sharing of data which is *only *evaluated at runtime. > > > > Cheers! > > Sachin > > > > -- Sachin Goel > > Computer Science, IIT Delhi > > m. +91-9871457685 > > > > On Mon, Jul 20, 2015 at 3:34 PM, Stephan Ewen <se...@apache.org> wrote: > > > > > You are probably looking for a parameter server tool. > > > > > > How about setting up one of these memory grids to use that? Apache > > Ignite, > > > or Apache Geode, or one of those. > > > > > > On Fri, Jul 17, 2015 at 6:19 PM, Sachin Goel <sachingoel0...@gmail.com > > > > > wrote: > > > > > > > Hi all > > > > Is it possible to send and receive key,value pairs at runtime? I > would > > > like > > > > to broadcast values at runtime so they are available on every node. > > This > > > > somehow seems essential for an implementation of Asynchronous batch > > > > iterations. > > > > > > > > What I would like is to have two functions in the RuntimeContext, > > > > broadcast(key,value) and receive(key). > > > > If such a thing doesn't exist now, how should I approach implementing > > it? > > > > > > > > Cheers! > > > > Sachin > > > > -- Sachin Goel > > > > Computer Science, IIT Delhi > > > > m. +91-9871457685 > > > > > > > > > >