sfc-aqua / quisp Goto Github PK
View Code? Open in Web Editor NEWOpen source implementation of quantum internet simulation package
License: BSD 3-Clause "New" or "Revised" License
Open source implementation of quantum internet simulation package
License: BSD 3-Clause "New" or "Revised" License
document how to add them.
(Adding them is still hard.)
See rdv's draft paper
This will be more than just one task, but now we'll treat it as a single issue.
At least a simple one!
How does existing routing work? Needs to be explained. I know it's "just counting the number of hops", but is there a routing protocol or magic information about the network topology?
(Depending on the answer to this, new Issues will doubtless arise, some perhaps necessary for 0.2.0.)
Would be nice to have the three-star and the four-star both, for slightly different purposes.
This is probably a big rewrite of some core node code. Might even be nice if they could be read from a file, instead of requiring extensive C++ surgery. This is a long-term issue.
https://github.com/sfc-aqua/quisp/blob/master/doc/INSTALL.md
tells to use 5.2, which results in version problems of Eclipse and Java.
Need to tweak the d.m. reconstructed for measurement outcome
This will be more than just one task, but now we'll treat it as a single issue.
Similar to today's Internet, with fairly central hubs and an "incast" traffic pattern, with a hub-and-spoke for client-server. (Is that enough buzzwords?)
Simplest implementation is to raise the probability that a node gets a new connection based on the number of connections it currently has.
** need to find the right research paper reference **
Needs to be under control of a .ned or .ini parameter.
critical feature before non-AQUAns will use.
See software design doc, "Dur-Briegel Path Setup.md" and other related files.
Fully blocking circuit switched resource allocation with released random backoff on failure
in order to avoid dead lock
Add to "Q node" ( or "QNIC" ) "Allocated" flag.
modify Connection manager to handle massage to test and set allocated flag
""" Example pseudo code
if(! allocated){
allocate
( continue processing )
}else{
send reject request
( about processing )
}
"""
define reject setup request message type
Connection manager :: handle massage extend to handle
""" Example pseudo code
Reject:
Allocated -> False
"""
random backoff
"""
if ( EndNode ):
sleep( random ) // send yourself a message to the future
try again
""""
Limit the lifetime of a connection
Implement connection tear down
Pointer handling...
When clicking File-"Set Up an Unconfigured Network", the simulator terminates. https://camo.githubusercontent.com/5c3417410b6642d65321c9361669b9070392c5d8/68747470733a2f2f692e696d6775722e636f6d2f6364693334766b2e706e67
Error code:
Simulation terminated with exit code: 139
Working directory: /root/models/quisp/networks
Command line: ../quisp -m -n .. quisp_tutorial.ini
Environment variables:
PATH=/root/omnetpp/bin::/root/omnetpp/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
LD_LIBRARY_PATH=/root/omnetpp/lib::
OMNETPP_IMAGE_PATH=/root/omnetpp/images
Bring in docs from older design wiki.
Full list maintained in spreadsheet.
doesn't work yet. A great project.
Seems to depend on .ned file used? No idea why.
There are actually several options here, as well. This is something we've tinkered with off and on for years; with high entanglement success rates it's a win.
Outputs a .ned file.
After multi-hop ES works, turn on EndToEndConnection in the various networks (in quisp_tutorial.ini?), make sure the initial tomography is short enough to run reasonably, make sure demos all run smoothly in a couple of minutes.
Simplest form: first message processed sets a flag that the QNIC is busy.
Issue: how do we make sure we don't get conflicting reservations at the two ends of the link?
Allow a request to sit unprocessed until the connection that first got the link finishes. How do we do that? Can we set an event?
This will be more than just one task, but now we'll treat it as a single issue.
Add a doc (or add to a doc) description of where to find the output files from a simulation and how to interpret the results (placeholder in running-demos.md for now)
Currently, full link tomography is done on every link at boot time, and it's a long process. Would be nice to be able to read the link tomography density matrices from the output files from previous runs, bypassing that step. Needs:
a. check to make sure .dm file is newer than .ned file (and .ini?)
b. figure out how long the tomography should have taken, advance the clock to that point
Add to document about hard ware config passes neighbors to Connection manager.
Need to upgrade doc to 5.6.
Critical feature before non-AQUAns will use.
On boot, every node should pick a random partner somewhere in the network to start a connection with. This means everyone starts a connection, and on average everyone receives one connection request, so the average number of connections/node is 2, but there will be high variability.
This has to work in conjunction with the simplest QNIC-based resource management.
routing : Direct OMNET function that fives you access to topology cTopology
a la Va Tech (or is this a network protocol? Not clear to me yet.)
Add small cliques that must all share Bell pairs, e.g. for Byzantine agreement.
a. how do you find the nodes that are members?
b. how long a connection?
c. what configuration parameters in .ned or .ini?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.