2018-08-27 15:02:56 -04:00
|
|
|
<!doctype html>
|
|
|
|
<html lang="en">
|
|
|
|
|
|
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
|
|
|
|
|
|
|
<title>CSE 662 - Languages and Runtimes for Big Data</title>
|
|
|
|
|
|
|
|
<meta name="description" content="Material for the University at Buffalo's CSE-662 'Languages and Runtimes for Big Data'">
|
|
|
|
<meta name="author" content="Oliver Kennedy">
|
|
|
|
|
|
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
|
|
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../reveal.js-3.7.0/css/reveal.css">
|
|
|
|
<link rel="stylesheet" href="../reveal.js-3.7.0/css/theme/moon.css" id="theme">
|
|
|
|
|
|
|
|
<!-- Theme used for syntax highlighting of code -->
|
|
|
|
<link rel="stylesheet" href="../reveal.js-3.7.0/lib/css/zenburn.css">
|
|
|
|
|
|
|
|
<!-- Printing and PDF exports -->
|
|
|
|
<script>
|
|
|
|
var link = document.createElement( 'link' );
|
|
|
|
link.rel = 'stylesheet';
|
|
|
|
link.type = 'text/css';
|
|
|
|
link.href = window.location.search.match( /print-pdf/gi ) ? '../reveal.js-3.7.0/css/print/pdf.css' : '../reveal.js-3.7.0/css/print/paper.css';
|
|
|
|
document.getElementsByTagName( 'head' )[0].appendChild( link );
|
|
|
|
</script>
|
2018-08-28 19:29:33 -04:00
|
|
|
|
2018-08-27 15:02:56 -04:00
|
|
|
<!--[if lt IE 9]>
|
|
|
|
<script src="lib/js/html5shiv.js"></script>
|
|
|
|
<![endif]-->
|
|
|
|
</head>
|
|
|
|
|
|
|
|
<body>
|
|
|
|
|
|
|
|
<div class="reveal">
|
|
|
|
|
|
|
|
<!-- Any section element inside of this container is displayed as a slide -->
|
|
|
|
<div class="slides">
|
|
|
|
<section>
|
|
|
|
<h2>Languages and Runtimes</h2>
|
|
|
|
<h3>(for Big Data)</h3>
|
|
|
|
<h4>Oliver Kennedy</h4>
|
|
|
|
<p><a href="mailto:okennedy@buffalo.edu">okennedy@buffalo.edu</a></p>
|
|
|
|
<p>Capen 212</p>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<section>
|
|
|
|
<h3>Logistics</h3>
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li class="fragment"><b>Course Website</b><br/>
|
|
|
|
<a href="https://odin.cse.buffalo.edu/teaching/cse-662">https://odin.cse.buffalo.edu/teaching/cse-662</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li class="fragment">Grading<ul>
|
|
|
|
<li>Group Project: 3 Reports (15%, 15%, 50%)</li>
|
|
|
|
<li>Weekly Papers and In-Class Discussion (20%)</li>
|
|
|
|
</ul></li>
|
|
|
|
|
|
|
|
<li class="fragment">Office Hours<ul>
|
|
|
|
<li><b>Oliver: </b> Weds 10 AM-Noon (Before Class)</li>
|
|
|
|
</ul></li>
|
|
|
|
</ul>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<img src="graphics/CapenMap.png"/>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<h3>Email</h3>
|
|
|
|
|
|
|
|
<p>Always add [CSE662] to the title of emails</p>
|
|
|
|
<ul>
|
|
|
|
<li>This helps me to reply to your email faster</li>
|
|
|
|
<li>The tag is <u><i><b><blink>mandatory</blink></b></i></u> for assignments</li>
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<h3>Academic Integrity</h3>
|
|
|
|
|
|
|
|
<p>Each group will have a separate project. I don't expect cheating to be an issue, but to be clear...
|
|
|
|
<ul>
|
|
|
|
<li class="fragment">I encourage you to talk to your classmates about ideas and papers out of class.</li>
|
|
|
|
<li class="fragment">I expect you to work with your team on the project.</li>
|
|
|
|
<li class="fragment">You <i>should</i> use outside tools/code/libraries (with attribution) if they're useful.</li>
|
|
|
|
<li class="fragment">If you/your team submits something as your work... <span class="fragment">it had better be your work.</span></li>
|
|
|
|
</ul>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<section>
|
|
|
|
<h3>DB ≈ PL</h3>
|
|
|
|
|
|
|
|
<table style="font-size: 80%">
|
|
|
|
<thead style="color: white">
|
|
|
|
<th style="text-align: right">Databases</th>
|
|
|
|
<th>Programming Languages</th>
|
|
|
|
</thead>
|
|
|
|
<tr class="fragment">
|
|
|
|
<td style="text-align: right">Indexes</td>
|
|
|
|
<td>Data Structures</td>
|
|
|
|
</tr>
|
|
|
|
<tr class="fragment">
|
|
|
|
<td style="text-align: right">Transactions/Logging</td>
|
|
|
|
<td>Software Transactional Memory</td>
|
|
|
|
</tr>
|
|
|
|
<tr class="fragment">
|
|
|
|
<td style="text-align: right">Incremental Views</td>
|
|
|
|
<td>Self-Adapting Computation</td>
|
|
|
|
</tr>
|
|
|
|
<tr class="fragment">
|
|
|
|
<td style="text-align: right">Query Rewriting / Performance Models</td>
|
|
|
|
<td>Compiler Optimization / Program Analysis</td>
|
|
|
|
</tr>
|
|
|
|
<tr class="fragment">
|
|
|
|
<td style="text-align: right">Probabilistic DBs</td>
|
|
|
|
<td>Probabilistic Programming</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<h3>DB ≈ PL</h3>
|
|
|
|
|
|
|
|
<p style="vertical-align: middle;">
|
|
|
|
<div style="width: 300px; display: inline-block; text-align: right">
|
|
|
|
Data-Centric Programs
|
|
|
|
</div>
|
|
|
|
<span style="font-size: 300%; color: white; margin: 30px">↔</span>
|
|
|
|
<div style="width: 300px; display: inline-block; text-align: left">
|
|
|
|
Turing-Complete Programs
|
|
|
|
</div>
|
|
|
|
</p>
|
|
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<section>
|
|
|
|
<h3>Course Structure</h3>
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li>Data Structures, Indexes, Adaptive Indexing</li>
|
|
|
|
<li>Uncertainty in Data</li>
|
|
|
|
<li>Transactions, Concurrency, and Synchronizing Actors</li>
|
|
|
|
<li>High-Throughput Data Processing</li>
|
|
|
|
</ul>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<h3>Course Structure</h3>
|
|
|
|
<table border>
|
|
|
|
<thead>
|
|
|
|
<th>Monday</th>
|
|
|
|
<th>Wednesday</th>
|
|
|
|
<th>Friday</th>
|
|
|
|
</thead>
|
|
|
|
<tr style="font-size: 70%; text-align: center;">
|
|
|
|
<td>Classical Lecture<br/>(Paper of the Week)</td>
|
|
|
|
<td colspan=2>Group Presentations and Meetings</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<h3>Paper Discussion</h3>
|
|
|
|
<ul>
|
|
|
|
<li class="fragment">One paper every week (Assigned by Weds Night).</li>
|
|
|
|
<li class="fragment">I will be calling on random people to answer questions about the paper.</li>
|
|
|
|
<li class="fragment">Every group will be asked to present one paper pertinent to your project.</li>
|
|
|
|
<li class="fragment">Class participation is 20% of your grade.</li>
|
|
|
|
</ul>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<h3>Group Presentations</h3>
|
|
|
|
<ul>
|
|
|
|
<li class="fragment">Present background, work-in-progress, your design choices, algorithms, information, code, performance metrics and/or analysis.</li>
|
|
|
|
<li class="fragment">Defend your ideas and design choices in a public setting.</li>
|
|
|
|
<li class="fragment">Everyone <b>must</b> attend.</li>
|
|
|
|
<li class="fragment">I will be calling on random people to ask questions of the presenters.</li>
|
|
|
|
<li class="fragment">Class participation is 20% of your grade.</li>
|
|
|
|
</ul>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<h3>Class Participation</h3>
|
|
|
|
<p>I use a 3 point system:</p>
|
|
|
|
<ul>
|
|
|
|
<li>0 points: You're not here when I call on you</li>
|
|
|
|
<li>2 points: You have a meaningful comment/question about the project/paper</li>
|
|
|
|
<li>1 points: Everything else</li>
|
|
|
|
</ul>
|
|
|
|
<p>You get 2 excused absences (guarantees I won't call on you) for the term.</p>
|
|
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<h3>Project Seeds</h3>
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
<li>Decentralized IoT Plumbing</li>
|
|
|
|
<li>Uncertainty-Aware Machine Learning</li>
|
|
|
|
<li>Web-of-Trust for Crowdsourced Data</li>
|
|
|
|
<li>Sensitivity Analysis in Mimir</li>
|
|
|
|
<li>Sandboxed Python</li>
|
|
|
|
</ul>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<h3>Paper Assignment 1</h3>
|
|
|
|
<p>
|
|
|
|
<b><a href="https://dl.acm.org/citation.cfm?id=3196909">The Case for Learned Index Structures</a></b><br/>
|
|
|
|
<span style="font-size: 60%">Tim Kraska, Alex Beutel, Ed H. Chi, Jeffrey Dean, Neoklis Polyzotis</span>
|
|
|
|
</p>
|
|
|
|
<p>Be ready to intelligently discuss the paper's contents <b>Monday Sept. 3</b></p>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section>
|
|
|
|
<h3>Class Introductions</h3>
|
|
|
|
<ul>
|
|
|
|
<li>What is your name?</li>
|
|
|
|
<li>What did you do over the summer?</li>
|
|
|
|
<li>Why did you take this class?</li>
|
|
|
|
<li>What is your favorite Sci-Fi TV/Movie/Book?</li>
|
|
|
|
</ul>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<script src="../reveal.js-3.7.0/lib/js/head.min.js"></script>
|
|
|
|
<script src="../reveal.js-3.7.0/js/reveal.js"></script>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
|
|
|
// More info https://github.com/hakimel/reveal.js#configuration
|
|
|
|
Reveal.initialize({
|
|
|
|
controls: true,
|
|
|
|
progress: true,
|
|
|
|
history: true,
|
|
|
|
center: true,
|
|
|
|
|
|
|
|
transition: 'slide', // none/fade/slide/convex/concave/zoom
|
|
|
|
|
|
|
|
// More info https://github.com/hakimel/reveal.js#dependencies
|
|
|
|
dependencies: [
|
|
|
|
{ src: '../reveal.js-3.7.0/lib/js/classList.js', condition: function() { return !document.body.classList; } },
|
|
|
|
{ src: '../reveal.js-3.7.0/plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
|
|
|
|
{ src: '../reveal.js-3.7.0/plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
|
|
|
|
{ src: '../reveal.js-3.7.0/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
|
|
|
|
{ src: '../reveal.js-3.7.0/plugin/search/search.js', async: true },
|
|
|
|
{ src: '../reveal.js-3.7.0/plugin/zoom-js/zoom.js', async: true },
|
|
|
|
{ src: '../reveal.js-3.7.0/plugin/notes/notes.js', async: true }
|
|
|
|
]
|
|
|
|
});
|
|
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
</body>
|
|
|
|
</html>
|