| 1 | % requires tex packages: texlive-base texlive-latex-base tex-common texlive-humanities texlive-latex-extra texlive-fonts-recommended
 | 
|---|
| 2 | 
 | 
|---|
| 3 | % inline code ©...© (copyright symbol) emacs: C-q M-)
 | 
|---|
| 4 | % red highlighting ®...® (registered trademark symbol) emacs: C-q M-.
 | 
|---|
| 5 | % blue highlighting ß...ß (sharp s symbol) emacs: C-q M-_
 | 
|---|
| 6 | % green highlighting ¢...¢ (cent symbol) emacs: C-q M-"
 | 
|---|
| 7 | % LaTex escape §...§ (section symbol) emacs: C-q M-'
 | 
|---|
| 8 | % keyword escape ¶...¶ (pilcrow symbol) emacs: C-q M-^
 | 
|---|
| 9 | % math escape $...$ (dollar symbol)
 | 
|---|
| 10 | 
 | 
|---|
| 11 | \documentclass[letterpaper,12pt,titlepage,oneside,final]{book}
 | 
|---|
| 12 | 
 | 
|---|
| 13 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
|---|
| 14 | 
 | 
|---|
| 15 | % Latex packages used in the document.
 | 
|---|
| 16 | \usepackage[T1]{fontenc}                                        % allow Latin1 (extended ASCII) characters
 | 
|---|
| 17 | \usepackage{textcomp}
 | 
|---|
| 18 | \usepackage[latin1]{inputenc}
 | 
|---|
| 19 | \usepackage{fullpage,times,comment}
 | 
|---|
| 20 | \usepackage{epic,eepic}
 | 
