[Python-ideas] solving multi-core Python

Nick Coghlan ncoghlan at gmail.com
Fri Jun 26 13:12:24 CEST 2015

On 26 Jun 2015 01:27, "Sturla Molden" <sturla.molden at gmail.com> wrote:
> On 25/06/15 16:31, Nick Coghlan wrote:
>> 3. The potential for collisions between objects means it isn't an
>> embarrassingly parallel problem where the different computational
>> threads can entirely ignore the existence of the other threads
> Well, you can have a loop that updates all particles, e.g. by calling a
coroutine associated with each particle, and then this loop is an
embarrassingly parallel problem. You don't need to associate each particle
with its own thread.
> It is bad to teach students to use one thread per particle anyway.
Suddenly they write a system that have thousands of threads.

And when they hit that scaling limit is when they should need to learn why
this simple approach doesn't scale very well, just as purely procedural
programming doesn't handle increasing structural complexity and just as the
"c10m" problem (like the "c10k" problem before it) is teaching our industry
as a whole some important lessons about scalable hardware and software
design: http://c10m.robertgraham.com/p/manifesto.html

There are limits to the degree that education can be front loaded before
all the pre-emptive "you'll understand why this is important later"
concerns become a barrier to learning the fundamentals, rather than a
useful aid. Sometimes folks really do need to encounter a problem
themselves in order to appreciate the value of the more complex solutions
that make it possible to get past those barriers.


> Sturla
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> https://mail.python.org/mailman/listinfo/python-ideas
> Code of Conduct: http://python.org/psf/codeofconduct/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20150626/b8ee54d2/attachment.html>

More information about the Python-ideas mailing list