[pypy-commit] extradoc extradoc: add test

Raemi noreply at buildbot.pypy.org
Tue May 27 11:35:14 CEST 2014


Author: Remi Meier <remi.meier at inf.ethz.ch>
Branch: extradoc
Changeset: r5272:a441daa69191
Date: 2014-05-27 11:36 +0200
http://bitbucket.org/pypy/extradoc/changeset/a441daa69191/

Log:	add test

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
@@ -983,6 +983,25 @@
 
 \subsection{Memory Requirements}
 
+There are several sources of extra memory requirements in our
+STM system. First, we need to keep track of the state an object
+is in. We do this using flags and an overflow number. Both currently
+fit in an additional header of 4~bytes per object.
+
+Second, there are areas in memory private to each segment (see
+section \ref{sub:Setup}). The Nursery for example is 4~MiB in
+size. Additionally, the area used for the read markers is lazily
+mapped by the kernel and only needed for objects in the old object
+space. Thus, it can be at most the total size of memory used by
+old objects divided by 16.
+
+Third, since we do copy on write, if all objects were to be
+written to at the same time, all pages would need to be privatised
+for all objects in the old object space. In that case we would
+need the total amount of memory required by old objects multiplied
+by $N+1$ (incl. the sharing segment).
+\remi{maybe collect some statistics about pages privatised per segment}
+
 \begin{itemize}
 \item stm\_flags per object
 \item read markers and other sections


More information about the pypy-commit mailing list