|---|
| 21 | \usepackage{upquote}                                            % switch curled `'" to straight
 | 
|---|
| 22 | \usepackage{dirtytalk}
 | 
|---|
| 23 | \usepackage{calc}
 | 
|---|
| 24 | \usepackage{xspace}
 | 
|---|
| 25 | \usepackage{graphicx}
 | 
|---|
| 26 | \usepackage{tabularx}
 | 
|---|
| 27 | \usepackage{multicol}
 | 
|---|
| 28 | \usepackage[acronym]{glossaries}
 | 
|---|
| 29 | \usepackage{varioref}   
 | 
|---|
| 30 | \usepackage{listings}                                           % format program code
 | 
|---|
| 31 | \usepackage[flushmargin]{footmisc}                              % support label/reference in footnote
 | 
|---|
| 32 | \usepackage{latexsym}                                           % \Box glyph
 | 
|---|
| 33 | \usepackage{mathptmx}                                           % better math font with "times"
 | 
|---|
| 34 | \usepackage[usenames]{color}
 | 
|---|
| 35 | \usepackage[pagewise]{lineno}
 | 
|---|
| 36 | \usepackage{fancyhdr}
 | 
|---|
| 37 | \renewcommand{\linenumberfont}{\scriptsize\sffamily}
 | 
|---|
| 38 | \input{style}                                                   % bespoke macros used in the document
 | 
|---|
| 39 | \usepackage[dvips,plainpages=false,pdfpagelabels,pdfpagemode=UseNone,colorlinks=true,pagebackref=true,linkcolor=blue,citecolor=blue,urlcolor=blue,pagebackref=true,breaklinks=true]{hyperref}
 | 
|---|
| 40 | \usepackage{breakurl}
 | 
|---|
| 41 | 
 | 
|---|
| 42 | \usepackage{tikz}
 | 
|---|
| 43 | \def\checkmark{\tikz\fill[scale=0.4](0,.35) -- (.25,0) -- (1,.7) -- (.25,.15) -- cycle;}
 | 
|---|
| 44 | 
 | 
|---|
| 45 | \renewcommand{\UrlFont}{\small\sf}
 | 
|---|
| 46 | 
 | 
|---|
| 47 | \setlength{\topmargin}{-0.45in}                         % move running title into header
 | 
|---|
| 48 | \setlength{\headsep}{0.25in}
 | 
|---|
| 49 | 
 | 
|---|
| 50 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
|---|
| 51 | 
 | 
|---|
| 52 | % Names used in the document.
 | 
|---|
| 53 | 
 | 
|---|
| 54 | \newcommand{\Version}{1.0.0}
 | 
|---|
| 55 | \newcommand{\CS}{C\raisebox{-0.9ex}{\large$^\sharp$}\xspace}
 | 
|---|
| 56 | 
 | 
|---|
| 57 | \newcommand{\Textbf}[2][red]{{\color{#1}{\textbf{#2}}}}
 | 
|---|
| 58 | \newcommand{\Emph}[2][red]{{\color{#1}\textbf{\emph{#2}}}}
 | 
|---|
| 59 | \newcommand{\R}[1]{\Textbf{#1}}
 | 
|---|
| 60 | \newcommand{\B}[1]{{\Textbf[blue]{#1}}}
 | 
|---|
| 61 | \newcommand{\G}[1]{{\Textbf[OliveGreen]{#1}}}
 | 
|---|
| 62 | \newcommand{\uC}{$\mu$\CC}
 | 
|---|
| 63 | \newcommand{\cit}{\textsuperscript{[Citation Needed]}\xspace}
 | 
|---|
| 64 | \newcommand{\TODO}{{\Textbf{TODO}}}
 | 
|---|
| 65 | 
 | 
|---|
| 66 | \input{glossary}
 | 
|---|
| 67 | 
 | 
|---|
| 68 | \newsavebox{\LstBox}
 | 
|---|
| 69 | 
 | 
|---|
| 70 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
|---|
| 71 | 
 | 
|---|
| 72 | \setcounter{secnumdepth}{3}                           % number subsubsections
 | 
|---|
| 73 | \setcounter{tocdepth}{3}                              % subsubsections in table of contents
 | 
|---|
| 74 | % \linenumbers                                          % comment out to turn off line numbering
 | 
|---|
| 75 | \makeindex
 | 
|---|
| 76 | \pagestyle{fancy}
 | 
|---|
| 77 | \fancyhf{}
 | 
|---|
| 78 | \cfoot{\thepage}
 | 
|---|
| 79 | \rfoot{v\input{version}}
 | 
|---|
| 80 | 
 | 
|---|
| 81 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
|---|
| 82 | 
 | 
|---|
| 83 | \begin{document}
 | 
|---|
| 84 | % \linenumbers
 | 
|---|
| 85 | 
 | 
|---|
| 86 | \title{Concurrency in \CFA}
 | 
|---|
| 87 | \author{Thierry Delisle \\
 | 
|---|
| 88 | School of Computer Science, University of Waterloo, \\ Waterloo, Ontario, Canada
 | 
|---|
| 89 | }
 | 
|---|
| 90 | 
 | 
|---|
| 91 | \maketitle
 | 
|---|
| 92 | 
 | 
|---|
| 93 | \tableofcontents
 | 
|---|
| 94 | 
 | 
|---|
| 95 | \input{intro}
 | 
|---|
| 96 | 
 | 
|---|
| 97 | \input{cforall}
 | 
|---|
| 98 | 
 | 
|---|
| 99 | \input{basics}
 | 
|---|
| 100 | 
 | 
|---|
| 101 | \input{concurrency}
 | 
|---|
| 102 | 
 | 
|---|
| 103 | \input{parallelism}
 | 
|---|
| 104 | 
 | 
|---|
| 105 | \chapter{Putting it all together}
 | 
|---|
| 106 | 
 | 
|---|
| 107 | \chapter{Conclusion}
 | 
|---|
| 108 | 
 | 
|---|
| 109 | \chapter{Future work}
 | 
|---|
| 110 | Concurrency and parallelism is still a very active field that strongly benefits from hardware advances. As such certain features that aren't necessarily mature enough in their current state could become relevant in the lifetime of \CFA.
 | 
|---|
| 111 | \subsection{Transactions}
 | 
|---|
| 112 | 
 | 
|---|
| 113 | \section*{Acknowledgements}
 | 
|---|
| 114 | 
 | 
|---|
| 115 | \clearpage
 | 
|---|
| 116 | \printglossary[type=\acronymtype]
 | 
|---|
| 117 | \printglossary
 | 
|---|
| 118 | 
 | 
|---|
| 119 | \clearpage
 | 
|---|
| 120 | \bibliographystyle{plain}
 | 
|---|
| 121 | \bibliography{cw92,distSharedMem,lfp92,mlw92,parallel,parallelIO,partheory,pl,pldi92,ps,realtime,techreportsPAB,visual,local}
 | 
|---|
| 122 | 
 | 
|---|
| 123 | 
 | 
|---|
| 124 | \end{document}
 | 
|---|