enthought/distarray — pull request #14 by bgrant (2013-08-28 00:25:50+00:00)
Title: DistArrayProxy indexing with less communication

The previous PR implements indexing on engines by querying all of them; the ones that don't have an index will return `None`. This one discovers the owning engine ahead of time and only queries that one. It ends up being slower, since there are more round-trips per access. It also runs into a possible bug when translating between IPython-engine-id and MPI-rank, which @kwmsmith will address (Issue #12).

A way forward would be to fetch the entire Map object back to the client at the beginning, or just implement the mappings on `DistArrayProxies` instead-of or in-addition-to on `DistArray`s.