Bibliothèque / SDK
QNLab-USTC/SimQN avatar
QNLab-USTC/SimQN

SimQN : un simulateur à événements discrets pour réseaux quantiques du QNLab de l'USTC

Aperçu du projet : Un simulateur de couche réseau pour l’investigation des réseaux quantiques. Si vous souhaitez suivre nos travaux ou rechercher un simulateur de réseau quantique facile à utiliser, vous ne pouvez pas manquer SimQN !

1 040 étoiles18 forksPythonGPL-3.0

En bref

De quoi s’agit-il ?
A network-layer simulator for the quantum network investigation. If you would like to follow our work or seek an easy-to-use quantum network simulator, you cannot miss SimQN!. Cette analyse examine les entrées, les sorties et les conditions documentées.
À qui s’adresse-t-il ?
SimQN convient aux lecteurs dont le besoin correspond exactement aux fichiers, commandes et environnements décrits dans son README. Il convient moins à une équipe qui attend des garanties absentes du dépôt.
Puis-je l’utiliser commercialement ?
Oui, sous conditions. GPL-3.0 est une licence copyleft : si vous distribuez un logiciel qui l’inclut, vous devez publier le code source de ce logiciel sous la même licence. Un usage interne, sans distribution, ne déclenche pas cette obligation.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 41 jours.
En quel langage est-il écrit ?
Principalement Python, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 19 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Un simulateur à événements discrets pour la recherche sur les réseaux quantiques

SimQN est une plateforme de simulation à événements discrets pour les réseaux quantiques, distribuée sous forme de bibliothèque Python 3. Elle vise la recherche au niveau de la couche réseau plutôt que la seule modélisation physique : le README cite les protocoles QKD, les protocoles de distribution d'intrication, les algorithmes de routage et les schémas d'allocation de ressources comme types de travaux pris en charge. Le projet est développé par le QNLab de l'Université des sciences et technologies de Chine, et l'article associé est paru dans IEEE Network. Le README renvoie également à la documentation du projet, avec un tutoriel et un manuel d'API.

Aucune architecture réseau présupposée

L'affirmation de conception centrale du README est que SimQN ne fait aucune hypothèse d'architecture. Comme il n'existe pas encore d'architecture standard reconnue pour les réseaux quantiques, le simulateur n'enferme pas les utilisateurs dans une pile de protocoles ou un modèle de topologie particulier. Il est au contraire conçu comme un outil polyvalent, couvrant les réseaux QKD, les réseaux de distribution d'intrication et d'autres évaluations de réseaux quantiques. Le projet se compare à NS3 pour les réseaux classiques et vise à offrir aux chercheurs des nœuds quantiques modulaires et des algorithmes et protocoles réutilisables, afin d'éviter de réimplémenter le routage et la logique de protocoles multicouches à chaque simulation. Le README indique que les développeurs pensent que cela réduira considérablement la charge des utilisateurs.

Choix de performance et modèles physiques

L'approche de performance de SimQN comporte deux parties documentées dans le README. Premièrement, il utilise Cython pour compiler le code critique en bibliothèques C/C++. Deuxièmement, en plus des modèles physiques courants basés sur l'état quantique, il propose un modèle physique d'intrication basé sur la fidélité, en complément haut niveau, qui réduit la charge de calcul. Le README mentionne également des modèles réseau auxiliaires pour construire des topologies, produire des tables de routage et gérer plusieurs demandes de session. Ce que le README ne précise pas, ce sont des chiffres de référence ou des données comparatives ; les affirmations de performance sont qualitatives et devraient être vérifiées séparément.

Installation et première simulation

Le chemin d'installation documenté est pip : le README donne la commande `pip3 install -U qns`. Le premier exemple construit une topologie aléatoire de 150 nœuds avec 450 canaux quantiques, installe une EntanglementDistributionApp sur chaque nœud, construit un QuantumNetwork avec routage Dijkstra, génère des demandes de session aléatoires et exécute le simulateur sur une fenêtre de temps. L'exemple définit également la fidélité d'intrication initiale, les délais de canal, la capacité mémoire et le taux d'envoi comme paramètres. Le README renvoie à la documentation hébergée, à un tutoriel et à un manuel d'API pour plus de détails.

