This release contains major updates and improvements of the entire iQuantum project to enhance the clarity for seamlessly modeling hybrid quantum-classical computing environments. Most concepts and terminologies from the previous public release (0.3.0) have been changed. Please refer to iquantum-examples
module to learn more about how to model various scenarios using iQuantum.
Major changes
- Refactored and fully integrated classical entities of CloudSim 6 into iQuantum. The package structure of the
iquantum
module has been re-organized. Core classes have been updated accordingly to support the operation of iQuantum while maintain the support for modeling classical components. - Refactored quantum and classical tasks entities
Qulet
, andCloudlet
toQTask
andCTask
, respectively. - Updates all examples in
iquantum-examples
module to reflect the new changes. - Refactored the broker entities, there are separated cloud and edge variants of
CBroker
andQBroker
, namelyCCloudBroker
,CEdgeBroker
,QCloudBroker
, andQEdgeBroker
. - Updated the sample quantum task scheduling space shared policy and examples for multi-QPU (experimental)
- Updated the utility classes for supporting importing IBM Quantum Nodes automatically modeling support from the calibration datasheet (.csv).
- Updated Maven files to fix related bugs and upgrade plugins to newer versions.
New features
- Added the dataset utilities to support import workload (QTask) dataset from the .csv files. The workload dataset can be generated by extracting features from the OpenQASM2 dataset (such as MQT Bench). A Python-based dataset generator (Jupyter Notebook) for iQuantum is also included (see
dataset\iquantum\iquantumDatagen.ipynb
). - Added different sample workload datasets generated from the MQT Bench (see
dataset\iquantum
) - Added
Gateway
entities with two child classes,CloudGateway
andEdgeGateway
to support the modeling of gateway entities for the cloud layer and edge layer, respectively - Add Edge entities and hybrid examples (
iquantum-examples
>hybrid
) to demonstrate the hybrid quantum-classical examples in the cloud-edge continuum. Tasks can be offloaded from the edge layer to the cloud layer during the execution. - Added the sample quantum node selection policy based on Lottery Scheduling algorithm (
QNodeSelectionLottery
) - (Experimental) Added
QPU
andQNodeMQ
classes for supporting the modeling of quantum processing units and multi-QPU QNode. - (Experimental) Added Py4J example for bridging iQuantum with other Python-based applications.
Note: The in-code comments are still being updated to enhance clarity and reflect the new changes in the source code.