diff --git a/.gitattributes b/.gitattributes
index 35b3d0bdb39160389a0138eebbf9bc1dad0c708b..00f10aea77ef536712309f8162f02311a1a80d37 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1526,7 +1526,6 @@ doc/papers/2009/SC-09/transpose.fig -text
 doc/papers/2010/SPM/IEEEbib.bst -text
 doc/papers/2010/SPM/Makefile -text
 doc/papers/2010/SPM/figures/LBA-small.jpg -text
-doc/papers/2010/SPM/figures/correlation-triangle.fig -text
 doc/papers/2010/SPM/figures/correlation-triangle.pdf -text
 doc/papers/2010/SPM/figures/correlation-triangle.svg -text
 doc/papers/2010/SPM/figures/pastedpic_11252008_163347.png -text
diff --git a/doc/papers/2010/SPM/Makefile b/doc/papers/2010/SPM/Makefile
index 8368724ca36be8d96b588dab07eca2320c1bd5a7..eba742c283bdfd3814cd1a1a939a0f3838ff7e26 100644
--- a/doc/papers/2010/SPM/Makefile
+++ b/doc/papers/2010/SPM/Makefile
@@ -2,7 +2,7 @@ TEX_SOURCES =	spm.tex
 
 BIB_SOURCES =	spm.bib
 
-FIG_SOURCES =	figures/correlation-triangle.fig
+FIG_SOURCES =	
 
 JGR_SOURCES =	
 
diff --git a/doc/papers/2010/SPM/figures/correlation-triangle.fig b/doc/papers/2010/SPM/figures/correlation-triangle.fig
deleted file mode 100644
index 2f05d430cde0c495d7d6e6524783ba44f0c3d2a0..0000000000000000000000000000000000000000
--- a/doc/papers/2010/SPM/figures/correlation-triangle.fig
+++ /dev/null
@@ -1,88 +0,0 @@
-#FIG 3.2  Produced by xfig version 3.2.5
-Landscape
-Center
-Inches
-Letter  
-100.00
-Single
--2
-1200 2
-0 32 #c0ffc0
-0 33 #ffffc0
-0 34 #c0c0ff
-0 35 #c0c0c0
-0 36 #f0c0c0
-2 1 0 3 0 35 40 -1 -1 0.000 0 0 -1 1 0 2
-	2 1 3.00 150.00 150.00
-	 6000 9075 6675 9075
-2 1 0 3 0 35 40 -1 -1 0.000 0 0 -1 1 0 2
-	2 1 3.00 150.00 150.00
-	 9900 4275 9900 3600
-2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 3
-	 2400 8100 2400 7500 9000 7500
-2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 3
-	 3000 8100 3000 6900 9000 6900
-2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 3
-	 3600 8100 3600 6300 9000 6300
-2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 3
-	 4800 8100 4800 5100 9000 5100
-2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 3
-	 5400 8100 5400 4500 9000 4500
-2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 3
-	 6000 8100 6000 3900 9000 3900
-2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 3
-	 7200 8100 7200 2700 9000 2700
-2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 3
-	 7800 8100 7800 2100 9000 2100
-2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 3
-	 8400 8100 8400 1500 9000 1500
-2 1 0 5 0 7 40 -1 -1 0.000 0 0 -1 0 0 3
-	 4200 8100 4200 5700 9000 5700
-2 1 0 5 0 7 40 -1 -1 0.000 0 0 -1 0 0 3
-	 6600 8100 6600 3300 9000 3300
-2 3 0 5 0 31 60 -1 20 0.000 0 0 -1 0 0 27
-	 9000 8100 9000 900 8400 900 8400 1500 7800 1500 7800 2100
-	 7200 2100 7200 2700 6600 2700 6600 3300 6000 3300 6000 3900
-	 5400 3900 5400 4500 4800 4500 4800 5100 4200 5100 4200 5700
-	 3600 5700 3600 6300 3000 6300 3000 6900 2400 6900 2400 7500
-	 1800 7500 1800 8100 9000 8100
-2 2 0 5 0 4 50 -1 20 0.000 0 0 -1 0 0 5
-	 6600 3300 9000 3300 9000 5700 6600 5700 6600 3300
-4 1 0 40 -1 18 30 0.0000 4 360 360 2100 7950 A\001
-4 1 0 40 -1 18 30 0.0000 4 360 360 2700 7350 A\001
-4 1 0 40 -1 18 30 0.0000 4 360 360 3300 6750 A\001
-4 1 0 40 -1 18 30 0.0000 4 360 360 3900 6150 A\001
-4 1 0 40 -1 18 30 0.0000 4 360 360 4500 5550 A\001
-4 1 0 40 -1 18 30 0.0000 4 360 360 5100 4950 A\001
-4 1 0 40 -1 18 30 0.0000 4 360 360 5700 4350 A\001
-4 1 0 40 -1 18 30 0.0000 4 360 360 6300 3750 A\001
-4 1 0 40 -1 18 30 0.0000 4 360 360 6900 3150 A\001
-4 1 0 40 -1 18 30 0.0000 4 360 360 7500 2550 A\001
-4 1 0 40 -1 18 30 0.0000 4 360 360 8100 1950 A\001
-4 1 0 40 -1 18 30 0.0000 4 360 1605 5100 9225 station\001
-4 1 0 40 -1 16 30 0.0000 4 345 270 2100 8625 0\001
-4 1 0 40 -1 16 30 0.0000 4 345 270 2700 8625 1\001
-4 1 0 40 -1 16 30 0.0000 4 345 270 3900 8625 3\001
-4 1 0 40 -1 16 30 0.0000 4 345 270 4500 8625 4\001
-4 1 0 40 -1 16 30 0.0000 4 345 270 5100 8625 5\001
-4 1 0 40 -1 16 30 0.0000 4 345 270 5700 8625 6\001
-4 1 0 40 -1 16 30 0.0000 4 345 270 6300 8625 7\001
-4 1 0 40 -1 16 30 0.0000 4 345 270 6900 8625 8\001
-4 1 0 40 -1 16 30 0.0000 4 345 270 7500 8625 9\001
-4 1 0 40 -1 16 30 0.0000 4 345 540 8100 8625 10\001
-4 1 0 40 -1 16 30 0.0000 4 345 270 3300 8625 2\001
-4 1 0 40 -1 18 30 1.5708 4 360 1605 10050 5175 station\001
-4 0 0 40 -1 16 30 0.0000 4 345 270 9225 7950 0\001
-4 0 0 40 -1 16 30 0.0000 4 345 270 9225 7350 1\001
-4 0 0 40 -1 16 30 0.0000 4 345 270 9225 6150 3\001
-4 0 0 40 -1 16 30 0.0000 4 345 270 9225 4950 5\001
-4 0 0 40 -1 16 30 0.0000 4 345 270 9225 4350 6\001
-4 0 0 40 -1 16 30 0.0000 4 345 270 9225 3750 7\001
-4 0 0 40 -1 16 30 0.0000 4 345 270 9225 3150 8\001
-4 0 0 40 -1 16 30 0.0000 4 345 270 9225 2550 9\001
-4 0 0 40 -1 16 30 0.0000 4 345 270 9225 5550 4\001
-4 0 0 40 -1 16 30 0.0000 4 345 270 9225 6750 2\001
-4 0 0 40 -1 16 30 0.0000 4 345 540 9225 1950 10\001
-4 0 0 40 -1 16 30 0.0000 4 345 540 9225 1350 11\001
-4 1 0 40 -1 16 30 0.0000 4 345 540 8700 8625 11\001
-4 1 0 40 -1 18 30 0.0000 4 360 360 8700 1350 A\001
diff --git a/doc/papers/2010/SPM/figures/correlation-triangle.pdf b/doc/papers/2010/SPM/figures/correlation-triangle.pdf
index 7f09c44dd1adee0b07988f8c0ea05f589a5150fa..72721e6fd0f263fa4515e0c9fee7fc035c9ce1f8 100644
Binary files a/doc/papers/2010/SPM/figures/correlation-triangle.pdf and b/doc/papers/2010/SPM/figures/correlation-triangle.pdf differ
diff --git a/doc/papers/2010/SPM/figures/correlation-triangle.svg b/doc/papers/2010/SPM/figures/correlation-triangle.svg
index 8c07803588bfd0e6d62977dc4bb03a2b33ad761a..981cb9c2397bc9d07854c5ba6b571b0964c7bcb3 100644
--- a/doc/papers/2010/SPM/figures/correlation-triangle.svg
+++ b/doc/papers/2010/SPM/figures/correlation-triangle.svg
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!-- Creator: fig2dev Version 3.2 Patchlevel 5 -->
-<!-- CreationDate: Tue Nov 25 14:11:34 2008 -->
+<!-- CreationDate: Wed Jun 24 14:57:21 2009 -->
 <!-- Magnification: 1.000 -->
 <svg
    xmlns:dc="http://purl.org/dc/elements/1.1/"
