Author: Armin Rigo <ar...@tunes.org> Branch: extradoc Changeset: r5137:fc3667ad5e70 Date: 2014-01-23 17:36 +0100 http://bitbucket.org/pypy/extradoc/changeset/fc3667ad5e70/
Log: Updates diff --git a/talk/fosdem2014/Makefile b/talk/fosdem2014/Makefile new file mode 100644 --- /dev/null +++ b/talk/fosdem2014/Makefile @@ -0,0 +1,10 @@ +# Note to myself (arigo): run in the 64-bit environment + +pypy-stm.pdf: pypy-stm.tex + pdflatex pypy-stm.tex + +pypy-stm.tex: pypy-stm.rst + rst2beamer.py --stylesheet=stylesheet.latex --documentoptions=14pt --input-encoding=utf8 --output-encoding=utf8 $< | python expand-itemize.py > pypy-stm.tex + +clean: + rm -f pypy-stm.tex pypy-stm.pdf diff --git a/talk/fosdem2014/expand-itemize.py b/talk/fosdem2014/expand-itemize.py new file mode 100644 --- /dev/null +++ b/talk/fosdem2014/expand-itemize.py @@ -0,0 +1,10 @@ +import sys + +def expand(in_file, out_file): + for line in in_file: + line = line.replace(r'\begin{itemize}', + r'\begin{itemize}\setlength{\itemsep}{10pt}') + out_file.write(line) + +if __name__ == '__main__': + expand(sys.stdin, sys.stdout) diff --git a/talk/fosdem2014/pypy-stm.rst b/talk/fosdem2014/pypy-stm.rst --- a/talk/fosdem2014/pypy-stm.rst +++ b/talk/fosdem2014/pypy-stm.rst @@ -23,6 +23,8 @@ * PyPy dev, CPython dev +* This talk applies to Python or any similar language + Problem ======= @@ -61,24 +63,24 @@ Transactional Memory ==================== -* Recent research +* Recent research (past ~10 years) * Optimistically runs multiple threads even if they are supposed to be waiting on the same lock -* High overheads (but working on it) +* Usually, high overheads Expected results ================ -* Runs multiple threads despite having a single GIL +* Runs multiple threads despite a single GIL * Does not remove the GIL, but solves the original problem anyway -Kinds of Transactional Memory -============================= +Transactional Memory +==================== * STM: Software Transactional Memory @@ -90,16 +92,17 @@ Status ====== -* STM is still at least 2x slower (speed on a single core) +* STM is still at least 2x slower (on one core) -* HTM in Ruby with Intel Haswell CPUs: not bad but +* HTM: tested in Ruby with Intel Haswell CPUs, not bad but still disappointing (imo) STM C7 ====== -* Our group's research +* c7 is our group's research (there were a lot of previous + research that failed to give good results) * Hope: much less than 2x slower for "PyPy-like" usages @@ -113,13 +116,18 @@ * One bytecode? Obscure for the regular Python programmer -* Larger atomic sections: ``with atomic:`` +* Larger atomic sections: +:: -So... -===== + with atomic: + ... -* New way to synchronize multiple threads: ``with atomic:`` + +Larger atomic sections +====================== + +* New way to synchronize multiple threads * All ``atomic`` blocks appear to run serialized @@ -131,8 +139,8 @@ * Works even if you don't use threads! -* If the Twisted reactor was modified to start a pool of threads, - and to run all events in ``with atomic:`` +* If the Twisted reactor (say) was modified to start a pool of threads, + and to run all events in "``with atomic:``" * ...Then the end result is the same, for any Twisted program @@ -143,7 +151,7 @@ * The thread pool added behind the scene lets a STM/HTM-enabled Python run on several cores -* The ``with atomic:`` means that the semantics of the Twisted +* The "``with atomic:``" means that the semantics of the Twisted program didn't change @@ -171,9 +179,9 @@ * You need to figure out where the conficts are -* Maybe using some debugger-like tool that reports conflicts +* Maybe using some debugger-like tools that report conflicts -* Then you need small rewrites to avoid them +* Then you need (hopefully small) rewrites to avoid them What is the point? @@ -214,6 +222,12 @@ ========== * Mostly theoretical for now: there is a risk it won't work in - practice (I bet it will ``:-)``) + practice [1] * Expect progress in the following months: http://morepypy.blogspot.com/ + +:: + + - + +[1] I bet it will, eventually ``:-)`` diff --git a/talk/fosdem2014/stylesheet.latex b/talk/fosdem2014/stylesheet.latex new file mode 100644 --- /dev/null +++ b/talk/fosdem2014/stylesheet.latex @@ -0,0 +1,10 @@ +\usetheme{Warsaw} +\usecolortheme{whale} +\setbeamercovered{transparent} +\definecolor{darkgreen}{rgb}{0, 0.5, 0.0} +\newcommand{\docutilsrolegreen}[1]{\color{darkgreen}#1\normalcolor} +\newcommand{\docutilsrolered}[1]{\color{red}#1\normalcolor} +\addtobeamertemplate{block begin}{}{\setlength{\parskip}{35pt plus 1pt minus 1pt}} + +\newcommand{\green}[1]{\color{darkgreen}#1\normalcolor} +\newcommand{\red}[1]{\color{red}#1\normalcolor} _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit