[pypy-commit] extradoc extradoc: some extensions, do the XXXs
Raemi
noreply at buildbot.pypy.org
Mon May 5 09:50:44 CEST 2014
Author: Remi Meier <remi.meier at inf.ethz.ch>
Branch: extradoc
Changeset: r5227:e223b2a3a220
Date: 2014-05-05 09:50 +0200
http://bitbucket.org/pypy/extradoc/changeset/e223b2a3a220/
Log: some extensions, do the XXXs
diff --git a/talk/icooolps2014/position-paper.tex b/talk/icooolps2014/position-paper.tex
--- a/talk/icooolps2014/position-paper.tex
+++ b/talk/icooolps2014/position-paper.tex
@@ -21,7 +21,7 @@
\conferenceinfo{ICOOOLPS workshop 2014}{July 28th, 2014, Uppsala, Sweden}
\copyrightyear{2014}
-\copyrightdata{978-1-nnnn-nnnn-n/yy/mm}
+%\copyrightdata{978-1-nnnn-nnnn-n/yy/mm}
\doi{nnnnnnn.nnnnnnn}
% Uncomment one of the following two, if you are not going for the
@@ -37,7 +37,7 @@
%% \titlebanner{banner above paper title} % These are ignored unless
%% \preprintfooter{short description of paper} % 'preprint' option specified.
-\title{The Way Forward in Parallelizing Dynamic Languages}
+\title{The Way Forward in Parallelising Dynamic Languages}
\subtitle{Position Paper, ICOOOLPS'14}
\authorinfo{Remigius Meier}
@@ -50,10 +50,21 @@
\maketitle
\begin{abstract}
-This is the text of the abstract.
+ Dynamic languages became very popular in recent years. At some
+ point, the need for concurrency arised, and many of them made the
+ choice to use a single global interpreter lock (GIL) to synchronize
+ the interpreter in a multithreading scenario. This choice however
+ makes it impossible to actually run code in parallel.
+
+ Here we want to compare different approaches to replacing the GIL
+ with a technology that allows parallel execution. We look at
+ fine-grained locking, shared-nothing, and transactional memory (TM)
+ approaches. We argue that software-based TM systems are the most
+ promising, especially since they also enable the introduction of
+ atomic blocks as a better synchronization mechanism in the language.
\end{abstract}
-\category{CR-number}{subcategory}{third-level}
+%\category{CR-number}{subcategory}{third-level}
% general terms are not compulsory anymore,
% you may leave them out
@@ -123,6 +134,8 @@
\section{Discussion}
+In this section we examine the approaches and highlight their
+advantages and disadvantages.
%% \paragraph{dynamic language VM problems}
%% XXX:
%% - high allocation rate (short lived objects)\\
@@ -141,9 +154,9 @@
code. While depending on this may not always be a good idea, it is
done in practice. A GIL-replacement should therefore uphold these
guarantees, while preferably also be as easily implementable as a GIL
-for the interpreter.
-[xxx mention that the interpreter is typically
- very large and maintained by open-source communities]
+for the interpreter. The latter can be especially important since
+many of these languages are developed and maintained by very large
+open-source communities, which are not easy to coordinate.
The GIL also allows for easy integration with external C libraries that
may not be thread-safe. For the duration of the calls, we
@@ -343,12 +356,11 @@
locally by a program transformation\cite{felber07}. There are attempts
to do the same for fine-grained locking\cite{bill06} but they require
a whole program analysis since locks are inherently non-composable.
-The effectiveness of these approaches still has to be proven for our
-use case.
-[xxx or maybe: "The effectiveness of these approaches is doubtful in our
-use case --- for example, it makes it close to impossible to order the
-locks consistently or to know in advance which locks a transaction will
-need.]
+The effectiveness of these approaches is doubtful in our use case,
+since we execute bytecode instructions in any order defined by a
+script only known at runtime. This makes it close to impossible to
+order locks consistently or to know in advance which locks a
+transaction will need.
%% - overhead (100-1000\%) (barrier reference resolution, kills performance on low \#cpu)
%% (FastLane: low overhead, not much gain)\\
More information about the pypy-commit
mailing list