Index: doc/theses/thierry_delisle_PhD/thesis/text/front.tex
===================================================================
--- doc/theses/thierry_delisle_PhD/thesis/text/front.tex	(revision 4e21942973cb669449a4cfc55bb1e0fabb7f5de8)
+++ doc/theses/thierry_delisle_PhD/thesis/text/front.tex	(revision 3fe4acddc077a08a2e9a923cc8d17ca9a0979373)
@@ -125,9 +125,9 @@
 User-Level threading (M:N) is gaining popularity over kernel-level threading (1:1) in many programming languages.
 The user threading approach is often a better mechanism to express complex concurrent applications by efficiently running 10,000+ threads on multi-core systems.
-Indeed, over-partitioning into small work-units with user threading significantly eases load bal\-ancing, while simultaneously providing advanced synchronization and mutual exclusion mechanisms.
+Indeed, over-partitioning into small work-units with user threading significantly eases load bal\-ancing, while simultaneously providing advanced synchronization and mutual exclusion capabilities.
 To manage these high levels of concurrency, the underlying runtime must efficiently schedule many user threads across a few kernel threads;
 which begs of the question of how many kernel threads are needed and should the number be dynamically reevaluated.
 Furthermore, scheduling must prevent kernel threads from blocking, otherwise user-thread parallelism drops.
-When user-threading parallelism does drop, how and when should idle kernel-threads be to sleep to avoid wasted CPU resources.
+When user-threading parallelism does drop, how and when should idle kernel-threads be put to sleep to avoid wasted CPU resources.
 Finally, the scheduling system must provide fairness to prevent a user thread from monopolizing a kernel thread;
 otherwise other user threads can experience short/long term starvation or kernel threads can deadlock waiting for events to occur on busy kernel threads.