@@ -10,16 +10,16 @@
    xmlns="http://www.w3.org/2000/svg"
    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="6.4in"
-   height="6.5in"
-   viewBox="1746 1446 7719 7794"
+   width="6.9in"
+   height="7.0in"
+   viewBox="1746 846 8319 8394"
    id="svg2"
    sodipodi:version="0.32"
    inkscape:version="0.46"
    sodipodi:docname="correlation-triangle.svg"
    inkscape:output_extension="org.inkscape.output.svg.inkscape">
   <metadata
-     id="metadata143">
+     id="metadata121">
     <rdf:RDF>
       <cc:Work
          rdf:about="">
@@ -30,18 +30,18 @@
     </rdf:RDF>
   </metadata>
   <defs
-     id="defs141">
+     id="defs119">
     <inkscape:perspective
        sodipodi:type="inkscape:persp3d"
-       inkscape:vp_x="0 : 292.5 : 1"
+       inkscape:vp_x="0 : 315 : 1"
        inkscape:vp_y="0 : 1000 : 0"
-       inkscape:vp_z="576 : 292.5 : 1"
-       inkscape:persp3d-origin="288 : 195 : 1"
-       id="perspective145" />
+       inkscape:vp_z="621 : 315 : 1"
+       inkscape:persp3d-origin="310.5 : 210 : 1"
+       id="perspective123" />
   </defs>
   <sodipodi:namedview
-     inkscape:window-height="1125"
-     inkscape:window-width="1920"
+     inkscape:window-height="726"
+     inkscape:window-width="645"
      inkscape:pageshadow="2"
      inkscape:pageopacity="0.0"
      guidetolerance="10.0"
@@ -52,495 +52,546 @@
      pagecolor="#ffffff"
      id="base"
      showgrid="false"
