Author: Armin Rigo <[email protected]>
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
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit