Index: doc/theses/colby_parsons_MMAth/benchmarks/actors/data/nasus_CFA.txt
===================================================================
--- doc/theses/colby_parsons_MMAth/benchmarks/actors/data/nasus_CFA.txt	(revision 992157317fa74acf52d8f0c4f23e662c8c81fb40)
+++ doc/theses/colby_parsons_MMAth/benchmarks/actors/data/nasus_CFA.txt	(revision 6e1e2d0299e4210d269f7a30ec3864a8bddceabb)
@@ -1,7 +1,7 @@
 5
 1 2 4 8 16 24 32 48
-CFA-LV CFA-NS CFA-R 
+Longest-Victim No-Stealing Random 
 executor
-CFA-LV:
+Longest-Victim:
 proc	time (s)
 1	29.22
@@ -45,5 +45,5 @@
 48	1.20
 48	1.20
-CFA-NS:
+No-Stealing:
 proc	time (s)
 1	28.25
@@ -87,5 +87,5 @@
 48	1.18
 48	1.16
-CFA-R:
+Random:
 proc	time (s)
 1	28.58
@@ -131,5 +131,5 @@
 
 matrix
-CFA-LV:
+Longest-Victim:
 proc	time (s)
 1	105.48
@@ -173,5 +173,5 @@
 48	2.75
 48	2.96
-CFA-NS:
+No-Stealing:
 proc	time (s)
 1	106.01
@@ -215,5 +215,5 @@
 48	2.78
 48	2.92
-CFA-R:
+Random:
 proc	time (s)
 1	105.91
@@ -259,5 +259,5 @@
 
 repeat
-CFA-LV:
+Longest-Victim:
 proc	time (s)
 1	1.17
@@ -301,5 +301,5 @@
 48	13.73
 48	14.55
-CFA-NS:
+No-Stealing:
 proc	time (s)
 1	1.15
@@ -343,5 +343,5 @@
 48	13.03
 48	12.83
-CFA-R:
+Random:
 proc	time (s)
 1	1.15
@@ -387,5 +387,5 @@
 
 balance_one
-CFA-LV:
+Longest-Victim:
 proc	time (s)
 1	20.06
@@ -429,5 +429,5 @@
 48	1.11
 48	1.12
-CFA-NS:
+No-Stealing:
 proc	time (s)
 1	20.13
@@ -471,5 +471,5 @@
 48	19.95
 48	20.00
-CFA-R:
+Random:
 proc	time (s)
 1	19.92
@@ -515,5 +515,5 @@
 
 balance_multi
-CFA-LV:
+Longest-Victim:
 proc	time (s)
 1	8.17
@@ -557,5 +557,5 @@
 48	5.75
 48	5.68
-CFA-NS:
+No-Stealing:
 proc	time (s)
 1	8.10
@@ -599,5 +599,5 @@
 48	9.28
 48	9.26
-CFA-R:
+Random:
 proc	time (s)
 1	8.08
Index: doc/theses/colby_parsons_MMAth/benchmarks/actors/data/pyke_CFA.txt
===================================================================
--- doc/theses/colby_parsons_MMAth/benchmarks/actors/data/pyke_CFA.txt	(revision 992157317fa74acf52d8f0c4f23e662c8c81fb40)
+++ doc/theses/colby_parsons_MMAth/benchmarks/actors/data/pyke_CFA.txt	(revision 6e1e2d0299e4210d269f7a30ec3864a8bddceabb)
@@ -1,7 +1,7 @@
 5
 1 2 4 8 16 24 32 48
-CFA-LV CFA-NS CFA-R 
+Longest-Victim No-Stealing Random 
 executor
-CFA-LV:
+Longest-Victim:
 proc	time (s)
 1	29.04
@@ -45,5 +45,5 @@
 48	2.58
 48	2.55
-CFA-NS:
+No-Stealing:
 proc	time (s)
 1	28.15
@@ -87,5 +87,5 @@
 48	2.59
 48	2.60
-CFA-R:
+Random:
 proc	time (s)
 1	29.06
@@ -131,5 +131,5 @@
 
 matrix
-CFA-LV:
+Longest-Victim:
 proc	time (s)
 1	127.44
@@ -173,5 +173,5 @@
 48	6.83
 48	6.81
-CFA-NS:
+No-Stealing:
 proc	time (s)
 1	127.64
@@ -215,5 +215,5 @@
 48	6.77
 48	6.74
-CFA-R:
+Random:
 proc	time (s)
 1	127.26
@@ -259,5 +259,5 @@
 
 repeat
-CFA-LV:
+Longest-Victim:
 proc	time (s)
 1	1.16
@@ -301,5 +301,5 @@
 48	19.75
 48	19.71
-CFA-NS:
+No-Stealing:
 proc	time (s)
 1	1.18
@@ -343,5 +343,5 @@
 48	13.88
 48	13.71
-CFA-R:
+Random:
 proc	time (s)
 1	1.18
@@ -387,5 +387,5 @@
 
 balance_one
-CFA-LV:
+Longest-Victim:
 proc	time (s)
 1	19.46
@@ -429,5 +429,5 @@
 48	2.12
 48	2.17
-CFA-NS:
+No-Stealing:
 proc	time (s)
 1	21.00
@@ -471,5 +471,5 @@
 48	47.50
 48	47.72
-CFA-R:
+Random:
 proc	time (s)
 1	20.81
@@ -515,5 +515,5 @@
 
 balance_multi
