owned this note changed 3 years ago
Linked with GitHub

Mir / ISS Implementation

tags: Y3 Y Mir

This document describes what needs to be implemented for the mir library.
The lists are meant to be regularly updated and refined in smaller sub-tasks.

Milestone 2: static membership, no restarts, no faults

What:

A basic workable demo. To have one, at least the following components need to be implemented:

  • Eudico-Mir interface (3 weeks - Denis)
    • Submitting Eudico messages as requests to Mir node
    • Mir "App" delivering messages to Eudico
    • Launching Mir nodes (configuration)
  • Basic consensus protocol within ISS (PBFT) (3 weeks - Matej)
    • Good case
    • View change
  • State garbage collection and transfer (4 weeks)
    • Understand Eudico state handling
    • Application state
    • System state
  • Demo (1 day)

When:

  • Start: 2022-02-07
    • Basic consensus protocol: 2022-03-25
    • Eudico interface: 2022-04-01
  • End: 2022-04-30

Milestone 3: usable consensus protocol - MVP

What:

  • Persistent request store
  • Reconfiguration
    • Separate system state
    • Configuration requests
  • Persistence (WAL)
    • Restart tests
  • Preliminary performance numbers
    • Deployment framework (Eudico?)

(All items are mostly parallelizable)

When:

Estimates to be added during execution of Milestone #1

Milestone 4: Robust and tested consensus protocol

What:

  • Tests
  • Networking
  • Integration with Eudico

When: July-September

Milestone 5: Narwhal implementation

What:

  • Narwhal

When: Q4, parallel with B4

Off critical path, parallelizable

  • Debugging ("mircat")
    • Intercept and show events
    • Replay events
    • Event log editor
  • Narwhal
  • Benchmarking
Select a repo