[IPython-dev] Using Google App Engine channels instead of zmq in new IPython

MinRK benjaminrk at gmail.com
Mon Feb 13 14:15:46 EST 2012

On Mon, Feb 13, 2012 at 10:44, Jason Grout <jason-sage at creativetrax.com>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 [1].  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.

> Thanks,
> Jason
> [1] http://code.google.com/appengine/docs/python/channel/
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120213/e085d808/attachment.html>

More information about the IPython-dev mailing list