[IPython-dev] Named Engines

MinRK benjaminrk at gmail.com
Wed Jul 21 05:35:30 EDT 2010


I now have my MonitoredQueue object on git, which is the three socket Queue
device that can be the core of the lightweight ME and Task models (depending
on whether it is XREP on both sides for ME, or XREP/XREQ for load balanced
tasks).

The biggest difference in terms of design between Python in the Controller
picking the destination and this new device is that the client code actually
needs to know the XREQ identity of each engine, and all the switching logic
lives in the client code (if not the user exposed code) instead of the
controller - if the client says 'do x in [1,2,3]' they actually issue 3
sends, unlike before, when they issued 1 and the controller issued 3. This
will increase traffic between the client and the controller, but
dramatically reduce work done in the controller.

Since the engines' XREP IDs are known at the client level, and these are
roughly any string, it brings up the question: should we have strictly
integer ID engines, or should we allow engines to have names, like
'franklin1', corresponding directly to their XREP identity?

I think people might like using names, but I imagine it could get confusing.
 It would be unambiguous in code, since we use integer IDs and XREP
identities must be strings, so if someone keys on a string it must be the
XREP id, and if they key on a number it must be by engine ID.

-MinRK
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20100721/eaefbdc7/attachment.html>


More information about the IPython-dev mailing list