diff --git a/slides/talks/2017-4-Cornell-JITDs/figs/Array.svg b/slides/talks/2017-4-Cornell-JITDs/figs/Array.svg new file mode 100644 index 00000000..c6a09aef --- /dev/null +++ b/slides/talks/2017-4-Cornell-JITDs/figs/Array.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.6.2 2017-09-12 03:18:32 +0000Canvas 1Layer 14, 3, 6, 1, 5, 2 diff --git a/slides/talks/2017-4-Cornell-JITDs/figs/BTreeNode.svg b/slides/talks/2017-4-Cornell-JITDs/figs/BTreeNode.svg new file mode 100644 index 00000000..ed9f26c8 --- /dev/null +++ b/slides/talks/2017-4-Cornell-JITDs/figs/BTreeNode.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.6.2 2017-09-12 03:16:13 +0000Canvas 1Layer 1xyk diff --git a/slides/talks/2017-4-Cornell-JITDs/figs/DSTradeoffs.graffle b/slides/talks/2017-4-Cornell-JITDs/figs/DSTradeoffs.graffle new file mode 100644 index 00000000..d2528940 Binary files /dev/null and b/slides/talks/2017-4-Cornell-JITDs/figs/DSTradeoffs.graffle differ diff --git a/slides/talks/2017-4-Cornell-JITDs/figs/DSTradeoffs.svg b/slides/talks/2017-4-Cornell-JITDs/figs/DSTradeoffs.svg new file mode 100644 index 00000000..30a2110e --- /dev/null +++ b/slides/talks/2017-4-Cornell-JITDs/figs/DSTradeoffs.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.6.2 2017-09-12 00:10:21 +0000Canvas 1Layer 1Update LatencyQuery Latency12345243665 654321123456 diff --git a/slides/talks/2017-4-Cornell-JITDs/figs/ExampleDSes-Array.svg b/slides/talks/2017-4-Cornell-JITDs/figs/ExampleDSes-Array.svg new file mode 100644 index 00000000..d6405057 --- /dev/null +++ b/slides/talks/2017-4-Cornell-JITDs/figs/ExampleDSes-Array.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.6.2 2017-09-11 23:33:26 +0000Canvas 1Layer 1123456Array diff --git a/slides/talks/2017-4-Cornell-JITDs/figs/ExampleDSes-BinTree.svg b/slides/talks/2017-4-Cornell-JITDs/figs/ExampleDSes-BinTree.svg new file mode 100644 index 00000000..d420b272 --- /dev/null +++ b/slides/talks/2017-4-Cornell-JITDs/figs/ExampleDSes-BinTree.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.6.2 2017-09-11 23:33:26 +0000Canvas 1Layer 112345243665BinaryTree diff --git a/slides/talks/2017-4-Cornell-JITDs/figs/ExampleDSes-LinkedList.svg b/slides/talks/2017-4-Cornell-JITDs/figs/ExampleDSes-LinkedList.svg new file mode 100644 index 00000000..01fb4eb3 --- /dev/null +++ b/slides/talks/2017-4-Cornell-JITDs/figs/ExampleDSes-LinkedList.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.6.2 2017-09-11 23:53:00 +0000Canvas 1Layer 1123456Linked List diff --git a/slides/talks/2017-4-Cornell-JITDs/figs/ExampleDSes-SortedArray.svg b/slides/talks/2017-4-Cornell-JITDs/figs/ExampleDSes-SortedArray.svg new file mode 100644 index 00000000..80463d4a --- /dev/null +++ b/slides/talks/2017-4-Cornell-JITDs/figs/ExampleDSes-SortedArray.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.6.2 2017-09-11 23:45:25 +0000Canvas 1Layer 1Sorted Array 654321 diff --git a/slides/talks/2017-4-Cornell-JITDs/figs/ExampleDSes.graffle b/slides/talks/2017-4-Cornell-JITDs/figs/ExampleDSes.graffle new file mode 100644 index 00000000..bd1f660f Binary files /dev/null and b/slides/talks/2017-4-Cornell-JITDs/figs/ExampleDSes.graffle differ diff --git a/slides/talks/2017-4-Cornell-JITDs/figs/ExampleDSes.svg b/slides/talks/2017-4-Cornell-JITDs/figs/ExampleDSes.svg new file mode 100644 index 00000000..0e048ae6 --- /dev/null +++ b/slides/talks/2017-4-Cornell-JITDs/figs/ExampleDSes.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.6.2 2017-09-11 23:33:26 +0000Canvas 1Layer 112345243665123456 1 2 3 4 5 6ArraySorted ArrayBinaryTree diff --git a/slides/talks/2017-4-Cornell-JITDs/figs/Hybrid.svg b/slides/talks/2017-4-Cornell-JITDs/figs/Hybrid.svg new file mode 100644 index 00000000..9580af15 --- /dev/null +++ b/slides/talks/2017-4-Cornell-JITDs/figs/Hybrid.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.6.2 2017-09-12 05:00:03 +0000Canvas 1Layer 112, 4, 73, 566 diff --git a/slides/talks/2017-4-Cornell-JITDs/figs/LinkedList.svg b/slides/talks/2017-4-Cornell-JITDs/figs/LinkedList.svg new file mode 100644 index 00000000..8282c63b --- /dev/null +++ b/slides/talks/2017-4-Cornell-JITDs/figs/LinkedList.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.6.2 2017-09-12 02:49:34 +0000Canvas 1Layer 11234 diff --git a/slides/talks/2017-4-Cornell-JITDs/figs/NodeTypes.graffle b/slides/talks/2017-4-Cornell-JITDs/figs/NodeTypes.graffle new file mode 100644 index 00000000..61396929 Binary files /dev/null and b/slides/talks/2017-4-Cornell-JITDs/figs/NodeTypes.graffle differ diff --git a/slides/talks/2017-4-Cornell-JITDs/figs/NodeTypes.svg b/slides/talks/2017-4-Cornell-JITDs/figs/NodeTypes.svg new file mode 100644 index 00000000..b093780d --- /dev/null +++ b/slides/talks/2017-4-Cornell-JITDs/figs/NodeTypes.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.6.2 2017-09-12 02:41:06 +0000Canvas 1Layer 1 diff --git a/slides/talks/2017-4-Cornell-JITDs/figs/Singleton.svg b/slides/talks/2017-4-Cornell-JITDs/figs/Singleton.svg new file mode 100644 index 00000000..a898fa0c --- /dev/null +++ b/slides/talks/2017-4-Cornell-JITDs/figs/Singleton.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.6.2 2017-09-12 02:34:52 +0000Canvas 1Layer 1x diff --git a/slides/talks/2017-4-Cornell-JITDs/figs/SortedArray.svg b/slides/talks/2017-4-Cornell-JITDs/figs/SortedArray.svg new file mode 100644 index 00000000..1e745078 --- /dev/null +++ b/slides/talks/2017-4-Cornell-JITDs/figs/SortedArray.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.6.2 2017-09-12 03:48:05 +0000Canvas 1Layer 11, 2, 3, 4, 5, 6 diff --git a/slides/talks/2017-4-Cornell-JITDs/figs/Union.svg b/slides/talks/2017-4-Cornell-JITDs/figs/Union.svg new file mode 100644 index 00000000..bec71a84 --- /dev/null +++ b/slides/talks/2017-4-Cornell-JITDs/figs/Union.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.6.2 2017-09-12 02:42:28 +0000Canvas 1Layer 1xy diff --git a/slides/talks/2017-4-Cornell-JITDs/graphics/conan.png b/slides/talks/2017-4-Cornell-JITDs/graphics/conan.png new file mode 100644 index 00000000..40c70941 Binary files /dev/null and b/slides/talks/2017-4-Cornell-JITDs/graphics/conan.png differ diff --git a/slides/talks/2017-4-Cornell-JITDs/index.html b/slides/talks/2017-4-Cornell-JITDs/index.html index 6f354330..0b008a2c 100644 --- a/slides/talks/2017-4-Cornell-JITDs/index.html +++ b/slides/talks/2017-4-Cornell-JITDs/index.html @@ -100,7 +100,7 @@ (MS In Progress) (BS 2017) (MS 2014) - (Asst. Prof @ UB) + (Prof @ UB) @@ -115,9 +115,130 @@ - Batch vs Individual Updates - Scan vs Lookup vs Range Queries --> + +
+ + +