-     inkscape:zoom="1.5264957"
-     inkscape:cx="288"
-     inkscape:cy="292.5"
+     inkscape:zoom="0.78412698"
+     inkscape:cx="310.5"
+     inkscape:cy="315"
      inkscape:window-x="0"
-     inkscape:window-y="25"
+     inkscape:window-y="49"
      inkscape:current-layer="svg2" />
-  <rect
-     id="rect2449"
-     style="fill:#6c6753;stroke:#000000;stroke-width:60;stroke-linecap:butt;stroke-linejoin:miter"
-     rx="0"
-     height="1800"
-     width="1200"
-     y="4497.5557"
-     x="4803.749" />
-  <rect
-     id="rect2447"
-     style="fill:#c8c4b7;stroke:#000000;stroke-width:60;stroke-linecap:butt;stroke-linejoin:miter"
-     rx="0"
-     height="600"
-     width="600"
-     y="3892.5679"
-     x="5421.3672" />
-  <rect
-     id="rect6"
-     style="fill:#6c6753;stroke:#000000;stroke-width:60;stroke-linecap:butt;stroke-linejoin:miter"
-     rx="0"
-     height="1800"
-     width="1200"
-     y="6300"
-     x="7200" />
-  <rect
-     id="rect8"
-     style="fill:#6c6753;stroke:#000000;stroke-width:60;stroke-linecap:butt;stroke-linejoin:miter"
-     rx="0"
-     height="1800"
-     width="1200"
-     y="6300"
-     x="6000" />
-  <rect
-     id="rect10"
-     style="fill:#6c6753;stroke:#000000;stroke-width:60;stroke-linecap:butt;stroke-linejoin:miter"
-     rx="0"
-     height="1800"
-     width="1200"
-     y="6300"
-     x="4800" />
-  <rect
-     id="rect12"
-     style="fill:#6c6753;stroke:#000000;stroke-width:60;stroke-linecap:butt;stroke-linejoin:miter"
-     rx="0"
-     height="1800"
-     width="1200"
-     y="6300"
-     x="3600" />
-  <polygon
-     id="polygon14"
-     style="fill:#c8c4b7;stroke:#000000;stroke-width:60;stroke-linecap:butt;stroke-linejoin:miter"
-     points="2400,8100 2400,6900 3000,6900 3000,6300 3600,6300 3600,8100 2400,8100 " />
-  <rect
-     id="rect16"
-     style="fill:#c8c4b7;stroke:#000000;stroke-width:60;stroke-linecap:butt;stroke-linejoin:miter"
-     rx="0"
-     height="600"
-     width="600"
-     y="7500"
-     x="1800" />
-  <polygon
-     id="polygon18"
-     style="fill:#c8c4b7;stroke:#000000;stroke-width:60;stroke-linecap:butt;stroke-linejoin:miter"
-     points="3600,6300 3600,5700 4200,5700 4200,5100 4800,5100 4800,6300 3600,6300 " />
-  <rect
-     id="rect24"
-     style="fill:#6c6753;stroke:#000000;stroke-width:60;stroke-linecap:butt;stroke-linejoin:miter"
-     rx="0"
-     height="1800"
-     width="1200"
-     y="4500"
-     x="6000" />
-  <rect
-     id="rect26"
-     style="fill:#6c6753;stroke:#000000;stroke-width:60;stroke-linecap:butt;stroke-linejoin:miter"
-     rx="0"
-     height="1800"
-     width="1200"
-     y="4500"
-     x="7200" />
-  <rect
-     id="rect28"
-     style="fill:#6c6753;stroke:#000000;stroke-width:60;stroke-linecap:butt;stroke-linejoin:miter"
-     rx="0"
-     height="1800"
-     width="1200"
-     y="2700"
-     x="7200" />
-  <polygon
-     id="polygon30"
-     style="fill:#c8c4b7;stroke:#000000;stroke-width:60;stroke-linecap:butt;stroke-linejoin:miter"
-     points="6000,4500 6000,3300 6600,3300 6600,2700 7200,2700 7200,4500 6000,4500 " />
-  <polygon
-     id="polygon32"
-     style="fill:#c8c4b7;stroke:#000000;stroke-width:60;stroke-linecap:butt;stroke-linejoin:miter"
-     points="7200,2700 7200,2100 7800,2100 7800,1500 8400,1500 8400,2700 7200,2700 " />
-  <polyline
-     id="polyline34"
-     style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter"
-     points="6000,9075 6525,9075 " />
-  <polygon
-     id="polygon36"
-     style="fill:#000000;stroke:#000000;stroke-width:30"
-     points="6490,9150 6678,9075 6490,9000 6528,9075 6490,9150 " />
-  <polyline
-     id="polyline38"
-     style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter"
-     points="9300,4275 9300,3749 " />
-  <polygon
-     id="polygon40"
-     style="fill:#000000;stroke:#000000;stroke-width:30"
-     points="9375,3784 9300,3597 9225,3784 9300,3747 9375,3784 " />
-  <polyline
-     id="polyline42"
-     style="stroke:#000000;stroke-width:15;stroke-linecap:butt;stroke-linejoin:miter"
-     points="3000,6900 3000,8100 " />
-  <polyline
-     id="polyline44"
-     style="stroke:#000000;stroke-width:15;stroke-linecap:butt;stroke-linejoin:miter"
-     points="2400,7500 8400,7500 " />
-  <polyline
-     id="polyline46"
-     style="stroke:#000000;stroke-width:15;stroke-linecap:butt;stroke-linejoin:miter"
-     points="3000,6900 8400,6900 " />
-  <polyline
-     id="polyline48"
-     style="stroke:#000000;stroke-width:15;stroke-linecap:butt;stroke-linejoin:miter"
-     points="4200,5700 4200,8100 " />
-  <polyline
-     id="polyline50"
-     style="stroke:#000000;stroke-width:15;stroke-linecap:butt;stroke-linejoin:miter"
-     points="5400,4500 5400,8100 " />
-  <polyline
-     id="polyline52"
-     style="stroke:#000000;stroke-width:15;stroke-linecap:butt;stroke-linejoin:miter"
-     points="6600,3300 6600,8100 " />
-  <polyline
-     id="polyline54"
-     style="stroke:#000000;stroke-width:15;stroke-linecap:butt;stroke-linejoin:miter"
-     points="7800,2100 7800,8100 " />
-  <polyline
-     id="polyline56"
-     style="stroke:#000000;stroke-width:15;stroke-linecap:butt;stroke-linejoin:miter"
-     points="4200,5700 8400,5700 " />
-  <polyline
-     id="polyline60"
-     style="stroke:#000000;stroke-width:15;stroke-linecap:butt;stroke-linejoin:miter"
-     points="6000,3900 8400,3900 " />
-  <polyline
-     id="polyline62"
-     style="stroke:#000000;stroke-width:15;stroke-linecap:butt;stroke-linejoin:miter"
-     points="5400,4500 6000,4500 " />
-  <polyline
-     id="polyline64"
-     style="stroke:#000000;stroke-width:15;stroke-linecap:butt;stroke-linejoin:miter"
-     points="6600,3300 8400,3300 " />
-  <polyline
-     id="polyline66"
-     style="stroke:#000000;stroke-width:15;stroke-linecap:butt;stroke-linejoin:miter"
-     points="7800,2100 8400,2100 " />
-  <text
-     style="font-size:360px;font-style:normal;font-weight:bold;text-anchor:middle;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text68"
-     font-size="360"
-     font-weight="bold"
-     font-style="normal"
-     y="7950"
-     x="2100"
-     xml:space="preserve">A</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:bold;text-anchor:middle;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text70"
-     font-size="360"
-     font-weight="bold"
-     font-style="normal"
-     y="7350"
-     x="2700"
-     xml:space="preserve">A</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:bold;text-anchor:middle;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text72"
-     font-size="360"
-     font-weight="bold"
-     font-style="normal"
-     y="6750"
-     x="3300"
-     xml:space="preserve">A</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:bold;text-anchor:middle;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text74"
-     font-size="360"
-     font-weight="bold"
-     font-style="normal"
-     y="6150"
-     x="3900"
-     xml:space="preserve">A</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:bold;text-anchor:middle;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text76"
-     font-size="360"
-     font-weight="bold"
-     font-style="normal"
-     y="5550"
-     x="4500"
-     xml:space="preserve">A</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:bold;text-anchor:middle;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text78"
-     font-size="360"
-     font-weight="bold"
-     font-style="normal"
-     y="4950"
-     x="5100"
-     xml:space="preserve">A</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:bold;text-anchor:middle;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text80"
-     font-size="360"
-     font-weight="bold"
-     font-style="normal"
-     y="4350"
-     x="5700"
-     xml:space="preserve">A</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:bold;text-anchor:middle;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text82"
-     font-size="360"
-     font-weight="bold"
-     font-style="normal"
-     y="3750"
-     x="6300"
-     xml:space="preserve">A</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:bold;text-anchor:middle;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text84"
-     font-size="360"
-     font-weight="bold"
-     font-style="normal"
-     y="3150"
-     x="6900"
-     xml:space="preserve">A</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:bold;text-anchor:middle;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text86"
-     font-size="360"
-     font-weight="bold"
-     font-style="normal"
-     y="2550"
-     x="7500"
-     xml:space="preserve">A</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:bold;text-anchor:middle;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text88"
-     font-size="360"
-     font-weight="bold"
-     font-style="normal"
-     y="1950"
-     x="8100"
-     xml:space="preserve">A</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:bold;text-anchor:middle;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text90"
-     font-size="360"
-     font-weight="bold"
-     font-style="normal"
-     y="9225"
-     x="5100"
-     xml:space="preserve">station</text>
   <g
