[IPython-dev] Using Google App Engine channels instead of zmq in new IPython
Mon Feb 13 13:15:46 CST 2012
On Mon, Feb 13, 2012 at 10:44, Jason Grout <firstname.lastname@example.org>wrote:
> Over the Sage camp, we're starting to experiment with using Google App
> Engine to manage communication between browser frontends and worker
> (kernel) backends. The idea is to use GAE to host the notebook, while
> browsers and backend kernels communicate to send and retrieve work and
> results through the Google App Engine "channel" architecture . The
> result would be a massively more scalable notebook running in the cloud.
Scalability / Cloud are great, and certainly an ultimate goal, but my
perspective is that if replacing zmq is part of the GAE solution, then it
is just not the place for IPython.
> We'd (or at least I'd) also like to eventually switch to IPython 0.12,
> and try to leverage the new IPython architecture and communication in
> the Sage notebook. So my question is: how well is the zmq parts
> encapsulated, and do you think it would be hard to write a google app
> engine "channel"-based solution that plugs in the place of the zmq
> communication (and websocket for the html notebook) communication?
zmq is used principally in two places:
* The Session object, which abstracts network communication. You would
have to write a new version of this object
* The event/polling loops everywhere (specifically Kernel, KernelManager,
NotebookApp). If GoogleAppEngine channels can be made to work with the
tornado IOLoop, then this shouldn't be too tricky. Otherwise, you would
have to rewrite the eventloop of every application/thread we have.
> I've CCd both the ipython list and the sage-notebook list---hopefully
> the discussion can be carried on both lists. Also a disclaimer: I have
> about zero experience with GAE; I'm just trying to throw the idea out
> there and understand a little more about the possible work required.
>  http://code.google.com/appengine/docs/python/channel/
> IPython-dev mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the IPython-dev