changeset 53:a358d611a1a7

perf tuning -- added fig for UCC concretness grid
author Sean Halle <seanhalle@yahoo.com>
date Tue, 05 Jun 2012 07:28:32 -0700
parents 4433e4c6a758
children 1257c74c33fd
files 0__Papers/Holistic_Model/Perf_Tune/figures/SCG_stylized_for_expl.svg 0__Papers/Holistic_Model/Perf_Tune/figures/UCC_concreteness_grid.pdf 0__Papers/Holistic_Model/Perf_Tune/figures/UCC_concreteness_grid.svg 0__Papers/Holistic_Model/Perf_Tune/latex/Holistic_Perf_Tuning.tex
diffstat 4 files changed, 1290 insertions(+), 510 deletions(-) [+]
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/0__Papers/Holistic_Model/Perf_Tune/figures/SCG_stylized_for_expl.svg	Tue Jun 05 07:28:32 2012 -0700
     1.3 @@ -0,0 +1,964 @@
     1.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
     1.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
     1.6 +
     1.7 +<svg
     1.8 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
     1.9 +   xmlns:cc="http://creativecommons.org/ns#"
    1.10 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    1.11 +   xmlns:svg="http://www.w3.org/2000/svg"
    1.12 +   xmlns="http://www.w3.org/2000/svg"
    1.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    1.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
    1.15 +   width="744.09448819"
    1.16 +   height="1052.3622047"
    1.17 +   id="svg2"
    1.18 +   sodipodi:version="0.32"
    1.19 +   inkscape:version="0.48.1 "
    1.20 +   sodipodi:docname="UCC_concreteness_grid.svg"
    1.21 +   inkscape:output_extension="org.inkscape.output.svg.inkscape"
    1.22 +   version="1.1">
    1.23 +  <defs
    1.24 +     id="defs4">
    1.25 +    <marker
    1.26 +       inkscape:stockid="Arrow2Mend"
    1.27 +       orient="auto"
    1.28 +       refY="0.0"
    1.29 +       refX="0.0"
    1.30 +       id="Arrow2Mend"
    1.31 +       style="overflow:visible;">
    1.32 +      <path
    1.33 +         id="path3563"
    1.34 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
    1.35 +         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
    1.36 +         transform="scale(0.6) rotate(180) translate(0,0)" />
    1.37 +    </marker>
    1.38 +    <marker
    1.39 +       inkscape:stockid="TriangleOutM"
    1.40 +       orient="auto"
    1.41 +       refY="0.0"
    1.42 +       refX="0.0"
    1.43 +       id="TriangleOutM"
    1.44 +       style="overflow:visible">
    1.45 +      <path
    1.46 +         id="path3682"
    1.47 +         d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
    1.48 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
    1.49 +         transform="scale(0.4)" />
    1.50 +    </marker>
    1.51 +    <marker
    1.52 +       inkscape:stockid="Arrow2Lend"
    1.53 +       orient="auto"
    1.54 +       refY="0.0"
    1.55 +       refX="0.0"
    1.56 +       id="Arrow2Lend"
    1.57 +       style="overflow:visible;">
    1.58 +      <path
    1.59 +         id="path3557"
    1.60 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
    1.61 +         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
    1.62 +         transform="scale(1.1) rotate(180) translate(1,0)" />
    1.63 +    </marker>
    1.64 +    <marker
    1.65 +       inkscape:stockid="Arrow1Mstart"
    1.66 +       orient="auto"
    1.67 +       refY="0.0"
    1.68 +       refX="0.0"
    1.69 +       id="Arrow1Mstart"
    1.70 +       style="overflow:visible">
    1.71 +      <path
    1.72 +         id="path3542"
    1.73 +         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
    1.74 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
    1.75 +         transform="scale(0.4) translate(10,0)" />
    1.76 +    </marker>
    1.77 +    <marker
    1.78 +       inkscape:stockid="Arrow1Lend"
    1.79 +       orient="auto"
    1.80 +       refY="0.0"
    1.81 +       refX="0.0"
    1.82 +       id="Arrow1Lend"
    1.83 +       style="overflow:visible;">
    1.84 +      <path
    1.85 +         id="path3539"
    1.86 +         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
    1.87 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
    1.88 +         transform="scale(0.8) rotate(180) translate(12.5,0)" />
    1.89 +    </marker>
    1.90 +    <marker
    1.91 +       inkscape:stockid="Arrow1Lstart"
    1.92 +       orient="auto"
    1.93 +       refY="0.0"
    1.94 +       refX="0.0"
    1.95 +       id="Arrow1Lstart"
    1.96 +       style="overflow:visible">
    1.97 +      <path
    1.98 +         id="path3536"
    1.99 +         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
   1.100 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
   1.101 +         transform="scale(0.8) translate(12.5,0)" />
   1.102 +    </marker>
   1.103 +    <inkscape:perspective
   1.104 +       sodipodi:type="inkscape:persp3d"
   1.105 +       inkscape:vp_x="0 : 526.18109 : 1"
   1.106 +       inkscape:vp_y="0 : 1000 : 0"
   1.107 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
   1.108 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
   1.109 +       id="perspective10" />
   1.110 +    <inkscape:perspective
   1.111 +       id="perspective4311"
   1.112 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   1.113 +       inkscape:vp_z="1 : 0.5 : 1"
   1.114 +       inkscape:vp_y="0 : 1000 : 0"
   1.115 +       inkscape:vp_x="0 : 0.5 : 1"
   1.116 +       sodipodi:type="inkscape:persp3d" />
   1.117 +    <inkscape:perspective
   1.118 +       id="perspective4336"
   1.119 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   1.120 +       inkscape:vp_z="1 : 0.5 : 1"
   1.121 +       inkscape:vp_y="0 : 1000 : 0"
   1.122 +       inkscape:vp_x="0 : 0.5 : 1"
   1.123 +       sodipodi:type="inkscape:persp3d" />
   1.124 +    <inkscape:perspective
   1.125 +       id="perspective4365"
   1.126 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   1.127 +       inkscape:vp_z="1 : 0.5 : 1"
   1.128 +       inkscape:vp_y="0 : 1000 : 0"
   1.129 +       inkscape:vp_x="0 : 0.5 : 1"
   1.130 +       sodipodi:type="inkscape:persp3d" />
   1.131 +    <marker
   1.132 +       inkscape:stockid="Arrow2Mend"
   1.133 +       orient="auto"
   1.134 +       refY="0"
   1.135 +       refX="0"
   1.136 +       id="Arrow2Mend-9"
   1.137 +       style="overflow:visible">
   1.138 +      <path
   1.139 +         id="path3563-4"
   1.140 +         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
   1.141 +         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
   1.142 +         transform="scale(-0.6,-0.6)" />
   1.143 +    </marker>
   1.144 +    <inkscape:perspective
   1.145 +       id="perspective4423"
   1.146 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   1.147 +       inkscape:vp_z="1 : 0.5 : 1"
   1.148 +       inkscape:vp_y="0 : 1000 : 0"
   1.149 +       inkscape:vp_x="0 : 0.5 : 1"
   1.150 +       sodipodi:type="inkscape:persp3d" />
   1.151 +    <marker
   1.152 +       inkscape:stockid="Arrow2Mend"
   1.153 +       orient="auto"
   1.154 +       refY="0"
   1.155 +       refX="0"
   1.156 +       id="Arrow2Mend-8"
   1.157 +       style="overflow:visible">
   1.158 +      <path
   1.159 +         id="path3563-2"
   1.160 +         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
   1.161 +         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
   1.162 +         transform="scale(-0.6,-0.6)" />
   1.163 +    </marker>
   1.164 +    <inkscape:perspective
   1.165 +       id="perspective4461"
   1.166 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   1.167 +       inkscape:vp_z="1 : 0.5 : 1"
   1.168 +       inkscape:vp_y="0 : 1000 : 0"
   1.169 +       inkscape:vp_x="0 : 0.5 : 1"
   1.170 +       sodipodi:type="inkscape:persp3d" />
   1.171 +    <inkscape:perspective
   1.172 +       id="perspective14081"
   1.173 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   1.174 +       inkscape:vp_z="1 : 0.5 : 1"
   1.175 +       inkscape:vp_y="0 : 1000 : 0"
   1.176 +       inkscape:vp_x="0 : 0.5 : 1"
   1.177 +       sodipodi:type="inkscape:persp3d" />
   1.178 +    <inkscape:perspective
   1.179 +       id="perspective14206"
   1.180 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   1.181 +       inkscape:vp_z="1 : 0.5 : 1"
   1.182 +       inkscape:vp_y="0 : 1000 : 0"
   1.183 +       inkscape:vp_x="0 : 0.5 : 1"
   1.184 +       sodipodi:type="inkscape:persp3d" />
   1.185 +    <inkscape:perspective
   1.186 +       id="perspective14299"
   1.187 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   1.188 +       inkscape:vp_z="1 : 0.5 : 1"
   1.189 +       inkscape:vp_y="0 : 1000 : 0"
   1.190 +       inkscape:vp_x="0 : 0.5 : 1"
   1.191 +       sodipodi:type="inkscape:persp3d" />
   1.192 +    <inkscape:perspective
   1.193 +       id="perspective3233"
   1.194 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   1.195 +       inkscape:vp_z="1 : 0.5 : 1"
   1.196 +       inkscape:vp_y="0 : 1000 : 0"
   1.197 +       inkscape:vp_x="0 : 0.5 : 1"
   1.198 +       sodipodi:type="inkscape:persp3d" />
   1.199 +    <marker
   1.200 +       inkscape:stockid="Arrow2Mend"
   1.201 +       orient="auto"
   1.202 +       refY="0"
   1.203 +       refX="0"
   1.204 +       id="Arrow2Mend-8-1"
   1.205 +       style="overflow:visible">
   1.206 +      <path
   1.207 +         id="path3563-2-7"
   1.208 +         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
   1.209 +         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
   1.210 +         transform="scale(-0.6,-0.6)" />
   1.211 +    </marker>
   1.212 +    <marker
   1.213 +       inkscape:stockid="Arrow2Mend"
   1.214 +       orient="auto"
   1.215 +       refY="0"
   1.216 +       refX="0"
   1.217 +       id="marker3239"
   1.218 +       style="overflow:visible">
   1.219 +      <path
   1.220 +         id="path3241"
   1.221 +         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
   1.222 +         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
   1.223 +         transform="scale(-0.6,-0.6)" />
   1.224 +    </marker>
   1.225 +    <inkscape:perspective
   1.226 +       id="perspective3353"
   1.227 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   1.228 +       inkscape:vp_z="1 : 0.5 : 1"
   1.229 +       inkscape:vp_y="0 : 1000 : 0"
   1.230 +       inkscape:vp_x="0 : 0.5 : 1"
   1.231 +       sodipodi:type="inkscape:persp3d" />
   1.232 +    <inkscape:perspective
   1.233 +       id="perspective3447"
   1.234 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   1.235 +       inkscape:vp_z="1 : 0.5 : 1"
   1.236 +       inkscape:vp_y="0 : 1000 : 0"
   1.237 +       inkscape:vp_x="0 : 0.5 : 1"
   1.238 +       sodipodi:type="inkscape:persp3d" />
   1.239 +    <marker
   1.240 +       inkscape:stockid="Arrow2Mend"
   1.241 +       orient="auto"
   1.242 +       refY="0"
   1.243 +       refX="0"
   1.244 +       id="Arrow2Mend-8-5"
   1.245 +       style="overflow:visible">
   1.246 +      <path
   1.247 +         id="path3563-2-5"
   1.248 +         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
   1.249 +         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
   1.250 +         transform="scale(-0.6,-0.6)" />
   1.251 +    </marker>
   1.252 +    <marker
   1.253 +       inkscape:stockid="Arrow2Mend"
   1.254 +       orient="auto"
   1.255 +       refY="0"
   1.256 +       refX="0"
   1.257 +       id="marker3453"
   1.258 +       style="overflow:visible">
   1.259 +      <path
   1.260 +         id="path3455"
   1.261 +         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
   1.262 +         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
   1.263 +         transform="scale(-0.6,-0.6)" />
   1.264 +    </marker>
   1.265 +    <inkscape:perspective
   1.266 +       id="perspective4753"
   1.267 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   1.268 +       inkscape:vp_z="1 : 0.5 : 1"
   1.269 +       inkscape:vp_y="0 : 1000 : 0"
   1.270 +       inkscape:vp_x="0 : 0.5 : 1"
   1.271 +       sodipodi:type="inkscape:persp3d" />
   1.272 +    <marker
   1.273 +       inkscape:stockid="Arrow2Mend"
   1.274 +       orient="auto"
   1.275 +       refY="0"
   1.276 +       refX="0"
   1.277 +       id="Arrow2Mend-8-12"
   1.278 +       style="overflow:visible">
   1.279 +      <path
   1.280 +         id="path3563-2-3"
   1.281 +         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
   1.282 +         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
   1.283 +         transform="scale(-0.6,-0.6)" />
   1.284 +    </marker>
   1.285 +    <inkscape:perspective
   1.286 +       id="perspective4850"
   1.287 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   1.288 +       inkscape:vp_z="1 : 0.5 : 1"
   1.289 +       inkscape:vp_y="0 : 1000 : 0"
   1.290 +       inkscape:vp_x="0 : 0.5 : 1"
   1.291 +       sodipodi:type="inkscape:persp3d" />
   1.292 +    <marker
   1.293 +       inkscape:stockid="Arrow2Mend"
   1.294 +       orient="auto"
   1.295 +       refY="0"
   1.296 +       refX="0"
   1.297 +       id="Arrow2Mend-8-8"
   1.298 +       style="overflow:visible">
   1.299 +      <path
   1.300 +         id="path3563-2-74"
   1.301 +         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
   1.302 +         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
   1.303 +         transform="scale(-0.6,-0.6)" />
   1.304 +    </marker>
   1.305 +    <inkscape:perspective
   1.306 +       id="perspective4850-7"
   1.307 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   1.308 +       inkscape:vp_z="1 : 0.5 : 1"
   1.309 +       inkscape:vp_y="0 : 1000 : 0"
   1.310 +       inkscape:vp_x="0 : 0.5 : 1"
   1.311 +       sodipodi:type="inkscape:persp3d" />
   1.312 +    <marker
   1.313 +       inkscape:stockid="Arrow2Mend"
   1.314 +       orient="auto"
   1.315 +       refY="0"
   1.316 +       refX="0"
   1.317 +       id="Arrow2Mend-8-7"
   1.318 +       style="overflow:visible">
   1.319 +      <path
   1.320 +         id="path3563-2-9"
   1.321 +         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
   1.322 +         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
   1.323 +         transform="scale(-0.6,-0.6)" />
   1.324 +    </marker>
   1.325 +    <inkscape:perspective
   1.326 +       id="perspective4914"
   1.327 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   1.328 +       inkscape:vp_z="1 : 0.5 : 1"
   1.329 +       inkscape:vp_y="0 : 1000 : 0"
   1.330 +       inkscape:vp_x="0 : 0.5 : 1"
   1.331 +       sodipodi:type="inkscape:persp3d" />
   1.332 +    <inkscape:perspective
   1.333 +       id="perspective4946"
   1.334 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   1.335 +       inkscape:vp_z="1 : 0.5 : 1"
   1.336 +       inkscape:vp_y="0 : 1000 : 0"
   1.337 +       inkscape:vp_x="0 : 0.5 : 1"
   1.338 +       sodipodi:type="inkscape:persp3d" />
   1.339 +  </defs>
   1.340 +  <sodipodi:namedview
   1.341 +     id="base"
   1.342 +     pagecolor="#ffffff"
   1.343 +     bordercolor="#666666"
   1.344 +     borderopacity="1.0"
   1.345 +     gridtolerance="10000"
   1.346 +     guidetolerance="10"
   1.347 +     objecttolerance="10"
   1.348 +     inkscape:pageopacity="0.0"
   1.349 +     inkscape:pageshadow="2"
   1.350 +     inkscape:zoom="1.5301741"
   1.351 +     inkscape:cx="385.73996"
   1.352 +     inkscape:cy="731.0723"
   1.353 +     inkscape:document-units="px"
   1.354 +     inkscape:current-layer="layer1"
   1.355 +     showgrid="false"
   1.356 +     inkscape:window-width="1585"
   1.357 +     inkscape:window-height="847"
   1.358 +     inkscape:window-x="-3"
   1.359 +     inkscape:window-y="0"
   1.360 +     inkscape:window-maximized="0" />
   1.361 +  <metadata
   1.362 +     id="metadata7">
   1.363 +    <rdf:RDF>
   1.364 +      <cc:Work
   1.365 +         rdf:about="">
   1.366 +        <dc:format>image/svg+xml</dc:format>
   1.367 +        <dc:type
   1.368 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
   1.369 +        <dc:title></dc:title>
   1.370 +      </cc:Work>
   1.371 +    </rdf:RDF>
   1.372 +  </metadata>
   1.373 +  <g
   1.374 +     inkscape:label="Layer 1"
   1.375 +     inkscape:groupmode="layer"
   1.376 +     id="layer1">
   1.377 +    <rect
   1.378 +       y="182.49448"
   1.379 +       x="163.84431"
   1.380 +       height="161.39378"
   1.381 +       width="329.44443"
   1.382 +       id="rect4979"
   1.383 +       style="fill:none;stroke:#000000;stroke-width:1.08000004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32, 4.32;stroke-dashoffset:1.944" />
   1.384 +    <text
   1.385 +       xml:space="preserve"
   1.386 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60163802;stroke-opacity:1;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.387 +       x="441.66748"
   1.388 +       y="404.66492"
   1.389 +       id="text8002"
   1.390 +       sodipodi:linespacing="100%"><tspan
   1.391 +         sodipodi:role="line"
   1.392 +         x="441.66748"
   1.393 +         y="404.66492"
   1.394 +         style="font-size:8px"
   1.395 +         id="tspan12172" /></text>
   1.396 +    <text
   1.397 +       id="text5835"
   1.398 +       y="125.02016"
   1.399 +       x="450.34119"
   1.400 +       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.401 +       xml:space="preserve"><tspan
   1.402 +         y="125.02016"
   1.403 +         x="450.34119"
   1.404 +         id="tspan5837"
   1.405 +         sodipodi:role="line"><tspan
   1.406 +   style="fill:#0303b8;fill-opacity:1"
   1.407 +   id="tspan5845">Blue</tspan> = application</tspan></text>
   1.408 +    <text
   1.409 +       xml:space="preserve"
   1.410 +       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.411 +       x="368.28989"
   1.412 +       y="125.02016"
   1.413 +       id="text5839"><tspan
   1.414 +         sodipodi:role="line"
   1.415 +         id="tspan5841"
   1.416 +         x="368.28989"
   1.417 +         y="125.02016"><tspan
   1.418 +   style="fill:#960a0a;fill-opacity:1"
   1.419 +   id="tspan5847">Red</tspan> = runtime</tspan></text>
   1.420 +    <text
   1.421 +       xml:space="preserve"
   1.422 +       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.423 +       x="368.25397"
   1.424 +       y="405.27225"
   1.425 +       id="text5849"><tspan
   1.426 +         sodipodi:role="line"
   1.427 +         id="tspan5851"
   1.428 +         x="368.25397"
   1.429 +         y="405.27225" /></text>
   1.430 +    <path
   1.431 +       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.50000001, 0.50000001;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)"
   1.432 +       d="M 289.73631,577.76803 C 263.95998,564.0618 244.9124,553.07853 244.9124,553.07853"
   1.433 +       id="path6066-9-4"
   1.434 +       sodipodi:nodetypes="cc"
   1.435 +       inkscape:connector-curvature="0" />
   1.436 +    <rect
   1.437 +       y="151.42043"
   1.438 +       x="157.23335"
   1.439 +       height="194.79402"
   1.440 +       width="457.79532"
   1.441 +       id="rect18326-3"
   1.442 +       style="opacity:0.3142857;fill:none;stroke:#000000;stroke-width:0.09999995;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.3999998, 0.3999998;stroke-dashoffset:0.14999992" />
   1.443 +    <path
   1.444 +       sodipodi:nodetypes="cc"
   1.445 +       id="path3602"
   1.446 +       d="m 261.4119,552.41344 c 26.46687,13.70623 46.02474,24.6895 46.02474,24.6895"
   1.447 +       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.5, 0.5;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)"
   1.448 +       inkscape:connector-curvature="0" />
   1.449 +    <path
   1.450 +       sodipodi:nodetypes="cc"
   1.451 +       id="path3655"
   1.452 +       d="M 318.49369,577.76803 C 357.52667,563.08168 386.37044,551.313 386.37044,551.313"
   1.453 +       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.49999999, 0.49999999;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)"
   1.454 +       inkscape:connector-curvature="0" />
   1.455 +    <g
   1.456 +       id="g3242"
   1.457 +       transform="translate(20,-81.133751)">
   1.458 +      <rect
   1.459 +         y="309.504"
   1.460 +         x="532.18225"
   1.461 +         height="68.687347"
   1.462 +         width="78.674728"
   1.463 +         id="rect4725"
   1.464 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
   1.465 +      <text
   1.466 +         xml:space="preserve"
   1.467 +         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.468 +         x="571.67981"
   1.469 +         y="322.80692"
   1.470 +         id="text4727"
   1.471 +         sodipodi:linespacing="100%"><tspan
   1.472 +           style="font-size:9px;text-align:center;text-anchor:middle"
   1.473 +           sodipodi:role="line"
   1.474 +           x="571.67981"
   1.475 +           y="322.80692"
   1.476 +           id="tspan4731">slaveVP</tspan></text>
   1.477 +      <g
   1.478 +         transform="translate(230.36868,-317.52206)"
   1.479 +         id="g4733">
   1.480 +        <rect
   1.481 +           y="673.02618"
   1.482 +           x="316.63855"
   1.483 +           height="16.01606"
   1.484 +           width="47.791374"
   1.485 +           id="rect4737"
   1.486 +           style="fill:none;stroke:#0303b8;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.320725, 4.320725;stroke-dashoffset:0" />
   1.487 +        <text
   1.488 +           xml:space="preserve"
   1.489 +           style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.490 +           x="340.63751"
   1.491 +           y="684.03717"
   1.492 +           id="text4739"
   1.493 +           sodipodi:linespacing="100%"><tspan
   1.494 +             style="font-size:9px;text-align:center;text-anchor:middle"
   1.495 +             id="tspan4741"
   1.496 +             sodipodi:role="line"
   1.497 +             x="340.63751"
   1.498 +             y="684.03717">top_VP_fn</tspan></text>
   1.499 +      </g>
   1.500 +    </g>
   1.501 +    <g
   1.502 +       id="g5001"
   1.503 +       transform="translate(-104.17459,-455.52206)">
   1.504 +      <text
   1.505 +         sodipodi:linespacing="100%"
   1.506 +         id="text4834"
   1.507 +         y="619.79431"
   1.508 +         x="339.56277"
   1.509 +         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.510 +         xml:space="preserve"><tspan
   1.511 +           y="619.79431"
   1.512 +           x="339.56277"
   1.513 +           sodipodi:role="line"
   1.514 +           id="tspan4836"
   1.515 +           style="font-size:9px;text-align:center;text-anchor:middle">Shared Parallelism-Semantic State</tspan><tspan
   1.516 +           id="tspan4838"
   1.517 +           y="628.79431"
   1.518 +           x="339.56277"
   1.519 +           sodipodi:role="line"
   1.520 +           style="font-size:9px;text-align:center;text-anchor:middle" /></text>
   1.521 +      <rect
   1.522 +         style="fill:none;stroke:#960a0a;stroke-width:1.07999992;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32000008, 4.32000008;stroke-dashoffset:0"
   1.523 +         id="rect4840"
   1.524 +         width="149.25206"
   1.525 +         height="12.695431"
   1.526 +         x="264.97189"
   1.527 +         y="610.18365" />
   1.528 +    </g>
   1.529 +    <path
   1.530 +       sodipodi:nodetypes="cc"
   1.531 +       id="path4883"
   1.532 +       d="m 205.94834,169.27344 c -0.0417,34.47629 -0.0725,62.1034 -0.0725,62.1034"
   1.533 +       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.49999999, 0.49999999;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)"
   1.534 +       inkscape:connector-curvature="0" />
   1.535 +    <path
   1.536 +       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.49999999, 0.49999999;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)"
   1.537 +       d="m 193.94834,231.61326 c -0.0417,-34.47628 -0.0725,-62.10333 -0.0725,-62.10333"
   1.538 +       id="path4885"
   1.539 +       sodipodi:nodetypes="cc"
   1.540 +       inkscape:connector-curvature="0" />
   1.541 +    <path
   1.542 +       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)"
   1.543 +       d="m 551.6841,281.79676 c -38.53453,0.002 -67.00988,0.004 -67.00988,0.004"
   1.544 +       id="path4902"
   1.545 +       sodipodi:nodetypes="cc"
   1.546 +       inkscape:connector-curvature="0" />
   1.547 +    <path
   1.548 +       sodipodi:nodetypes="cc"
   1.549 +       id="path4904"
   1.550 +       d="m 483.44108,257.79676 c 38.5498,0.002 67.03641,0.004 67.03641,0.004"
   1.551 +       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)"
   1.552 +       inkscape:connector-curvature="0" />
   1.553 +    <text
   1.554 +       xml:space="preserve"
   1.555 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.556 +       x="528.8573"
   1.557 +       y="255.07925"
   1.558 +       id="text4721-1"
   1.559 +       sodipodi:linespacing="100%"><tspan
   1.560 +         style="font-size:8px;text-align:center;text-anchor:middle;fill:#159415;fill-opacity:1"
   1.561 +         id="tspan4723-9"
   1.562 +         sodipodi:role="line"
   1.563 +         x="528.8573"
   1.564 +         y="255.07925">Switch VPs</tspan></text>
   1.565 +    <text
   1.566 +       sodipodi:linespacing="100%"
   1.567 +       id="text4931"
   1.568 +       y="279.07925"
   1.569 +       x="528.8573"
   1.570 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.571 +       xml:space="preserve"><tspan
   1.572 +         y="279.07925"
   1.573 +         x="528.8573"
   1.574 +         sodipodi:role="line"
   1.575 +         id="tspan4933"
   1.576 +         style="font-size:8px;text-align:center;text-anchor:middle;fill:#159415;fill-opacity:1">Switch VPs</tspan></text>
   1.577 +    <text
   1.578 +       xml:space="preserve"
   1.579 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.580 +       x="422.57816"
   1.581 +       y="193.16141"
   1.582 +       id="text4981"
   1.583 +       sodipodi:linespacing="100%"><tspan
   1.584 +         style="font-size:9px;text-align:center;text-anchor:middle"
   1.585 +         id="tspan4983"
   1.586 +         sodipodi:role="line"
   1.587 +         x="422.57816"
   1.588 +         y="193.16141">Repeated for each physical core</tspan></text>
   1.589 +    <g
   1.590 +       id="g3590"
   1.591 +       transform="translate(-104.75363,-387.52206)">
   1.592 +      <g
   1.593 +         id="g18019-8"
   1.594 +         transform="translate(-109.01365,39.321571)">
   1.595 +        <text
   1.596 +           sodipodi:linespacing="100%"
   1.597 +           id="text17967-5"
   1.598 +           y="590.22229"
   1.599 +           x="419.38776"
   1.600 +           style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.601 +           xml:space="preserve"><tspan
   1.602 +             y="590.22229"
   1.603 +             x="419.38776"
   1.604 +             sodipodi:role="line"
   1.605 +             id="tspan17969-7"
   1.606 +             style="font-size:9px;text-align:center;text-anchor:middle">comm_</tspan><tspan
   1.607 +             id="tspan17971-6"
   1.608 +             y="599.22229"
   1.609 +             x="419.38776"
   1.610 +             sodipodi:role="line"
   1.611 +             style="font-size:9px;text-align:center;text-anchor:middle">handler_fn</tspan></text>
   1.612 +        <rect
   1.613 +           style="fill:none;stroke:#960a0a;stroke-width:1.08000004;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32, 4.32;stroke-dashoffset:0"
   1.614 +           id="rect17973-1"
   1.615 +           width="48.927513"
   1.616 +           height="22.365267"
   1.617 +           x="395.11298"
   1.618 +           y="580.86206" />
   1.619 +      </g>
   1.620 +    </g>
   1.621 +    <text
   1.622 +       sodipodi:linespacing="100%"
   1.623 +       id="text17977-3-5"
   1.624 +       y="280.80692"
   1.625 +       x="237.94568"
   1.626 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.627 +       xml:space="preserve"><tspan
   1.628 +         y="280.80692"
   1.629 +         x="237.94568"
   1.630 +         sodipodi:role="line"
   1.631 +         id="tspan17979-3-4"
   1.632 +         style="font-size:9px;text-align:center;text-anchor:middle" /></text>
   1.633 +    <g
   1.634 +       id="g3580"
   1.635 +       transform="translate(-103.63132,-399.52206)">
   1.636 +      <path
   1.637 +         inkscape:connector-curvature="0"
   1.638 +         style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.5, 0.5;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)"
   1.639 +         d="m 317.62527,671.29009 c -5.09448,-8.49068 -8.85909,-15.29455 -8.85909,-15.29455"
   1.640 +         id="path18292-2"
   1.641 +         sodipodi:nodetypes="cc" />
   1.642 +      <g
   1.643 +         id="g17983-3"
   1.644 +         transform="translate(-7.0136518,5.3215684)">
   1.645 +        <rect
   1.646 +           y="667.70459"
   1.647 +           x="317.60855"
   1.648 +           height="16.01606"
   1.649 +           width="61.691765"
   1.650 +           id="rect17975-2"
   1.651 +           style="fill:none;stroke:#159415;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32072499, 4.32072499;stroke-dashoffset:0" />
   1.652 +        <text
   1.653 +           xml:space="preserve"
   1.654 +           style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.655 +           x="347.65115"
   1.656 +           y="678.71558"
   1.657 +           id="text17977-2"
   1.658 +           sodipodi:linespacing="100%"><tspan
   1.659 +             style="font-size:9px;text-align:center;text-anchor:middle"
   1.660 +             id="tspan17979-1"
   1.661 +             sodipodi:role="line"
   1.662 +             x="347.65115"
   1.663 +             y="678.71558">master_loop</tspan></text>
   1.664 +      </g>
   1.665 +      <path
   1.666 +         inkscape:connector-curvature="0"
   1.667 +         sodipodi:nodetypes="cc"
   1.668 +         id="path3578"
   1.669 +         d="m 374.32675,655.55365 c -5.09448,8.49068 -8.85909,15.29455 -8.85909,15.29455"
   1.670 +         style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.5, 0.5;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" />
   1.671 +    </g>
   1.672 +    <text
   1.673 +       sodipodi:linespacing="100%"
   1.674 +       id="text4821"
   1.675 +       y="218.02182"
   1.676 +       x="269.62048"
   1.677 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.678 +       xml:space="preserve"><tspan
   1.679 +         y="218.02182"
   1.680 +         x="269.62048"
   1.681 +         sodipodi:role="line"
   1.682 +         id="tspan4823"
   1.683 +         style="font-size:9px;text-align:center;text-anchor:middle">readyQ</tspan><tspan
   1.684 +         id="tspan4825"
   1.685 +         y="227.02182"
   1.686 +         x="269.62048"
   1.687 +         sodipodi:role="line"
   1.688 +         style="font-size:9px;text-align:center;text-anchor:middle" /></text>
   1.689 +    <rect
   1.690 +       style="fill:none;stroke:#960a0a;stroke-width:1.08000004;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32000001, 4.32000001;stroke-dashoffset:0"
   1.691 +       id="rect4827"
   1.692 +       width="48.927513"
   1.693 +       height="12.695431"
   1.694 +       x="245.3457"
   1.695 +       y="208.66159" />
   1.696 +    <path
   1.697 +       inkscape:connector-curvature="0"
   1.698 +       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.49999999, 0.49999999;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)"
   1.699 +       d="m 227.16268,231.46504 c 9.78768,-7.86986 17.02037,-14.17623 17.02037,-14.17623"
   1.700 +       id="path3576-2"
   1.701 +       sodipodi:nodetypes="cc" />
   1.702 +    <text
   1.703 +       sodipodi:linespacing="100%"
   1.704 +       id="text3915"
   1.705 +       y="268.80692"
   1.706 +       x="201.94568"
   1.707 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.708 +       xml:space="preserve"><tspan
   1.709 +         y="268.80692"
   1.710 +         x="201.94568"
   1.711 +         sodipodi:role="line"
   1.712 +         id="tspan3917"
   1.713 +         style="font-size:9px;text-align:center;text-anchor:middle">2</tspan></text>
   1.714 +    <text
   1.715 +       xml:space="preserve"
   1.716 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.717 +       x="199.94568"
   1.718 +       y="214.80692"
   1.719 +       id="text3919"
   1.720 +       sodipodi:linespacing="100%"><tspan
   1.721 +         style="font-size:9px;text-align:center;text-anchor:middle"
   1.722 +         id="tspan3921"
   1.723 +         sodipodi:role="line"
   1.724 +         x="199.94568"
   1.725 +         y="214.80692">3</tspan></text>
   1.726 +    <text
   1.727 +       sodipodi:linespacing="100%"
   1.728 +       id="text3923"
   1.729 +       y="222.80692"
   1.730 +       x="231.94568"
   1.731 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.732 +       xml:space="preserve"><tspan
   1.733 +         y="222.80692"
   1.734 +         x="231.94568"
   1.735 +         sodipodi:role="line"
   1.736 +         id="tspan3925"
   1.737 +         style="font-size:9px;text-align:center;text-anchor:middle">4</tspan></text>
   1.738 +    <text
   1.739 +       sodipodi:linespacing="100%"
   1.740 +       id="text3931"
   1.741 +       y="264.80692"
   1.742 +       x="261.94568"
   1.743 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.744 +       xml:space="preserve"><tspan
   1.745 +         y="264.80692"
   1.746 +         x="261.94568"
   1.747 +         sodipodi:role="line"
   1.748 +         id="tspan3933"
   1.749 +         style="font-size:9px;text-align:center;text-anchor:middle">5</tspan></text>
   1.750 +    <text
   1.751 +       xml:space="preserve"
   1.752 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.753 +       x="527.94568"
   1.754 +       y="246.80692"
   1.755 +       id="text3951"
   1.756 +       sodipodi:linespacing="100%"><tspan
   1.757 +         style="font-size:9px;text-align:center;text-anchor:middle"
   1.758 +         id="tspan3953"
   1.759 +         sodipodi:role="line"
   1.760 +         x="527.94568"
   1.761 +         y="246.80692">9</tspan></text>
   1.762 +    <text
   1.763 +       sodipodi:linespacing="100%"
   1.764 +       id="text3955"
   1.765 +       y="270.80692"
   1.766 +       x="527.94568"
   1.767 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.768 +       xml:space="preserve"><tspan
   1.769 +         y="270.80692"
   1.770 +         x="527.94568"
   1.771 +         sodipodi:role="line"
   1.772 +         id="tspan3957"
   1.773 +         style="font-size:9px;text-align:center;text-anchor:middle">10</tspan></text>
   1.774 +    <text
   1.775 +       sodipodi:linespacing="100%"
   1.776 +       id="text3494"
   1.777 +       y="324.80692"
   1.778 +       x="243.94568"
   1.779 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.780 +       xml:space="preserve"><tspan
   1.781 +         y="324.80692"
   1.782 +         x="243.94568"
   1.783 +         sodipodi:role="line"
   1.784 +         id="tspan3496"
   1.785 +         style="font-size:9px;font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Trebuchet MS Oblique">(Animated)</tspan></text>
   1.786 +    <text
   1.787 +       xml:space="preserve"
   1.788 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.789 +       x="331.94568"
   1.790 +       y="162.80692"
   1.791 +       id="text3498"
   1.792 +       sodipodi:linespacing="100%"><tspan
   1.793 +         style="font-size:9px;font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Trebuchet MS Oblique"
   1.794 +         id="tspan3500"
   1.795 +         sodipodi:role="line"
   1.796 +         x="331.94568"
   1.797 +         y="162.80692">(Blocked)</tspan></text>
   1.798 +    <text
   1.799 +       sodipodi:linespacing="100%"
   1.800 +       id="text3502"
   1.801 +       y="216.80692"
   1.802 +       x="403.94568"
   1.803 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.804 +       xml:space="preserve"><tspan
   1.805 +         y="216.80692"
   1.806 +         x="403.94568"
   1.807 +         sodipodi:role="line"
   1.808 +         id="tspan3504"
   1.809 +         style="font-size:9px;font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Trebuchet MS Oblique">(Ready)</tspan></text>
   1.810 +    <text
   1.811 +       xml:space="preserve"
   1.812 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.813 +       x="329.62048"
   1.814 +       y="398.02182"
   1.815 +       id="text9820"
   1.816 +       sodipodi:linespacing="100%"><tspan
   1.817 +         style="font-size:9px;text-align:start;text-anchor:start"
   1.818 +         id="tspan9822"
   1.819 +         sodipodi:role="line"
   1.820 +         x="329.62048"
   1.821 +         y="398.02182">Receive_type and Send_type: which ever is last to arrive between the send and the receive,</tspan><tspan
   1.822 +         style="font-size:9px;text-align:start;text-anchor:start"
   1.823 +         sodipodi:role="line"
   1.824 +         x="329.62048"
   1.825 +         y="407.02182"
   1.826 +         id="tspan9862"> at that point record the unit-ID for sending unit and receiving.  This is part of an NtoN </tspan><tspan
   1.827 +         style="font-size:9px;text-align:start;text-anchor:start"
   1.828 +         sodipodi:role="line"
   1.829 +         x="329.62048"
   1.830 +         y="416.02182"
   1.831 +         id="tspan9870">constraint, so add sender to senders part of NtoN group and receiver to receivers part</tspan><tspan
   1.832 +         style="font-size:9px;text-align:start;text-anchor:start"
   1.833 +         sodipodi:role="line"
   1.834 +         x="329.62048"
   1.835 +         y="425.02182"
   1.836 +         id="tspan9824" /></text>
   1.837 +    <text
   1.838 +       sodipodi:linespacing="100%"
   1.839 +       id="text9826"
   1.840 +       y="438.02182"
   1.841 +       x="329.62048"
   1.842 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.843 +       xml:space="preserve"><tspan
   1.844 +         y="438.02182"
   1.845 +         x="329.62048"
   1.846 +         sodipodi:role="line"
   1.847 +         id="tspan9828"
   1.848 +         style="font-size:9px;text-align:start;text-anchor:start">send_from_to and receive_from_to -- whichever arrives last between sending VP and receiving VP,</tspan><tspan
   1.849 +         y="447.02182"
   1.850 +         x="329.62048"
   1.851 +         sodipodi:role="line"
   1.852 +         style="font-size:9px;text-align:start;text-anchor:start"
   1.853 +         id="tspan9864"> record the unit-ID for sending unit and receiving unit.  </tspan><tspan
   1.854 +         y="456.02182"
   1.855 +         x="329.62048"
   1.856 +         sodipodi:role="line"
   1.857 +         style="font-size:9px;text-align:start;text-anchor:start"
   1.858 +         id="tspan9876">Add as a dependency between send *unit* and receive *unit* -- static comm dependency</tspan><tspan
   1.859 +         id="tspan9830"
   1.860 +         y="465.02182"
   1.861 +         x="329.62048"
   1.862 +         sodipodi:role="line"
   1.863 +         style="font-size:9px;text-align:start;text-anchor:start" /></text>
   1.864 +    <text
   1.865 +       xml:space="preserve"
   1.866 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.867 +       x="329.62048"
   1.868 +       y="478.02182"
   1.869 +       id="text9832"
   1.870 +       sodipodi:linespacing="100%"><tspan
   1.871 +         style="font-size:9px;text-align:start;text-anchor:start"
   1.872 +         id="tspan9834"
   1.873 +         sodipodi:role="line"
   1.874 +         x="329.62048"
   1.875 +         y="478.02182">At point switch to slave, record, at point switch back, record point </tspan><tspan
   1.876 +         style="font-size:9px;text-align:start;text-anchor:start"
   1.877 +         sodipodi:role="line"
   1.878 +         x="329.62048"
   1.879 +         y="487.02182"
   1.880 +         id="tspan9878">-] That is the work time of the unit</tspan><tspan
   1.881 +         style="font-size:9px;text-align:start;text-anchor:start"
   1.882 +         sodipodi:role="line"
   1.883 +         x="329.62048"
   1.884 +         y="496.02182"
   1.885 +         id="tspan9836" /></text>
   1.886 +    <text
   1.887 +       sodipodi:linespacing="100%"
   1.888 +       id="text9838"
   1.889 +       y="498.02185"
   1.890 +       x="329.62048"
   1.891 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.892 +       xml:space="preserve"><tspan
   1.893 +         y="498.02185"
   1.894 +         x="329.62048"
   1.895 +         sodipodi:role="line"
   1.896 +         id="tspan9840"
   1.897 +         style="font-size:9px;text-align:start;text-anchor:start">ctlr -- start of getting lock</tspan><tspan
   1.898 +         id="tspan9842"
   1.899 +         y="507.02185"
   1.900 +         x="329.62048"
   1.901 +         sodipodi:role="line"
   1.902 +         style="font-size:9px;text-align:start;text-anchor:start" /></text>
   1.903 +    <text
   1.904 +       xml:space="preserve"
   1.905 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.906 +       x="329.62048"
   1.907 +       y="518.02185"
   1.908 +       id="text9844"
   1.909 +       sodipodi:linespacing="100%"><tspan
   1.910 +         style="font-size:9px;text-align:start;text-anchor:start"
   1.911 +         id="tspan9846"
   1.912 +         sodipodi:role="line"
   1.913 +         x="329.62048"
   1.914 +         y="518.02185">master loop -- start and end of assigner, start and end of req hdlr</tspan><tspan
   1.915 +         style="font-size:9px;text-align:start;text-anchor:start"
   1.916 +         sodipodi:role="line"
   1.917 +         x="329.62048"
   1.918 +         y="527.02185"
   1.919 +         id="tspan9848" /></text>
   1.920 +    <text
   1.921 +       sodipodi:linespacing="100%"
   1.922 +       id="text9850"
   1.923 +       y="378.02182"
   1.924 +       x="329.62048"
   1.925 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.926 +       xml:space="preserve"><tspan
   1.927 +         y="378.02182"
   1.928 +         x="329.62048"
   1.929 +         sodipodi:role="line"
   1.930 +         id="tspan9852"
   1.931 +         style="font-size:9px;text-align:start;text-anchor:start">ResumeVP -- create unit &amp; control dep from prev VP</tspan><tspan
   1.932 +         id="tspan9854"
   1.933 +         y="387.02182"
   1.934 +         x="329.62048"
   1.935 +         sodipodi:role="line"
   1.936 +         style="font-size:9px;text-align:start;text-anchor:start" /></text>
   1.937 +    <text
   1.938 +       xml:space="preserve"
   1.939 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   1.940 +       x="29.620483"
   1.941 +       y="398.02182"
   1.942 +       id="text9856"
   1.943 +       sodipodi:linespacing="100%"><tspan
   1.944 +         style="font-size:9px;text-align:start;text-anchor:start"
   1.945 +         id="tspan9858"
   1.946 +         sodipodi:role="line"
   1.947 +         x="29.620483"
   1.948 +         y="398.02182">handleCreate -- dep from creator to first task in new VP</tspan><tspan
   1.949 +         style="font-size:9px;text-align:start;text-anchor:start"
   1.950 +         sodipodi:role="line"
   1.951 +         x="29.620483"
   1.952 +         y="407.02182"
   1.953 +         id="tspan9860" /></text>
   1.954 +    <path
   1.955 +       inkscape:connector-curvature="0"
   1.956 +       sodipodi:nodetypes="cc"
   1.957 +       id="path3139"
   1.958 +       d="m 23.849847,481.79676 c 38.53453,0.002 67.00988,0.004 67.00988,0.004"
   1.959 +       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" />
   1.960 +    <path
   1.961 +       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)"
   1.962 +       d="m 17.77295,475.70791 c 0.002,-38.53453 0.004,-67.00988 0.004,-67.00988"
   1.963 +       id="path3141"
   1.964 +       sodipodi:nodetypes="cc"
   1.965 +       inkscape:connector-curvature="0" />
   1.966 +  </g>
   1.967 +</svg>
     2.1 Binary file 0__Papers/Holistic_Model/Perf_Tune/figures/UCC_concreteness_grid.pdf has changed
     3.1 --- a/0__Papers/Holistic_Model/Perf_Tune/figures/UCC_concreteness_grid.svg	Sun Jun 03 15:54:25 2012 -0700
     3.2 +++ b/0__Papers/Holistic_Model/Perf_Tune/figures/UCC_concreteness_grid.svg	Tue Jun 05 07:28:32 2012 -0700
     3.3 @@ -14,7 +14,7 @@
     3.4     id="svg2"
     3.5     sodipodi:version="0.32"
     3.6     inkscape:version="0.48.1 "
     3.7 -   sodipodi:docname="Features_table.svg"
     3.8 +   sodipodi:docname="UCC_concreteness_grid.svg"
     3.9     inkscape:output_extension="org.inkscape.output.svg.inkscape"
    3.10     version="1.1">
    3.11    <defs
    3.12 @@ -344,9 +344,9 @@
    3.13       objecttolerance="10"
    3.14       inkscape:pageopacity="0.0"
    3.15       inkscape:pageshadow="2"
    3.16 -     inkscape:zoom="1.5301741"
    3.17 -     inkscape:cx="385.73996"
    3.18 -     inkscape:cy="731.0723"
    3.19 +     inkscape:zoom="2.03"
    3.20 +     inkscape:cx="204.59135"
    3.21 +     inkscape:cy="568.20413"
    3.22       inkscape:document-units="px"
    3.23       inkscape:current-layer="layer1"
    3.24       showgrid="false"
    3.25 @@ -371,13 +371,6 @@
    3.26       inkscape:label="Layer 1"
    3.27       inkscape:groupmode="layer"
    3.28       id="layer1">
    3.29 -    <rect
    3.30 -       y="182.49448"
    3.31 -       x="163.84431"
    3.32 -       height="161.39378"
    3.33 -       width="329.44443"
    3.34 -       id="rect4979"
    3.35 -       style="fill:none;stroke:#000000;stroke-width:1.08000004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32, 4.32;stroke-dashoffset:1.944" />
    3.36      <text
    3.37         xml:space="preserve"
    3.38         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.60163802;stroke-opacity:1;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
    3.39 @@ -391,30 +384,6 @@
    3.40           style="font-size:8px"
    3.41           id="tspan12172" /></text>
    3.42      <text
    3.43 -       id="text5835"
    3.44 -       y="125.02016"
    3.45 -       x="450.34119"
    3.46 -       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
    3.47 -       xml:space="preserve"><tspan
    3.48 -         y="125.02016"
    3.49 -         x="450.34119"
    3.50 -         id="tspan5837"
    3.51 -         sodipodi:role="line"><tspan
    3.52 -   style="fill:#0303b8;fill-opacity:1"
    3.53 -   id="tspan5845">Blue</tspan> = application</tspan></text>
    3.54 -    <text
    3.55 -       xml:space="preserve"
    3.56 -       style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
    3.57 -       x="368.28989"
    3.58 -       y="125.02016"
    3.59 -       id="text5839"><tspan
    3.60 -         sodipodi:role="line"
    3.61 -         id="tspan5841"
    3.62 -         x="368.28989"
    3.63 -         y="125.02016"><tspan
    3.64 -   style="fill:#960a0a;fill-opacity:1"
    3.65 -   id="tspan5847">Red</tspan> = runtime</tspan></text>
    3.66 -    <text
    3.67         xml:space="preserve"
    3.68         style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
    3.69         x="368.25397"
    3.70 @@ -424,197 +393,6 @@
    3.71           id="tspan5851"
    3.72           x="368.25397"
    3.73           y="405.27225" /></text>
    3.74 -    <path
    3.75 -       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.50000001, 0.50000001;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)"
    3.76 -       d="M 289.73631,577.76803 C 263.95998,564.0618 244.9124,553.07853 244.9124,553.07853"
    3.77 -       id="path6066-9-4"
    3.78 -       sodipodi:nodetypes="cc"
    3.79 -       inkscape:connector-curvature="0" />
    3.80 -    <rect
    3.81 -       y="151.42043"
    3.82 -       x="157.23335"
    3.83 -       height="194.79402"
    3.84 -       width="457.79532"
    3.85 -       id="rect18326-3"
    3.86 -       style="opacity:0.3142857;fill:none;stroke:#000000;stroke-width:0.09999995;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.3999998, 0.3999998;stroke-dashoffset:0.14999992" />
    3.87 -    <path
    3.88 -       sodipodi:nodetypes="cc"
    3.89 -       id="path3602"
    3.90 -       d="m 261.4119,552.41344 c 26.46687,13.70623 46.02474,24.6895 46.02474,24.6895"
    3.91 -       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.5, 0.5;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)"
    3.92 -       inkscape:connector-curvature="0" />
    3.93 -    <path
    3.94 -       sodipodi:nodetypes="cc"
    3.95 -       id="path3655"
    3.96 -       d="M 318.49369,577.76803 C 357.52667,563.08168 386.37044,551.313 386.37044,551.313"
    3.97 -       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.49999999, 0.49999999;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)"
    3.98 -       inkscape:connector-curvature="0" />
    3.99 -    <g
   3.100 -       id="g3242"
   3.101 -       transform="translate(20,-81.133751)">
   3.102 -      <rect
   3.103 -         y="309.504"
   3.104 -         x="532.18225"
   3.105 -         height="68.687347"
   3.106 -         width="78.674728"
   3.107 -         id="rect4725"
   3.108 -         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
   3.109 -      <text
   3.110 -         xml:space="preserve"
   3.111 -         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.112 -         x="571.67981"
   3.113 -         y="322.80692"
   3.114 -         id="text4727"
   3.115 -         sodipodi:linespacing="100%"><tspan
   3.116 -           style="font-size:9px;text-align:center;text-anchor:middle"
   3.117 -           sodipodi:role="line"
   3.118 -           x="571.67981"
   3.119 -           y="322.80692"
   3.120 -           id="tspan4731">slaveVP</tspan></text>
   3.121 -      <g
   3.122 -         transform="translate(230.36868,-317.52206)"
   3.123 -         id="g4733">
   3.124 -        <rect
   3.125 -           y="673.02618"
   3.126 -           x="316.63855"
   3.127 -           height="16.01606"
   3.128 -           width="47.791374"
   3.129 -           id="rect4737"
   3.130 -           style="fill:none;stroke:#0303b8;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.320725, 4.320725;stroke-dashoffset:0" />
   3.131 -        <text
   3.132 -           xml:space="preserve"
   3.133 -           style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.134 -           x="340.63751"
   3.135 -           y="684.03717"
   3.136 -           id="text4739"
   3.137 -           sodipodi:linespacing="100%"><tspan
   3.138 -             style="font-size:9px;text-align:center;text-anchor:middle"
   3.139 -             id="tspan4741"
   3.140 -             sodipodi:role="line"
   3.141 -             x="340.63751"
   3.142 -             y="684.03717">top_VP_fn</tspan></text>
   3.143 -      </g>
   3.144 -    </g>
   3.145 -    <g
   3.146 -       id="g5001"
   3.147 -       transform="translate(-104.17459,-455.52206)">
   3.148 -      <text
   3.149 -         sodipodi:linespacing="100%"
   3.150 -         id="text4834"
   3.151 -         y="619.79431"
   3.152 -         x="339.56277"
   3.153 -         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.154 -         xml:space="preserve"><tspan
   3.155 -           y="619.79431"
   3.156 -           x="339.56277"
   3.157 -           sodipodi:role="line"
   3.158 -           id="tspan4836"
   3.159 -           style="font-size:9px;text-align:center;text-anchor:middle">Shared Parallelism-Semantic State</tspan><tspan
   3.160 -           id="tspan4838"
   3.161 -           y="628.79431"
   3.162 -           x="339.56277"
   3.163 -           sodipodi:role="line"
   3.164 -           style="font-size:9px;text-align:center;text-anchor:middle" /></text>
   3.165 -      <rect
   3.166 -         style="fill:none;stroke:#960a0a;stroke-width:1.07999992;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32000008, 4.32000008;stroke-dashoffset:0"
   3.167 -         id="rect4840"
   3.168 -         width="149.25206"
   3.169 -         height="12.695431"
   3.170 -         x="264.97189"
   3.171 -         y="610.18365" />
   3.172 -    </g>
   3.173 -    <path
   3.174 -       sodipodi:nodetypes="cc"
   3.175 -       id="path4883"
   3.176 -       d="m 205.94834,169.27344 c -0.0417,34.47629 -0.0725,62.1034 -0.0725,62.1034"
   3.177 -       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.49999999, 0.49999999;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)"
   3.178 -       inkscape:connector-curvature="0" />
   3.179 -    <path
   3.180 -       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.49999999, 0.49999999;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)"
   3.181 -       d="m 193.94834,231.61326 c -0.0417,-34.47628 -0.0725,-62.10333 -0.0725,-62.10333"
   3.182 -       id="path4885"
   3.183 -       sodipodi:nodetypes="cc"
   3.184 -       inkscape:connector-curvature="0" />
   3.185 -    <path
   3.186 -       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)"
   3.187 -       d="m 551.6841,281.79676 c -38.53453,0.002 -67.00988,0.004 -67.00988,0.004"
   3.188 -       id="path4902"
   3.189 -       sodipodi:nodetypes="cc"
   3.190 -       inkscape:connector-curvature="0" />
   3.191 -    <path
   3.192 -       sodipodi:nodetypes="cc"
   3.193 -       id="path4904"
   3.194 -       d="m 483.44108,257.79676 c 38.5498,0.002 67.03641,0.004 67.03641,0.004"
   3.195 -       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)"
   3.196 -       inkscape:connector-curvature="0" />
   3.197 -    <text
   3.198 -       xml:space="preserve"
   3.199 -       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.200 -       x="528.8573"
   3.201 -       y="255.07925"
   3.202 -       id="text4721-1"
   3.203 -       sodipodi:linespacing="100%"><tspan
   3.204 -         style="font-size:8px;text-align:center;text-anchor:middle;fill:#159415;fill-opacity:1"
   3.205 -         id="tspan4723-9"
   3.206 -         sodipodi:role="line"
   3.207 -         x="528.8573"
   3.208 -         y="255.07925">Switch VPs</tspan></text>
   3.209 -    <text
   3.210 -       sodipodi:linespacing="100%"
   3.211 -       id="text4931"
   3.212 -       y="279.07925"
   3.213 -       x="528.8573"
   3.214 -       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.215 -       xml:space="preserve"><tspan
   3.216 -         y="279.07925"
   3.217 -         x="528.8573"
   3.218 -         sodipodi:role="line"
   3.219 -         id="tspan4933"
   3.220 -         style="font-size:8px;text-align:center;text-anchor:middle;fill:#159415;fill-opacity:1">Switch VPs</tspan></text>
   3.221 -    <text
   3.222 -       xml:space="preserve"
   3.223 -       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.224 -       x="422.57816"
   3.225 -       y="193.16141"
   3.226 -       id="text4981"
   3.227 -       sodipodi:linespacing="100%"><tspan
   3.228 -         style="font-size:9px;text-align:center;text-anchor:middle"
   3.229 -         id="tspan4983"
   3.230 -         sodipodi:role="line"
   3.231 -         x="422.57816"
   3.232 -         y="193.16141">Repeated for each physical core</tspan></text>
   3.233 -    <g
   3.234 -       id="g3590"
   3.235 -       transform="translate(-104.75363,-387.52206)">
   3.236 -      <g
   3.237 -         id="g18019-8"
   3.238 -         transform="translate(-109.01365,39.321571)">
   3.239 -        <text
   3.240 -           sodipodi:linespacing="100%"
   3.241 -           id="text17967-5"
   3.242 -           y="590.22229"
   3.243 -           x="419.38776"
   3.244 -           style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.245 -           xml:space="preserve"><tspan
   3.246 -             y="590.22229"
   3.247 -             x="419.38776"
   3.248 -             sodipodi:role="line"
   3.249 -             id="tspan17969-7"
   3.250 -             style="font-size:9px;text-align:center;text-anchor:middle">comm_</tspan><tspan
   3.251 -             id="tspan17971-6"
   3.252 -             y="599.22229"
   3.253 -             x="419.38776"
   3.254 -             sodipodi:role="line"
   3.255 -             style="font-size:9px;text-align:center;text-anchor:middle">handler_fn</tspan></text>
   3.256 -        <rect
   3.257 -           style="fill:none;stroke:#960a0a;stroke-width:1.08000004;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32, 4.32;stroke-dashoffset:0"
   3.258 -           id="rect17973-1"
   3.259 -           width="48.927513"
   3.260 -           height="22.365267"
   3.261 -           x="395.11298"
   3.262 -           y="580.86206" />
   3.263 -      </g>
   3.264 -    </g>
   3.265      <text
   3.266         sodipodi:linespacing="100%"
   3.267         id="text17977-3-5"
   3.268 @@ -627,338 +405,362 @@
   3.269           sodipodi:role="line"
   3.270           id="tspan17979-3-4"
   3.271           style="font-size:9px;text-align:center;text-anchor:middle" /></text>
   3.272 -    <g
   3.273 -       id="g3580"
   3.274 -       transform="translate(-103.63132,-399.52206)">
   3.275 -      <path
   3.276 -         inkscape:connector-curvature="0"
   3.277 -         style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.5, 0.5;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)"
   3.278 -         d="m 317.62527,671.29009 c -5.09448,-8.49068 -8.85909,-15.29455 -8.85909,-15.29455"
   3.279 -         id="path18292-2"
   3.280 -         sodipodi:nodetypes="cc" />
   3.281 -      <g
   3.282 -         id="g17983-3"
   3.283 -         transform="translate(-7.0136518,5.3215684)">
   3.284 -        <rect
   3.285 -           y="667.70459"
   3.286 -           x="317.60855"
   3.287 -           height="16.01606"
   3.288 -           width="61.691765"
   3.289 -           id="rect17975-2"
   3.290 -           style="fill:none;stroke:#159415;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32072499, 4.32072499;stroke-dashoffset:0" />
   3.291 -        <text
   3.292 -           xml:space="preserve"
   3.293 -           style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.294 -           x="347.65115"
   3.295 -           y="678.71558"
   3.296 -           id="text17977-2"
   3.297 -           sodipodi:linespacing="100%"><tspan
   3.298 -             style="font-size:9px;text-align:center;text-anchor:middle"
   3.299 -             id="tspan17979-1"
   3.300 -             sodipodi:role="line"
   3.301 -             x="347.65115"
   3.302 -             y="678.71558">master_loop</tspan></text>
   3.303 -      </g>
   3.304 -      <path
   3.305 -         inkscape:connector-curvature="0"
   3.306 -         sodipodi:nodetypes="cc"
   3.307 -         id="path3578"
   3.308 -         d="m 374.32675,655.55365 c -5.09448,8.49068 -8.85909,15.29455 -8.85909,15.29455"
   3.309 -         style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.5, 0.5;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" />
   3.310 -    </g>
   3.311 +    <text
   3.312 +       xml:space="preserve"
   3.313 +       style="font-size:9px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.314 +       x="15.896555"
   3.315 +       y="529.44135"
   3.316 +       id="text9856"
   3.317 +       sodipodi:linespacing="100%"><tspan
   3.318 +         style="font-size:8px;text-align:start;text-anchor:start"
   3.319 +         id="tspan9858"
   3.320 +         sodipodi:role="line"
   3.321 +         x="15.896555"
   3.322 +         y="529.44135">0 -- none: application code alone fully concretizes</tspan><tspan
   3.323 +         style="font-size:8px;text-align:start;text-anchor:start"
   3.324 +         sodipodi:role="line"
   3.325 +         x="15.896555"
   3.326 +         y="537.44135"
   3.327 +         id="tspan9860" /></text>
   3.328 +    <path
   3.329 +       inkscape:connector-curvature="0"
   3.330 +       sodipodi:nodetypes="cc"
   3.331 +       id="path3139"
   3.332 +       d="m 43.849847,481.79676 c 38.53453,0.002 67.009883,0.004 67.009883,0.004"
   3.333 +       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" />
   3.334 +    <path
   3.335 +       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)"
   3.336 +       d="m 37.77295,475.70791 c 0.002,-38.53453 0.004,-67.00988 0.004,-67.00988"
   3.337 +       id="path3141"
   3.338 +       sodipodi:nodetypes="cc"
   3.339 +       inkscape:connector-curvature="0" />
   3.340      <text
   3.341         sodipodi:linespacing="100%"
   3.342 -       id="text4821"
   3.343 -       y="218.02182"
   3.344 -       x="269.62048"
   3.345 -       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.346 +       id="text3297"
   3.347 +       y="537.44135"
   3.348 +       x="15.896555"
   3.349 +       style="font-size:9px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.350         xml:space="preserve"><tspan
   3.351 -         y="218.02182"
   3.352 -         x="269.62048"
   3.353 +         y="537.44135"
   3.354 +         x="15.896555"
   3.355           sodipodi:role="line"
   3.356 -         id="tspan4823"
   3.357 -         style="font-size:9px;text-align:center;text-anchor:middle">readyQ</tspan><tspan
   3.358 -         id="tspan4825"
   3.359 -         y="227.02182"
   3.360 -         x="269.62048"
   3.361 +         id="tspan3299"
   3.362 +         style="font-size:8px;text-align:start;text-anchor:start">1 -- parameters needed in addition to code</tspan><tspan
   3.363 +         id="tspan3301"
   3.364 +         y="545.44135"
   3.365 +         x="15.896555"
   3.366           sodipodi:role="line"
   3.367 -         style="font-size:9px;text-align:center;text-anchor:middle" /></text>
   3.368 -    <rect
   3.369 -       style="fill:none;stroke:#960a0a;stroke-width:1.08000004;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32000001, 4.32000001;stroke-dashoffset:0"
   3.370 -       id="rect4827"
   3.371 -       width="48.927513"
   3.372 -       height="12.695431"
   3.373 -       x="245.3457"
   3.374 -       y="208.66159" />
   3.375 -    <path
   3.376 -       inkscape:connector-curvature="0"
   3.377 -       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.49999999, 0.49999999;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)"
   3.378 -       d="m 227.16268,231.46504 c 9.78768,-7.86986 17.02037,-14.17623 17.02037,-14.17623"
   3.379 -       id="path3576-2"
   3.380 -       sodipodi:nodetypes="cc" />
   3.381 +         style="font-size:8px;text-align:start;text-anchor:start" /></text>
   3.382 +    <text
   3.383 +       xml:space="preserve"
   3.384 +       style="font-size:9px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.385 +       x="15.896555"
   3.386 +       y="545.44135"
   3.387 +       id="text3303"
   3.388 +       sodipodi:linespacing="100%"><tspan
   3.389 +         style="font-size:8px;text-align:start;text-anchor:start"
   3.390 +         id="tspan3305"
   3.391 +         sodipodi:role="line"
   3.392 +         x="15.896555"
   3.393 +         y="545.44135">2 -- input data + (params) + code</tspan><tspan
   3.394 +         style="font-size:8px;text-align:start;text-anchor:start"
   3.395 +         sodipodi:role="line"
   3.396 +         x="15.896555"
   3.397 +         y="553.44135"
   3.398 +         id="tspan3307" /></text>
   3.399      <text
   3.400         sodipodi:linespacing="100%"
   3.401 -       id="text3915"
   3.402 -       y="268.80692"
   3.403 -       x="201.94568"
   3.404 -       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.405 +       id="text3309"
   3.406 +       y="553.44141"
   3.407 +       x="15.896555"
   3.408 +       style="font-size:9px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.409         xml:space="preserve"><tspan
   3.410 -         y="268.80692"
   3.411 -         x="201.94568"
   3.412 +         y="553.44141"
   3.413 +         x="15.896555"
   3.414           sodipodi:role="line"
   3.415 -         id="tspan3917"
   3.416 -         style="font-size:9px;text-align:center;text-anchor:middle">2</tspan></text>
   3.417 +         id="tspan3311"
   3.418 +         style="font-size:8px;text-align:start;text-anchor:start">3 -- scheduling decisions + (data) + (params) + code</tspan><tspan
   3.419 +         id="tspan3313"
   3.420 +         y="561.44141"
   3.421 +         x="15.896555"
   3.422 +         sodipodi:role="line"
   3.423 +         style="font-size:8px;text-align:start;text-anchor:start" /></text>
   3.424      <text
   3.425         xml:space="preserve"
   3.426         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.427 -       x="199.94568"
   3.428 -       y="214.80692"
   3.429 -       id="text3919"
   3.430 +       x="120.85421"
   3.431 +       y="485.97656"
   3.432 +       id="text3315"
   3.433         sodipodi:linespacing="100%"><tspan
   3.434 -         style="font-size:9px;text-align:center;text-anchor:middle"
   3.435 -         id="tspan3921"
   3.436 +         style="font-size:9px;text-align:start;text-anchor:start"
   3.437 +         id="tspan3317"
   3.438           sodipodi:role="line"
   3.439 -         x="199.94568"
   3.440 -         y="214.80692">3</tspan></text>
   3.441 +         x="120.85421"
   3.442 +         y="485.97656">Units</tspan><tspan
   3.443 +         style="font-size:9px;text-align:start;text-anchor:start"
   3.444 +         sodipodi:role="line"
   3.445 +         x="120.85421"
   3.446 +         y="494.97656"
   3.447 +         id="tspan3319" /></text>
   3.448      <text
   3.449         sodipodi:linespacing="100%"
   3.450 -       id="text3923"
   3.451 -       y="222.80692"
   3.452 -       x="231.94568"
   3.453 +       id="text3321"
   3.454 +       y="405.19916"
   3.455 +       x="16.290943"
   3.456         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.457         xml:space="preserve"><tspan
   3.458 -         y="222.80692"
   3.459 -         x="231.94568"
   3.460 +         y="405.19916"
   3.461 +         x="16.290943"
   3.462           sodipodi:role="line"
   3.463 -         id="tspan3925"
   3.464 -         style="font-size:9px;text-align:center;text-anchor:middle">4</tspan></text>
   3.465 +         id="tspan3323"
   3.466 +         style="font-size:9px;text-align:start;text-anchor:start">Constraints</tspan><tspan
   3.467 +         id="tspan3325"
   3.468 +         y="414.19916"
   3.469 +         x="16.290943"
   3.470 +         sodipodi:role="line"
   3.471 +         style="font-size:9px;text-align:start;text-anchor:start" /></text>
   3.472      <text
   3.473         sodipodi:linespacing="100%"
   3.474 -       id="text3931"
   3.475 -       y="264.80692"
   3.476 -       x="261.94568"
   3.477 +       id="text3363"
   3.478 +       y="490.02182"
   3.479 +       x="41.620483"
   3.480         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.481         xml:space="preserve"><tspan
   3.482 -         y="264.80692"
   3.483 -         x="261.94568"
   3.484 +         y="490.02182"
   3.485 +         x="41.620483"
   3.486           sodipodi:role="line"
   3.487 -         id="tspan3933"
   3.488 -         style="font-size:9px;text-align:center;text-anchor:middle">5</tspan></text>
   3.489 -    <text
   3.490 -       xml:space="preserve"
   3.491 -       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.492 -       x="527.94568"
   3.493 -       y="246.80692"
   3.494 -       id="text3951"
   3.495 -       sodipodi:linespacing="100%"><tspan
   3.496 -         style="font-size:9px;text-align:center;text-anchor:middle"
   3.497 -         id="tspan3953"
   3.498 -         sodipodi:role="line"
   3.499 -         x="527.94568"
   3.500 -         y="246.80692">9</tspan></text>
   3.501 -    <text
   3.502 -       sodipodi:linespacing="100%"
   3.503 -       id="text3955"
   3.504 -       y="270.80692"
   3.505 -       x="527.94568"
   3.506 -       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.507 -       xml:space="preserve"><tspan
   3.508 -         y="270.80692"
   3.509 -         x="527.94568"
   3.510 -         sodipodi:role="line"
   3.511 -         id="tspan3957"
   3.512 -         style="font-size:9px;text-align:center;text-anchor:middle">10</tspan></text>
   3.513 -    <text
   3.514 -       sodipodi:linespacing="100%"
   3.515 -       id="text3494"
   3.516 -       y="324.80692"
   3.517 -       x="243.94568"
   3.518 -       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.519 -       xml:space="preserve"><tspan
   3.520 -         y="324.80692"
   3.521 -         x="243.94568"
   3.522 -         sodipodi:role="line"
   3.523 -         id="tspan3496"
   3.524 -         style="font-size:9px;font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Trebuchet MS Oblique">(Animated)</tspan></text>
   3.525 -    <text
   3.526 -       xml:space="preserve"
   3.527 -       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.528 -       x="331.94568"
   3.529 -       y="162.80692"
   3.530 -       id="text3498"
   3.531 -       sodipodi:linespacing="100%"><tspan
   3.532 -         style="font-size:9px;font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Trebuchet MS Oblique"
   3.533 -         id="tspan3500"
   3.534 -         sodipodi:role="line"
   3.535 -         x="331.94568"
   3.536 -         y="162.80692">(Blocked)</tspan></text>
   3.537 -    <text
   3.538 -       sodipodi:linespacing="100%"
   3.539 -       id="text3502"
   3.540 -       y="216.80692"
   3.541 -       x="403.94568"
   3.542 -       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.543 -       xml:space="preserve"><tspan
   3.544 -         y="216.80692"
   3.545 -         x="403.94568"
   3.546 -         sodipodi:role="line"
   3.547 -         id="tspan3504"
   3.548 -         style="font-size:9px;font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Trebuchet MS Oblique">(Ready)</tspan></text>
   3.549 -    <text
   3.550 -       xml:space="preserve"
   3.551 -       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.552 -       x="329.62048"
   3.553 -       y="398.02182"
   3.554 -       id="text9820"
   3.555 -       sodipodi:linespacing="100%"><tspan
   3.556 -         style="font-size:9px;text-align:start;text-anchor:start"
   3.557 -         id="tspan9822"
   3.558 -         sodipodi:role="line"
   3.559 -         x="329.62048"
   3.560 -         y="398.02182">Receive_type and Send_type: which ever is last to arrive between the send and the receive,</tspan><tspan
   3.561 -         style="font-size:9px;text-align:start;text-anchor:start"
   3.562 -         sodipodi:role="line"
   3.563 -         x="329.62048"
   3.564 -         y="407.02182"
   3.565 -         id="tspan9862"> at that point record the unit-ID for sending unit and receiving.  This is part of an NtoN </tspan><tspan
   3.566 -         style="font-size:9px;text-align:start;text-anchor:start"
   3.567 -         sodipodi:role="line"
   3.568 -         x="329.62048"
   3.569 -         y="416.02182"
   3.570 -         id="tspan9870">constraint, so add sender to senders part of NtoN group and receiver to receivers part</tspan><tspan
   3.571 -         style="font-size:9px;text-align:start;text-anchor:start"
   3.572 -         sodipodi:role="line"
   3.573 -         x="329.62048"
   3.574 -         y="425.02182"
   3.575 -         id="tspan9824" /></text>
   3.576 -    <text
   3.577 -       sodipodi:linespacing="100%"
   3.578 -       id="text9826"
   3.579 -       y="438.02182"
   3.580 -       x="329.62048"
   3.581 -       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.582 -       xml:space="preserve"><tspan
   3.583 -         y="438.02182"
   3.584 -         x="329.62048"
   3.585 -         sodipodi:role="line"
   3.586 -         id="tspan9828"
   3.587 -         style="font-size:9px;text-align:start;text-anchor:start">send_from_to and receive_from_to -- whichever arrives last between sending VP and receiving VP,</tspan><tspan
   3.588 -         y="447.02182"
   3.589 -         x="329.62048"
   3.590 -         sodipodi:role="line"
   3.591 -         style="font-size:9px;text-align:start;text-anchor:start"
   3.592 -         id="tspan9864"> record the unit-ID for sending unit and receiving unit.  </tspan><tspan
   3.593 -         y="456.02182"
   3.594 -         x="329.62048"
   3.595 -         sodipodi:role="line"
   3.596 -         style="font-size:9px;text-align:start;text-anchor:start"
   3.597 -         id="tspan9876">Add as a dependency between send *unit* and receive *unit* -- static comm dependency</tspan><tspan
   3.598 -         id="tspan9830"
   3.599 -         y="465.02182"
   3.600 -         x="329.62048"
   3.601 +         id="tspan3365"
   3.602 +         style="font-size:9px;text-align:start;text-anchor:start">0</tspan><tspan
   3.603 +         id="tspan3367"
   3.604 +         y="499.02182"
   3.605 +         x="41.620483"
   3.606           sodipodi:role="line"
   3.607           style="font-size:9px;text-align:start;text-anchor:start" /></text>
   3.608      <text
   3.609         xml:space="preserve"
   3.610         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.611 -       x="329.62048"
   3.612 -       y="478.02182"
   3.613 -       id="text9832"
   3.614 +       x="61.620483"
   3.615 +       y="490.02182"
   3.616 +       id="text3369"
   3.617         sodipodi:linespacing="100%"><tspan
   3.618           style="font-size:9px;text-align:start;text-anchor:start"
   3.619 -         id="tspan9834"
   3.620 +         id="tspan3371"
   3.621           sodipodi:role="line"
   3.622 -         x="329.62048"
   3.623 -         y="478.02182">At point switch to slave, record, at point switch back, record point </tspan><tspan
   3.624 +         x="61.620483"
   3.625 +         y="490.02182">1</tspan><tspan
   3.626           style="font-size:9px;text-align:start;text-anchor:start"
   3.627           sodipodi:role="line"
   3.628 -         x="329.62048"
   3.629 -         y="487.02182"
   3.630 -         id="tspan9878">-] That is the work time of the unit</tspan><tspan
   3.631 -         style="font-size:9px;text-align:start;text-anchor:start"
   3.632 -         sodipodi:role="line"
   3.633 -         x="329.62048"
   3.634 -         y="496.02182"
   3.635 -         id="tspan9836" /></text>
   3.636 +         x="61.620483"
   3.637 +         y="499.02182"
   3.638 +         id="tspan3373" /></text>
   3.639      <text
   3.640         sodipodi:linespacing="100%"
   3.641 -       id="text9838"
   3.642 -       y="498.02185"
   3.643 -       x="329.62048"
   3.644 +       id="text3375"
   3.645 +       y="490.02182"
   3.646 +       x="81.620483"
   3.647         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.648         xml:space="preserve"><tspan
   3.649 -         y="498.02185"
   3.650 -         x="329.62048"
   3.651 +         y="490.02182"
   3.652 +         x="81.620483"
   3.653           sodipodi:role="line"
   3.654 -         id="tspan9840"
   3.655 -         style="font-size:9px;text-align:start;text-anchor:start">ctlr -- start of getting lock</tspan><tspan
   3.656 -         id="tspan9842"
   3.657 -         y="507.02185"
   3.658 -         x="329.62048"
   3.659 +         id="tspan3377"
   3.660 +         style="font-size:9px;text-align:start;text-anchor:start">2</tspan><tspan
   3.661 +         id="tspan3379"
   3.662 +         y="499.02182"
   3.663 +         x="81.620483"
   3.664           sodipodi:role="line"
   3.665           style="font-size:9px;text-align:start;text-anchor:start" /></text>
   3.666      <text
   3.667         xml:space="preserve"
   3.668         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.669 -       x="329.62048"
   3.670 -       y="518.02185"
   3.671 -       id="text9844"
   3.672 +       x="101.62048"
   3.673 +       y="490.02182"
   3.674 +       id="text3381"
   3.675         sodipodi:linespacing="100%"><tspan
   3.676           style="font-size:9px;text-align:start;text-anchor:start"
   3.677 -         id="tspan9846"
   3.678 +         id="tspan3383"
   3.679           sodipodi:role="line"
   3.680 -         x="329.62048"
   3.681 -         y="518.02185">master loop -- start and end of assigner, start and end of req hdlr</tspan><tspan
   3.682 +         x="101.62048"
   3.683 +         y="490.02182">3</tspan><tspan
   3.684           style="font-size:9px;text-align:start;text-anchor:start"
   3.685           sodipodi:role="line"
   3.686 -         x="329.62048"
   3.687 -         y="527.02185"
   3.688 -         id="tspan9848" /></text>
   3.689 +         x="101.62048"
   3.690 +         y="499.02182"
   3.691 +         id="tspan3385" /></text>
   3.692      <text
   3.693         sodipodi:linespacing="100%"
   3.694 -       id="text9850"
   3.695 -       y="378.02182"
   3.696 -       x="329.62048"
   3.697 +       id="text3387"
   3.698 +       y="478.02182"
   3.699 +       x="29.620483"
   3.700         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.701         xml:space="preserve"><tspan
   3.702 -         y="378.02182"
   3.703 -         x="329.62048"
   3.704 +         y="478.02182"
   3.705 +         x="29.620483"
   3.706           sodipodi:role="line"
   3.707 -         id="tspan9852"
   3.708 -         style="font-size:9px;text-align:start;text-anchor:start">ResumeVP -- create unit &amp; control dep from prev VP</tspan><tspan
   3.709 -         id="tspan9854"
   3.710 -         y="387.02182"
   3.711 -         x="329.62048"
   3.712 +         id="tspan3389"
   3.713 +         style="font-size:9px;text-align:start;text-anchor:start">0</tspan><tspan
   3.714 +         id="tspan3391"
   3.715 +         y="487.02182"
   3.716 +         x="29.620483"
   3.717           sodipodi:role="line"
   3.718           style="font-size:9px;text-align:start;text-anchor:start" /></text>
   3.719      <text
   3.720         xml:space="preserve"
   3.721         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.722         x="29.620483"
   3.723 -       y="398.02182"
   3.724 -       id="text9856"
   3.725 +       y="458.02182"
   3.726 +       id="text3393"
   3.727         sodipodi:linespacing="100%"><tspan
   3.728           style="font-size:9px;text-align:start;text-anchor:start"
   3.729 -         id="tspan9858"
   3.730 +         id="tspan3395"
   3.731           sodipodi:role="line"
   3.732           x="29.620483"
   3.733 -         y="398.02182">handleCreate -- dep from creator to first task in new VP</tspan><tspan
   3.734 +         y="458.02182">1</tspan><tspan
   3.735           style="font-size:9px;text-align:start;text-anchor:start"
   3.736           sodipodi:role="line"
   3.737           x="29.620483"
   3.738 -         y="407.02182"
   3.739 -         id="tspan9860" /></text>
   3.740 -    <path
   3.741 -       inkscape:connector-curvature="0"
   3.742 -       sodipodi:nodetypes="cc"
   3.743 -       id="path3139"
   3.744 -       d="m 23.849847,481.79676 c 38.53453,0.002 67.00988,0.004 67.00988,0.004"
   3.745 -       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)" />
   3.746 -    <path
   3.747 -       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-end:url(#Arrow2Mend-8)"
   3.748 -       d="m 17.77295,475.70791 c 0.002,-38.53453 0.004,-67.00988 0.004,-67.00988"
   3.749 -       id="path3141"
   3.750 -       sodipodi:nodetypes="cc"
   3.751 -       inkscape:connector-curvature="0" />
   3.752 +         y="467.02182"
   3.753 +         id="tspan3397" /></text>
   3.754 +    <text
   3.755 +       sodipodi:linespacing="100%"
   3.756 +       id="text3399"
   3.757 +       y="438.02182"
   3.758 +       x="29.620483"
   3.759 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.760 +       xml:space="preserve"><tspan
   3.761 +         y="438.02182"
   3.762 +         x="29.620483"
   3.763 +         sodipodi:role="line"
   3.764 +         id="tspan3401"
   3.765 +         style="font-size:9px;text-align:start;text-anchor:start">2</tspan><tspan
   3.766 +         id="tspan3403"
   3.767 +         y="447.02182"
   3.768 +         x="29.620483"
   3.769 +         sodipodi:role="line"
   3.770 +         style="font-size:9px;text-align:start;text-anchor:start" /></text>
   3.771 +    <text
   3.772 +       xml:space="preserve"
   3.773 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.774 +       x="29.620483"
   3.775 +       y="418.02182"
   3.776 +       id="text3405"
   3.777 +       sodipodi:linespacing="100%"><tspan
   3.778 +         style="font-size:9px;text-align:start;text-anchor:start"
   3.779 +         id="tspan3407"
   3.780 +         sodipodi:role="line"
   3.781 +         x="29.620483"
   3.782 +         y="418.02182">3</tspan><tspan
   3.783 +         style="font-size:9px;text-align:start;text-anchor:start"
   3.784 +         sodipodi:role="line"
   3.785 +         x="29.620483"
   3.786 +         y="427.02182"
   3.787 +         id="tspan3409" /></text>
   3.788 +    <text
   3.789 +       xml:space="preserve"
   3.790 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.791 +       x="41.620483"
   3.792 +       y="476.02182"
   3.793 +       id="text3411"
   3.794 +       sodipodi:linespacing="100%"><tspan
   3.795 +         style="font-size:9px;text-align:start;text-anchor:start"
   3.796 +         id="tspan3413"
   3.797 +         sodipodi:role="line"
   3.798 +         x="41.620483"
   3.799 +         y="476.02182">A</tspan><tspan
   3.800 +         style="font-size:9px;text-align:start;text-anchor:start"
   3.801 +         sodipodi:role="line"
   3.802 +         x="41.620483"
   3.803 +         y="485.02182"
   3.804 +         id="tspan3415" /></text>
   3.805 +    <text
   3.806 +       sodipodi:linespacing="100%"
   3.807 +       id="text3417"
   3.808 +       y="438.02182"
   3.809 +       x="41.620483"
   3.810 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.811 +       xml:space="preserve"><tspan
   3.812 +         y="438.02182"
   3.813 +         x="41.620483"
   3.814 +         sodipodi:role="line"
   3.815 +         id="tspan3419"
   3.816 +         style="font-size:9px;text-align:start;text-anchor:start">C</tspan><tspan
   3.817 +         id="tspan3421"
   3.818 +         y="447.02182"
   3.819 +         x="41.620483"
   3.820 +         sodipodi:role="line"
   3.821 +         style="font-size:9px;text-align:start;text-anchor:start" /></text>
   3.822 +    <text
   3.823 +       xml:space="preserve"
   3.824 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.825 +       x="101.62048"
   3.826 +       y="420.02182"
   3.827 +       id="text3423"
   3.828 +       sodipodi:linespacing="100%"><tspan
   3.829 +         style="font-size:9px;text-align:start;text-anchor:start"
   3.830 +         id="tspan3425"
   3.831 +         sodipodi:role="line"
   3.832 +         x="101.62048"
   3.833 +         y="420.02182">D</tspan><tspan
   3.834 +         style="font-size:9px;text-align:start;text-anchor:start"
   3.835 +         sodipodi:role="line"
   3.836 +         x="101.62048"
   3.837 +         y="429.02182"
   3.838 +         id="tspan3427" /></text>
   3.839 +    <text
   3.840 +       sodipodi:linespacing="100%"
   3.841 +       id="text3429"
   3.842 +       y="458.02182"
   3.843 +       x="81.620483"
   3.844 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.845 +       xml:space="preserve"><tspan
   3.846 +         y="458.02182"
   3.847 +         x="81.620483"
   3.848 +         sodipodi:role="line"
   3.849 +         id="tspan3431"
   3.850 +         style="font-size:9px;text-align:start;text-anchor:start">B</tspan><tspan
   3.851 +         id="tspan3433"
   3.852 +         y="467.02182"
   3.853 +         x="81.620483"
   3.854 +         sodipodi:role="line"
   3.855 +         style="font-size:9px;text-align:start;text-anchor:start" /></text>
   3.856 +    <text
   3.857 +       sodipodi:linespacing="100%"
   3.858 +       id="text3435"
   3.859 +       y="507.44135"
   3.860 +       x="15.896555"
   3.861 +       style="font-size:9px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.862 +       xml:space="preserve"><tspan
   3.863 +         y="507.44135"
   3.864 +         x="15.896555"
   3.865 +         sodipodi:role="line"
   3.866 +         id="tspan3437"
   3.867 +         style="font-size:9px;text-align:start;text-anchor:start">Numbers indicate which factors have to be</tspan><tspan
   3.868 +         y="516.44135"
   3.869 +         x="15.896555"
   3.870 +         sodipodi:role="line"
   3.871 +         style="font-size:9px;text-align:start;text-anchor:start"
   3.872 +         id="tspan3447">added in order to move the UCC to concrete:</tspan><tspan
   3.873 +         id="tspan3439"
   3.874 +         y="525.44135"
   3.875 +         x="15.896555"
   3.876 +         sodipodi:role="line"
   3.877 +         style="font-size:9px;text-align:start;text-anchor:start" /></text>
   3.878 +    <text
   3.879 +       xml:space="preserve"
   3.880 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   3.881 +       x="103.12312"
   3.882 +       y="385.44135"
   3.883 +       id="text3441"
   3.884 +       sodipodi:linespacing="100%"><tspan
   3.885 +         style="font-size:10px;text-align:center;text-anchor:middle"
   3.886 +         sodipodi:role="line"
   3.887 +         x="103.12312"
   3.888 +         y="385.44135"
   3.889 +         id="tspan3445">Factors Needed by Given UCC in order to</tspan><tspan
   3.890 +         style="font-size:10px;text-align:center;text-anchor:middle"
   3.891 +         sodipodi:role="line"
   3.892 +         x="103.12312"
   3.893 +         y="395.44135"
   3.894 +         id="tspan3459">Make it Fully Concrete</tspan></text>
   3.895    </g>
   3.896  </svg>
     4.1 --- a/0__Papers/Holistic_Model/Perf_Tune/latex/Holistic_Perf_Tuning.tex	Sun Jun 03 15:54:25 2012 -0700
     4.2 +++ b/0__Papers/Holistic_Model/Perf_Tune/latex/Holistic_Perf_Tuning.tex	Tue Jun 05 07:28:32 2012 -0700
     4.3 @@ -54,8 +54,10 @@
     4.4  
     4.5  % *** GRAPHICS RELATED PACKAGES ***
     4.6  %
     4.7 -\ifCLASSINFOpdf
     4.8 -  % \usepackage[pdftex]{graphicx}
     4.9 +
    4.10 +\usepackage[pdftex]{graphicx}
    4.11 +  \ifCLASSINFOpdf
    4.12 +
    4.13    % declare the path(s) where your graphic files are
    4.14    % \graphicspath{{../pdf/}{../jpeg/}}
    4.15    % and their extensions so you won't have to specify these with
    4.16 @@ -284,7 +286,7 @@
    4.17  
    4.18  
    4.19  %MOIRAI: MOdel for Integrated Runtime Analysis through Instrumentation
    4.20 -\title{Integrated Performance Tuning Using Construct Information Collected by Instrumenting the Language Runtime}
    4.21 +\title{Integrated Performance Tuning Using Semantic Information Collected by Instrumenting the Language Runtime}
    4.22  
    4.23  \author{
    4.24          Nina Engelhardt\\
    4.25 @@ -431,7 +433,7 @@
    4.26    %  {\includegraphics[scale=0.015]{../figures/194.pdf} 
    4.27    %  }\quad
    4.28    \end{minipage}
    4.29 -\caption{Performance tuning with Scheduling Consequence Graphs (all figures drawn with the same scale)  }
    4.30 +\caption{Performance tuning with Scheduling Consequence Graphs (all figures drawn to the same scale)  }
    4.31  \label{story}
    4.32  \end{figure*}
    4.33  
    4.34 @@ -589,9 +591,21 @@
    4.35  
    4.36      We call a fully specified UCC a \emph{concrete} UCC.  Every run of an application eventually winds up defining a concrete UCC, as seen in this paper. But the amount of UCC made concrete by the application alone falls into a two-dimensional grid. One dimension covers the units, the other the constraints.
    4.37  
    4.38 -Figure X shows the two axes and the four factors on each that indicate how much of the UCC the application code determines. The horizontal axis is for  units, vertical for constraints. The values on an axis start at 0 with units/constraints fully fixed by the application code alone, 1 means they are fixed by parameters plus code, 2 means the values of input data also play a role, and 3 means they are determined by scheduling decisions as well as (optionally) any of the rest. 
    4.39  
    4.40 -The closer the UCC is to the origin, the more concrete it is. But even the least concrete UCC, out at the end of the diagonal, becomes concrete during a run of the application. As the computation unfolds, data values interact with scheduling decisions, to fix the units and constraints among them, until all have been made concrete at the end of the run.
    4.41 +\begin{figure}[ht]
    4.42 +%  \centering
    4.43 +  \includegraphics[width = 2in, height = 1.8in]{../figures/UCC_concreteness_grid.pdf}
    4.44 +  \caption{Abstract representation of the kinds of UCC possible. The letters A, B, C, D stand for UCCs described in the text.}
    4.45 +  \label{fig:UCC_Concreteness}
    4.46 +\end{figure}
    4.47 +
    4.48 +Figure \ref{fig:UCC_Concreteness} shows the two axes and the four sets of information on each that are required to make the given UCC fully concrete. The horizontal axis is for  units, vertical for constraints.  0 indicates that the units/constraints are fully fixed by the application code alone; 1 means parameter values must be known in addition to code; 2 means input data values also play a role, and 3 means the units/constraints can only become known during the run, as scheduler/runtime decisions affect the units and/or constraints. 
    4.49 +
    4.50 +The closer the UCC is to the origin, the less information it needs to become concrete. The UCC labeled A in the figure is fully concrete just from the source code alone (representing for example, matrix multiply with fixed size matrices). The UCC labeled B requires the input data and parameters to be specified before its units are concrete, but just parameters to make its constraints fully concrete (as per ray-tracing, with bounce depth specified as a parameter). The UCC labeled C only has variability in its constraints, which require input data (for example, H.264 motion vectors).
    4.51 +
    4.52 +(as for D in the figure, representing an NP complete problem with a runtime that is able to stop a unit in progress and re-divide it, as in [DKU paper]) 
    4.53 +
    4.54 +But even the least concrete UCC, out at the end of the diagonal, becomes concrete during a run of the application (D in the figure). As the computation unfolds, data values interact with scheduling decisions, to fix the units and  constraints on them, until all have been made concrete by the end of the run.
    4.55  
    4.56  Notice, though, that such a concrete UCC still has degrees of freedom. The same units could have been chosen, with the same constraints on them, but different decisions made about which hardware the units were assigned to, and which order the assignment was made in. These decisions interact with the hardware, to yield the communication patterns and consequent performance seen during the run. 
    4.57  
    4.58 @@ -689,7 +703,7 @@
    4.59  points inside the runtime that correspond to points in the model. It is only in these spots that instrumentation gets inserted into runtime code. 
    4.60  
    4.61  One benefit seen directly from these details is that many things remain the same across languages, because the computation model is invariant across languages.  This includes the basic nature of the visualizations and details of the implementation process.
    4.62 -The reason is that visualizations are based on units, constraints, and causality, all of which exist in every language (even though some older ones obfuscate them).
    4.63 +The reason is that visualizations are based on units, constraints, and causality, all of which exist in every language (even though some older ones obfuscate units).
    4.64  
    4.65  Another benefit evident from the details in this section is that the instrumentation is done only once, for a language. All applications written in the language inherit the visualizations, without any change to the application code.
    4.66  
    4.67 @@ -699,7 +713,7 @@
    4.68  
    4.69  Every unit has a meta-unit that represents it in the runtime. A  unit is defined as the trace of application code that exists between two scheduling decisions. Looking at this in more detail, every runtime has some form of internal bookkeeping state for a unit, used to track constraints on it and make decisions about when and where to execute. This exists even if that state is just a pointer to a function that sits in a queue. We call this bookkeeping state for a unit the meta-unit.
    4.70  
    4.71 -Each  unit has a life-line, which progresses so:  creation of the meta-unit \pointer , state updates that affect constraints on the unit \pointer,   the decision is made to animate the unit  \pointer, movement of the meta-unit plus data to physical resources that do the animation \pointer  , animation of the unit, which does the work \pointer,  communication of state-update, that unit has completed, and hardware is free \pointer ,  constraint updates within runtime, possibly causing new meta-unit creations or freeing other meta-units to be chosen for animation.  This repeats for each unit. Each step is part of the model.
    4.72 +Each  unit also has a life-line, which progresses so:  creation of the meta-unit \pointer , state updates that affect constraints on the unit \pointer,   the decision is made to animate the unit  \pointer, movement of the meta-unit plus data to physical resources that do the animation \pointer  , animation of the unit, which does the work \pointer,  communication of state-update, that unit has completed, and hardware is free \pointer ,  constraint updates within runtime, possibly causing new meta-unit creations or freeing other meta-units to be chosen for animation.  This repeats for each unit. Each step is part of the model.
    4.73  
    4.74   Note a few implications: first, many activities internal to the runtime are part of a unit's life-line, and take place when only the meta-unit exists, before or after the work of the actual unit; second, communication that is internal to the runtime is part of the unit life-line, such as state updates; third, creation may be implied, such as in pthreads, or triggered such as in dataflow, or be by explicit command such as in StarSs, and once created, a meta-unit may languish before the unit it represents is free to be animated.
    4.75  
    4.76 @@ -718,9 +732,9 @@
    4.77   
    4.78  
    4.79  What must be collected during the run differs between the two types of visualization. For the UCC it is unit boundaries and the constraints related to each unit.
    4.80 -For the CG, the same units must  be collected, but also the time a core spends on each segment of the unit's life-line.  Also, implementation details of the runtime will cause things such as idling the core during lock acquisition to be counted towards a unit's life segment. What core activities go to which life segments changes from runtime to runtime. 
    4.81 +For the CG, the same units must  be collected, but also the time a core spends on each segment of the unit's life-line.  Also, implementation details of the runtime will cause things such as idling the core during lock acquisition to be counted towards a unit's life segment. What core activities go to which life segments changes from runtime to runtime. For example, our implementation includes idle time due to acuiring the lock on shared runtime state as part of the state-update life-line step. 
    4.82  
    4.83 -The SCG also represents each  cause of a transition from one segment of core usage to another, as an arc between boxes. Such a causation is always a causal dependency of some kind, even if it corresponds to a complex construct in the application. These causations are collected and  tied to one of: construct constraint, runtime internal constraint, or hardware constraint. In this paper, all are collected, but the only causations visualized are constructs  that cross cores, with propendent on one core and its dependent on another.
    4.84 +The SCG also represents each  cause of a transition from one segment of core usage to another as an arc between boxes. Such a causation is always a causal dependency of some kind, even if it corresponds to a complex construct in the application. These causations are collected and  tied to one of: construct constraint, runtime internal constraint (such as must acquire lock), or hardware constraint (such as only one activity at a time on a core). In this paper, all are collected, but the only causations visualized are constructs  that cross cores, with propendent on one core and its dependent on another.
    4.85  
    4.86  \subsection{Instrumenting our implementation of SSR on top of VMS}
    4.87  
    4.88 @@ -734,28 +748,28 @@
    4.89  SSR is based on virtual processors. They execute sequential code that occasionally calls a parallel construct, which suspends the VP and switches to the runtime. This means that each VP contains a sequence of units, with each unit the trace-segment between two SSR library calls.
    4.90   
    4.91  
    4.92 -SSR has both deterministic constraints, which specify the source and destination VP, such as send\_from\_to, and non-deterministic ones, in which the runtime is what chooses which VPs interact, such as send\_to\_of\_type and singleton. Deterministic ones display the same in the UCC and the SCG. However, non-deterministic constraints need all possibilities to be determined for the UCC. Only the actually realized choice is used in the SCG.
    4.93 +SSR has both deterministic constraints, which specify the source and destination VP, such as send\_from\_to, and non-deterministic ones, in which the runtime is what chooses which VPs interact, such as send\_to\_of\_type and singleton. Deterministic ones display the same in the UCC and the SCG. However, non-deterministic constraints need all possibilities to be determined for the UCC, requiring extra instrumentation code.
    4.94  
    4.95  \subsubsection{Collecting a unit}
    4.96 -A unit begins by transitioning out of the runtime and into the unit's application code. It ends by leaving the unit's code back into the runtime. These transitions both have a convenient spot in VMS at which to insert the code that records the units. 
    4.97 +A unit begins when transitioning out of the runtime and into the unit's application code. It ends by leaving the unit's code back into the runtime. These transitions both have a convenient spot in VMS at which to insert the code that records the units. 
    4.98  
    4.99  \subsubsection{Collecting the constraints} In VMS, each language construct has its own handler. Into each handler, code is inserted to record which unit invoked the construct, and any units freed by it. The SCG needs  to link the unit that made a construct call to the unit freed by that call.
   4.100  
   4.101  What information needs to be collected for SCG and UCC and how it is done depends on the construct:
   4.102  \begin{itemize}
   4.103  \item create\_VP: The creation of a new VP implies a simple dependency: the first unit in the new VP may only execute after the  creating unit ends via the create call. We place code into the create\_VP\ handler, which records  the calling VP\ + unit, along with the newly created unit, and the VP it is assigned to.
   4.104 -\item send\_from\_to and receive\_from\_to: These constructs are rendezvous based, meaning that the unit following the call can only begin after \emph{both} VPs involved have completed the call. We represent this by two crossing dependencies. The constructs are deterministic, so both the UCC and SCG use the same recording. Code is placed into both handlers at the point that checks if both the rendez-vous requests are present. When true, it records both the unit+VPs that connected.
   4.105 +\item send\_from\_to and receive\_from\_to: These constructs are rendez-vous based, meaning that the unit following the call can only begin after \emph{both} VPs involved have completed the call. We represent this by two crossing dependencies. The constructs are deterministic, so both the UCC and SCG use the same recording. Code is placed into both handlers at the point that checks if both the rendez-vous requests are present. When true, it records both the unit+VPs that connected.
   4.106  \item Send\_to\_of\_type and receive\_to\_of\_type: These are also rendezvous based, but the pairing of sender and receiver is not deterministic. The SCG   represents the decision made inside the runtime, so inside the handler, the later of the two units connected by the runtime records the pairing.  But for the UCC, we want to capture all sending and receiving permutations available, so we add code that collects the group of senders and the corresponding group of receivers.
   4.107  \item Singleton: For the singleton construct, there is a single unit with a group of predecessor units and a group of successor units. The first predecessor to complete enables the singleton unit. All successors must wait for completion of the singleton. We insert code into the handler that records the predecessor that enabled the singleton, which is all that the SCG needs. For the UCC, we add code inside the call to start the singleton. It records the unit that the call ended, and the successor-unit it causes to start.
   4.108  
   4.109  \end{itemize}
   4.110  
   4.111  \subsubsection{Recording time, instructions, and cache misses }
   4.112 - Just recording the units and connections between them is not enough. Because the SCG represents core usage, it needs  the time spent on each activity, including internal runtime activities, to be recorded. Each interval of time is assigned to a  segment of a particular unit's life-line.
   4.113 + Just recording the units and connections between them is not enough. Because the SCG represents core usage, it also needs  the time spent on each activity, including internal runtime activities, to be recorded. Each interval of time is assigned to a  segment of a particular unit's life-line.
   4.114  
   4.115  The UCC makes use  of the number of instructions in a unit, as an estimate of size of work in the unit, as illustrated by Fig [UCC same-sz vs UCC instr-sz]. Without knowing the relative size of the units, it is hard to estimate the amount of parallelism \emph{usefully} available in the application.
   4.116  
   4.117 -To measure the instructions, cycles, and communication (cache misses), we use the hardware performance counters. Readings are inserted into the runtime code to capture core time spent on each segment of the life-line of a unit: 
   4.118 +To measure the instructions, cycles, and communication (cache misses), we use hardware performance counters. Readings are inserted into the runtime code to capture core time spent on each segment of the life-line of a unit: 
   4.119  \begin{enumerate}
   4.120  \item Create meta-unit: In VMS, this is measuring the time the create\_VP construct handler consumes on the core. 
   4.121  \item Update constraints: In VMS, this is the time spent inside the language-supplied construct-handler function.
   4.122 @@ -790,17 +804,17 @@
   4.123  Both the UCC and the SCG are represented as directed graphs, with units as nodes.
   4.124  
   4.125  \subsubsection{UCC}
   4.126 -For the UCC, units can be either unweighted or weighted. Weighted units appear as rectangles with height proportional to the weight, unweighted units are circles. Our implementation can use the number of instructions in the work section from a run to weigh the units. This removes some of the influence of scheduling and data, such as cache misses, but can be insufficient if the application is strongly data- or scheduling-dependent.
   4.127 +For the UCC, units can be either unweighted or weighted. Weighted units appear as rectangles with height proportional to the weight, unweighted units are circles. Our implementation can use the number of instructions in the work section from a run to weight the units. This removes some of the influence of scheduling and data, such as cache misses, but can be insufficient if the application is strongly data- or scheduling-dependent.
   4.128  
   4.129  Simple, deterministic dependencies are represented as arcs. Complicated constraints are for now displayed as an additional node bearing information on the constraint with incoming arcs from all units whose execution status affects the constraint and outgoing arcs to the constrained units.
   4.130  
   4.131 -A critical path algorithm is then used to place the nodes vertically, from top to bottom. For non-deterministic constraints, it is possible to enable or disable their participation in the path. Enabling them will lead to an over-estimation of the critical path, disabling them to an under-estimation (better solutions welcome). It is also ensured that no nodes overlap.
   4.132 +A critical path algorithm is then used to place the nodes vertically, from top to bottom. For non-deterministic constraints, it is possible to enable or disable their participation in the path. Enabling them will lead to an over-estimation of the critical path, disabling them to an under-estimation (better solutions welcome). The nodes are spread horizontally such that none overlap.
   4.133  
   4.134  \subsubsection{SCG}
   4.135  
   4.136  For the SCG, all nodes are weighted with the number of cycles spent on the unit in total (work + overhead). Nodes are then further displayed separated into overhead and work. Because it displays a concrete run, the actual choices made for all non-deterministic constraints are available, so all dependencies are deterministic. The same critical path algorithm as for the UCC is used to place nodes vertically, but this time horizontal placement is determined by the core on which the unit was executed  (hardware dependencies ensure no overlap).
   4.137  
   4.138 -A selection of constraints can then be overlaid, with color codes by type. In SSR we display by default creation, direct and typed message sending (but not the crossing dependency from the receiver back to the sender), and singleton outgoing dependencies; but each type can be individually hidden or shown.
   4.139 +A selection of constraints can then be overlaid, with color codes by type. In SSR we display, as the default, creation, direct and typed message sending (but not the crossing dependency from the receiver back to the sender), and singleton outgoing dependencies; but each type can be individually hidden or shown.
   4.140  
   4.141  All this information is taken purely from the runtime, leading to a rich, configurable visualization without needing to add anything to the application.
   4.142