sfc-aqua / quisp

Open source implementation of quantum internet simulation package
BSD 3-Clause "New" or "Revised" License
89 stars 36 forks source link

RuleSet execution starts before connection setup is finished #508

Open Naphann opened 1 year ago

Naphann commented 1 year ago

Describe the bug This is a design flaw, which should be addressed in the connection setup protocol itself. Currently, once the RuleSet is received at a node. The node will try to execute it right away. In certain instances, this will lead to the node trying to send a message to another node while that node still hasn't received the RuleSet. Thus, the message will not get recognized at the destination and the node will discard/ignore that message. This can lead to a certain type of deadlock behaviour.

This can be seen from the settings below. This setting will make the odd number nodes receive the first round of correction (sequence number 1) message before RuleSet for them arrive.

To Reproduce Steps to reproduce the behaviour:

  1. simulation_test.ini
  2. With the config Entanglement_Swapping_MM_8_Nodes
  3. change the applications parameter to **.app.request_generation_interval = 15s (starts the request after 15s and will continue to generate request every 15s).

Expected behaviour The simulation should finish with a tomography request between node 1 and node 2.