From: Jean-Marc V. <jea...@he...> - 2000-09-04 18:31:35
|
> Jean-Marc, this looks really good! You and Jarl have definately convinced > me that we shouldn't worry too much about the "other langage" plugins > right now, and just focus on getting the PL/BL communication down. I > really like this plan you've proposed. Can we IRC about it later today at > 4ish our time (10ish Jarl's time)? If we can agree on doing things this > way, I would really like to hash out what we need to do to start coding > on it! 4pm is OK for me. > > I'm assuming the BL will be split in a "master" process, running where > > the UI is running, and a bunch of "slave" processes on remote (and > local) > > machines. > > Makes sense. > > > I think the master could easiliy be linked with the DL, so > > communications would be > > easy (function calls). > > Right now Jarl and I have set up this link via CORBA. From my conversation with Jarl: Jarl: > > Sounds like you understand the BL pretty good. Only one thing: the BL wont have > > master or slave processes, every machine will have 1 BL process running. Me: > Well, what I meant by the BL "master" was the part that splits the networks and > sends it to all the machines... but maybe it's part of the DL. One way or > another, the code is at the same place and does the same thing, so it just a > matter of what you call what. > Okay, so we are going to have the master BL be able to split a network > description up arbitratily in sub-networks (as you should in your > A->B->C->D example) into the slave BL processes. Then these slave BLs can > be responsible for using the Overflow getOutput() pull system to execute > a sub-network. Am I understanding your ideas correctly? Yes. > > Now let's say that in our precious example node C was a viewer. When C > > gets the result from B, it will tell (with a function call) its BL to > display > > some data. > > Its BL slave will send that to its BL "master", which will send it > > (function call) to the DL, which will know what to do with it: either > send it to > > the GUI or log it in a file for a batch processing (or even discard it > when > > the user doesn't want to see it). > > > > What do you think of that? > > Very nice! That helps rid us of the whole callback-inside-a-node thing, > since the BL can be responsible for splitting up a process so it > automagically can retrieve the results it needs to return to the DL. This > should reduce a level of callbacks and hopefully make things cleaner. My > biggest question is how are we going to implement this so that the BL > knows how to break things up? Jarl definately knows better then I how the > BL can handle this and I guess this is something we can chat about > tonight. I'm not sure what you mean by "callback-inside-a-node thing". As for how the BL will split the network, it can happen in many different ways. The user might want to select from the GUI what runs where, then the BL can look if all the nodes are available from all the machines... at some point in the future, the BL may be "smart" enough to know how to split the processing without any action from the user, but I don't see that happening in the short term. Jean-Marc -- Jean-Marc Valin Universite de Sherbrooke - Genie Electrique va...@ge... |