Skip to content

Commit ff55fb5

Browse files
committed
Add content from p-template
1 parent f05f7fd commit ff55fb5

20 files changed

+1005
-7
lines changed

abstract.tex

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
\begin{abstract}
2+
%
3+
% problem
4+
% contribution
5+
% result
6+
% meaning
7+
%
8+
A good abstract and introduction should clearly state what problem
9+
the paper is addressing (e.g., making GC go faster, improving the
10+
user experience when programs have bugs, finding bugs), the
11+
contribution toward solving this problem (e.g., a GC that combines
12+
locality and efficiency, a new mechanism for finding leaks, a new
13+
programming language), the results (e.g., programs run faster or do
14+
not crash or are easier to understand), and include a summary
15+
statement that indicates what this means (e.g., GC can be a
16+
performance win instead of a cost, we can build better performing
17+
VMs now, we can keep programs running with errors of type y, or
18+
programmers can write programs more succinctly).
19+
\end{abstract}
20+
21+
%%% Local Variables:
22+
%%% mode: latex
23+
%%% TeX-master: "paper"
24+
%%% End:

analysis.tex

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
\section{Analysis}
2+
\label{sec:analysis}
3+
4+
5+
6+
\begin{figure}
7+
\centering
8+
\subfloat[Read\label{fig:codea}]{\lstinputlisting{code/read.java}}\\
9+
\subfloat[Write\label{fig:codeb}]{\lstinputlisting{code/write.java}}
10+
\caption{An example of including source code, and using subfigures.}
11+
\label{fig:code}
12+
\end{figure}
13+
14+
Figure~\ref{fig:code} shows how to use the \textjava{listings} package
15+
to include source code in the document. It also shows how to use
16+
\textjava{subfig} to generate subfloats. You can reference a subfloat
17+
just like a float. For example,
18+
Figure~\ref{fig:code}\subref{fig:codea} is an example of a read
19+
barrier.
20+
21+
%%% Local Variables:
22+
%%% mode: latex
23+
%%% TeX-master: "paper"
24+
%%% End:

code/read.java

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
@Inline
2+
public ObjectReference objectReferenceRead(
3+
ObjectReference src,
4+
Address slot)
5+
{
6+
ObjectReference value;
7+
value = slot.loadObjectReference;
8+
/* barrier-specific code here */
9+
return value;
10+
}

code/write.java

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
@Inline
2+
public final void objectReferenceWrite(
3+
ObjectReference src,
4+
Address slot,
5+
ObjectReference tgt)
6+
{
7+
/* barrier-specific code here */
8+
}

