Nodes A, B, and C fully in the cluster
Local state before (1): {}
Client sends submit-job (j1, tasks t1, t2) with a Round Robin task scheduler (1)
t1 and t2 request no maximum number of peers
A, B, and C play the log
A, B and C encounter (1)
{}{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [] :t2 []}}}volunteer-for-task (2)volunteer-for-task (3)volunteer-for-task (4)A encounters (2)
{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [] :t2 []}}}{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [:A] :t2 []}}}B, C encounters (2)
{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [] :t2 []}}}{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [:A] :t2 []}}}B encounters (3)
{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [:A] :t2 []}}}{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [:A] :t2 [:B]}}}A, C encounter (3)
{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [:A] :t2 []}}}{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [:A] :t2 [:B]}}}C encounters (4)
{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [:A] :t2 [:B]}}}{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [:A :C] :t2 [:B]}}}A, B encounters (4)
{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [:A] :t2 [:B]}}}{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [:A :C] :t2 [:B]}}}C completes t1, sends complete-task (5)
A, C encounter (5)
{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [:A :C] :t2 [:B]}}}{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [] :t2 [:B]}} :completions {:j1 [:t1]}}volunteer-for-task (6)volunteer-for-task (7)A encounters (6)
{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [] :t2 [:B]}} :completions {:j1 [:t1]}}{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [] :t2 [:B :A]}} :completions {:j1 [:t1]}}C encounters (6)
{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [] :t2 [:B]}} :completions {:j1 [:t1]}}{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [] :t2 [:B :A]}} :completions {:j1 [:t1]}}C encounters (7)
{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [] :t2 [:B :A]}} :completions {:j1 [:t1]}}{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [] :t2 [:B :A :C]}} :completions {:j1 [:t1]}}A encounters (7)
{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [] :t2 [:B :A]}} :completions {:j1 [:t1]}}{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [] :t2 [:B :A :C]}} :completions {:j1 [:t1]}}B encounters (5)
{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [:A :C] :t2 [:B]}}}{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [] :t2 [:B]}} :completions {:j1 [:t1]}}B encounters (6)
{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [] :t2 [:B]}} :completions {:j1 [:t1]}}{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [] :t2 [:B :A]}} :completions {:j1 [:t1]}}B encounters (7)
{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [] :t2 [:B :A]}} :completions {:j1 [:t1]}}{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [] :t2 [:B :A :C]}} :completions {:j1 [:t1]}}B completes t2, sends complete-task (8)
A, B, C encounter (8)
{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [] :t2 [:B :A :C]}} :completions {:j1 [:t1]}}{:jobs [:j1] :tasks {:j1 [:t1 :t2]} :allocations {:j1 {:t1 [] :t2 []}} :completions {:j1 [:t1 :t2]}}Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |