Consensus at the Edge using Swarm Intelligence

Rasberry Pi cluster

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 [1-3].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.


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.


  • 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.


  • Two signed copies of the present project description must be turned in after the start of the work. This project description shall be included in the report.
  • At project end: computer account cleaned up. Only the relevant files should be saved, such as source code, schematics, layouts, configurations, and special executables. Possible follow-up work must be able to start from these files.
  • One-Minute Video Summary of the project.


[1] Lamport, L.: The part-time parliament. ACM Trans. Comput. Syst. 16(2), 133–169 (1998)
[2] Lamport, L.: Paxos made simple. SIGACT News 32, 18–25 (2001)

Figure Captions
Figure 1: Symbol image: Raspberry Pi cluster (source:

Kind of Work
20% theory, 80% engineering

High-level software on embedded PCs

Time & Effort
Term Paper, 1 Student


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.