conclusion.tex

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
\section{Conclusion}
2+
3+
The conclusion should mirror the abstract, in a retrospective voice.
4+
There should be greater emphasis on `meaning' (i.e. the fourth element
5+
of the abstract structure, which speaks to the significance and
6+
consequences of this work).
7+
8+
%%% Local Variables:
9+
%%% mode: latex
10+
%%% TeX-master: "paper"
11+
%%% End:

conflicts.tex

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
\ \\
2+
Kathryn's conflict list:
3+
4+
\begin{itemize}
5+
\item All UT faculty and students
6+
\item All Microsoft Research
7+
\item Mathew Arnold, IBM
8+
\item Steve Blackburn, ANU
9+
\item Keith Cooper, Rice
10+
\item Perry Cheng, IBM
11+
\item Amer Diwan, Google
12+
\item Mike Hicks, UMD
13+
\item Martin Hirzel, IBM
14+
\item Tony Hosking, Purdue
15+
\item Robert Grimm, NYU
16+
\item David Grove, IBM
17+
\item Sam Guyer, Tufts
18+
\item Eliot Moss, UMass
19+
\item Nick Nethercote, Mozilla
20+
\item Darko Stefanovic, UNM
21+
\item Zhenlin Wang, MTU
22+
23+
\end{itemize}
24+
25+
\ \\
26+
Steve's conflict list:
27+
28+
\begin{itemize}
29+
\item All ANU
30+
\item Mathew Arnold, IBM
31+
\item Perry Cheng, IBM
32+
\item Amer Diwan, Google
33+
\item Daniel Frampton, Microsoft
34+
\item Matthias Hauswirth, U. Lugano
35+
\item Martin Hirzel, IBM
36+
\item Tony Hosking, Purdue
37+
\item David Grove, IBM
38+
\item Kathryn McKinley, Microsoft Research
39+
\item Eliot Moss, UMass
40+
\item Jenn Sartor, U. Gent
41+
\item Peter Sweeney, IBM
42+
43+
\end{itemize}
44+
45+
%%% Local Variables:
46+
%%% mode: latex
47+
%%% TeX-master: "paper"
48+
%%% End:

figs/decnew.pdf

8.88 KB
Binary file not shown.

figs/incnew.pdf

8.89 KB
Binary file not shown.

inlineit

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#!/usr/bin/perl
2+
3+
$mainfile = shift(@ARGV);
4+
$output = shift(@ARGV);
5+
6+
if ($mainfile eq "" || $output eq "" || ($mainfile =~ /.tex/) || (!$output =~ /.tex/)) {
7+
print("usage: inlineit <main> <inlined.tex>\n e.g. inlineit paper p101-blackburn.tex\n\nNOTE: This comes with no guarantee of correctness---please\n check the output carefully.\n"); exit(0);
8+
}
9+
10+
open (OUT, ">$output");
11+
inline($mainfile);
12+
print "\n";
13+
close OUT;
14+
15+
exit(0);
16+
sub inline {
17+
my ($inlinefile) = @_;
18+
my ($IN, $thisline, $restofline);
19+
if (!(($inlinefile =~ /.tex/) || ($inlinefile =~ /.bbl/) || ($inlinefile =~ /.sty/))) {
20+
$inlinefile .= ".tex";
21+
}
22+
print "$inlinefile ";
23+
die "Could not open $inlinefile" unless (open($IN, "<$inlinefile"));
24+
while (<$IN>) {
25+
if (/^\s*\\input\{.+\}/) {
26+
($input,$restofline) = /\\input\{([^\}]+)\}\s*(.*)/;
27+
# print "->$input<-";
28+
inline($input);
29+
print OUT $restofline;
30+
} elsif (/^\s*\\input\s+[^\\]+/) {
31+
($input,$restofline) = /\\input\s+([^\\\s]+)\s*(.*)/;
32+
# print "=>$input<=";
33+
inline($input);
34+
print OUT $restofline;
35+
} elsif (/^\\bibliography/) {
36+
} elsif (/\\end\{document\}/) {
37+
$thisline = $_;
38+
inline($mainfile.".bbl");
39+
print OUT $thisline;
40+
} else {
41+
print OUT $_;
42+
}
43+
}
44+
close $IN;
45+
}

intro.tex

+70
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
\section{Introduction}
2+
3+
Structure the introduction along the same lines as the abstract.
4+
Expand on the problem, contribution, result, and meaning in one or two
5+
paragraphs on each.
6+
7+
% problem
8+
9+
% contribution
10+
11+
% result
12+
13+
% meaning
14+
15+
A few grammatical notes. Elminate passive voice. Passivity
16+
introduces ambiguity (Who is the actor?). Ambiguity is occasionally a
17+
useful device, but as a rule it is the antithesis of effective
18+
scientific communication, so should be avoided. Do not use a citation
19+
as a noun, always use it as a footnote. For example, instead of
20+
``\cite{BH:04} measure barrier overheads.'' say ``\citeauthor{BH:04}
21+
measure barrier overheads~\cite{BH:04}.'' Do not use an unqualified
22+
``this'' as the noun of your sentence. For example, instead of ``This
23+
makes caches rock.'' say ``This locality of reference makes caches
24+
rock.''
25+
26+
Some other points of style. When writing numbers with units, you
27+
should insert a small space (\textjava{\\,}) between the number and
28+
the units. For example, use `\textjava{2.8\\,GHz}', which renders as
29+
2.8\,GHz. The space is there for correctness (see NIST standards on
30+
units), and the small space both typesets it nicely and ensures the
31+
unit does not wrap onto a different line from the number.
32+
33+
The \textjava{todonotes} package provides nice
34+
\todo[fancyline,color=green,size=\footnotesize]{This is a test of
35+
todonotes} tricks for adding todo items (\textjava{\\todo}) and
36+
notes to your draft document. You can make macros with \kathryn{This
37+
is a note from Kathryn.} color-coded notes from each of the authors.
38+
When you are ready to submit, you should silence them all with the
39+
\textjava{disable} package option. Figure~\ref{fig:todo}
40+
shows\steve{Here's one from Steve.} the package's
41+
\textjava{\\missingfigure} macro, which is a nice way to make
42+
place-holders.
43+
44+
When there are numbers for checking before submit, you can use \pending{12456}
45+
to highlight the number. After you check the number, switch it to
46+
\checked{12456}. When you submit the paper, change the these two macros to submit
47+
version, then the color will disappear.
48+
49+
\begin{figure}
50+
\centering
51+
\missingfigure{There's a figure missing here}
52+
\caption{An example of a missing figure, using \textjava{todonotes}'
53+
\textjava{\\missingfigure} macro.}
54+
\label{fig:todo}
55+
\end{figure}
56+
57+
There are good tools for automating the process of running latex. I
58+
discourage you from using a Makefile. If your editor does not do the
59+
job for you, you should probably use \textjava{latexmk}, which is
60+
bundled as part of the standard texlive distribution. There is an
61+
example configuration file provided in this directory. Copy it into
62+
your home director with the name \textjava{.latexmkrc} (notice the
63+
dot).
64+
65+
Gratuitous citation to generate a few bib entries \cite{BH:04,SBF:12,YBFH:12}.
66+
67+
%%% Local Variables:
68+
%%% mode: latex
69+
%%% TeX-master: "paper"
70+
%%% End:

latexmkrc

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# config file for latexmk. Copy to $HOME/.latexmkrc
2+
$bibtex = 'bibtex %O -min-crossrefs=2000 %B'; # turn off generation of bib entries for crossref items
3+
$pdf_mode = 1; # generate pdf by default
4+
$clean_ext = "bbl"; # (additional) things to remove when cleaning

listingslocal.sty

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
%
2+
% Use this to customize pretty-printing of source code. See the
3+
% documentation for the listings package for information.
4+
%
5+
\usepackage{listings} % for including source code in a document
6+
7+
\makeatother
8+
\lstloadlanguages{java}
9+
\lstset{
10+
numbers=left,
11+
numberstyle=\tiny\sffamily,
12+
stepnumber=1,
13+
numbersep=1em,
14+
language=java, % the language
15+
basicstyle=\scriptsize\ttfamily, % the basic font family to use
16+
commentstyle=\itshape, % the font for comments
17+
stringstyle=\ttfamily,
18+
% morekeywords={@Intrinsic, @Unboxed, @RawStorage}
19+
}
20+
21+
% This command allows us to conviniently put java text inline.
22+
\newcommand{\textjava}[1]{{\lstset{basicstyle=\footnotesize\ttfamily}\lstinline@#1@}}
23+
24+
\makeatletter

macros.tex

+68
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
%
2+
% todo
3+
%
4+
\DeclareRobustCommand{\steve}[1]{\todo[fancyline,color=green!40,size=\scriptsize]{\textsf{S: #1}}\xspace}
5+
\DeclareRobustCommand{\kathryn}[1]{\todo[fancyline,color=red!20,size=\scriptsize]{\textsf{K:#1}}\xspace}
6+
7+
% switch these around so the no-op ones are used before submitting
8+
\newcommand{\pending}[1]{\textcolor{red}{#1\xspace}}
9+
\newcommand{\checked}[1]{\textcolor{green}{#1\xspace}}
10+
%\newcommand{\pending}[1]{#1\xspace}
11+
%\newcommand{\checked}[1]{#1\xspace}
12+
13+
%
14+
% benchmarks
15+
%
16+
\newcommand*{\textbm}[1]{\textsf{#1}}
17+
18+
\newcommand{\specjvm}{\textbm{SPECjvm}\xspace}
19+
\newcommand{\jess}{\textbm{jess}\xspace}
20+
\newcommand{\raytrace}{\textbm{raytrace}\xspace}
21+
\newcommand{\db}{\textbm{db}\xspace}
22+
\newcommand{\javac}{\textbm{javac}\xspace}
23+
\newcommand{\jack}{\textbm{jack}\xspace}
24+
\newcommand{\compress}{\textbm{compress}\xspace}
25+
\newcommand{\mpegaudio}{\textbm{mpegaudio}\xspace}
26+
\newcommand{\mtrt}{\textbm{mtrt}\xspace}
27+
\newcommand{\jbb}{\textbm{jbb2000}\xspace}
28+
\newcommand{\specjbb}{\textbm{SPECjbb2000}\xspace}
29+
\newcommand{\newspecjbb}{\textbm{SPECjbb2005}\xspace}
30+
\newcommand{\psjbb}{\textbm{pseudojbb}\xspace}
31+
\newcommand{\pjbb}{\textbm{pjbb2005}\xspace}
32+
\newcommand{\dacapo}{\textbm{DaCapo}\xspace}
33+
\newcommand{\dacapover}{\textbm{DaCapo v.06-10-MR2}\xspace}
34+
\newcommand{\antlr}{\textbm{antlr}\xspace}
35+
\newcommand{\bloat}{\textbm{bloat}\xspace}
36+
\newcommand{\eclipse}{\textbm{eclipse}\xspace}
37+
\newcommand{\fop}{\textbm{fop}\xspace}
38+
\newcommand{\hsqldb}{\textbm{hsqldb}\xspace}
39+
\newcommand{\jython}{\textbm{jython}\xspace}
40+
\newcommand{\pmd}{\textbm{pmd}\xspace}
41+
\newcommand{\xalan}{\textbm{xalan}\xspace}
42+
\newcommand{\chart}{\textbm{chart}\xspace}
43+
\newcommand{\luindex}{\textbm{luindex}\xspace}
44+
\newcommand{\lusearch}{\textbm{lusearch}\xspace}
45+
\newcommand{\lusearchfix}{\textbm{lusearch-fix}\xspace}
46+
\newcommand{\avrora}{\textbm{avrora}\xspace}
47+
\newcommand{\sunflow}{\textbm{sunflow}\xspace}
48+
49+
%
50+
% Stuff for pretty printing the source code using listings.sty
51+
%
52+
53+
\lstloadlanguages{java}
54+
\lstset{
55+
numbers=left,
56+
numberstyle=\tiny\sffamily,
57+
stepnumber=1,
58+
numbersep=1em,
59+
language=java, % the language
60+
basicstyle=\scriptsize\ttfamily, % the basic font family to use
61+
commentstyle=\scriptsize\it\ttfamily,% the font for comments
62+
stringstyle=\ttfamily,
63+
escapechar={\$},
64+
morekeywords={Address, Word, Offset, Extent, ObjectReference}
65+
}
66+
67+
% This command allows us to conviniently put java text inline.
68+
\DeclareRobustCommand{\textjava}[1]{{\lstset{basicstyle=\footnotesize\ttfamily}\lstinline@#1@}}

methodology.tex

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
\section{Methodology}
2+
\label{sec:methodology}
3+
4+
%%% Local Variables:
5+
%%% mode: latex
6+
%%% TeX-master: "paper"
7+
%%% End:

paper.bib

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
@inproceedings{BH:04,
2+
author = {Blackburn, Stephen M. and Hosking, Antony L.},
3+
title = {Barriers: friend or foe?},
4+
pages = {143--151},
5+
doi = {10.1145/1029873.1029891},
6+
keywords = {garbage collection, java, memory management, write barriers},
7+
crossref = {ismm:04}
8+
}
9+
@inproceedings{SBF:12,
10+
author = {Shahriyar, Rifat and Blackbur, Stephen M. and Frampton, Daniel},
11+
title = {Down for the Count? {G}etting Reference Counting Back in the Ring},
12+
crossref = {ismm:12},
13+
}
14+
@inproceedings{YBFH:12,
15+
author = {Yang, Xi and Blackburn, Stephen M. and Frampton, Daniel and Hosking, Antony L.},
16+
title = {Barriers reconsidered, friendlier still!},
17+
crossref = {ismm:12},
18+
}
19+
@proceedings{ismm:04,
20+
title = "Proceedings of the 4th International Symposium on Memory Management, ISMM 2004, Vancouver, BC, Canada, October 24 - 25, 2004",
21+
booktitle = "Proceedings of the 4th International Symposium on Memory Management, ISMM 2004, Vancouver, BC, Canada, October 24 - 25, 2004",
22+
publisher = {ACM},
23+
year = {2004},
24+
isbn = {1-58113-945-4},
25+
}
26+
@proceedings{ismm:12,
27+
title = "Proceedings of the 11th International Symposium on Memory Management, ISMM 2012, Beijng, China, June 15 - 16, 2012",
28+
booktitle = "Proceedings of the 11th International Symposium on Memory Management, ISMM 2012, Beijng, China, June 15 - 16, 2012",
29+
publisher = {ACM},
30+
year = {2012},
31+
}
32+

0 commit comments

Comments
 (0)