-CFA-LV:
+Longest-Victim:
 proc	time (s)
 1	7.94
@@ -557,5 +557,5 @@
 48	14.38
 48	14.50
-CFA-NS:
+No-Stealing:
 proc	time (s)
 1	8.48
@@ -599,5 +599,5 @@
 48	21.50
 48	21.15
-CFA-R:
+Random:
 proc	time (s)
 1	8.49
Index: doc/theses/colby_parsons_MMAth/benchmarks/channels/plotData.py
===================================================================
--- doc/theses/colby_parsons_MMAth/benchmarks/channels/plotData.py	(revision 992157317fa74acf52d8f0c4f23e662c8c81fb40)
+++ doc/theses/colby_parsons_MMAth/benchmarks/channels/plotData.py	(revision 6e1e2d0299e4210d269f7a30ec3864a8bddceabb)
@@ -70,5 +70,5 @@
     if currBench == Bench.Unset:
         if line == "contend:":
-            name = "Contend"
+            name = "Channel Contention"
             currBench = Bench.Contend
         elif line == "zero:":
Index: doc/theses/colby_parsons_MMAth/code/swap_queues.cfa
===================================================================
--- doc/theses/colby_parsons_MMAth/code/swap_queues.cfa	(revision 992157317fa74acf52d8f0c4f23e662c8c81fb40)
+++ doc/theses/colby_parsons_MMAth/code/swap_queues.cfa	(revision 6e1e2d0299e4210d269f7a30ec3864a8bddceabb)
@@ -1,27 +1,13 @@
-// this is a code stub and will not compile
-
-// tries to atomically swap two queues and returns 0p if the swap failed
-// returns ptr to newly owned queue if swap succeeds
-static inline work_queue * try_swap_queues( worker & this, unsigned int victim_idx, unsigned int my_idx ) with(this) {
+// sequential equivalent swap
+void swap( uint victim_idx, uint my_idx  ) {
+    // Step 0:
     work_queue * my_queue = request_queues[my_idx];
-    work_queue * other_queue = request_queues[victim_idx];
-
-    // if either queue is 0p then they are in the process of being stolen
-    if ( other_queue == 0p || my_queue == 0p ) return 0p;
-
-    // try to set our queue ptr to be 0p. If it fails someone moved our queue so return false
-    if ( !__atomic_compare_exchange_n( &request_queues[my_idx], &my_queue, 0p, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST ) )
-        return 0p;
-
-    // try to set other queue ptr to be our queue ptr. If it fails someone moved the other queue so fix up then return false
-    if ( !__atomic_compare_exchange_n( &request_queues[victim_idx], &other_queue, my_queue, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST ) ) {
-        /* paranoid */ verify( request_queues[my_idx] == 0p );
-        request_queues[my_idx] = my_queue; // reset my queue ptr back to appropriate val
-        return 0p;
-    }
-
-    // we have successfully swapped and since our queue is 0p no one will touch it so write back new queue ptr non atomically
-    request_queues[my_idx] = other_queue; // last write does not need to be atomic
-    return other_queue;
+    work_queue * vic_queue = request_queues[victim_idx];
+    // Step 2:
+    request_queues[my_idx] = 0p;
+    // Step 3:
+    request_queues[victim_idx] = my_queue;
+    // Step 4:
+    request_queues[my_idx] = vic_queue;
 }
 
@@ -35,18 +21,23 @@
 
 bool try_swap_queues( worker & this, uint victim_idx, uint my_idx ) with(this) {
+    // Step 0:
+    // request_queues is the shared array of all sharded queues
     work_queue * my_queue = request_queues[my_idx];
     work_queue * vic_queue = request_queues[victim_idx];
 
+    // Step 1:
     // If either queue is 0p then they are in the process of being stolen
     // 0p is CForAll's equivalent of C++'s nullptr
-    if ( vic_queue == 0p || my_queue == 0p ) return false;
+    if ( vic_queue == 0p ) return false;
 
-    // Try to set our queue ptr to be 0p.
-    // If this CAS fails someone moved our queue so return false
+    // Step 2:
+    // Try to set thief's queue ptr to be 0p.
+    // If this CAS fails someone stole thief's queue so return false
     if ( !CAS( &request_queues[my_idx], &my_queue, 0p ) )
         return false;
-
-    // Try to set other queue ptr to be our queue ptr.
-    // If it fails someone moved the other queue, so fix up then return false
+    
+    // Step 3:
+    // Try to set victim queue ptr to be thief's queue ptr.
+    // If it fails someone stole the other queue, so fix up then return false
     if ( !CAS( &request_queues[victim_idx], &vic_queue, my_queue ) ) {
         request_queues[my_idx] = my_queue; // reset queue ptr back to prev val
@@ -54,6 +45,8 @@
     }
 
+    // Step 4:
     // Successfully swapped.
-    // Our queue is 0p so no one will touch it so write back without CAS is safe
+    // Thief's ptr is 0p so no one will touch it
+    // Write back without CAS is safe
     request_queues[my_idx] = vic_queue;
     return true;
Index: doc/theses/rob_schluntz_MMath/thesis.bib
===================================================================
--- doc/theses/rob_schluntz_MMath/thesis.bib	(revision 992157317fa74acf52d8f0c4f23e662c8c81fb40)
+++ doc/theses/rob_schluntz_MMath/thesis.bib	(revision 6e1e2d0299e4210d269f7a30ec3864a8bddceabb)
