Author: Armin Rigo <ar...@tunes.org> Branch: extradoc Changeset: r5052:a2c650a3ebb6 Date: 2013-09-13 17:31 +0200 http://bitbucket.org/pypy/extradoc/changeset/a2c650a3ebb6/
Log: updates diff --git a/talk/pycon2014/abstract.rst b/talk/pycon2014/abstract.rst --- a/talk/pycon2014/abstract.rst +++ b/talk/pycon2014/abstract.rst @@ -8,7 +8,7 @@ Transactional Memory is a current academic research topic. Put the two together --brew for a couple of years-- and we obtain a version of PyPy that runs on multiple cores, without the infamous Global Interpreter -Lock (GIL). It has been released last year in beta, including +Lock (GIL). It has been released in 2013 in beta, including integration with the Just-in-Time compiler. @@ -22,33 +22,35 @@ ---------- Attendees will learn about a way to use multiple cores in their -applications, and how it differs from the 'multiprocessing' package. +applications, and how it differs from other solutions like the +'multiprocessing' package. Detailed abstract ----------------- -A special version of PyPy runs on multiple cores, without the infamous -Global Interpreter Lock (GIL). It means it can run a single program -using multiple cores, rather than being limited to one core, like it -is the case for CPU-intensive programs on CPython. +pypy-stm is a special version of PyPy that runs on multiple cores +without the infamous Global Interpreter Lock (GIL). It means that it +can run a single Python program using multiple cores, rather than being +limited to one core, as is the case for CPU-intensive programs on +CPython. -But the point is not only that: it can give the illusion of -single-threaded programming, even when you really want the program to -use multiple cores. I will give examples of what I mean exactly by -that. Starting from the usual multithreaded demos --with explicit -threads-- I will move to other examples where the actual threads are -hidden to the programmer. I will explain how we can modify/have -modified the core of async libraries (Twisted, Tornado, gevent, ...) to -use multiples threads, without exposing any concurrency issues to the -user of the library --- the existing Twisted/etc. programs still run -mostly without change. Depending on the status at the time of the -presentation, I will give demos of this, explaining in detail what -people can expect to have to change (very little), and how it performs -on real applications. +But the point is not only that: it can give the programmer the illusion +of single-threaded programming, even when he really wants the program to +use multiple cores. This naturally avoids a whole class of bugs. I +will give examples of what I mean exactly by that. Starting from the +usual multithreaded demos --with explicit threads-- I will move to other +examples where the actual threads are hidden to the programmer. I will +explain how we can modify/have modified the core of async libraries +(Twisted, Tornado, gevent, ...) to use multiples threads, without +exposing any concurrency issues to the user of the library --- the +existing Twisted/etc. programs still run mostly without change. +Depending on the status at the time of the presentation, I will give +demos of this, explaining in detail what people can expect to have to +change (very little), and how it performs on real applications. -I will give a comparison with the alternatives, foremost of which is the -stdlib 'multiprocessing' package. +I will give a comparison with the alternative approaches: independent +processes; the stdlib 'multiprocessing' package; or custom solutions. I will also give an overview of how things work under the cover: the 10000-feet view is to create internally copies of objects and write @@ -70,6 +72,8 @@ 4. How things work under the cover (5 min): overview. +5. Questions (5 min). + Additional notes ---------------- _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit