diff --git a/site/categories/algorithm analysis.html b/site/categories/algorithm analysis.html
index 05675f4..ab5dbd3 100644
--- a/site/categories/algorithm analysis.html
+++ b/site/categories/algorithm analysis.html
@@ -179,7 +179,7 @@
Category: Algorithm Analysis
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/categories/algorithms.html b/site/categories/algorithms.html
index 2682362..8634a18 100644
--- a/site/categories/algorithms.html
+++ b/site/categories/algorithms.html
@@ -179,7 +179,7 @@
Category: algorithms
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/categories/computer science.html b/site/categories/computer science.html
index 81e6866..3e0eeac 100644
--- a/site/categories/computer science.html
+++ b/site/categories/computer science.html
@@ -179,7 +179,7 @@
Category: Computer Science
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/categories/database design.html b/site/categories/database design.html
index b8441d0..351722e 100644
--- a/site/categories/database design.html
+++ b/site/categories/database design.html
@@ -179,7 +179,7 @@
Category: Database Design
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/categories/database systems.html b/site/categories/database systems.html
index aa9f417..6b3637f 100644
--- a/site/categories/database systems.html
+++ b/site/categories/database systems.html
@@ -179,7 +179,7 @@
Category: Database Systems
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/categories/distributed systems.html b/site/categories/distributed systems.html
index 7a430ea..8617a49 100644
--- a/site/categories/distributed systems.html
+++ b/site/categories/distributed systems.html
@@ -179,7 +179,7 @@
Category: Distributed Systems
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/categories/graph theory.html b/site/categories/graph theory.html
index 0d14469..6a50c59 100644
--- a/site/categories/graph theory.html
+++ b/site/categories/graph theory.html
@@ -179,7 +179,7 @@
Category: Graph Theory
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/categories/index.html b/site/categories/index.html
index b0d48b7..9f8201e 100644
--- a/site/categories/index.html
+++ b/site/categories/index.html
@@ -178,7 +178,7 @@
Categories
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/categories/mathematics.html b/site/categories/mathematics.html
index 31299e0..7927156 100644
--- a/site/categories/mathematics.html
+++ b/site/categories/mathematics.html
@@ -179,7 +179,7 @@
Category: Mathematics
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/categories/operations research.html b/site/categories/operations research.html
index 6c536b9..9744301 100644
--- a/site/categories/operations research.html
+++ b/site/categories/operations research.html
@@ -179,7 +179,7 @@
Category: Operations Research
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/categories/software engineering.html b/site/categories/software engineering.html
index e175ba3..b6dc9ea 100644
--- a/site/categories/software engineering.html
+++ b/site/categories/software engineering.html
@@ -179,7 +179,7 @@
Category: Software Engineering
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/index.html b/site/index.html
index 8832d36..237a285 100644
--- a/site/index.html
+++ b/site/index.html
@@ -178,7 +178,7 @@
My Notes
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/systems-research/hints-for-computer-system-design.html b/site/systems-research/hints-for-computer-system-design.html
index f10069b..cf67f57 100644
--- a/site/systems-research/hints-for-computer-system-design.html
+++ b/site/systems-research/hints-for-computer-system-design.html
@@ -183,21 +183,22 @@
Hints For Computer System Design
-
-
Paper Title
+
+
Hints for Computer System Design
-
What is the Problem?
-
Summary
Key Insights
-
-
-
Notable Design Details/Strengths
-
-
-
Limitations/Weaknesses
-
-
-
Summary of Key Results
-
-
+
Caching
+
Store $[f, x, f(x)]$ tuples in a cache.
+
If $f$ isn't a pure function, invalidate with the following:
+
$$
+f(x + \Delta) = g(x, \Delta, f(x))
+$$
+
For example, $x$ is an int[]
, $\Delta$ is a write $(i, v)$, and $f$ is a function int sum(int[] x)
. Then $g(x, \Delta, f(x))$ is f(x) + v - x[i]
.
+
Caches should ideally have adaptive sizes.
+
A classic example is the caching in hardware that uses $[Fetch, \text{address}, \text{content of address}]$ tuples. Similarly, virtual memory uses $[Page, \text{address}, \text{content of address}]$ tuples.
+
However, more complicated applications of caching exist. In real-time systems, you're often trying to cache the state of a system given small changes corresponding to events. The key here is to try and invalidate as few entries as possible in response to events.
Open Questions
-
-
+
-
diff --git a/site/tags/acyclic graphs.html b/site/tags/acyclic graphs.html
index 4e93bba..2c1168b 100644
--- a/site/tags/acyclic graphs.html
+++ b/site/tags/acyclic graphs.html
@@ -179,7 +179,7 @@
Tag: acyclic graphs
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/algorithm-analysis.html b/site/tags/algorithm-analysis.html
index 238ce95..d813efc 100644
--- a/site/tags/algorithm-analysis.html
+++ b/site/tags/algorithm-analysis.html
@@ -179,7 +179,7 @@
Tag: algorithm-analysis
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/algorithm.html b/site/tags/algorithm.html
index a5cad4b..8f3b21a 100644
--- a/site/tags/algorithm.html
+++ b/site/tags/algorithm.html
@@ -179,7 +179,7 @@
Tag: algorithm
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/algorithms.html b/site/tags/algorithms.html
index a7f59f8..c7b2b0f 100644
--- a/site/tags/algorithms.html
+++ b/site/tags/algorithms.html
@@ -179,7 +179,7 @@
Tag: algorithms
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/approximation.html b/site/tags/approximation.html
index 3fa80b9..e9427d4 100644
--- a/site/tags/approximation.html
+++ b/site/tags/approximation.html
@@ -179,7 +179,7 @@
Tag: approximation
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/asymptotic notation.html b/site/tags/asymptotic notation.html
index 1965419..5e9b88f 100644
--- a/site/tags/asymptotic notation.html
+++ b/site/tags/asymptotic notation.html
@@ -179,7 +179,7 @@
Tag: asymptotic notation
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/batch processing.html b/site/tags/batch processing.html
index 80e2f42..f1ace26 100644
--- a/site/tags/batch processing.html
+++ b/site/tags/batch processing.html
@@ -179,7 +179,7 @@
Tag: batch processing
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/bipartite graphs.html b/site/tags/bipartite graphs.html
index 00c0cf5..1d1349d 100644
--- a/site/tags/bipartite graphs.html
+++ b/site/tags/bipartite graphs.html
@@ -179,7 +179,7 @@
Tag: bipartite graphs
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/bipartite matching.html b/site/tags/bipartite matching.html
index 4c52471..b032f7e 100644
--- a/site/tags/bipartite matching.html
+++ b/site/tags/bipartite matching.html
@@ -179,7 +179,7 @@
Tag: bipartite matching
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/breadth-first search.html b/site/tags/breadth-first search.html
index 89a6b22..5958418 100644
--- a/site/tags/breadth-first search.html
+++ b/site/tags/breadth-first search.html
@@ -179,7 +179,7 @@
Tag: breadth-first search
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/column-oriented storage.html b/site/tags/column-oriented storage.html
index 94ad8c2..6bd6b3c 100644
--- a/site/tags/column-oriented storage.html
+++ b/site/tags/column-oriented storage.html
@@ -179,7 +179,7 @@
Tag: column-oriented storage
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/compatibility.html b/site/tags/compatibility.html
index acb4079..2e38e5e 100644
--- a/site/tags/compatibility.html
+++ b/site/tags/compatibility.html
@@ -179,7 +179,7 @@
Tag: compatibility
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/complexity analysis.html b/site/tags/complexity analysis.html
index 5fc715a..5cc5fa1 100644
--- a/site/tags/complexity analysis.html
+++ b/site/tags/complexity analysis.html
@@ -179,7 +179,7 @@
Tag: complexity analysis
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/complexity-analysis.html b/site/tags/complexity-analysis.html
index 58d711f..749f946 100644
--- a/site/tags/complexity-analysis.html
+++ b/site/tags/complexity-analysis.html
@@ -179,7 +179,7 @@
Tag: complexity-analysis
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/connected components.html b/site/tags/connected components.html
index de7e32d..39fbd7d 100644
--- a/site/tags/connected components.html
+++ b/site/tags/connected components.html
@@ -179,7 +179,7 @@
Tag: connected components
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/connected graphs.html b/site/tags/connected graphs.html
index 0257566..4bd1afc 100644
--- a/site/tags/connected graphs.html
+++ b/site/tags/connected graphs.html
@@ -179,7 +179,7 @@
Tag: connected graphs
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/data analysis.html b/site/tags/data analysis.html
index 419d213..bb5690c 100644
--- a/site/tags/data analysis.html
+++ b/site/tags/data analysis.html
@@ -179,7 +179,7 @@
Tag: data analysis
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/data modeling.html b/site/tags/data modeling.html
index 3ecf0f3..4102ce6 100644
--- a/site/tags/data modeling.html
+++ b/site/tags/data modeling.html
@@ -179,7 +179,7 @@
Tag: data modeling
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/data replication.html b/site/tags/data replication.html
index 6328808..eb5870f 100644
--- a/site/tags/data replication.html
+++ b/site/tags/data replication.html
@@ -179,7 +179,7 @@
Tag: data replication
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/data serialization.html b/site/tags/data serialization.html
index f99350f..5120102 100644
--- a/site/tags/data serialization.html
+++ b/site/tags/data serialization.html
@@ -179,7 +179,7 @@
Tag: data serialization
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/data structures.html b/site/tags/data structures.html
index 44b8db9..bb5df5c 100644
--- a/site/tags/data structures.html
+++ b/site/tags/data structures.html
@@ -179,7 +179,7 @@
Tag: data structures
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/data systems.html b/site/tags/data systems.html
index 44cc07e..5e62047 100644
--- a/site/tags/data systems.html
+++ b/site/tags/data systems.html
@@ -179,7 +179,7 @@
Tag: data systems
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/depth first search.html b/site/tags/depth first search.html
index 3d179f5..f1cb8bb 100644
--- a/site/tags/depth first search.html
+++ b/site/tags/depth first search.html
@@ -179,7 +179,7 @@
Tag: depth first search
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/depth-first search.html b/site/tags/depth-first search.html
index f729486..97f736d 100644
--- a/site/tags/depth-first search.html
+++ b/site/tags/depth-first search.html
@@ -179,7 +179,7 @@
Tag: depth-first search
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/distributed filesystems.html b/site/tags/distributed filesystems.html
index 41fc361..3644634 100644
--- a/site/tags/distributed filesystems.html
+++ b/site/tags/distributed filesystems.html
@@ -179,7 +179,7 @@
Tag: distributed filesystems
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/document databases.html b/site/tags/document databases.html
index df82285..618ecc0 100644
--- a/site/tags/document databases.html
+++ b/site/tags/document databases.html
@@ -179,7 +179,7 @@
Tag: document databases
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/dynamic-programming.html b/site/tags/dynamic-programming.html
index 5a7ba63..6a70a48 100644
--- a/site/tags/dynamic-programming.html
+++ b/site/tags/dynamic-programming.html
@@ -179,7 +179,7 @@
Tag: dynamic-programming
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/efficiency.html b/site/tags/efficiency.html
index 91ce143..68ff4e0 100644
--- a/site/tags/efficiency.html
+++ b/site/tags/efficiency.html
@@ -179,7 +179,7 @@
Tag: efficiency
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/encoding formats.html b/site/tags/encoding formats.html
index 98f6ccd..6be9b7b 100644
--- a/site/tags/encoding formats.html
+++ b/site/tags/encoding formats.html
@@ -179,7 +179,7 @@
Tag: encoding formats
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/etl.html b/site/tags/etl.html
index 26b6c33..7503968 100644
--- a/site/tags/etl.html
+++ b/site/tags/etl.html
@@ -179,7 +179,7 @@
Tag: etl
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/failover.html b/site/tags/failover.html
index 3f93c6c..4e81a9c 100644
--- a/site/tags/failover.html
+++ b/site/tags/failover.html
@@ -179,7 +179,7 @@
Tag: failover
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/ford-fulkerson algorithm.html b/site/tags/ford-fulkerson algorithm.html
index 4de1a20..e70e4f1 100644
--- a/site/tags/ford-fulkerson algorithm.html
+++ b/site/tags/ford-fulkerson algorithm.html
@@ -179,7 +179,7 @@
Tag: ford-fulkerson algorithm
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/gale-shapley.html b/site/tags/gale-shapley.html
index 2f000a3..fd4d556 100644
--- a/site/tags/gale-shapley.html
+++ b/site/tags/gale-shapley.html
@@ -179,7 +179,7 @@
Tag: gale-shapley
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/graph coloring.html b/site/tags/graph coloring.html
index e5be2fb..b7d15cb 100644
--- a/site/tags/graph coloring.html
+++ b/site/tags/graph coloring.html
@@ -179,7 +179,7 @@
Tag: graph coloring
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/graph databases.html b/site/tags/graph databases.html
index 76aed9b..fdb0548 100644
--- a/site/tags/graph databases.html
+++ b/site/tags/graph databases.html
@@ -179,7 +179,7 @@
Tag: graph databases
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/graph fundamentals.html b/site/tags/graph fundamentals.html
index a9dcf44..d7047f1 100644
--- a/site/tags/graph fundamentals.html
+++ b/site/tags/graph fundamentals.html
@@ -179,7 +179,7 @@
Tag: graph fundamentals
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/graph properties.html b/site/tags/graph properties.html
index 4a2fe47..a4ba625 100644
--- a/site/tags/graph properties.html
+++ b/site/tags/graph properties.html
@@ -179,7 +179,7 @@
Tag: graph properties
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/graph representation.html b/site/tags/graph representation.html
index b7ac180..e178156 100644
--- a/site/tags/graph representation.html
+++ b/site/tags/graph representation.html
@@ -179,7 +179,7 @@
Tag: graph representation
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/graph theory.html b/site/tags/graph theory.html
index b585dcc..fad28f4 100644
--- a/site/tags/graph theory.html
+++ b/site/tags/graph theory.html
@@ -179,7 +179,7 @@
Tag: graph theory
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/graph traversal.html b/site/tags/graph traversal.html
index 9013c38..a52be2f 100644
--- a/site/tags/graph traversal.html
+++ b/site/tags/graph traversal.html
@@ -179,7 +179,7 @@
Tag: graph traversal
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/graph-theory.html b/site/tags/graph-theory.html
index 5665b02..2d63438 100644
--- a/site/tags/graph-theory.html
+++ b/site/tags/graph-theory.html
@@ -179,7 +179,7 @@
Tag: graph-theory
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/graph-traversal.html b/site/tags/graph-traversal.html
index 967ea99..42b643e 100644
--- a/site/tags/graph-traversal.html
+++ b/site/tags/graph-traversal.html
@@ -179,7 +179,7 @@
Tag: graph-traversal
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/graph.html b/site/tags/graph.html
index 8c98661..fcdf453 100644
--- a/site/tags/graph.html
+++ b/site/tags/graph.html
@@ -179,7 +179,7 @@
Tag: graph
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/greedy-algorithms.html b/site/tags/greedy-algorithms.html
index 04dc679..bc3296e 100644
--- a/site/tags/greedy-algorithms.html
+++ b/site/tags/greedy-algorithms.html
@@ -179,7 +179,7 @@
Tag: greedy-algorithms
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/independent set.html b/site/tags/independent set.html
index 97d107f..23d34d3 100644
--- a/site/tags/independent set.html
+++ b/site/tags/independent set.html
@@ -179,7 +179,7 @@
Tag: independent set
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/index.html b/site/tags/index.html
index 880a7f0..5386899 100644
--- a/site/tags/index.html
+++ b/site/tags/index.html
@@ -178,7 +178,7 @@
Tags
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/indexing.html b/site/tags/indexing.html
index ebfa1da..c8e6d8b 100644
--- a/site/tags/indexing.html
+++ b/site/tags/indexing.html
@@ -179,7 +179,7 @@
Tag: indexing
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/induction proofs.html b/site/tags/induction proofs.html
index 6ea15da..cc41889 100644
--- a/site/tags/induction proofs.html
+++ b/site/tags/induction proofs.html
@@ -179,7 +179,7 @@
Tag: induction proofs
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/induction.html b/site/tags/induction.html
index 561cf44..b8e3d01 100644
--- a/site/tags/induction.html
+++ b/site/tags/induction.html
@@ -179,7 +179,7 @@
Tag: induction
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/interval.html b/site/tags/interval.html
index 354f7de..880a621 100644
--- a/site/tags/interval.html
+++ b/site/tags/interval.html
@@ -179,7 +179,7 @@
Tag: interval
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/leader-follower model.html b/site/tags/leader-follower model.html
index a9d7cc8..52f5a92 100644
--- a/site/tags/leader-follower model.html
+++ b/site/tags/leader-follower model.html
@@ -179,7 +179,7 @@
Tag: leader-follower model
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/linear programs.html b/site/tags/linear programs.html
index cee1fff..1c134f2 100644
--- a/site/tags/linear programs.html
+++ b/site/tags/linear programs.html
@@ -179,7 +179,7 @@
Tag: linear programs
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/linear systems.html b/site/tags/linear systems.html
index ff51b94..9d0c539 100644
--- a/site/tags/linear systems.html
+++ b/site/tags/linear systems.html
@@ -179,7 +179,7 @@
Tag: linear systems
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/maintainability.html b/site/tags/maintainability.html
index 9a6f7b6..497762d 100644
--- a/site/tags/maintainability.html
+++ b/site/tags/maintainability.html
@@ -179,7 +179,7 @@
Tag: maintainability
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/mapreduce.html b/site/tags/mapreduce.html
index 694312b..c859336 100644
--- a/site/tags/mapreduce.html
+++ b/site/tags/mapreduce.html
@@ -179,7 +179,7 @@
Tag: mapreduce
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/matching.html b/site/tags/matching.html
index 255070d..486055d 100644
--- a/site/tags/matching.html
+++ b/site/tags/matching.html
@@ -179,7 +179,7 @@
Tag: matching
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/max flow min cut.html b/site/tags/max flow min cut.html
index 332f3e0..7b53d9a 100644
--- a/site/tags/max flow min cut.html
+++ b/site/tags/max flow min cut.html
@@ -179,7 +179,7 @@
Tag: max flow min cut
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/message passing.html b/site/tags/message passing.html
index 36d4034..522335a 100644
--- a/site/tags/message passing.html
+++ b/site/tags/message passing.html
@@ -179,7 +179,7 @@
Tag: message passing
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/odd cycles.html b/site/tags/odd cycles.html
index 4cdcec3..dc9df4d 100644
--- a/site/tags/odd cycles.html
+++ b/site/tags/odd cycles.html
@@ -179,7 +179,7 @@
Tag: odd cycles
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/oltp vs olap.html b/site/tags/oltp vs olap.html
index 92a5cdc..ca78dda 100644
--- a/site/tags/oltp vs olap.html
+++ b/site/tags/oltp vs olap.html
@@ -179,7 +179,7 @@
Tag: oltp vs olap
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/optimization.html b/site/tags/optimization.html
index 6eb22f9..dab3efb 100644
--- a/site/tags/optimization.html
+++ b/site/tags/optimization.html
@@ -179,7 +179,7 @@
Tag: optimization
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/partitioning.html b/site/tags/partitioning.html
index dbe3972..9227055 100644
--- a/site/tags/partitioning.html
+++ b/site/tags/partitioning.html
@@ -179,7 +179,7 @@
Tag: partitioning
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/performance.html b/site/tags/performance.html
index 311c0e6..2f66833 100644
--- a/site/tags/performance.html
+++ b/site/tags/performance.html
@@ -179,7 +179,7 @@
Tag: performance
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/pigeonhole principle.html b/site/tags/pigeonhole principle.html
index 62cb785..abc6b7d 100644
--- a/site/tags/pigeonhole principle.html
+++ b/site/tags/pigeonhole principle.html
@@ -179,7 +179,7 @@
Tag: pigeonhole principle
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/problem-solving.html b/site/tags/problem-solving.html
index 4e61c37..1f147c4 100644
--- a/site/tags/problem-solving.html
+++ b/site/tags/problem-solving.html
@@ -179,7 +179,7 @@
Tag: problem-solving
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/proof techniques.html b/site/tags/proof techniques.html
index 3e2c324..2d6382b 100644
--- a/site/tags/proof techniques.html
+++ b/site/tags/proof techniques.html
@@ -179,7 +179,7 @@
Tag: proof techniques
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/query languages.html b/site/tags/query languages.html
index 52b1d5f..880696d 100644
--- a/site/tags/query languages.html
+++ b/site/tags/query languages.html
@@ -179,7 +179,7 @@
Tag: query languages
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/relational databases.html b/site/tags/relational databases.html
index 77e6429..f8cd967 100644
--- a/site/tags/relational databases.html
+++ b/site/tags/relational databases.html
@@ -179,7 +179,7 @@
Tag: relational databases
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/reliability.html b/site/tags/reliability.html
index 77d20f6..7599931 100644
--- a/site/tags/reliability.html
+++ b/site/tags/reliability.html
@@ -179,7 +179,7 @@
Tag: reliability
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/replication logs.html b/site/tags/replication logs.html
index 6559aee..94ae07d 100644
--- a/site/tags/replication logs.html
+++ b/site/tags/replication logs.html
@@ -179,7 +179,7 @@
Tag: replication logs
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/scalability.html b/site/tags/scalability.html
index 59ed74f..ade12cc 100644
--- a/site/tags/scalability.html
+++ b/site/tags/scalability.html
@@ -179,7 +179,7 @@
Tag: scalability
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/scheduling.html b/site/tags/scheduling.html
index f72cefb..8dcb970 100644
--- a/site/tags/scheduling.html
+++ b/site/tags/scheduling.html
@@ -179,7 +179,7 @@
Tag: scheduling
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/schema evolution.html b/site/tags/schema evolution.html
index e0dfe4c..44b9a96 100644
--- a/site/tags/schema evolution.html
+++ b/site/tags/schema evolution.html
@@ -179,7 +179,7 @@
Tag: schema evolution
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/set cover.html b/site/tags/set cover.html
index f8fc31a..15245fe 100644
--- a/site/tags/set cover.html
+++ b/site/tags/set cover.html
@@ -179,7 +179,7 @@
Tag: set cover
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/shortest-paths.html b/site/tags/shortest-paths.html
index 9497530..27dbf5b 100644
--- a/site/tags/shortest-paths.html
+++ b/site/tags/shortest-paths.html
@@ -179,7 +179,7 @@
Tag: shortest-paths
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/spanning trees.html b/site/tags/spanning trees.html
index cfac630..1fbc263 100644
--- a/site/tags/spanning trees.html
+++ b/site/tags/spanning trees.html
@@ -179,7 +179,7 @@
Tag: spanning trees
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/stable matching.html b/site/tags/stable matching.html
index 07e3083..804e2ae 100644
--- a/site/tags/stable matching.html
+++ b/site/tags/stable matching.html
@@ -179,7 +179,7 @@
Tag: stable matching
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/synchronous vs asynchronous.html b/site/tags/synchronous vs asynchronous.html
index 93be0ea..c9b4bbc 100644
--- a/site/tags/synchronous vs asynchronous.html
+++ b/site/tags/synchronous vs asynchronous.html
@@ -179,7 +179,7 @@
Tag: synchronous vs asynchronous
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/time complexity.html b/site/tags/time complexity.html
index 5a4943d..f3a3dea 100644
--- a/site/tags/time complexity.html
+++ b/site/tags/time complexity.html
@@ -179,7 +179,7 @@
Tag: time complexity
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/trees.html b/site/tags/trees.html
index 7de1fda..99b675b 100644
--- a/site/tags/trees.html
+++ b/site/tags/trees.html
@@ -179,7 +179,7 @@
Tag: trees
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/site/tags/vertex cover.html b/site/tags/vertex cover.html
index 3ae86af..515283c 100644
--- a/site/tags/vertex cover.html
+++ b/site/tags/vertex cover.html
@@ -179,7 +179,7 @@
Tag: vertex cover
- Last modified: 2025-01-06
+ Last modified: 2025-01-07
diff --git a/systems-research/hints-for-computer-system-design.md b/systems-research/hints-for-computer-system-design.md
index 80d67bb..344f9a8 100644
--- a/systems-research/hints-for-computer-system-design.md
+++ b/systems-research/hints-for-computer-system-design.md
@@ -1,34 +1,28 @@
-# [source](https://example.com)
+# [source](https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/acrobat-17.pdf)
-###### Paper Title
+###### Hints for Computer System Design
---
-### What is the Problem?
-
-
-### Summary
-
-
### Key Insights
--
--
+#### Caching
-### Notable Design Details/Strengths
+Store $\[f, x, f(x)\]$ tuples in a cache.
--
--
+If $f$ isn't a pure function, invalidate with the following:
-### Limitations/Weaknesses
+$$
+f(x + \Delta) = g(x, \Delta, f(x))
+$$
--
--
+For example, $x$ is an `int[]`, $\Delta$ is a write $(i, v)$, and $f$ is a function `int sum(int[] x)`. Then $g(x, \Delta, f(x))$ is `f(x) + v - x[i]`.
-### Summary of Key Results
+Caches should ideally have adaptive sizes.
--
--
+A classic example is the caching in hardware that uses $\[Fetch, \text{address}, \text{content of address}\]$ tuples. Similarly, virtual memory uses $\[Page, \text{address}, \text{content of address}\]$ tuples.
+
+However, more complicated applications of caching exist. In real-time systems, you're often trying to cache the state of a system given small changes corresponding to events. The key here is to try and invalidate as few entries as possible in response to events.
### Open Questions