[pypy-commit] extradoc extradoc: Fill in the PyCon'14 abstract.
arigo
noreply at buildbot.pypy.org
Fri Sep 13 17:23:45 CEST 2013
Author: Armin Rigo <arigo at tunes.org>
Branch: extradoc
Changeset: r5051:ab66660420aa
Date: 2013-09-13 17:23 +0200
http://bitbucket.org/pypy/extradoc/changeset/ab66660420aa/
Log: Fill in the PyCon'14 abstract.
diff --git a/talk/pycon2014/abstract.rst b/talk/pycon2014/abstract.rst
--- a/talk/pycon2014/abstract.rst
+++ b/talk/pycon2014/abstract.rst
@@ -8,27 +8,71 @@
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 freshly released in beta, including integration
-with the Just-in-Time compiler.
-
-The talk will also include a "general status of PyPy" part.
+Lock (GIL). It has been released last year in beta, including
+integration with the Just-in-Time compiler.
Audience
--------
+People interested in PyPy; people looking for concurrency solutions.
+
Objectives
----------
+Attendees will learn about a way to use multiple cores in their
+applications, and how it differs from 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.
+
+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.
+
+I will give a comparison with the alternatives, foremost of which is the
+stdlib 'multiprocessing' package.
+
+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
+changes into these copies. This allows the originals to continue being
+used by other threads. It is an adaptation of previous work on
+Software Transactional Memory (STM), notably RSTM.
+
Outline
-------
+1. Intro (5 min): PyPy, STM
+
+2. Examples and demos (10 min): simple multithreading; atomic
+ multithreading; Twisted/etc. model; performance numbers.
+
+3. Comparison (5 min): independent processes; multiprocessing; custom
+ solutions.
+
+4. How things work under the cover (5 min): overview.
+
Additional notes
----------------
+
+* Follow the progress of STM in PyPy:
+ http://morepypy.blogspot.ch/search/label/stm
More information about the pypy-commit
mailing list