A couple of days ago I heard about the Parallella [1] project which is an
open hardware platform similar to the Raspberry Pi but with much higher
capabilities.  It has a Zynq Z-7010 which has both a dual core ARM A9 (800
MHz) processor and a Artix-7 FPGA, a 16 core Epiphany multicore
accelerator, 1GB ram (see [2] for more info) and currently boots up in
Ubuntu.

The goal of the Parallella project is to develop an open parallel hardware
platform and development tools.  Recently they announced support for Python
with Mark Dewing [3] leading the effort.  I had asked Mark if he considered
PyPy but at this time he doesn't have time for this investigation and
he reposted my comment on the forum [4] with a couple of question. Maybe
one of you could answer them.

Working with the Parallella project maybe a good opportunity for the PyPy
project from both a PR perspective and as well as the
technical challenges it would present.  On the technical side it would give
the opportunity to test STM on a reasonable number of cores while also
dealing with cores from different architectures (ARM and Epiphany).  I
could see all the JITting occurring on the ARM cores with it producing
output for both architectures based on which type of core STM decides to
use for a chunk of work to execute on. Of course there is also
the challenge of bridging between the 2 architectures.  Maybe even some of
the more expensive STM operations could be offloaded to the FPGA or even a
limited amount of very hot sections of code could be JITted to the FPGA
(although this might be more work than its worth).

>From a PR perspective PyPy needs to excel at some niche market so that the
PyPy platform can take off.  When PyPy started concentrating on the
scientific market with increasing support for Numpy I thought this would be
the niche market that would get PyPy to take off.  But there have been a
couple of issue with this approach. There is a tremendous amount of work
that needs to be done so that PyPy can look attractive to this niche
market.  It requires supporting both NumPy and SciPy and their was an
expectation that if PyPy supports NumPy others would come to help out with
the SciPy support.  The problem is that there doesn't seam to be many who
are eager to pitch in for the SciPy effort and there also has not been a
whole lot willing to help will the ongoing NumPy work.  I think in general
the ratio of people who use NumPy and SciPy to those willing to contribute
is quite small.  So the idea of going after this market was a good idea and
can definitely have the opportunity to showing the strength of PyPy project
it hasn't done much to improve the image of the PyPy project.  It also
doesn't help that there is some commercial interests that have popped up
recently that have decided to play hard ball against PyPy by spreading FUD.

Unlike the Raspberry Pi hardware which can only support hobbyist the
Parallella hardware can support both hobbyists and commercial interests.
 They cost $100 which is more than the $35 for Raspberry Pi but still
within reach of most hobbyists and they didn't cut out the many features
that are needed for commercial interests.  The Parallella project raised
nearly $0.9 million on kickstarter [5] for the project with nearly 5000
backers.  Since many who will use the Parallella hardware also have
experience on embedded systems they and are more likely used to writing low
level code in assembly, FPGAs, and even lots of C code and I'm sure have
hit many issues with programming in parallel/multithreaded and would
welcome a better developer experience.  I bet many of them would be willing
to contribute both financially and time to supporting such an effort.  I
believe the Architecture of PyPy could lend it self to becoming the core of
such a development system and would allow Python to be used in this space.
 This could provide a lot of good PR for the PyPy project.

Now I'm not saying PyPy shouldn't devote any more time to supporting NumPy
as I'm sure when PyPy has very good support for both NumPy and SciPy it's
going to be a very good day for all Python supporters.  I just think that
the PyPy team needs to think about a strategy that in the end will help its
PR and gain support from a much larger community.  This project is doing a
lot of good things technically and now it just needs to get the attention
of the development community at large.  Now I can't predict if working with
the Parallella project would be the break though in PR that PyPy needs but
it's at least an option that's out there.

BTW I don't have any commercial interests in the Parallella project.  If
some time in the future I use their hardware it would likely be  as
a hobbyist and it would be nice to program it in Python.  My real objective
of this post to see the PyPy project gain wider interest as it would be a
good thing for Python.

[1] - http://www.parallella.org/
[2] - http://www.parallella.org/board/
[3] - http://forums.parallella.org/memberlist.php?mode=viewprofile&u=3344
[4] - http://forums.parallella.org/viewtopic.php?f=26&t=139
[5] -
http://www.kickstarter.com/projects/adapteva/parallella-a-supercomputer-for-everyone

John
_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
http://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to