Consensus at the Edge using Swarm Intelligence

In distributed computer systems, it is usually imperative that the reliability of the overall system must be guaranteed despite unreliable processors and faulty networks. This especially requires the coordination of processes and the agreement of common data values for further computations.
In the last decades, corresponding consensus protocols have been developed which allow, with more or less high security, the consistency of server states and data values in distributed systems relative to each other. Unfortunately, these protocols are unsuitable for applications where 1) the majority of processors may fail (down-nodes >> quorum), 2) only small memory footprints are allowed (consensus-at-the-edge), and 3) the determination of a master is not always possible (swarm approach).
Accordingly, a swarm-intelligent consensus-at-the-edge software shall be developed that can keep data values consistent in an embedded system with up to 100 nodes.

  • Goals

    The student will:

    1. Develop a “swarm-based consensus-@-the-edge algorithm” that allows synchronizing a cluster of embedded processors by
      • coping with a minimum number of processor nodes well below a quorum
      • overcoming the need for an elected master
      • automated merging of different data base states
      • logging and visualizing key performance parameters for quality inspection
    2. Test the developed consensus algorithm in the field and analyze how successful it is.
  • Scope of work

    The student will perform the subsequently listed tasks:

    • Set up project plan.
    • Conduct literature research and familiarize with consensus algorithms and “ai-@-the-edge” technologies for embedded systems, e.g. raspberry pi
    • Develop possible concepts of “swarm-based consensus-at-the-edge algorithms”
    • Based on commonly agreed requirements
      • Select 1-2 most promising consensus algorithms for implementation
      • Define embedded computer cluster
      • Define performance and bench marking criteria for the practical tests
    • Develop a prototype system with
      • embedded computer cluster (5 – 10 nodes)
      • consensus algorithms
      • data base containing data values and log files
      • network interfaces
      • graphical user interface visualizing key performance parameters (e.g. consensus status, recovery times)
    • Test and benchmark the “consensus algorithms” against the predefined test criteria
    • Document work in form of the written semester thesis and provide a 1-minute video summarizing it.

     

    Symbol image: distributed system with Raspberry
  • Procedure

    • SCS provides the necessary infrastructure (embedded PCs, desk, productive data, etc.).
    • Weekly meetings with the supervisor.
    • The work shall be continuously documented in a written report. The report can be finalized and handed in after the official duration and before the presentation.
    • The progress of the thesis shall frequently be compared to the project plan. Unforeseen issues with the intended procedure might require adjustments to the project plan and shall be documented.
    • The student will present his work at the end of the thesis in the scope of a Tuesday presentation at SCS.
  • Further Information

    • 20% theory, 80% engineering
    • Term paper, 1 student
    • Prior knowledge recommended in high-level software on embedded systems

     

    The Raft[3] consensus algorithm manages a replicated log with state machine commands from clients. The state machines process identical sequences of commands from the logs, so they produce the same outputs.

    References

Haben wir dein Interesse geweckt?

Ich bin an der Studienarbeit Consensus at the Edge using Swarm Intelligence interessiert und möchte mehr erfahren.