Index: doc/theses/thierry_delisle_PhD/thesis/Makefile
===================================================================
--- doc/theses/thierry_delisle_PhD/thesis/Makefile	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
+++ doc/theses/thierry_delisle_PhD/thesis/Makefile	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
@@ -0,0 +1,98 @@
+## Define the configuration variables.
+
+Build = build
+Figures = img
+Macros = ../../../LaTeXmacros
+TeXLIB = .:${Macros}:${Build}:../../../bibliography:
+LaTeX  = TEXINPUTS=${TeXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${Build}
+BibTeX = BIBINPUTS=${TeXLIB} && export BIBINPUTS && bibtex
+
+MAKEFLAGS = --no-print-directory --silent #
+VPATH = ${Build} ${Figures}
+
+## Define the text source files.
+TEXTS = ${addprefix text/, ${addsuffix .tex, \
+	front \
+	intro \
+	runtime \
+	core \
+	practice \
+	io \
+}}
+
+FIGURES = ${addsuffix .tex, \
+}
+
+PICTURES = ${addsuffix .pstex, \
+	base \
+	empty \
+}
+
+PROGRAMS = ${addsuffix .tex, \
+}
+
+GRAPHS = ${addsuffix .tex, \
+}
+
+## Define the documents that need to be made.
+all: thesis.pdf
+thesis.pdf: ${TEXTS} ${FIGURES} ${PICTURES}
+
+DOCUMENT = thesis.pdf
+BASE = ${basename ${DOCUMENT}}
+
+# Directives #
+
+.PHONY : all clean					# not file names
+
+all : ${DOCUMENT}
+
+clean :
+	@rm -frv ${DOCUMENT} ${BASE}.ps ${Build}
+
+# File Dependencies #
+
+%.pdf : build/%.ps | ${Build}
+	ps2pdf $<
+
+build/%.ps : build/%.dvi | ${Build}
+	dvips $< -o $@
+
+build/%.dvi : %.tex Makefile | ${Build}
+	# Must have *.aux file containing citations for bibtex
+	if [ ! -r ${basename $@}.aux ] ; then ${LaTeX} $< ; fi
+	-${BibTeX} ${basename $@}
+	# Some citations reference others so run again to resolve these citations
+	${LaTeX} $<
+	-${BibTeX} ${basename $@}
+	# Make index from *.aux entries and input index at end of document
+	-makeglossaries -q -s ${basename $@}.ist ${basename $@}
+	# Run again to finish citations
+	${LaTeX} $<
+
+## Define the default recipes.
+
+${Build}:
+	mkdir -p ${Build}
+
+%.tex : fig/%.fig | ${Build}
+	fig2dev -L eepic $< > ${Build}/$@
+
+%.ps : fig/%.fig | ${Build}
+	fig2dev -L ps $< > ${Build}/$@
+
+%.pstex : fig/%.fig | ${Build}
+	fig2dev -L pstex $< > ${Build}/$@
+	fig2dev -L pstex_t -p ${Build}/$@ $< > ${Build}/$@_t
+
+## pstex with inverted colors
+%.dark.pstex : fig/%.fig Makefile | ${Build}
+	fig2dev -L pstex $< > ${Build}/$@
+	sed -i 's/\/col-1 {0 setgray} bind def/\/col-1 {1 setgray} bind def/g' ${Build}/$@
+	sed -i 's/\/col0 {0.000 0.000 0.000 srgb} bind def/\/col0 {1.000 1.000 1.000 srgb} bind def/g' ${Build}/$@
+	sed -i 's/\/col7 {1.000 1.000 1.000 srgb} bind def/\/col7 {0.000 0.000 0.000 srgb} bind def/g' ${Build}/$@
+	fig2dev -L pstex_t -p ${Build}/$@ $< > ${Build}/$@_t
+
+# Local Variables: #
+# compile-command: "make" #
+# End: #
Index: doc/theses/thierry_delisle_PhD/thesis/fig/base.fig
===================================================================
--- doc/theses/thierry_delisle_PhD/thesis/fig/base.fig	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
+++ doc/theses/thierry_delisle_PhD/thesis/fig/base.fig	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
@@ -0,0 +1,83 @@
+#FIG 3.2  Produced by xfig version 3.2.7b
+Landscape
+Center
+Inches
+Letter
+100.00
+Single
+-2
+1200 2
+6 6750 4125 7050 4275
+1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 6825 4200 20 20 6825 4200 6845 4200
+1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 6900 4200 20 20 6900 4200 6920 4200
+1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 6975 4200 20 20 6975 4200 6995 4200
+-6
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 3900 2400 300 300 3900 2400 4200 2400
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 3900 3300 300 300 3900 3300 4200 3300
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 5100 1500 300 300 5100 1500 5400 1500
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 5100 2400 300 300 5100 2400 5400 2400
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 5100 3300 300 300 5100 3300 5400 3300
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 6300 2400 300 300 6300 2400 6600 2400
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 6300 3300 300 300 6300 3300 6600 3300
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 4509 3302 300 300 4509 3302 4809 3302
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 2700 3300 300 300 2700 3300 3000 3300
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 2700 2400 300 300 2700 2400 3000 2400
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 3000 3900 3000 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 3600 3900 3600 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 4200 3900 4200 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 4800 3900 4800 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 5400 3900 5400 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 6000 3900 6000 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 6600 3900 6600 4500
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 2400 3900 7200 3900 7200 4500 2400 4500 2400 3900
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 2700 3300 2700 2700
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 3900 3300 3900 2700
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 3900 4200 3900 3600
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 5100 2475 5100 1800
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 5100 3300 5100 2700
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 5100 4200 5100 3600
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 6300 3300 6300 2700
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 6300 4200 6300 3600
+2 1 0 1 -1 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 2700 4200 2700 3600
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 2400 4275 3000 4275
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 4500 4200 4500 3600
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 2400 3375 3000 3375
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 2400 2475 3000 2475
+4 2 -1 50 -1 0 12 0.0000 2 135 630 2100 3075 Threads\001
+4 2 -1 50 -1 0 12 0.0000 2 165 450 2100 2850 Ready\001
+4 1 -1 50 -1 0 11 0.0000 2 135 180 2700 4450 TS\001
+4 2 -1 50 -1 0 12 0.0000 2 165 720 2100 4200 Array of\001
+4 2 -1 50 -1 0 12 0.0000 2 150 540 2100 4425 Queues\001
+4 1 -1 50 -1 0 11 0.0000 2 135 180 2700 3550 TS\001
+4 1 -1 50 -1 0 11 0.0000 2 135 180 2700 2650 TS\001
Index: doc/theses/thierry_delisle_PhD/thesis/fig/empty.fig
===================================================================
--- doc/theses/thierry_delisle_PhD/thesis/fig/empty.fig	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
+++ doc/theses/thierry_delisle_PhD/thesis/fig/empty.fig	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
@@ -0,0 +1,41 @@
+#FIG 3.2  Produced by xfig version 3.2.7b
+Landscape
+Center
+Inches
+Letter
+100.00
+Single
+-2
+1200 2
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 5100 3300 300 300 5100 3300 5400 3300
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 2700 2400 300 300 2700 2400 3000 2400
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 2700 3300 300 300 2700 3300 3000 3300
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 3000 3900 3000 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 3600 3900 3600 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 4200 3900 4200 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 4800 3900 4800 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 5400 3900 5400 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 6000 3900 6000 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 6600 3900 6600 4500
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 2400 3900 7200 3900 7200 4500 2400 4500 2400 3900
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 2700 3300 2700 2700
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 5100 4200 5100 3600
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 2700 4200 2700 3600
+4 2 -1 50 -1 0 12 0.0000 2 165 720 2100 4200 Array of\001
+4 2 -1 50 -1 0 12 0.0000 2 150 540 2100 4425 Queues\001
+4 2 -1 50 -1 0 12 0.0000 2 135 630 2100 3075 Threads\001
+4 2 -1 50 -1 0 12 0.0000 2 165 450 2100 2850 Ready\001
Index: doc/theses/thierry_delisle_PhD/thesis/fig/emptybit.fig
===================================================================
--- doc/theses/thierry_delisle_PhD/thesis/fig/emptybit.fig	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
+++ doc/theses/thierry_delisle_PhD/thesis/fig/emptybit.fig	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
@@ -0,0 +1,47 @@
+#FIG 3.2  Produced by xfig version 3.2.5c
+Landscape
+Center
+Inches
+Letter  
+100.00
+Single
+-2
+1200 2
+6 6750 4125 7050 4275
+1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 6825 4200 20 20 6825 4200 6845 4200
+1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 6900 4200 20 20 6900 4200 6920 4200
+1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 6975 4200 20 20 6975 4200 6995 4200
+-6
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 5100 3300 300 300 5100 3300 5400 3300
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 2700 2400 300 300 2700 2400 3000 2400
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 2700 3300 300 300 2700 3300 3000 3300
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 3000 3900 3000 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 3600 3900 3600 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 4200 3900 4200 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 4800 3900 4800 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 5400 3900 5400 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 6000 3900 6000 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 6600 3900 6600 4500
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 2400 3900 7200 3900 7200 4500 2400 4500 2400 3900
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 2700 3300 2700 2700
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 5100 4200 5100 3600
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 2700 4200 2700 3600
+4 0 0 50 -1 5 14 0.0000 2 180 1800 3750 4800 [1000100...]\001
+4 2 0 50 -1 0 12 0.0000 2 180 660 2100 4200 Array of\001
+4 2 0 50 -1 0 12 0.0000 2 165 600 2100 4425 Queues\001
+4 2 0 50 -1 0 12 0.0000 2 135 645 2100 3075 Threads\001
+4 2 0 50 -1 0 12 0.0000 2 180 525 2100 2850 Ready\001
Index: doc/theses/thierry_delisle_PhD/thesis/fig/emptytls.fig
===================================================================
--- doc/theses/thierry_delisle_PhD/thesis/fig/emptytls.fig	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
+++ doc/theses/thierry_delisle_PhD/thesis/fig/emptytls.fig	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
@@ -0,0 +1,51 @@
+#FIG 3.2  Produced by xfig version 3.2.5c
+Landscape
+Center
+Inches
+Letter  
+100.00
+Single
+-2
+1200 2
+6 6750 4125 7050 4275
+1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 6825 4200 20 20 6825 4200 6845 4200
+1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 6900 4200 20 20 6900 4200 6920 4200
+1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 6975 4200 20 20 6975 4200 6995 4200
+-6
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 5100 3300 300 300 5100 3300 5400 3300
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 2700 2400 300 300 2700 2400 3000 2400
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 2700 3300 300 300 2700 3300 3000 3300
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 3000 3900 3000 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 3600 3900 3600 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 4200 3900 4200 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 4800 3900 4800 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 5400 3900 5400 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 6000 3900 6000 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 6600 3900 6600 4500
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 2400 3900 7200 3900 7200 4500 2400 4500 2400 3900
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 2700 3300 2700 2700
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 5100 4200 5100 3600
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 2700 4200 2700 3600
+4 0 0 50 -1 5 14 0.0000 2 180 1800 2400 5100 [1000100...]\001
+4 0 0 50 -1 5 14 0.0000 2 180 1800 4425 5100 [1000100...]\001
+4 0 0 50 -1 5 14 0.0000 2 180 1800 6450 5100 [1000100...]\001
+4 0 0 50 -1 0 13 0.0000 2 135 690 1500 5175 Bitmask\001
+4 0 0 50 -1 0 13 0.0000 2 150 1155 1050 4950 Thread-Local\001
+4 2 0 50 -1 0 12 0.0000 2 180 660 2100 4200 Array of\001
+4 2 0 50 -1 0 12 0.0000 2 165 600 2100 4425 Queues\001
+4 2 0 50 -1 0 12 0.0000 2 135 645 2100 3075 Threads\001
+4 2 0 50 -1 0 12 0.0000 2 180 525 2100 2850 Ready\001
Index: doc/theses/thierry_delisle_PhD/thesis/fig/emptytree.fig
===================================================================
--- doc/theses/thierry_delisle_PhD/thesis/fig/emptytree.fig	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
+++ doc/theses/thierry_delisle_PhD/thesis/fig/emptytree.fig	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
@@ -0,0 +1,80 @@
+#FIG 3.2  Produced by xfig version 3.2.5c
+Landscape
+Center
+Inches
+Letter  
+100.00
+Single
+-2
+1200 2
+6 6750 4125 7050 4275
+1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 6825 4200 20 20 6825 4200 6845 4200
+1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 6900 4200 20 20 6900 4200 6920 4200
+1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 6975 4200 20 20 6975 4200 6995 4200
+-6
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 5100 3300 300 300 5100 3300 5400 3300
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 2700 2400 300 300 2700 2400 3000 2400
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 2700 3300 300 300 2700 3300 3000 3300
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 4500 5700 3450 5400
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 4500 5700 5850 5400
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 3000 5100 2700 4575
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 3000 5100 3300 4800
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 3450 5400 3000 5100
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 3450 5400 3900 5100
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 5400 5100 5100 4575
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 5400 5100 5700 4800
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 5850 5400 5400 5100
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 5850 5400 6300 5100
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 3000 3900 3000 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 3600 3900 3600 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 4200 3900 4200 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 4800 3900 4800 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 5400 3900 5400 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 6000 3900 6000 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 6600 3900 6600 4500
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 2400 3900 7200 3900 7200 4500 2400 4500 2400 3900
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 2700 3300 2700 2700
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 5100 4200 5100 3600
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 2700 4200 2700 3600
+4 1 0 50 -1 0 12 0.0000 2 135 135 3300 4725 X\001
+4 1 0 50 -1 0 12 0.0000 2 135 135 3900 5025 X\001
+4 1 0 50 -1 0 12 0.0000 2 135 135 5700 4725 X\001
+4 1 0 50 -1 0 12 0.0000 2 135 135 6300 5025 X\001
+4 2 0 50 -1 0 12 0.0000 2 180 660 2100 4200 Array of\001
+4 2 0 50 -1 0 12 0.0000 2 165 600 2100 4425 Queues\001
+4 2 0 50 -1 0 12 0.0000 2 135 645 2100 3075 Threads\001
+4 2 0 50 -1 0 12 0.0000 2 180 525 2100 2850 Ready\001
Index: doc/theses/thierry_delisle_PhD/thesis/fig/resize.fig
===================================================================
--- doc/theses/thierry_delisle_PhD/thesis/fig/resize.fig	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
+++ doc/theses/thierry_delisle_PhD/thesis/fig/resize.fig	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
@@ -0,0 +1,90 @@
+#FIG 3.2  Produced by xfig version 3.2.5c
+Landscape
+Center
+Inches
+Letter  
+100.00
+Single
+-2
+1200 2
+6 7500 3675 8475 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
+	1 1 1.00 45.00 90.00
+	1 1 1.00 45.00 90.00
+	 7500 4200 7950 4200
+4 0 0 50 -1 0 12 0.0000 2 135 915 7500 3825 Grows with\001
+4 0 0 50 -1 0 12 0.0000 2 135 840 7500 4050 additional\001
+4 0 0 50 -1 0 12 0.0000 2 135 840 7500 4425 processors\001
+-6
+6 6750 4125 7050 4275
+1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 6825 4200 20 20 6825 4200 6845 4200
+1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 6900 4200 20 20 6900 4200 6920 4200
+1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 6975 4200 20 20 6975 4200 6995 4200
+-6
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 3900 2400 300 300 3900 2400 4200 2400
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 3900 3300 300 300 3900 3300 4200 3300
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 5100 1500 300 300 5100 1500 5400 1500
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 5100 2400 300 300 5100 2400 5400 2400
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 5100 3300 300 300 5100 3300 5400 3300
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 6300 2400 300 300 6300 2400 6600 2400
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 6300 3300 300 300 6300 3300 6600 3300
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 4509 3302 300 300 4509 3302 4809 3302
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 2700 2400 300 300 2700 2400 3000 2400
+1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 2700 3300 300 300 2700 3300 3000 3300
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 3
+	1 1 1.00 60.00 120.00
+	 3750 5550 2400 5550 2400 4500
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 3600 5100 4500 5100 4500 6000 3600 6000 3600 5100
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 3000 3900 3000 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 3600 3900 3600 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 4200 3900 4200 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 4800 3900 4800 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 5400 3900 5400 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 6000 3900 6000 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 6600 3900 6600 4500
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 2400 3900 7200 3900 7200 4500 2400 4500 2400 3900
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 2700 3300 2700 2700
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 3900 3300 3900 2700
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 3900 4200 3900 3600
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 5100 2475 5100 1800
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 5100 3300 5100 2700
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 5100 4200 5100 3600
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 6300 3300 6300 2700
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 6300 4200 6300 3600
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 2700 4200 2700 3600
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 4500 4200 4500 3600
+4 0 0 50 -1 0 13 0.0000 2 180 1170 2400 5775 Array Pointer\001
+4 2 0 50 -1 0 12 0.0000 2 180 660 2100 4200 Array of\001
+4 2 0 50 -1 0 12 0.0000 2 165 600 2100 4425 Queues\001
+4 2 0 50 -1 0 12 0.0000 2 135 645 2100 3075 Threads\001
+4 2 0 50 -1 0 12 0.0000 2 180 525 2100 2850 Ready\001
+4 1 0 50 -1 0 13 0.0000 2 150 1890 4050 5025 Cluster Data Structure\001
Index: doc/theses/thierry_delisle_PhD/thesis/fig/system.fig
===================================================================
--- doc/theses/thierry_delisle_PhD/thesis/fig/system.fig	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
+++ doc/theses/thierry_delisle_PhD/thesis/fig/system.fig	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
@@ -0,0 +1,171 @@
+#FIG 3.2  Produced by xfig version 3.2.5c
+Landscape
+Center
+Inches
+Letter
+100.00
+Single
+-2
+1200 2
+6 3855 2775 4155 2925
+1 3 0 1 0 0 0 0 0 0.000 1 0.0000 3930 2850 30 30 3930 2850 3960 2880
+1 3 0 1 0 0 0 0 0 0.000 1 0.0000 4035 2850 30 30 4035 2850 4065 2880
+-6
+6 4755 3525 5055 3675
+1 3 0 1 0 0 0 0 0 0.000 1 0.0000 4830 3600 30 30 4830 3600 4860 3630
+1 3 0 1 0 0 0 0 0 0.000 1 0.0000 4935 3600 30 30 4935 3600 4965 3630
+-6
+6 4650 2775 4950 2925
+1 3 0 1 -1 -1 0 0 20 0.000 1 0.0000 4725 2850 15 15 4725 2850 4740 2865
+1 3 0 1 -1 -1 0 0 20 0.000 1 0.0000 4800 2850 15 15 4800 2850 4815 2865
+1 3 0 1 -1 -1 0 0 20 0.000 1 0.0000 4875 2850 15 15 4875 2850 4890 2865
+-6
+6 3225 2400 3525 2550
+1 3 0 1 -1 -1 0 0 20 0.000 1 0.0000 3300 2475 15 15 3300 2475 3315 2490
+1 3 0 1 -1 -1 0 0 20 0.000 1 0.0000 3375 2475 15 15 3375 2475 3390 2490
+1 3 0 1 -1 -1 0 0 20 0.000 1 0.0000 3450 2475 15 15 3450 2475 3465 2490
+-6
+6 5475 3450 5625 3750
+1 3 0 1 -1 -1 0 0 20 0.000 1 4.7120 5550 3525 15 15 5550 3525 5535 3540
+1 3 0 1 -1 -1 0 0 20 0.000 1 4.7120 5550 3600 15 15 5550 3600 5535 3615
+1 3 0 1 -1 -1 0 0 20 0.000 1 4.7120 5550 3675 15 15 5550 3675 5535 3690
+-6
+6 4275 3525 4575 3675
+1 3 0 1 -1 -1 0 0 20 0.000 1 0.0000 4350 3600 15 15 4350 3600 4365 3615
+1 3 0 1 -1 -1 0 0 20 0.000 1 0.0000 4425 3600 15 15 4425 3600 4440 3615
+1 3 0 1 -1 -1 0 0 20 0.000 1 0.0000 4500 3600 15 15 4500 3600 4515 3615
+-6
+6 3225 4125 4650 4425
+6 4350 4200 4650 4350
+1 3 0 1 -1 -1 0 0 20 0.000 1 0.0000 4425 4275 15 15 4425 4275 4440 4290
+1 3 0 1 -1 -1 0 0 20 0.000 1 0.0000 4500 4275 15 15 4500 4275 4515 4290
+1 3 0 1 -1 -1 0 0 20 0.000 1 0.0000 4575 4275 15 15 4575 4275 4590 4290
+-6
+1 1 0 1 -1 -1 0 0 -1 0.000 1 0.0000 3450 4275 225 150 3450 4275 3675 4425
+1 1 0 1 -1 -1 0 0 -1 0.000 1 0.0000 4050 4275 225 150 4050 4275 4275 4425
+-6
+6 6675 4125 7500 4425
+6 7200 4200 7500 4350
+1 3 0 1 -1 -1 0 0 20 0.000 1 0.0000 7275 4275 15 15 7275 4275 7290 4290
+1 3 0 1 -1 -1 0 0 20 0.000 1 0.0000 7350 4275 15 15 7350 4275 7365 4290
+1 3 0 1 -1 -1 0 0 20 0.000 1 0.0000 7425 4275 15 15 7425 4275 7440 4290
+-6
+1 1 0 1 -1 -1 0 0 -1 0.000 1 0.0000 6900 4275 225 150 6900 4275 7125 4425
+-6
+6 6675 3525 8025 3975
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 6675 3750 6975 3750
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 7125 3750 7350 3750
+2 2 0 1 -1 -1 0 0 -1 0.000 0 0 0 0 0 5
+	 7800 3975 7800 3525 7350 3525 7350 3975 7800 3975
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 7800 3750 8025 3750
+-6
+1 3 0 1 -1 -1 0 0 -1 0.000 1 0.0000 5550 2625 150 150 5550 2625 5700 2625
+1 3 0 1 -1 -1 0 0 -1 0.000 1 0.0000 5550 3225 150 150 5550 3225 5700 3225
+1 3 0 1 -1 -1 0 0 -1 0.000 1 0.0000 5550 3975 150 150 5550 3975 5700 3975
+1 3 0 1 -1 -1 0 0 -1 0.000 1 0.0000 3525 2850 150 150 3525 2850 3675 2850
+1 3 0 1 -1 -1 0 0 -1 0.000 1 0.0000 4200 2475 150 150 4200 2475 4350 2475
+1 3 0 1 -1 -1 0 0 -1 0.000 1 0.0000 4425 2850 150 150 4425 2850 4575 2850
+1 3 0 1 -1 -1 0 0 -1 0.000 1 0.0000 4650 2475 150 150 4650 2475 4800 2475
+1 3 0 1 -1 -1 0 0 -1 0.000 1 0.0000 3975 3600 150 150 3975 3600 4125 3600
+1 3 0 1 0 0 0 0 0 0.000 1 0.0000 3525 3600 30 30 3525 3600 3555 3630
+1 3 0 1 -1 -1 0 0 -1 0.000 1 0.0000 3750 2475 150 150 3750 2475 3900 2625
+1 3 0 1 -1 -1 0 0 -1 0.000 1 0.0000 4875 3600 150 150 4875 3600 5025 3750
+1 3 0 1 -1 -1 0 0 -1 0.000 1 0.0000 3975 2850 150 150 3975 2850 4125 2850
+1 3 0 1 -1 -1 0 0 -1 0.000 1 0.0000 7200 2775 150 150 7200 2775 7350 2775
+1 3 0 1 0 0 0 0 0 0.000 1 0.0000 2250 4830 30 30 2250 4830 2280 4860
+1 3 0 1 0 0 0 0 0 0.000 1 0.0000 7200 2775 30 30 7200 2775 7230 2805
+1 3 0 1 -1 -1 0 0 -1 0.000 1 0.0000 3525 3600 150 150 3525 3600 3675 3600
+1 3 0 1 -1 -1 0 0 -1 0.000 1 0.0000 3875 4800 100 100 3875 4800 3975 4800
+1 1 0 1 -1 -1 0 0 -1 0.000 1 0.0000 4650 4800 150 75 4650 4800 4800 4875
+2 2 0 1 -1 -1 0 0 -1 0.000 0 0 0 0 0 5
+	 2400 4200 2400 3750 1950 3750 1950 4200 2400 4200
+2 2 1 1 -1 -1 0 0 -1 4.000 0 0 0 0 0 5
+	 6300 4500 6300 1800 3000 1800 3000 4500 6300 4500
+2 2 0 1 -1 -1 0 0 -1 0.000 0 0 0 0 0 5
+	 5775 2850 5775 2400 5325 2400 5325 2850 5775 2850
+2 2 0 1 -1 -1 0 0 -1 0.000 0 0 0 0 0 5
+	 5775 4200 5775 3750 5325 3750 5325 4200 5775 4200
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 5175 3975 5325 3975
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 5175 3225 5325 3225
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 5175 2625 5325 2625
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 5775 3975 5925 3975
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 5775 3225 5925 3225
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 5775 2625 5925 2625
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 0 0 2
+	 5175 3975 5175 2625
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 5925 3975 5925 2025
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 5925 3750 6225 3750
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 3450 2625 3225 2625
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 1 0 3
+	1 1 1.00 45.00 90.00
+	 5925 2025 4200 2025 4200 2250
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 0 0 2
+	 3225 2625 3225 3600
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 3075 3600 3375 3600
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 3675 3600 3825 3600
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 4125 3600 4275 3600
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 4575 3600 4725 3600
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 5025 3600 5175 3600
+2 2 0 1 -1 -1 0 0 -1 0.000 0 0 0 0 0 5
+	 5775 3450 5775 3000 5325 3000 5325 3450 5775 3450
+2 2 1 1 -1 -1 0 0 -1 4.000 0 0 0 0 0 5
+	 8100 4500 8100 1800 6600 1800 6600 4500 8100 4500
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 7050 2775 6825 2775
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 0 0 2
+	 6825 2775 6825 3750
+2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 1 0 4
+	1 1 1.00 45.00 90.00
+	 7875 3750 7875 2325 7200 2325 7200 2550
+2 2 0 1 -1 -1 0 0 -1 0.000 0 0 0 0 0 5
+	 5850 4950 5850 4725 5625 4725 5625 4950 5850 4950
+2 2 1 1 -1 -1 0 0 -1 3.000 0 0 0 0 0 5
+	 6975 4950 6750 4950 6750 4725 6975 4725 6975 4950
+4 1 -1 0 0 0 10 0.0000 2 105 720 5550 4425 Processors\001
+4 1 -1 0 0 0 10 0.0000 2 120 1005 4200 3225 Blocked Tasks\001
+4 1 -1 0 0 0 10 0.0000 2 150 870 4200 3975 Ready Tasks\001
+4 1 -1 0 0 0 10 0.0000 2 135 1095 7350 1725 Other Cluster(s)\001
+4 1 -1 0 0 0 10 0.0000 2 105 840 4650 1725 User Cluster\001
+4 1 -1 0 0 0 10 0.0000 2 150 615 2175 3675 Manager\001
+4 1 -1 0 0 0 10 0.0000 2 105 990 2175 3525 Discrete-event\001
+4 1 -1 0 0 0 10 0.0000 2 135 795 2175 4350 preemption\001
+4 0 -1 0 0 0 10 0.0000 2 150 1290 2325 4875 generator/coroutine\001
+4 0 -1 0 0 0 10 0.0000 2 120 270 4050 4875 task\001
+4 0 -1 0 0 0 10 0.0000 2 105 450 7050 4875 cluster\001
+4 0 -1 0 0 0 10 0.0000 2 105 660 5925 4875 processor\001
+4 0 -1 0 0 0 10 0.0000 2 105 555 4875 4875 monitor\001
Index: doc/theses/thierry_delisle_PhD/thesis/glossary.tex
===================================================================
--- doc/theses/thierry_delisle_PhD/thesis/glossary.tex	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
+++ doc/theses/thierry_delisle_PhD/thesis/glossary.tex	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
@@ -0,0 +1,137 @@
+\makeglossaries
+
+\longnewglossaryentry{hthrd}
+{name={hardware thread}}
+{
+Threads representing the underlying hardware directly.
+
+\textit{Synonyms : User threads, Lightweight threads, Green threads, Virtual threads, Tasks.}
+}
+
+\longnewglossaryentry{thrd}
+{name={threads}}
+{
+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{kthrd}
+{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{preemption}
+{name={preemption}}
+{
+Involuntary context switch imposed on threads at a given rate.
+
+\textit{Synonyms : None.}
+}
+
+\longnewglossaryentry{proc}
+{name={virtual processor}}
+{
+
+}
+
+\longnewglossaryentry{Q}
+{name={work-queue}}
+{
+
+}
+
+\longnewglossaryentry{at}
+{name={fred}}
+{
+Abstract object representing an unit of work. Systems will offer one or more concrete implementations of this concept (\eg \gls{kthrd}, \gls{job}), however, most of the concept of schedulings are independent of the particular implementations of the work representation. For this reason, this document use the term \Gls{at} to mean any representation and not one in particular.
+}
+
+\longnewglossaryentry{atsched}
+{name={Scheduling a \gls{at}}}
+{
+Scheduling an \gls{at} refers to the act of notifying the scheduler that a task is ready to be ran. When representing the scheduler as a queue of tasks, scheduling is the act of pushing a task onto the end of the queue. This doesn't necesserily means the task will ever be allocated CPU time (\gls{atrun}), for example, if the system terminates abruptly, scheduled \glspl{at} will probably never run.
+
+\textit{Synonyms : None.}
+}
+
+\longnewglossaryentry{atrun}
+{name={Running a \gls{at}}}
+{
+Running an \gls{at} refers to the act of allocating CPU time to a task that is ready to run. When representing the scheduler as a queue of tasks, running is the act of poping a task from the front of the queue and putting it onto a \gls{proc}. The \gls{at} can than accomplish some or all of the work it is programmed to do.
+
+\textit{Synonyms : None.}
+}
+
+\longnewglossaryentry{atmig}
+{name={migration of \gls{at}}}
+{
+Migration refers to the idea of an \gls{at} running on a different worker/processor than the last time it was run. It is generally preferable to minimise migration as it incurs cost but any load balancing among workers requires some amount of migration.
+
+\textit{Synonyms : None.}
+}
+
+\longnewglossaryentry{atpass}
+{name={overtaking \gls{at}}}
+{
+When representing the scheduler as a queue of \glspl{at}, overtaking is the act breaking the FIFO-ness of the queue by moving a \gls{at} in front of some other \gls{at} when it arrived after. This remains true for schedulers that do not use a FIFO queue, when the order in which the \glspl{at} are \glslink{atsched}{scheduled} and \glslink{atrun}{run} in a different order. A \gls{at} is said to \emph{overtake} another if it is run \emph{before} but was \emph{scheduled} after the other \gls{at}.
+
+\textit{Synonyms : None.}
+}
+
+\longnewglossaryentry{atblock}
+{name={Blocking an \gls{at}}}
+{
+Blocking an abstract task refers to the act of taking a task that us running on a CPU off the CPU. Unless no other task is ready, this action is generally immediately followed by running an other task.
+
+\textit{Synonyms : None.}
+}
+
+\longnewglossaryentry{atcomplet}
+{name={Running to completion}}
+{
+Running to completion refers to the entire sequence of : being scheduled, running and blocking, for a given task.
+
+See also \gls{atsched}, \gls{atrun}, \gls{atblock}
+
+\textit{Synonyms : None.}
+}
+
+\longnewglossaryentry{load}
+{name={System Load}}
+{
+The load is refers to the rate at which \glspl{at} are \glslink{atsched}{scheduled} versus the rate at which they are \glslink{atrun}{run}. When \glspl{at} are being scheduled faster than they are run, the system is considered \emph{overloaded}. When \glspl{at} are being run faster than they are scheduled, the system is considered \emph{underloaded}. Conrrespondingly, if both rates are equal, the system is considered \emph{loaded}. Note that the system is considered loaded only of the rate at which \glspl{at} are scheduled/run is non-zero, otherwise the system is empty, it has no load.
+}
+
+
+\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_PhD/thesis/text/core.tex
===================================================================
--- doc/theses/thierry_delisle_PhD/thesis/text/core.tex	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
+++ doc/theses/thierry_delisle_PhD/thesis/text/core.tex	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
@@ -0,0 +1,46 @@
+\chapter{Scheduling Core}\label{core}
+
+This chapter addresses the need of scheduling on a somewhat ideal scenario
+
+\section{Existing Schedulers}
+\subsection{Feedback Scheduling}
+
+\subsection{Priority Scheduling}\label{priority}
+
+\subsection{Work Stealing}
+
+\section{Design}
+While avoiding the pitfalls of Feedback Scheduling is fairly easy, scheduling does not innately require feedback, avoiding prioritization of \glspl{thrd} is more difficult because of implicitly priorities, see Subsection~\ref{priority}.
+
+\subsection{Sharding}
+
+\begin{figure}
+	\begin{center}
+		\input{base.pstex_t}
+	\end{center}
+	\caption{Relaxed FIFO list at the base of the scheduler: an array of strictly FIFO lists.
+	The timestamp is in all nodes and cell arrays.}
+	\label{fig:base}
+\end{figure}
+
+\subsection{Finding threads}
+Once threads have been distributed onto multiple queues, indentifying which queues are empty and which aren't can become a problem.
+Indeed, if the number of \glspl{thrd} does not far exceed the number of queues, it is probable that several of these queues are empty.
+Figure~\ref{fig:empty} shows an example with 2 \glspl{thrd} running on 8 queues, where the chances of getting an empty queue is 75\% per pick, meaning two random picks yield a \gls{thrd} only half the time.
+This can lead to performance problems since picks that do not yield a \gls{thrd} are not useful and do not necessarily help make more informed guesses.
+
+Solutions to this problem can take many forms, but they ultimately all have to encode where the threads are in some form. My results show that the density and locality of this encoding is generally the dominating factor in these scheme.
+
+\paragraph{Dense Information}
+
+
+
+
+
+\begin{figure}
+	\begin{center}
+		\input{empty.pstex_t}
+	\end{center}
+	\caption{``More empty'' state of the queue: the array contains many empty cells.}
+	\label{fig:empty}
+\end{figure}
Index: doc/theses/thierry_delisle_PhD/thesis/text/front.tex
===================================================================
--- doc/theses/thierry_delisle_PhD/thesis/text/front.tex	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
+++ doc/theses/thierry_delisle_PhD/thesis/text/front.tex	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
@@ -0,0 +1,93 @@
+\frontmatter
+
+%======================================================================
+%   Title (required)
+%======================================================================
+\title{Title}
+\begin{titlepage}
+	\clearpage\maketitle
+\end{titlepage}
+
+\addtocounter{page}{1}
+
+%======================================================================
+%  Examining commitee membership (required)
+%======================================================================
+\clearpage
+I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners.
+
+I understand that my thesis may be made electronically available to the public.
+
+%======================================================================
+%  Statement of contributions (if applicable)
+%======================================================================
+% For a thesis that is not a sole-authored document, the University requires that the student has made the major contribution to the work, to the satisfaction of the examination committee. The student will include a Statement of contributions in the thesis.
+
+% Not applicable
+
+
+%======================================================================
+%   Abstract (required)
+%======================================================================
+\clearpage
+\begin{center}\textbf{Abstract}\end{center}
+% \begin{abstract}
+	Abstract
+% \end{abstract}
+
+%======================================================================
+%  Acknowledgements (required)
+%======================================================================
+\clearpage
+\begin{center}\textbf{Acknowledgements}\end{center}
+
+
+%======================================================================
+%  Dedication (optional)
+%======================================================================
+% Not dedicated
+
+%======================================================================
+%  Table of contents (required)
+%======================================================================
+\tableofcontents
+
+%======================================================================
+%  List of figures (if applicable)
+%======================================================================
+% Each figure in the text must be numbered; if the title/caption of the figure cannot fit on the same page as the figure, the title/caption may appear on the previous page facing the figure.
+
+% applicable
+
+%======================================================================
+%  List of tables	(if applicable)
+%======================================================================
+% Each table in the text must be numbered; if the title/caption of the table cannot fit on the same page as the table, the title/caption may appear on the previous page facing the table.
+
+% applicable
+
+%======================================================================
+%  List of illustrations (if applicable)
+%======================================================================
+% Each illustration in the text must be numbered; if the title/caption of the illustration cannot fit on the same page as the illustration, the title/caption may appear on the previous page facing the illustration.
+
+% applicable
+
+%======================================================================
+%  List of abbreviations (if applicable)
+%======================================================================
+% not applicable
+
+%======================================================================
+%  List of symbols (if applicable)
+%======================================================================
+% not applicable
+
+%======================================================================
+%  Graphic or quote (if applicable)
+%======================================================================
+% Students may wish to enhance their thesis with either a graphic or meaningful quote.  These pages, if applicable, must appear as the last page of the front matter, immediately before the main body of the thesis.
+
+% not applicable
+
+\mainmatter
Index: doc/theses/thierry_delisle_PhD/thesis/text/intro.tex
===================================================================
--- doc/theses/thierry_delisle_PhD/thesis/text/intro.tex	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
+++ doc/theses/thierry_delisle_PhD/thesis/text/intro.tex	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
@@ -0,0 +1,1 @@
+\chapter{Introduction}
Index: doc/theses/thierry_delisle_PhD/thesis/text/io.tex
===================================================================
--- doc/theses/thierry_delisle_PhD/thesis/text/io.tex	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
+++ doc/theses/thierry_delisle_PhD/thesis/text/io.tex	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
@@ -0,0 +1,19 @@
+\chapter{I/O}
+
+\section{Existing options}
+
+\subsection{\texttt{epoll}, \texttt{poll} and \texttt{select}}
+
+\subsection{Linux's AIO}
+
+\subsection{\texttt{io\_uring}}
+
+\subsection{Extra Kernel Threads}
+
+\subsection{Discussion}
+
+
+\section{Event-Engine}
+
+
+\section{Interface}
Index: doc/theses/thierry_delisle_PhD/thesis/text/practice.tex
===================================================================
--- doc/theses/thierry_delisle_PhD/thesis/text/practice.tex	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
+++ doc/theses/thierry_delisle_PhD/thesis/text/practice.tex	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
@@ -0,0 +1,13 @@
+\chapter{Scheduling in practice}\label{practice}
+The scheduling algorithm discribed in Chapter~\ref{core} addresses scheduling in a stable state.
+However, it does not address problems that occur when the system changes state.
+Indeed the \CFA runtime, supports expanding and shrinking
+
+the number of KTHREAD\_place
+
+, both manually and, to some extent automatically.
+This entails that the scheduling algorithm must support these transitions.
+
+\section{Resizing}
+
+\section{Idle-Sleep}
Index: doc/theses/thierry_delisle_PhD/thesis/text/runtime.tex
===================================================================
--- doc/theses/thierry_delisle_PhD/thesis/text/runtime.tex	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
+++ doc/theses/thierry_delisle_PhD/thesis/text/runtime.tex	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
@@ -0,0 +1,7 @@
+\chapter{\CFA Runtime}
+
+\section{M:N Threading}
+
+\section{Clusters}
+
+\section{Interoperating with \texttt{C}}
Index: doc/theses/thierry_delisle_PhD/thesis/thesis.tex
===================================================================
--- doc/theses/thierry_delisle_PhD/thesis/thesis.tex	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
+++ doc/theses/thierry_delisle_PhD/thesis/thesis.tex	(revision 86c1f1c39dec46dad2d3904ab9144ce3de4805ab)
@@ -0,0 +1,31 @@
+\documentclass[letterpaper,12pt,titlepage,oneside,final]{book}
+\usepackage{fancyhdr}
+\usepackage{geometry}
+\usepackage{glossaries}
+
+\fancyhf{}
+\renewcommand{\headrulewidth}{0pt}
+\chead{}
+\cfoot{\thepage}
+\pagestyle{fancy}
+
+
+% cfa macros used in the document
+\input{common}
+
+% glossary of terms to use
+\input{glossary}
+
+
+%======================================================================
+%   L O G I C A L    D O C U M E N T
+%======================================================================
+\begin{document}
+\input{text/front.tex}
+\input{text/intro.tex}
+\input{text/runtime.tex}
+\input{text/core.tex}
+\input{text/practice.tex}
+\input{text/io.tex}
+
+\end{document}
