Author: Remi Meier <[email protected]>
Branch: extradoc
Changeset: r5282:c8099a66025a
Date: 2014-05-29 15:35 +0200
http://bitbucket.org/pypy/extradoc/changeset/c8099a66025a/

Log:    tweaks

diff --git a/talk/dls2014/paper/paper.tex b/talk/dls2014/paper/paper.tex
--- a/talk/dls2014/paper/paper.tex
+++ b/talk/dls2014/paper/paper.tex
@@ -966,7 +966,7 @@
 because we can minimise non-determinism. We also do not want to depend
 on the capabilities of the JIT in these experiments.
 
-We performed all benchmarks on a machine with a Intel Core i7-4770
+We performed all benchmarks on a machine with an Intel Core i7-4770
 [email protected] (4 cores, 8 threads).  There are 16~GiB of memory
 available and we ran them under Ubuntu 14.04 with a Linux 3.13.0
 kernel. The STM system was compiled with a number of segments $N=4$
@@ -1002,6 +1002,13 @@
 (incl. the sharing segment). During major collections we re-share the
 pages if possible.
 
+\begin{figure}[h]
+  \centering
+  \includegraphics[width=1\columnwidth]{plots/richards_mem.pdf}
+  \caption{Actual memory managed by the GC and the page privatisation
+    over time in Richards benchmark\label{fig:richards_mem}}
+\end{figure}
+
 In figure \ref{fig:richards_mem} we look at the memory usage of one of
 our benchmarks called Richards\footnote{OS kernel simulation
 benchmark}. The \emph{GC managed memory} counts all memory used in the
@@ -1034,18 +1041,11 @@
 duplicate any data structures like e.g. the Nursery for each
 thread. This, the missing optimisation, and the additional memory
 requirements for STM explained above account for this difference.
-We expect to improve this aspect in the future, in this paper we
+We expect to improve this aspect in the future; in this paper we
 want to focus first on performance.
 \remi{I don't know how much sense it makes to go deeper. We will
 improve this in the future, but right now this is the overall picture.}
 
-\begin{figure}[h]
-  \centering
-  \includegraphics[width=1\columnwidth]{plots/richards_mem.pdf}
-  \caption{Actual memory managed by the GC and the page privatisation
-    over time in Richards benchmark\label{fig:richards_mem}}
-\end{figure}
-
 
 
 \subsection{Overhead Breakdown}
@@ -1065,7 +1065,8 @@
 \subsection{Scaling}
 
 To asses how well the STM system scales on its own (without any real
-workload), we execute the following loop on 1 to 4 threads:
+workload), we execute the following loop on 1 to 4 threads on our
+Python interpreter with STM:
 \begin{lstlisting}
 def workload():
     i = 20000000
@@ -1073,11 +1074,13 @@
         i -= 1
 \end{lstlisting}
 
-For the results in figure \ref{fig:scaling}, we averaged
-over 5 runs and normalised the average runtimes to the
-time it took on a single thread. From this we see that there
-is additional overhead introduced by each thread ($13\%$
-for all 4 threads together).
+For the results in figure \ref{fig:scaling}, we averaged over 5 runs
+and normalised the average runtimes to the time it took on a single
+thread. From this we see that there is additional overhead introduced
+by each thread (\remi{$13\%$} for all 4 threads together). While this
+is not ideal, we think that \remi{$13\%$} are acceptable on four
+threads. In terms of throughput, 4 threads have \remi{$3.53\times$}
+more iterations per second than a single thread.
 
 \remi{what we don't show is by how much this overhead is influenced
 by allocations}
diff --git a/talk/dls2014/paper/plots/performance.pdf 
b/talk/dls2014/paper/plots/performance.pdf
index 
91fb1a124c3de207c8b7a0781e2869c04d295d85..fc79357f425d91a5bb8d7139429603cec7458407
GIT binary patch

[cut]

diff --git a/talk/dls2014/paper/plots/plot_scaling.py 
b/talk/dls2014/paper/plots/plot_scaling.py
--- a/talk/dls2014/paper/plots/plot_scaling.py
+++ b/talk/dls2014/paper/plots/plot_scaling.py
@@ -40,9 +40,9 @@
 
     print y
     ax.errorbar(xs, y, yerr=yerr,
-                label="STM")
+                label="pypy-stm-nojit")
     ax.plot(xs, opt_y, label="optimal")
-    return ax.legend(loc=4)
+    return ax.legend(loc=0)
 
 
 def main():
@@ -55,7 +55,7 @@
 
     ax.set_ylabel("Runtime normalized to 1 thread")
     ax.set_xlabel("Threads")
-    ax.set_ylim(0, 1.5)
+    ax.set_ylim(0.9, 1.3)
     ax.set_xlim(0, 5)
 
     legend = plot_mems(ax)
@@ -87,7 +87,7 @@
 if __name__ == "__main__":
     import argparse
     parser = argparse.ArgumentParser(description='Plot stm log files')
-    parser.add_argument('--figure-size', default='6x4',
+    parser.add_argument('--figure-size', default='6x3',
                         help='set figure size in inches: format=6x4')
     parser.add_argument('--font-size', default='10.0',
                         help='set font size in pts: 10.0')
diff --git a/talk/dls2014/paper/plots/scaling.pdf 
b/talk/dls2014/paper/plots/scaling.pdf
index 
3b5b43b271d3c03d3edf230a38d24389b7bfdb6c..04b19a058dc3bc65177d65132dbdb9ee2d1e2c3d
GIT binary patch

[cut]

_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to