-     style="stroke:#000000;stroke-width:0.025in"
-     id="g92"
-     transform="matrix(-3.6732199e-6,-1,1,-3.6732199e-6,9450,5175)">
-    <text
-       style="font-size:360px;font-style:normal;font-weight:bold;text-anchor:middle;fill:#000000;stroke:#000000;font-family:Helvetica"
-       id="text94"
+     style="stroke-width:.025in; stroke:black; fill:none"
+     id="g4">
+<!-- Line -->    <polygon
+       points="9000,8100 9000,900 8400,900 8400,1500 7800,1500 7800,2100 7200,2100 7200,2700 6600,2700 6600,3300 6000,3300 6000,3900 5400,3900 5400,4500 4800,4500 4800,5100 4200,5100 4200,5700 3600,5700 3600,6300 3000,6300 3000,6900 2400,6900 2400,7500 1800,7500 1800,8100 9000,8100 "
+       style="stroke:#000000;stroke-width:60; stroke-linejoin:miter; stroke-linecap:butt; fill:#ffd600; "
+       id="polygon6" />
+<!-- Line: box -->    <rect
+       x="6600"
+       y="3300"
+       width="2400"
+       height="2400"
+       rx="0"
+       style="stroke:#000000;stroke-width:60; stroke-linejoin:miter; stroke-linecap:butt; fill:#ff0000; "
+       id="rect8" />
+<!-- Line -->    <polyline
+       points="6000,9075 6525,9075 "
+       style="stroke:#000000;stroke-width:30; stroke-linejoin:miter; stroke-linecap:butt; "
+       id="polyline10" />
+<!-- Arrowhead on XXXpoint 6000 9075 - 6720 9075-->    <polygon
+       points="6490 9150 6678 9075 6490 9000 6528 9075 6490 9150  "
+       style="stroke:#000000;stroke-width:30; fill:#000000;"
+       id="polygon12" />
+<!-- Line -->    <polyline
+       points="9900,4275 9900,3749 "
+       style="stroke:#000000;stroke-width:30; stroke-linejoin:miter; stroke-linecap:butt; "
+       id="polyline14" />
+<!-- Arrowhead on XXXpoint 9900 4275 - 9900 3555-->    <polygon
+       points="9975 3784 9900 3597 9825 3784 9900 3747 9975 3784  "
+       style="stroke:#000000;stroke-width:30; fill:#000000;"
+       id="polygon16" />
+<!-- Line -->    <polyline
+       points="2400,8100 2400,7500 9000,7500 "
+       style="stroke:#000000;stroke-width:15; stroke-linejoin:miter; stroke-linecap:butt; "
+       id="polyline18" />
+<!-- Line -->    <polyline
+       points="3000,8100 3000,6900 9000,6900 "
+       style="stroke:#000000;stroke-width:15; stroke-linejoin:miter; stroke-linecap:butt; "
+       id="polyline20" />
+<!-- Line -->    <polyline
+       points="3600,8100 3600,6300 9000,6300 "
+       style="stroke:#000000;stroke-width:15; stroke-linejoin:miter; stroke-linecap:butt; "
+       id="polyline22" />
+<!-- Line -->    <polyline
+       points="4800,8100 4800,5100 9000,5100 "
+       style="stroke:#000000;stroke-width:15; stroke-linejoin:miter; stroke-linecap:butt; "
+       id="polyline24" />
+<!-- Line -->    <polyline
+       points="5400,8100 5400,4500 9000,4500 "
+       style="stroke:#000000;stroke-width:15; stroke-linejoin:miter; stroke-linecap:butt; "
+       id="polyline26" />
+<!-- Line -->    <polyline
+       points="6000,8100 6000,3900 9000,3900 "
+       style="stroke:#000000;stroke-width:15; stroke-linejoin:miter; stroke-linecap:butt; "
+       id="polyline28" />
+<!-- Line -->    <polyline
+       points="7200,8100 7200,2700 9000,2700 "
+       style="stroke:#000000;stroke-width:15; stroke-linejoin:miter; stroke-linecap:butt; "
+       id="polyline30" />
+<!-- Line -->    <polyline
+       points="7800,8100 7800,2100 9000,2100 "
+       style="stroke:#000000;stroke-width:15; stroke-linejoin:miter; stroke-linecap:butt; "
+       id="polyline32" />
+<!-- Line -->    <polyline
+       points="8400,8100 8400,1500 9000,1500 "
+       style="stroke:#000000;stroke-width:15; stroke-linejoin:miter; stroke-linecap:butt; "
+       id="polyline34" />
+<!-- Line -->    <polyline
+       points="4200,8100 4200,5700 9000,5700 "
+       style="stroke:#000000;stroke-width:60; stroke-linejoin:miter; stroke-linecap:butt; "
+       id="polyline36" />
+<!-- Line -->    <polyline
+       points="6600,8100 6600,3300 9000,3300 "
+       style="stroke:#000000;stroke-width:60; stroke-linejoin:miter; stroke-linecap:butt; "
+       id="polyline38" />
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="2100"
+       y="7950"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="bold"
+       font-size="360"
+       text-anchor="middle"
+       id="text40">A</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="2700"
+       y="7350"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="bold"
+       font-size="360"
+       text-anchor="middle"
+       id="text42">A</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="3300"
+       y="6750"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="bold"
+       font-size="360"
+       text-anchor="middle"
+       id="text44">A</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="3900"
+       y="6150"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="bold"
+       font-size="360"
+       text-anchor="middle"
+       id="text46">A</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="4500"
+       y="5550"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="bold"
+       font-size="360"
+       text-anchor="middle"
+       id="text48">A</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="5100"
+       y="4950"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="bold"
+       font-size="360"
+       text-anchor="middle"
+       id="text50">A</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="5700"
+       y="4350"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="bold"
+       font-size="360"
+       text-anchor="middle"
+       id="text52">A</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="6300"
+       y="3750"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="bold"
+       font-size="360"
+       text-anchor="middle"
+       id="text54">A</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="6900"
+       y="3150"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="bold"
        font-size="360"