What is best in life?

+

(for organizing your data)

+ + © Universal Pictures +
+ +
+ + + + + +

API

+ +
+

Available Structures

+

+ Binary Tree, Linked List, Sorted Array +

+
+ +
+ + + +
+ +
+

Other Tradeoffs

+ +
+ +
+ + + + + [Best] + + + + + [Best] + + + + + [Best] + + + + [Best?] + [Best?] + + +

Interactive Analytics

+
    +
  1. User Opens CSV File
  2. +
  3. User Poses Query as File Loads
  4. +
  5. Lots More Queries
  6. +
  7. User Adds More Data
  8. +
+

+ Even in a single session, there may be more than one "optimal" data structure. +

+
+
+

State of the Art

+ +

+ What would it take to enable incremental transitions from one set of tradeoffs to another one? +

+ +
+
+

Incremental Transitions

+
    +
  1. What does it mean for a data structure to be halfway between a Binary Tree and a Linked List?
  2. +
  3. How would we access and manipulate such a data structure?
  4. +
  5. When and how should a data structure transition?
  6. +
  7. How do we automatically generate bespoke data-structures?
  8. +
+
+
+

Incremental Transitions

+
    +
  1. A Universal Instance Language
  2. +
  3. Realizing Universal Data Structures
  4. +
  5. Just-In-Time Data Structure Optimization
  6. +
  7. Optimization Policy Discovery
  8. +
+
+
+

Incremental Transitions

+
    +
  1. A Universal Instance Language
  2. +
  3. Realizing Universal Data Structures
  4. +
  5. Just-In-Time Data Structure Optimization
  6. +
  7. Optimization Policy Discovery
  8. +
+