Finished talk draft
This commit is contained in:
parent
de53c22c04
commit
bf2cf49e7f
|
@ -44,9 +44,6 @@
|
|||
<!--[if lt IE 9]>
|
||||
<script src="../reveal.js-3.1.0/lib/js/html5shiv.js"></script>
|
||||
<![endif]-->
|
||||
<script src="../vega/vega.js"></script>
|
||||
<script src="../vega/vega-lite.js"></script>
|
||||
<script src="../vega/vega-embed.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
@ -652,7 +649,6 @@ public class TransitionMode extends Mode {
|
|||
<ol>
|
||||
<li class="fragment" style="margin-top: 30px">Which rewrite to apply?</li>
|
||||
<li class="fragment" style="margin-top: 30px">Which data to rewrite?</li>
|
||||
<li class="fragment" style="margin-top: 30px">How to rewrite safely?</li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
|
@ -704,23 +700,6 @@ public class TransitionMode extends Mode {
|
|||
<p><b>Option 1:</b> Crack($Array_4(1 \ldots 4)$)</p>
|
||||
<p><b>Option 2:</b> Sort($Array_4(1 \ldots 4)$)</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<div id="predictions"></div>
|
||||
<script>
|
||||
vega.embed("#predictions", {
|
||||
"data": {
|
||||
"url": "results/predictions.json"
|
||||
},
|
||||
"mark": "point",
|
||||
"encoding": {}
|
||||
})
|
||||
</script>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<p>How to prioritize rewrites?</p>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
|
@ -733,8 +712,45 @@ public class TransitionMode extends Mode {
|
|||
<li style="color: black;">Optimization Policy Discovery</li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h1>Policy Discovery</h1>
|
||||
<p>How to prioritize rewrites?</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h3>Cost Model</h3>
|
||||
<p><b>Array_N:</b> $O(N)$</p>
|
||||
<p><b>Sorted_N:</b> $O(N\cdot \log(N))$</p>
|
||||
<p><b>BT:</b> Negligible</p>
|
||||
|
||||
<p style="margin-top: 60px; font-weight: bold" class="fragment">Compute expected utility of a static state.</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h3>Utility</h3>
|
||||
<ol>
|
||||
<li>Throughput</li>
|
||||
<li>(Negative) Latency</li>
|
||||
<li>Time spent with latency below 300ms</li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h3>Heuristic: Sort Below Threshold Size</h3>
|
||||
<img src="results/Predictions.png" height="500px">
|
||||
<p class="fragment">Short-term value vs long-term performance.</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h3>Deriving Policies</h3>
|
||||
<ol>
|
||||
<li>Start with a heuristic and optimzie parameters.<ul>
|
||||
<li>e.g., Pick a threshold to sort at.</li></ul>
|
||||
</li>
|
||||
<li>Model the expected cumulative utility of each candidate rewrite<ul>
|
||||
<li>e.g., Priority queue of Array nodes remaining.</li></ul>
|
||||
</li>
|
||||
</ol>
|
||||
</section>
|
||||
<!-- Policy Discovery and Optimization
|
||||
- Purely Heuristic Design: Cracker Index / Transition Policy / Splay Trees
|
||||
|
@ -745,6 +761,15 @@ public class TransitionMode extends Mode {
|
|||
-->
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h3>Just-in-Time Data Structures</h3>
|
||||
<ul>
|
||||
<li>The Universal Instance Language can describe the intermediate state of a data structure in transition.</li>
|
||||
<li>Localized, event-driven rewrites can emulate the behaviors of existing data structures and be hybridized.</li>
|
||||
<li>Simulation + Cost-Analysis can be used to derive policies to drive direct rewrites.</li>
|
||||
</ul>
|
||||
<p class="fragment">Questions?</p>
|
||||
</section>
|
||||
|
||||
</div></div>
|
||||
|
||||
|
|
BIN
slides/talks/2017-4-Cornell-JITDs/results/Predictions.png
Normal file
BIN
slides/talks/2017-4-Cornell-JITDs/results/Predictions.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 68 KiB |
Loading…
Reference in a new issue