Skip to content

Query Regarding Distributed SimulaQron 4.x Deployment Across Multiple Machines #289

@jithinjithu10

Description

@jithinjithu10

I am currently working on a distributed BB84-based Quantum Key Distribution (QKD) framework using SimulaQron for my research/internship work. We are attempting to establish quantum communication between two separate systems over a LAN network.

Our setup currently consists of:

  • Ubuntu laptop acting as Alice
  • Ubuntu VM/server acting as Bob
  • SimulaQron version 4.1.2
  • Python virtual environments on both systems
  • Distributed socket configuration using custom network.json

Initially, we attempted to use the older CQC-based SimulaQron versions (3.x) because many traditional BB84 examples use:

  • CQCConnection
  • sendQubit()
  • recvQubit()

However, we encountered multiple issues with legacy versions, including:

  • Twisted compatibility problems
  • Daemon/signal handling issues
  • vnode synchronization problems
  • distributed qubit transfer failures

We then returned to SimulaQron 4.1.2, which installs correctly and appears more stable.

Our primary question is:

Can SimulaQron 4.x currently support distributed quantum communication across multiple physical machines/VMs over LAN using separate Alice and Bob nodes?

At the moment:

  • node discovery appears to work,
  • sockets open correctly,
  • Alice identifies Bob successfully,
  • but the actual qubit transfer hangs or times out during communication.

The errors we encountered during various stages include:

  • ValueError: invalid signal value
  • CQCTimeoutError: Timeout
  • CQCGeneralError: General error
  • vnode synchronization failures
  • hanging during sendQubit() or recvQubit()

We also observed that newer versions use the newer SDK architecture (SimulaQronConnection) rather than the older cqc.pythonLib APIs.

Could you please confirm:

  1. Whether distributed multi-machine deployment is currently supported in SimulaQron 4.x
  2. Whether the older CQC interface is still recommended
  3. Whether there are any official examples/documentation for distributed deployment across separate machines
  4. Whether vnode communication should use localhost or LAN IP binding
  5. Whether NetQASM/SDK-based communication is now the preferred approach for distributed QKD experiments

Any guidance or clarification would be extremely helpful for our implementation.

Thank you very much for your time and for the SimulaQron project.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions