| 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} | 
|---|