+ Question A cell is stale if a value it read last time changed.
+
+
+
+
+
Vizier Demo
+
+
+
+
Workflow-style execution
+
+
+
Microkernel Notebooks
+
Static Analysis
+
Approximate Dependencies
+
Inter-Kernel Interop [Work In Progress]
+
+
+
+
+
+ If we have to have the ability to recover a state, does it have to be the same interpreter?
+
+
+
+ Not same interpreter means:
+ - No worrying about crashes
+ - Portability / Resume at any point
+ - Parallel execution
+
+
+
+ Outline the data model:
+
+ - Interpreter
+ - "backend 'state database'"
+ - Lazy-loading interpreter state
+
+
+
+ If we have to have the ability to recover a state, does it have to be the same interpreter *version*?
+
+
+
+ If we have to have the ability to recover a state, does it have to be the same language?
+
+
+
+ Cool things we can do if we lift the "state lives in the kernel" model
+
+ - Deserialize program state into another interpreter
+ - Graphical widgets for common tasks (data loading)
+ - 1-3 slides on spreadsheets
+
+
+
+
+ How to figure out dependencies
+
+ 1. Run the code (exact, after the fact)
+ 2. Static analysis (imprecise, incomplete)
+
+
+
+ Refer to Aditya's project w.r.t. static analysis
+
+
+
+
+ How to figure out dependencies
+
+ 1. Run the code (exact, after the fact)
+ 2. Static analysis (imprecise, incomplete)
+ 3. Both!
+
+
+
+ Idea: use static analysis to create a mask.
+
+ Cell state model:
+ - stable
+ - unknown
+ - stale
+ - runnable (revisit parallelism)
+
+
+
+ Preliminary results: TAPP
+
+
+
+
+
+ State model. Review:
+ - State needs to come *out* of the cell that created it
+ - State needs to go *into* the cell that is about to consume it
+
+
+
+ Naive approach: Pickle
+
+ ... but pickle doesn't allow interop
+ ... but pickle doesn't always work (e.g., for 'File' objects)
+
+
+
+ Interop: Define standards
+
+ - Primitive Values (int, float, date, etc...)
+ - Collection Types (map, list, etc...)
+ - Libraries
+ - Function [Challenge: Chained Dependencies]
+ - Dataframe/Series [Challenge: These are BIG]
+
+
+
+
+
+
+
+<%#
@@ -41,4 +336,4 @@ title: Principled management of notebook state in Vizier