Historique des versions et feuille de route

L'historique des versions du README recense cinq versions. v0.1.4 (mars 2022) a introduit le planificateur d'événements basé sur une file de priorité, les backends physiques qubit et EPR, les entités de nœud et de canal quantiques, les utilitaires de topologie et de routage, ainsi que les applications BB84 et d'échange d'intrication. v0.1.5 (septembre 2022) a ajouté l'optimisation Cython, le support multiprocessus, les modèles de mémoire quantique et de délai, et des outils de surveillance. v0.2.1 (avril 2025) a ajouté des générateurs de topologie aléatoire (modèles ER, BA et double BA) ainsi que la correction d'erreurs CASCADE avec amplification de confidentialité pour BB84. v0.2.2 (janvier 2026) a ajouté un planificateur d'événements basé sur des buckets de hachage et des générateurs de topologie réelle, dont AboveNet, AGIS et l'import de fichiers GML depuis l'Internet Topology Zoo. v0.2.3 (juin 2026) a ajouté la planification d'événements par tas avec StableEventPool, Dijkstra à tas binaire, une extension ClassicChannel pour la livraison et l'ordonnancement fiables des paquets, et un canal quantique à décohérence de lien avec fidélité de lien différenciée. La feuille de route énumère les travaux prévus pour la ligne 0.2.x et les versions futures, notamment davantage de générateurs de topologie, des protocoles de routage comme Q-CAST et REPS, des répéteurs et commutateurs quantiques, et une IHM.

Adoption dans la recherche et extensions de plateforme

Le README rapporte que SimQN a été utilisé comme plateforme de simulation dans 21 articles académiques évalués par des pairs, avec 70 citations au total sur Google Scholar, et que sept plateformes de simulation ou extensions système ont été construites sur SimQN. Les extensions listées comprennent un environnement Docker pour la simulation de réseaux QKD, une intégration RAN d'inspiration quantique avec OpenAirInterface, MQNS construit sur SimQN v0.1.5, et plusieurs projets orientés routage tels que Fidelity-Guaranteed-Entanglement-Routing et QKDsim. Le README liste également 21 articles académiques ayant utilisé SimQN, couvrant IEEE, ACM et d'autres canaux. Ces chiffres proviennent du README lui-même ; une vérification indépendante des comptages de citations nécessiterait une consultation directe de Google Scholar.

Licence, auteurs et citation

SimQN est publié sous licence GPLv3. La GNU GPL v3 accorde aux utilisateurs la liberté de copier, distribuer et modifier le programme, exige que les versions modifiées soient marquées comme telles, et déclare qu'aucune garantie n'est fournie pour ce logiciel libre. Le texte de la licence ne traite pas de la posture de sécurité, des engagements de support ou de l'aptitude à la production ; ces aspects devraient être confirmés séparément. Le README nomme sept auteurs d'article de l'USTC et de l'Université de Kanazawa, liste sept contributeurs supplémentaires et fournit une entrée BibTeX pour l'article IEEE Network, qui est la citation demandée lors de l'utilisation de SimQN dans la recherche.

Vérifier SimQN dans son environnement

Pour vérifier SimQN, utilisez le dépôt QNLab-USTC/SimQN et reprenez une commande, un fichier ou un exemple explicitement cité dans son README. Exécutez ce scénario dans un environnement isolé, relevez l'entrée, la sortie, les erreurs, les permissions et les fichiers produits, puis comparez-les avec le comportement décrit. Cette vérification porte sur SimQN, sa branche main et ses dépendances réelles ; elle ne transforme pas la démonstration en garantie de compatibilité, de sécurité ou de performance. Les paramètres que le dépôt ne précise pas restent à établir dans votre contexte. Gardez la trace du résultat lorsque vous étendez l'usage à une autre plateforme ou à un autre volume de données.

Conclusion éditoriale

SimQN convient aux lecteurs dont le besoin correspond exactement aux fichiers, commandes et environnements décrits dans son README. Il convient moins à une équipe qui attend des garanties absentes du dépôt. Commencez par SimQN, utilisez l'exemple ou l'entrée documentée, puis observez la sortie, les erreurs et les droits nécessaires avant d'élargir l'usage.

Sources officielles

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Notes de la communauté

Notes de la communauté