diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..5953ab4 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,18 @@ +--- +kind: pipeline +type: exec +name: Build and deploy + +steps: + - name: Build Presentation + commands: + - cd presentation + - marp presentation.md -o index.html + - cp * /home/andr3/services/notes/presentation + +trigger: + branch: + - main +node: + lights: builder + diff --git a/presentation/atomas.png b/presentation/atomas.png new file mode 100644 index 0000000..cda6b45 Binary files /dev/null and b/presentation/atomas.png differ diff --git a/presentation/first-step.png b/presentation/first-step.png new file mode 100644 index 0000000..a7c0e1c Binary files /dev/null and b/presentation/first-step.png differ diff --git a/presentation/fourth-step.png b/presentation/fourth-step.png new file mode 100644 index 0000000..fd0c277 Binary files /dev/null and b/presentation/fourth-step.png differ diff --git a/presentation/presentation.html b/presentation/presentation.html new file mode 100644 index 0000000..789b585 --- /dev/null +++ b/presentation/presentation.html @@ -0,0 +1,557 @@ +
+

A Paxos implementation

+

Andre Henriques

+
+
+

Basis of the implentation

+

Structure Steps

+
+
+

Steps

+
receive do
+  {:leader_elector, proc} -> ...
+  {:propose, inst, value, t, pid_to_inform} -> ...
+  {:prepare, proc, inst, ballot} -> ...
+  {:nack, inst, ballot} -> ...
+  {:prepared, inst, ballot, accepted_ballot, accepted_value} -> ...
+  {:accept, inst, ballot, value} -> ...
+  {:accepted, inst, ballot} -> ...
+  {:decide, inst, value} -> ...
+end
+
+
+
+

Step 1 - "Requirements"

+

center

+
+
+

Step 2 - "Prepare"

+

center

+
+
+

Step 3 - "Accept"

+

center

+
+
+

Step 4 - "Leader Crash"

+

center

+
+
+

Application

+
+
+

Atomas

+

center top-m

+
+
+

Safety

+
    +
  • If a game state exists, then it was created by a user
  • +
  • The game state can not divert.
  • +
+

Liveness

+
    +
  • Eventually all users will have the same game state
  • +
+
+
+

Questions?

+
+
\ No newline at end of file diff --git a/presentation/presentation.md b/presentation/presentation.md new file mode 100644 index 0000000..bc1b061 --- /dev/null +++ b/presentation/presentation.md @@ -0,0 +1,102 @@ +--- +style: | + img[alt~="center"] { + display: block; + margin: 0 auto; + } + + h3 { + font-size: 1.2em; + position: fixed; + top: 1em; + left: 50%; + transform: translateX(-50%); + } + + h4 { + text-align: center; + font-size: 1.2em; + text-align: center; + } + + img[alt~="top-m"] { + margin-top: 40px; + } + +--- + +# A Paxos implementation + +Andre Henriques + +--- + +# Basis of the implentation + + +![Structure](./structure.png) ![Steps](./steps.png) + +--- + +# Steps + +```elixir +receive do + {:leader_elector, proc} -> ... + {:propose, inst, value, t, pid_to_inform} -> ... + {:prepare, proc, inst, ballot} -> ... + {:nack, inst, ballot} -> ... + {:prepared, inst, ballot, accepted_ballot, accepted_value} -> ... + {:accept, inst, ballot, value} -> ... + {:accepted, inst, ballot} -> ... + {:decide, inst, value} -> ... +end +``` + +--- + +### Step 1 - "Requirements" + +![50% center](./first-step.png) + +--- + +### Step 2 - "Prepare" + +![w:600 center](./second-step.png) + +--- + +### Step 3 - "Accept" + +![w:600 center](./third-step.png) + +--- + +### Step 4 - "Leader Crash" + +![w:600 center](./fourth-step.png) + +--- + +# Application + +--- + +### Atomas + +![w:300 center top-m](./atomas.png) + + +--- + +## Safety + - If a game state exists, then it was created by a user + - The game state can not divert. + +## Liveness + - Eventually all users will have the same game state + +--- + +#### Questions? diff --git a/presentation/second-step.png b/presentation/second-step.png new file mode 100644 index 0000000..13fc12d Binary files /dev/null and b/presentation/second-step.png differ diff --git a/presentation/steps.png b/presentation/steps.png new file mode 100644 index 0000000..b9e76a6 Binary files /dev/null and b/presentation/steps.png differ diff --git a/presentation/structure.png b/presentation/structure.png new file mode 100644 index 0000000..3e2a337 Binary files /dev/null and b/presentation/structure.png differ diff --git a/presentation/third-step.png b/presentation/third-step.png new file mode 100644 index 0000000..1b16f1b Binary files /dev/null and b/presentation/third-step.png differ