+       text-anchor="middle"
+       id="text56">A</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="7500"
+       y="2550"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
        font-weight="bold"
+       font-size="360"
+       text-anchor="middle"
+       id="text58">A</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="8100"
+       y="1950"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="bold"
+       font-size="360"
+       text-anchor="middle"
+       id="text60">A</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="5100"
+       y="9225"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="bold"
+       font-size="360"
+       text-anchor="middle"
+       id="text62">station</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="2100"
+       y="8625"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="normal"
+       font-size="360"
+       text-anchor="middle"
+       id="text64">0</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="2700"
+       y="8625"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="normal"
+       font-size="360"
+       text-anchor="middle"
+       id="text66">1</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="3900"
+       y="8625"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="normal"
+       font-size="360"
+       text-anchor="middle"
+       id="text68">3</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="4500"
+       y="8625"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="normal"
+       font-size="360"
+       text-anchor="middle"
+       id="text70">4</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="5100"
+       y="8625"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
        font-style="normal"
-       y="0"
-       x="0"
-       xml:space="preserve">station</text>
+       font-weight="normal"
+       font-size="360"
+       text-anchor="middle"
+       id="text72">5</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="5700"
+       y="8625"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="normal"
+       font-size="360"
+       text-anchor="middle"
+       id="text74">6</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="6300"
+       y="8625"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="normal"
+       font-size="360"
+       text-anchor="middle"
+       id="text76">7</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="6900"
+       y="8625"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="normal"
+       font-size="360"
+       text-anchor="middle"
+       id="text78">8</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="7500"
+       y="8625"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="normal"
+       font-size="360"
+       text-anchor="middle"
+       id="text80">9</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="8100"
+       y="8625"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="normal"
+       font-size="360"
+       text-anchor="middle"
+       id="text82">10</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="3300"
+       y="8625"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="normal"
+       font-size="360"
+       text-anchor="middle"
+       id="text84">2</text>
+<!-- Text -->    <g
+       transform="translate(10050,5175) rotate(-90.00021046)"
+       id="g86">
+      <text
+         xml:space="preserve"
+         x="0"
+         y="0"
+         stroke="#000000"
+         fill="#000000"
+         font-family="Helvetica"
+         font-style="normal"
+         font-weight="bold"
+         font-size="360"
+         text-anchor="middle"
+         id="text88">station</text>
+    </g>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="9225"
+       y="7950"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="normal"
+       font-size="360"
+       text-anchor="start"
+       id="text90">0</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="9225"
+       y="7350"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="normal"
+       font-size="360"
+       text-anchor="start"
+       id="text92">1</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="9225"
+       y="6150"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="normal"
+       font-size="360"
+       text-anchor="start"
+       id="text94">3</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="9225"
+       y="4950"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="normal"
+       font-size="360"
+       text-anchor="start"
+       id="text96">5</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="9225"
+       y="4350"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="normal"
+       font-size="360"
+       text-anchor="start"
+       id="text98">6</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="9225"
+       y="3750"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="normal"
+       font-size="360"
+       text-anchor="start"
+       id="text100">7</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="9225"
+       y="3150"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="normal"
+       font-size="360"
+       text-anchor="start"
+       id="text102">8</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="9225"
+       y="2550"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="normal"
+       font-size="360"
+       text-anchor="start"
+       id="text104">9</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="9225"
+       y="5550"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="normal"
+       font-size="360"
+       text-anchor="start"
+       id="text106">4</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="9225"
+       y="6750"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="normal"
+       font-size="360"
+       text-anchor="start"
+       id="text108">2</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="9225"
+       y="1950"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="normal"
+       font-size="360"
+       text-anchor="start"
+       id="text110">10</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="9225"
+       y="1350"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="normal"
+       font-size="360"
+       text-anchor="start"
+       id="text112">11</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="8700"
+       y="8625"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="normal"
+       font-size="360"
+       text-anchor="middle"
+       id="text114">11</text>
+<!-- Text -->    <text
+       xml:space="preserve"
+       x="8700"
+       y="1350"
+       stroke="#000000"
+       fill="#000000"
+       font-family="Helvetica"
+       font-style="normal"
+       font-weight="bold"
+       font-size="360"
+       text-anchor="middle"
+       id="text116">A</text>
   </g>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text96"
-     font-size="360"
-     font-weight="normal"
-     font-style="normal"
-     y="7950"
-     x="8625"
-     xml:space="preserve">0</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text98"
-     font-size="360"
-     font-weight="normal"
-     font-style="normal"
-     y="7350"
-     x="8625"
-     xml:space="preserve">1</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text100"
-     font-size="360"
-     font-weight="normal"
-     font-style="normal"
-     y="6150"
-     x="8625"
-     xml:space="preserve">3</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text102"
-     font-size="360"
-     font-weight="normal"
-     font-style="normal"
-     y="4950"
-     x="8625"
-     xml:space="preserve">5</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text104"
-     font-size="360"
-     font-weight="normal"
-     font-style="normal"
-     y="4350"
-     x="8625"
-     xml:space="preserve">6</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text106"
-     font-size="360"
-     font-weight="normal"
-     font-style="normal"
-     y="3750"
-     x="8625"
-     xml:space="preserve">7</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text108"
-     font-size="360"
-     font-weight="normal"
-     font-style="normal"
-     y="3150"
-     x="8625"
-     xml:space="preserve">8</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text110"
-     font-size="360"
-     font-weight="normal"
-     font-style="normal"
-     y="2550"
-     x="8625"
-     xml:space="preserve">9</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text112"
-     font-size="360"
-     font-weight="normal"
-     font-style="normal"
-     y="5550"
-     x="8625"
-     xml:space="preserve">4</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text114"
-     font-size="360"
-     font-weight="normal"
-     font-style="normal"
-     y="6750"
-     x="8625"
-     xml:space="preserve">2</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text116"
-     font-size="360"
-     font-weight="normal"
-     font-style="normal"
-     y="1950"
-     x="8625"
-     xml:space="preserve">10</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text118"
-     font-size="360"
-     font-weight="normal"
-     font-style="normal"
-     y="8625"
-     x="2100"
-     xml:space="preserve">0</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text120"
-     font-size="360"
-     font-weight="normal"
-     font-style="normal"
-     y="8625"
-     x="2700"
-     xml:space="preserve">1</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text122"
-     font-size="360"
-     font-weight="normal"
-     font-style="normal"
-     y="8625"
-     x="3900"
-     xml:space="preserve">3</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text124"
-     font-size="360"
-     font-weight="normal"
-     font-style="normal"
-     y="8625"
-     x="4500"
-     xml:space="preserve">4</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text126"
-     font-size="360"
-     font-weight="normal"
-     font-style="normal"
-     y="8625"
-     x="5100"
-     xml:space="preserve">5</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text128"
-     font-size="360"
-     font-weight="normal"
-     font-style="normal"
-     y="8625"
-     x="5700"
-     xml:space="preserve">6</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text130"
-     font-size="360"
-     font-weight="normal"
-     font-style="normal"
-     y="8625"
-     x="6300"
-     xml:space="preserve">7</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text132"
-     font-size="360"
-     font-weight="normal"
-     font-style="normal"
-     y="8625"
-     x="6900"
-     xml:space="preserve">8</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text134"
-     font-size="360"
-     font-weight="normal"
-     font-style="normal"
-     y="8625"
-     x="7500"
-     xml:space="preserve">9</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text136"
-     font-size="360"
-     font-weight="normal"
-     font-style="normal"
-     y="8625"
-     x="8100"
-     xml:space="preserve">10</text>
-  <text
-     style="font-size:360px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;stroke:#000000;stroke-width:0.025in;font-family:Helvetica"
-     id="text138"
-     font-size="360"
-     font-weight="normal"
-     font-style="normal"
-     y="8625"
-     x="3300"
-     xml:space="preserve">2</text>
-  <polyline
-     transform="translate(0.8238523,-608.65589)"
-     id="polyline2453"
-     style="stroke:#000000;stroke-width:15;stroke-linecap:butt;stroke-linejoin:miter"
-     points="4200,5700 8400,5700 " />
 </svg>
