sim frontend

holisticode edited this page Oct 3, 2017 · 1 revision

Network Testing and Simulation Framework Frontend

Current status

The current status is updated on the main page for the swarm working groups: https://github.com/ethersphere/swarm/wiki/Working-groups#network-testing-and-simulation-framework

Frontend

A frontend for the simulation framework has been developed. Codebase is at https://github.com/ethersphere/simple-p2p-d3 This frontend may be labeled as a successful proof-of-concept: We have been able to demonstrate that we can visualise the dynamics of a swarm network in realtime.

Nevertheless, this first PoC, while rich in eye-candy (realtime network visualisation in 3D) and a number of interesting functions, needs to be further refined, specifically to address its usefulness:

  • The current incarnation with a prominent 3D visualisation in realtime, while visually appealing, has limited usefulness for realtime monitoring of a live network. It has performance issues, making it useful for a maximum of maybe a couple of hundred nodes
  • This current implementation is suited for development and testing, namely to track correct protocol behavior, message exchange and connection dynamics for a small number of nodes
  • In a network with thousands, or maybe even million of nodes, it makes no sense to have a global view of all nodes - no meaningful information nor insight could be extracted, while the characteristics of individual nodes can't be discerned.
  • There is a lack of aggregate statistics which may help gaining intelligence about the current status and health of the network, the behavior of protocol characteristics (e.g. message exchange, routing, syncing)
  • There is a limited view about the internals and statistics of an individual node

To address these issues, the simulation frontend needs to be further developed. This further development is likely to also require extensions in the backend. For example, new endpoints to query syncing status, progress and statistics, or to query node internals.

This page is meant to be documenting the requirements for this further development

Frontend high-level functional requirements

Aggregate statistical information

Syncing status and progress

Node dashboard

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.