diff --git a/Concurrent Systems/notes/5 - Software Transactional Memory.md b/Concurrent Systems/notes/5 - Software Transactional Memory.md index ccf2149..8eb9eac 100644 --- a/Concurrent Systems/notes/5 - Software Transactional Memory.md +++ b/Concurrent Systems/notes/5 - Software Transactional Memory.md @@ -120,14 +120,14 @@ So for X, I don't just have to track "who modified X", but also "who modified "Y We have n processes; process $p_i$ has - for every X, a local copy `lc(XX)` of the implementation of X -- $p\_depend_i[1…m]$ s.t. $p\_depend_i[X]$ is the sequence number of the last val of X (directly or indirectly) known by $p_i$ +- $p\_depend_i[1…m]$ s.t. $p\_depend_i[X]$ is the sequence number of the last value of X (directly or indirectly) known by $p_i$ Every transaction T issues by $p_i$ has: - `read_set(T)` and `write_set(T)` - $t\_depend_{T}[1…m]$ a local copy of $p\_depend_i$ (this is used in the optimistic execution, not to change $p\_depend_{i}$ if T aborts) ``` -begin_T() := +begin_T(i) := read_set(T), write_set(T) <- ∅ t_depend_T <- p_depend_i