diff --git a/doc/papers/2010/SPM/spm.tex b/doc/papers/2010/SPM/spm.tex
index 6f59ccb2820b47582a74b247053fa8d9f8231b04..e38bf8b8dfdc9dedd096d3efa2388e88cf83ab46 100644
--- a/doc/papers/2010/SPM/spm.tex
+++ b/doc/papers/2010/SPM/spm.tex
@@ -586,126 +586,82 @@ that share a cache should be tailored accordingly. On GPUs, for
 example, this can be done by \emph{coalescing} memory accesses.  This
 means that different concurrent threads read subsequent memory
 locations.  This can be counter-intuitive, since traditionally, it was
-better to have linear memory access patterns within a thread.
-In the next section, we explain the techniques described above by applying them to the correlator application.
+better to have linear memory access patterns within a thread.  In the
+next section, we explain the techniques described above by applying
+them to the correlator application.
 
 
 \section{Optimizing the correlator}
+% TODO add text about mapping from alg to arch
+
+\begin{figure}[t]
+\begin{center}
+\includegraphics[width=4.2cm]{figures/correlation-triangle.pdf}
+\end{center}
+\vspace{-0.5cm}
+\caption{An example correlation triangle.}
+\label{fig-correlation}
+\end{figure}
 
+Although in reality the receivers are dual-polarized, and the samples are complex numbers, 
+we use single-polarized real samples in the following example for simplicity.
 An unoptimized correlator would read the samples from two receivers and
-multiply them, requiring two memory reads for one complex multiplication.
+multiply them, requiring two memory loads for one multiplication.
 The correlator can be optimized by reusing a sample that is read from memory
 as often as possible, by using it for multiple correlations (see
-Figure~\ref{fig:correlator-triangle}).
+Figure~\ref{fig-correlation}).
+The figure is triangular, because we compute
+the correlation of each pair of receivers only once. The squares labeled \emph{A} are
+autocorrelations.
+
 For example, the samples from receivers 8, 9, 10, and 11 can be correlated
 with the samples from receivers 4, 5, 6, and 7 (the red square in the figure),
-using each fetched sample for four complex multiplications.
-This way, eight memory accesses are required for sixteen complex
+reusing each fetched sample four times.
+This way, eight samples are read from memory for 16
 multiplications, reducing the amount of memory operations already by a factor
 of four.
-Correlating even higher numbers of receivers at one go would reduce the
+Correlating even higher numbers of receivers simultaneously would reduce the
 memory bandwidth usage further, but the maximum number of receivers that can
-be correlated this way is quite limited by the size of the register file.
-The accumulated correlations are best kept in registers, and the number of
+be correlated this way is limited by the number of registers that an architecture has.
+The accumulated correlations are also best kept in registers, and the number of
 required registers grows rapidly with the number of receiver inputs.
-The example above already requires sixteen complex accumulators.
-Additional registers are needed to load samples from memory.
+The example above already requires 16 accumulators.
+Additional registers are needed to load samples from memory (8 in this case).
 To obtain good performance, it is important to tune the tile size to the
 architecture.
 
-Caches and memory prefetch units can also improve the performance.
-However, a cache-size dependent tradeoff must be made.
+%Caches and memory prefetch units can also improve the performance.
+%However, a cache-size dependent tradeoff must be made.
 %On the one hand, correlating and integrating over long periods of time
 %is good for pipelined FPU operation, on the other hand, the 
 
