Index: doc/theses/thierry_delisle/annex/glossary.tex
===================================================================
--- doc/theses/thierry_delisle/annex/glossary.tex	(revision 728df66bde6df9b1ca4ad068be30ea89605f46a3)
+++ doc/theses/thierry_delisle/annex/glossary.tex	(revision 728df66bde6df9b1ca4ad068be30ea89605f46a3)
@@ -0,0 +1,101 @@
+\makeglossaries
+
+\longnewglossaryentry{callsite-locking}
+{name={callsite-locking}}
+{
+Locking done by the calling routine. With this technique, a routine calling a monitor routine aquires the monitor \emph{before} making the call to the actuall routine.
+}
+
+\longnewglossaryentry{entry-point-locking}
+{name={entry-point-locking}}
+{
+Locking done by the called routine. With this technique, a monitor routine called by another routine aquires the monitor \emph{after} entering the routine body but prior to any other code.
+}
+
+\longnewglossaryentry{bulk-acq}
+{name={bulk-acquiring}}
+{
+Implicitly acquiring several monitors when entering a monitor.
+}
+
+\longnewglossaryentry{multi-acq}
+{name={multiple-acquisition}}
+{
+Any locking technique that allows a single thread to acquire the same lock multiple times.
+}
+
+\longnewglossaryentry{mon-ctx}
+{name={monitor context}}
+{
+The state of the current thread regarding which monitors are owned.
+}
+
+
+\longnewglossaryentry{uthread}
+{name={user-level thread}}
+{
+Threads created and managed inside user-space. Each thread has its own stack and its own thread of execution. User-level threads are invisible to the underlying operating system.
+
+\textit{Synonyms : User threads, Lightweight threads, Green threads, Virtual threads, Tasks.}
+}
+
+\longnewglossaryentry{kthread}
+{name={kernel-level thread}}
+{
+Threads created and managed inside kernel-space. Each thread has its own stack and its own thread of execution. Kernel-level threads are owned, managed and scheduled by the underlying operating system.
+
+\textit{Synonyms : OS threads, Hardware threads, Physical threads.}
+}
+
+\longnewglossaryentry{fiber}
+{name={fiber}}
+{
+Fibers are non-preemptive user-level threads. They share most of the caracteristics of user-level threads except that they cannot be preempted by another fiber.
+
+\textit{Synonyms : Tasks.}
+}
+
+\longnewglossaryentry{job}
+{name={job}}
+{
+Unit of work, often sent to a thread pool or worker pool to be executed. Has neither its own stack nor its own thread of execution.
+
+\textit{Synonyms : Tasks.}
+}
+
+\longnewglossaryentry{pool}
+{name={thread-pool}}
+{
+Group of homogeneuous threads that loop executing units of works after another.
+
+\textit{Synonyms : }
+}
+
+\longnewglossaryentry{cfacluster}
+{name={cluster}}
+{
+A group of \gls{kthread} executed in isolation.
+
+\textit{Synonyms : None.}
+}
+
+\longnewglossaryentry{cfathread}
+{name={thread}}
+{
+User level threads that are the default in \CFA. Generally declared using the \code{thread} keyword.
+
+\textit{Synonyms : None.}
+}
+
+\longnewglossaryentry{preemption}
+{name={preemption}}
+{
+Involuntary context switch imposed on threads at a specified rate.
+
+\textit{Synonyms : None.}
+}
+
+\newacronym{tls}{TLS}{Thread Local Storage}
+\newacronym{api}{API}{Application Program Interface}
+\newacronym{raii}{RAII}{Resource Acquisition Is Initialization}
+\newacronym{numa}{NUMA}{Non-Uniform Memory Access}
Index: doc/theses/thierry_delisle/annex/local.bib
===================================================================
--- doc/theses/thierry_delisle/annex/local.bib	(revision 728df66bde6df9b1ca4ad068be30ea89605f46a3)
+++ doc/theses/thierry_delisle/annex/local.bib	(revision 728df66bde6df9b1ca4ad068be30ea89605f46a3)
@@ -0,0 +1,150 @@
+%    Predefined journal names:
+%  acmcs: Computing Surveys		acta: Acta Infomatica
+%  cacm: Communications of the ACM
+%  ibmjrd: IBM J. Research & Development ibmsj: IBM Systems Journal
+%  ieeese: IEEE Trans. on Soft. Eng.	ieeetc: IEEE Trans. on Computers
+%  ieeetcad: IEEE Trans. on Computer-Aided Design of Integrated Circuits
+%  ipl: Information Processing Letters	jacm: Journal of the ACM
+%  jcss: J. Computer & System Sciences	scp: Science of Comp. Programming
+%  sicomp: SIAM J. on Computing		tocs: ACM Trans. on Comp. Systems
+%  tods: ACM Trans. on Database Sys.	tog: ACM Trans. on Graphics
+%  toms: ACM Trans. on Math. Software	toois: ACM Trans. on Office Info. Sys.
+%  toplas: ACM Trans. on Prog. Lang. & Sys.
+%  tcs: Theoretical Computer Science
+@string{ieeepds="IEEE Transactions on Parallel and Distributed Systems"}
+@string{ieeese="IEEE Transactions on Software Engineering"}
+@string{spe="Software---\-Practice and Experience"}
+@string{sigplan="SIGPLAN Notices"}
+@string{joop="Journal of Object-Oriented Programming"}
+@string{popl="Conference Record of the ACM Symposium on Principles of Programming Languages"}
+@string{osr="Operating Systems Review"}
+@string{pldi="Programming Language Design and Implementation"}
+
+
+@article{HPP:Study,
+	keywords 	= {Parallel, Productivity},
+	author 	= {Lorin Hochstein and Jeff Carver and Forrest Shull and Sima Asgari and Victor Basili and Jeffrey K. Hollingsworth and Marvin V. Zelkowitz },
+	title 	= {Parallel Programmer Productivity: A Case Study of Novice Parallel Programmers},
+}
+
+@article{Chicken,
+	keywords	= {Chicken},
+	author	= {Doug Zongker},
+	title		= {Chicken Chicken Chicken: Chicken Chicken},
+	year		= 2006
+}
+
+@article{TBB,
+	key	= {TBB},
+	keywords 	= {Intel, TBB},
+	title 	= {Intel Thread Building Blocks},
+	note		= "\url{https://www.threadingbuildingblocks.org/}"
+}
+
+@manual{www-cfa,
+	key	= {CFA},
+	keywords 	= {Cforall},
+	author	= {C$\forall$},
+	title 	= {C$\forall$ Programmming Language},
+	note	= {\url{https://plg.uwaterloo.ca/~cforall}},
+}
+
+@mastersthesis{rob-thesis,
+	keywords 	= {Constructors, Destructors, Tuples},
+	author	= {Rob Schluntz},
+	title 	= {Resource Management and Tuples in Cforall},
+	year		= 2017,
+	school	= {University of Waterloo},
+	note	= {\url{https://uwspace.uwaterloo.ca/handle/10012/11830}},
+}
+
+@manual{Cpp-Transactions,
+	keywords	= {C++, Transactional Memory},
+	title		= {Technical Specification for C++ Extensions for Transactional Memory},
+	organization= {International Standard ISO/IEC TS 19841:2015 },
+	publisher   = {American National Standards Institute},
+	address	= {http://www.iso.org},
+	year		= 2015,
+}
+
+@article{BankTransfer,
+	key	= {Bank Transfer},
+	keywords 	= {Bank Transfer},
+	title 	= {Bank Account Transfer Problem},
+	publisher	= {Wiki Wiki Web},
+	address	= {http://wiki.c2.com},
+	year		= 2010
+}
+
+@misc{2FTwoHardThings,
+	keywords 	= {Hard Problem},
+	title 	= {TwoHardThings},
+	author	= {Martin Fowler},
+	howpublished= "\url{https://martinfowler.com/bliki/TwoHardThings.html}",
+	year		= 2009
+}
+
+@article{IntrusiveData,
+	title		= {Intrusive Data Structures},
+	author	= {Jiri Soukup},
+	journal	= {CppReport},
+	year		= 1998,
+	month		= May,
+	volume	= {10/No5.},
+	page		= 22
+}
+
+@article{Herlihy93,
+	author	= {Herlihy, Maurice and Moss, J. Eliot B.},
+	title	= {Transactional memory: architectural support for lock-free data structures},
+	journal	= {SIGARCH Comput. Archit. News},
+	issue_date	= {May 1993},
+	volume	= {21},
+	number	= {2},
+	month	= may,
+	year	= {1993},
+	pages	= {289--300},
+	numpages	= {12},
+	publisher	= {ACM},
+	address	= {New York, NY, USA},
+}
+
+@manual{affinityLinux,
+	key	= {TBB},
+	title		= "{Linux man page - sched\_setaffinity(2)}"
+}
+
+@manual{affinityWindows,
+	title		= "{Windows (vs.85) - SetThreadAffinityMask function}"
+}
+
+@manual{switchToWindows,
+	title		= "{Windows (vs.85) - SwitchToFiber function}"
+}
+
+@manual{affinityFreebsd,
+	title		= "{FreeBSD General Commands Manual - CPUSET(1)}"
+}
+
+@manual{affinityNetbsd,
+	title		= "{NetBSD Library Functions Manual - AFFINITY(3)}"
+}
+
+@manual{affinityMacosx,
+	title		= "{Affinity API Release Notes for OS X v10.5}"
+}
+
+@misc{NodeJs,
+	title		= "{Node.js}",
+	howpublished= "\url{https://nodejs.org/en/}",
+}
+
+@misc{SpringMVC,
+	title		= "{Spring Web MVC}",
+	howpublished= "\url{https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html}",
+}
+
+@misc{Django,
+	title		= "{Django}",
+	howpublished= "\url{https://www.djangoproject.com/}",
+}
