I strongly believe that the tools used for research activities should be made publicly available to the scientific community for
- validation through peer review,
- reproducibility of results, and in general
- the advancement of science without forcing practitioners to reimplement the wheel at the beginning of every new research project.
Therefore, all the software that I developed which could be of interest to the research community is available under a permissive open source license (often MIT), together with the scripts to produce the experimental data published that have been included in publications.
Here is a list of open source projects grouped by topic:
You are welcome to use the software, in which case I would appreciate a citation to one of my relevant papers (as indicated below). If you do not find sufficient documentation to use the tools, or there is some incompatibility with newer environments, please let me know.
Serverless
EDGELESS
EDGELESS is a collaborative project funded by the European Union under the Horizon Europe framework programme, with the goal of developing a serverless computing framework for decentralized resource-constrained edge nodes.
The source code is available under a MIT license on GitHub.
The software is developed in Rust and it users WebAssembly as lightweight run-time environment for function execution and gRPC for internal communications.
ServerlessOnEdge
Serverless on Edge is a framework to distribute stateless tasks (a.k.a.) lambda functions among multiple serverless platforms, with partial integration with Apache OpenWhisk and faasd. It also includes an experimental support of QUIC via Facebook’s proxygen and mvfst libraries.
If you use the software in your research please cite this paper:
Cicconetti, C., Conti, M., & Passarella, A. (2020). A Decentralized Framework for Serverless Edge Computing in the Internet of Things. IEEE Transactions on Network and Service Management, 18(2), 2166–2180. https://doi.org/10.1109/tnsm.2020.3023305
Stateful FaaS Simulator
stateful_faas_sim is a simulator of stateful FaaS functions, written in Rust programming language, also available as a library in crates.io.
ETSI MEC Mx2
uiiit::etsimec is a work-in-progress implementation of the Mx2 ETSI MEC API in modern C++, with a gRPC north-bound interface.
It has the following internal dependencies:
- uiiit::rest wrapper of the REST SDK from Microsoft, used in uiiit::etsimec
- uiiit::support collection of utility classes and gRPC wrappers, using in uiiit::etsimec
If you use the software in your research please cite this paper:
Cicconetti, C., Conti, M., Passarella, A., & Sabella, D. (2020). Toward Distributed Computing Environments with Serverless Solutions in Edge Systems. IEEE Communications Magazine, 58(3), 40–46 https://doi.org/10.1109/MCOM.001.1900498
ETSI MEC/QKD
In this repository you can find an implementation of the Mx2 ETSI MEC API in Rust, developed within the Italian project QUANCOM on quantum-secure communications. The software is intended as a starting point to write a full MEC orchestrator for the optimization of resource allocation in an edge network where some nodes are provided with Quantum Key Distribution (QKD) devices.
Uncoordinated serverless access
A numerical tool to compute the steady-state average delay of clients in a serverless environment, where the servers behave as M/M/1 processes with Processor Sharing policy.
The simulator assumes that every client is associated to exactly two servers, called primary and secondary. While using the primary for its lambda function calls, it probes the secondary with a given probability: if the secondary is found to response faster, then it becomes the new primary.
The software is written for Python 2.7 and it requires numpy and scipy.
If you use the software in your research please cite this paper:
Cicconetti, C., Conti, M., & Passarella, A. (2020). Uncoordinated access to serverless computing in MEC systems for IoT. Computer Networks, 172, 107184. https://doi.org/10.1016/j.comnet.2020.107184
Quantum networks
qperf
A quantum link performance measurement tool, winner of the Quantum Internet Application Challenge 2023, see reference implementation GitHub implemented with SquidASM.
NetSquid quantum routing modules
Quantum networking experiments with NetSquid (GitHub)
If you use the software in your research please cite this paper:
Cicconetti, C., Conti, M., & Passarella, A. (2021). Request Scheduling in Quantum Networks. IEEE Transactions on Quantum Engineering, 2, 2–17. https://doi.org/10.1109/TQE.2021.3090532
QueeR
QueeR is a quantum end-to-end entanglement routing simulator, written in C++, to evaluate the performance of networks of quantum repeaters to enable end-to-end entanglement of qubits in remote nodes (e.g., for distributed/blind quantum computing, QKD, or distributed consensus).
If you use the software in your research please cite this paper:
C. Cicconetti, M. Conti, and A. Passarella (2023) Service differentiation and fair sharing in distributed quantum computing Elsevier Pervasive and Mobile Computing https://doi.org/10.1016/j.pmcj.2023.101758
Miscellanea
factorial2kr
factorial2kr is a Python script to perform factorial 2^kr analysis.
Kafka HDD
kafka-hdd is a repository that contains scripts for the automated execution of experiments with Kafka.