-
-%- optimaliseren van het algorithme: tiles, etc
-
-% TODO add text about mapping from alg to arch
-
-\begin{figure}[t]
-\begin{center}
-\includegraphics[width=4.2cm]{figures/correlation-triangle.pdf}
-\end{center}
-\vspace{-0.5cm}
-\caption{An example correlation triangle.}
-\label{fig-correlation}
-\end{figure}
-
-An important optimization that we implemented is the reduction
-of memory loads by the correlator. 
-A sample can be used multiple times by correlating it
-with the samples from multiple other receivers in the same loop iteration.
-For example, a sample from receiver A in the X polarization
-that is loaded into a register pair can be correlated with the X and
-Y polarizations of receivers B, C and D, using it six times. 
-Figure~\ref{fig-correlation} shows how we correlate multiple
-receivers at the same time. Each square represents the XX, XY,
-YX, and YY correlations of the receivers as indicated by row and
-column number. The figure is triangular, because we compute
-the correlation of each pair of receivers only once. The squares labeled \emph{A} are
-autocorrelations, which can be treated specially since they require only half
-the amount of computations.
-The triangle is divided into larger tiles, in this case 
-2x3 tiles (the dark gray boxes), but arbitrary sizes are possible.
-A tile is correlated as a unit. For example, the lower
-right-hand-side rectangle correlates receivers 9 and 10 with receivers
-0, 1, and 2.
-
-It is important to tune the tile size to the architecture. We want to
-make the tile size as large as possible, while still fitting in the
-register file. This offers the highest level of data reuse.  
-If we have a $w \times h$ tile size, the number of operations is given by $flops = 32wh$.
-The number of bytes that has to loaded from memory is $16(w+h)$.
-The minimum number of registers that is required is $4 (1 + min(w,h)) + 8 w h$.
-This is the total number of registers, including accumulators, while reusing
-registers if a value is no longer needed (hence the $min$ operation). However,
-this formula does not count additional registers that could be needed for data prefetching,
-address calculations and loop counters.
-The number of registers is expressed in single-precision float registers. If an architecture has vector
-registers, the result can be divided by the vector length.
-Table~\ref{tile-size-table} shows the properties of different tile sizes. 
-
-Despite the division of the correlation triangle in tiles, there
-still is opportunity for additional data reuse \emph{between} tiles. 
-The tiles
+Even when dividing the correlation triangle in tiles there still is
+opportunity for additional data reuse \emph{between} tiles.  The tiles
 within a row or column in the triangle still need the same samples.
-In
-addition to registers, caches can thus also be used to increase data
-reuse.  Since we know exactly what data can be reused at what moment, we
-found it is important to have direct influence on the caches and the thread scheduler.  This
-way, we can make sure that tiles in same row or column are calculated
-at the same time by different threads. 
-Because the algorithm is
-extremely data intensive, the resulting optimized implementation on
-many-cores is typically limited by the architecture's memory
-bandwidth. The memory aspects of the algorithm are twofold.
-There is an algorithmic part, the tile size, which is limited
-by the number of registers. The second aspect is architectural in nature: the cache
-sizes, cache hierarchy and hit ratio. Together, these two aspects dictate the
-memory bandwidth that is needed to keep the FPUs busy.
-
-\begin{table}
-\begin{center}
-{\small
-\begin{tabular}{l|r|r|r|r}
-tile & floating point & memory loads & arithmetic     &  minimum nr.           \\
-size & operations     & (bytes)      & intensity      &  registers (floats)    \\
-\hline
-1x1  &  32            &   32         &   1.00         &  16                    \\
-1x2  &  64            &   48         &   1.33         &  24                    \\
-2x2  & 128            &   64         &   2.00         &  44                    \\
-3x2  & 192            &   80         &   2.40         &  60                    \\
-3x3  & 288            &   96         &   3.00         &  88                    \\
-4x3  & 384            &  112         &   3.43         & 112                    \\
-4x4  & 512            &  128         &   4.00         & 148                    \\
-\end{tabular}
-} %\small
-\end{center}
-\vspace{-0.5cm}
-\caption{Properties of different tile sizes.}
-\label{tile-size-table}
-\end{table}
+In addition to registers, caches can thus also be used to increase
+data reuse. 
+
+%% \begin{table}
+%% \begin{center}
+%% {\small
+%% \begin{tabular}{l|r|r|r|r}
+%% tile & floating point & memory loads & arithmetic     &  minimum nr.           \\
+%% size & operations     & (bytes)      & intensity      &  registers (floats)    \\
+%% \hline
+%% 1x1  &  32            &   32         &   1.00         &  16                    \\
+%% 1x2  &  64            &   48         &   1.33         &  24                    \\
+%% 2x2  & 128            &   64         &   2.00         &  44                    \\
+%% 3x2  & 192            &   80         &   2.40         &  60                    \\
+%% 3x3  & 288            &   96         &   3.00         &  88                    \\
+%% 4x3  & 384            &  112         &   3.43         & 112                    \\
+%% 4x4  & 512            &  128         &   4.00         & 148                    \\
+%% \end{tabular}
+%% } %\small
+%% \end{center}
+%% \vspace{-0.5cm}
+%% \caption{Properties of different tile sizes.}
+%% \label{tile-size-table}
+%% \end{table}
 
 It is important to realize that the
 correlator itself is \emph{trivially parallel}, since tens of thousands of