[go: up one dir, main page]

CN114492821A - Quantum computer operating system based on microkernel architecture and quantum computer - Google Patents

Quantum computer operating system based on microkernel architecture and quantum computer Download PDF

Info

Publication number
CN114492821A
CN114492821A CN202210137722.6A CN202210137722A CN114492821A CN 114492821 A CN114492821 A CN 114492821A CN 202210137722 A CN202210137722 A CN 202210137722A CN 114492821 A CN114492821 A CN 114492821A
Authority
CN
China
Prior art keywords
quantum
quantum computer
operating system
kernel
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210137722.6A
Other languages
Chinese (zh)
Other versions
CN114492821B (en
Inventor
郭聪
项金根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Liangxuan Technology Co ltd
Original Assignee
Shenzhen Liangxuan Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Liangxuan Technology Co ltd filed Critical Shenzhen Liangxuan Technology Co ltd
Priority to CN202210137722.6A priority Critical patent/CN114492821B/en
Publication of CN114492821A publication Critical patent/CN114492821A/en
Application granted granted Critical
Publication of CN114492821B publication Critical patent/CN114492821B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

The application discloses a quantum computer operating system based on a microkernel architecture and a quantum computer, wherein the quantum computer is a heterogeneous quantum computer, the heterogeneous quantum computer comprises a quantum processor part and a classical processor part, the kernel object management module and a data transfer module are configured in a kernel space, other system function modules are moved to a user space, a function structure in the kernel space is minimized, an IPC channel is established through the kernel object management module, and the message transfer and remote memory access of the quantum computer are realized through the IPC channel and the data transfer module, so that the overhead of switching between a user state and the kernel state is avoided. The quantum computer operating system is designed by adopting the micro-kernel architecture, the functional structure in the kernel space of the operating system is minimized, and the method has the advantages of low cost, high reliability, good safety and the like.

Description

Quantum computer operating system based on microkernel architecture and quantum computer
Technical Field
The application belongs to the field of quantum computing, and particularly relates to a quantum computer operating system based on a microkernel architecture and a quantum computer.
Background
A quantum computer (quantum computer) is a computer device that performs high-speed operations according to the laws of quantum mechanics. Compared with the traditional computer, the quantum computer has the advantages of high running speed, strong information processing capability and wide application range, namely, in the information processing process, the more the processed information amount is, the greater the advantage of using the quantum computer to implement operation is, and the accuracy of operation can be ensured while the processing efficiency is improved.
The quantum computer directly uses unique quantum mechanical phenomena (such as superposition, entanglement and the like) to operate a quantum algorithm to execute operation on quantum information data, and the quantum processor is used for realizing a quantum information processing process by operating the quantum algorithm consisting of a general quantum logic gate on a quantum chip consisting of a large number of quantum bit units. Because of the special properties of quantum bit coding and quantum logic gates, quantum computers have the potential of far exceeding the performance limit of classical computers in the advanced scientific and technological fields of password cracking, quantum chemical simulation, quantum artificial intelligence and the like.
The quantum computer operating system is a core part of a quantum computer, which connects terminals and quantum processors, and determines functions of the quantum computer. At present, in most application scenarios, a quantum computer needs to use a quantum processor and a classical processor to process tasks at the same time, on one hand, because the quantum processor is currently in a starting stage, the quantum computer has a huge speed advantage only in processing one kind of problems; on the other hand, because the control logic of the classical processor is more mature, and the application of programs for controlling other devices by using the classical processor is more mature, the quantum computer on the market at present adopts a typical heterogeneous quantum computer, namely a quantum processor plus a classical processor architecture.
However, the operating system of the quantum computer configured with the macro kernel at present manages hardware and software resources, and under the macro kernel operating system, most of system function modules are configured in a kernel space, and when a user program needs to use some hardware resources, the user mode needs to frequently enter the kernel mode through system call, which results in high system overhead. Moreover, as the kernel function of the macro kernel operating system is continuously increased, the complexity of the quantum computer operating system of the macro kernel is also continuously increased, which easily causes more problems in the aspects of reliability, security, and the like. This is because, in the macro kernel architecture, all kernel modules are operated in the privileged kernel state, a single-point error may cause the entire system to crash or be breached, and even a program written by a kernel programmer of a quantum computer operating system with extremely high programming capability is difficult to avoid bug, so that the existing quantum computer operating system of the macro kernel is difficult to ensure in terms of stability, reliability, security, and the like.
Therefore, it is a technical problem to be solved urgently to develop a quantum computer operating system based on a microkernel architecture and a quantum computer with low overhead, high stability and excellent security.
Disclosure of Invention
An object of an embodiment of the present application is to provide a quantum computer operating system based on a microkernel architecture and a quantum computer, so as to solve technical problems of large system call overhead, poor stability, low reliability, weak security, and the like of an existing quantum computer operating system based on a macrokernel.
In order to solve the above technical problem, an embodiment of the present application provides a quantum computer operating system based on a microkernel architecture, which adopts the following technical solutions:
a quantum computer operating system based on a microkernel architecture, the quantum computer operating system being used for controlling a heterogeneous quantum computer, the heterogeneous quantum computer comprising at least one quantum processor and at least one classical processor, the quantum computer operating system comprising a kernel space and a user space, and further comprising a kernel object management module and a data transfer module, the kernel object management module and the data transfer module being configured in the kernel space, the kernel objects managed by the kernel object management module comprising at least a process space and an interprocess communication gate, wherein:
the kernel object management module is used for reading process management data in the process space based on the data transmission request after receiving the data transmission request, obtaining the use permission of a remote physical memory address or hardware resources, and establishing an inter-process communication channel according to the physical memory address or the resource use permission;
and the data transmission module is used for realizing message transmission and/or remote memory access of at least one quantum processor and at least one classical processor according to the data transmission request and the interprocess communication channel.
Further, the data transfer module further comprises data endpoints, wherein the data endpoints comprise a sending endpoint, a receiving endpoint and a memory endpoint.
Further, the kernel object management module creates an interprocess communication channel by:
configuring a sending end point and a receiving end point during message transmission, and determining whether to establish an interprocess communication channel between the sending end point and the receiving end point according to the use authority of hardware resources when the message transmission relates to the use of the hardware resources;
when remote memory access is carried out, the read-write permission of the sending end point or the receiving end point to the remote physical memory address is obtained, and an inter-process communication channel is established between the sending end point or the receiving end point and the memory end point according to the read-write permission.
Further, the system also comprises a quantum driving module, wherein the quantum driving module is configured in the user space, and the quantum driving module comprises:
and the quantum driving module is used for realizing the quantum bit calibration of at least one quantum processor and driving the at least one quantum processor after the quantum bit calibration to complete the quantum computing operation.
Further, the quantum driving module comprises an upper layer assembly, a middle layer assembly and a bottom layer assembly, wherein the bottom layer assembly comprises:
a parametric model unit for characterizing a logical relationship between parameters in at least one quantum processor;
a waveform calculation unit for calculating an input pulse waveform according to the parameter;
the interface driving unit is used for driving the measurement and control hardware to transmit pulse signals corresponding to input pulse waveforms to the qubits of at least one quantum processor and read signal change results in the qubits;
the numerical processing unit is used for processing the signal change result and outputting a quantum bit calibration result;
the upper layer assembly comprises an automatic calibration algorithm unit, an automatic calibration algorithm is packaged in the automatic calibration algorithm unit, and the automatic calibration algorithm unit is used for acquiring the quantum bit and the attribute data of the quantum gate through a preset measurement experiment so as to realize the quantum bit calibration of at least one quantum processor;
the middle layer assembly comprises an interface management unit, and the interface management unit is used for calling a parameter model unit, a waveform calculation unit, an interface driving unit and a numerical processing unit to finish a measurement experiment.
Further, the kernel object management module is further configured to perform process space management, where the process space management at least includes a configuration memory page table and a resource usage permission table.
Further, the kernel object managed by the kernel object management module also comprises a thread;
the kernel object management module is also used for thread management, so that a plurality of threads in the same process space share the memory address space and the resource use permission of the process.
Further, the kernel object managed by the kernel object management module also comprises a hardware interrupt;
the kernel object management module is also used for hardware interrupt management, searching a target processing program matched with the interrupt request from the pre-configured interrupt processing program by receiving the interrupt request, and running the target processing program.
In order to solve the above technical problem, an embodiment of the present application further provides a quantum computer, which adopts the following technical scheme:
a quantum computer comprises the quantum computer operating system based on the microkernel architecture and hardware equipment, wherein the hardware equipment comprises at least one quantum processor and at least one classical processor, the quantum computer operating system loads an executable user program generated by compiling, analyzes the executable user program to obtain a quantum computing task and a classical computing task, sends the quantum computing task to the at least one quantum processor to execute the quantum computing task, and sends the classical computing task to the at least one classical processor to execute the classical computing task.
In order to solve the above technical problem, an embodiment of the present application further provides a quantum computer readable storage medium, which adopts the following technical solution:
a quantum computer readable storage medium stores quantum computer executable instructions which, when executed by a quantum computer, implement the above-described microkernel architecture-based quantum computer operating system.
Compared with the prior art, the embodiment of the application mainly has the following beneficial effects:
the application discloses a quantum computer operating system based on a microkernel architecture and a quantum computer, wherein the quantum computer is a heterogeneous quantum computer, the heterogeneous quantum computer comprises a quantum processor part and a classical processor part, the application configures a kernel object management module and a data transmission module in a kernel space, and moves other system function modules to a user space, so that a function structure in the kernel space is minimized, an interprocess communication channel, namely an IPC channel, is established through the kernel object management module, the message transmission and remote memory access of the quantum computer are realized through the IPC channel and the data transmission module, and after the IPC channel is established, the kernel object management module does not participate in the message communication, so that the expense of switching between a user state and the kernel state is avoided. The quantum computer operating system is designed by adopting the micro-kernel architecture, the functional structure in the kernel space of the operating system is minimized, and the quantum computer operating system has the advantages of low cost, high reliability, good safety and the like.
Drawings
In order to more clearly illustrate the solution of the present application, the drawings needed for describing the embodiments of the present application will be briefly described below, and it is obvious that the drawings in the following description are some embodiments of the present application, and that other drawings can be obtained by those skilled in the art without inventive effort.
FIG. 1 is a diagram illustrating a software architecture of a quantum computer operating system based on a microkernel architecture in one embodiment of the present application;
FIG. 2 is a block diagram illustrating a data delivery module according to an embodiment of the present application;
FIG. 3 shows an architecture diagram of a quantum drive module of a quantum processor in one embodiment of the present application;
FIG. 4 shows a block diagram of a quantum computer in one embodiment of the present application;
FIG. 5 shows a deployment diagram of a quantum computer operating system in one embodiment of the present application.
Detailed Description
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs; the terminology used in the description of the application herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application; the terms "including" and "having," and any variations thereof, in the description and claims of this application and the description of the above figures are intended to cover non-exclusive inclusions. The terms "first," "second," and the like in the description and claims of this application or in the above-described drawings are used for distinguishing between different objects and not for describing a particular order.
Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the application. The appearances of the phrase in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. It is explicitly and implicitly understood by one skilled in the art that the embodiments described herein can be combined with other embodiments.
The operating system is a bottom software system for managing computer hardware and software resources, manages the use and state of processors, memories and other input and output devices, determines the priority of resource supply and demand, and provides services such as a uniform abstract interface, a shared file system, network communication and the like for an upper software system. In the whole operating system, the kernel is the core of the operating system and provides the most basic functions of the operating system.
The inventor finds that the quantum computer operating system of the present quantum computer configuration macro kernel manages hardware and software resources, and the complexity of the quantum computer operating system of the macro kernel is continuously increased along with the increasing kernel function of the macro kernel operating system. Under the architecture of a macro kernel operating system, a user program needs to acquire corresponding authority when using hardware resources, the user program needs to enter a kernel state through system call first, the kernel performs a series of check and verification, then performs corresponding resource access operation, and finally switches to a user state for processing, and the above process has the technical problems of high system call overhead, poor stability, low reliability, weak safety and the like.
In view of the above findings, the inventors propose a quantum computer operating system and a quantum computer based on a microkernel architecture, and configure a kernel object management module and a data transfer module, which are necessary for implementing the quantum computer operating system, in a kernel space, and move other system function modules to a user space, thereby minimizing a function structure in the kernel space, improving reliability and security of the quantum computer operating system, and implementing message transfer and remote memory access of the quantum computer through an interprocess communication channel and a data transfer module created by the kernel object management module, thereby avoiding overhead of switching between a user mode and a kernel mode.
In order to make the technical solutions better understood by those skilled in the art, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings.
Referring to fig. 1, the present application discloses a quantum computer operating system based on a microkernel architecture, the quantum computer operating system is used for controlling a heterogeneous quantum computer, the heterogeneous quantum computer comprises at least one quantum processor and at least one classical processor, wherein each processor can directly address and access a part of a memory, but cannot directly address and access another part of the memory, and remote access is required through data transfer. The quantum computer operating system comprises a kernel space 10 and a user space 20, and further comprises a kernel object management module 110 and a data transfer module 120, wherein the kernel object management module 110 and the data transfer module 120 are configured in the kernel space 10, and the kernel object management module 110 is used for reading process management data in a process space based on a data transfer request after receiving the data transfer request, extracting a physical memory address or a use right of a hardware resource from the process management data, and creating an inter-process communication channel (i.e. an IPC channel) based on the physical memory address or the use right of the resource; the data transfer module 120 is used to implement messaging and/or remote memory access for at least one quantum processor and at least one classical processor according to the data transfer request and the IPC channel.
It is noted that messaging and/or remote memory access by the at least one quantum processor and the at least one classical processor includes messaging by the processor and access by the processor to system memory. It should be additionally noted that, a plurality of data transfer modules 120 are generally configured in the kernel space 10, the number of the data transfer modules 120 matches the number of processors, and each processor is configured with one data transfer module 120.
The user space 20 of the quantum computer operating system based on the microkernel architecture includes a plurality of classical function modules, such as a system interface module 210, a task scheduling module 220, a memory allocation module 230, a file system module 240, a network communication module 250 and a device driver module 260, which are configured in the kernel space in the macro kernel operating system of the classical computer, and the quantum computer operating system of the present application moves the classical function modules from the kernel space 10 to the user space 20, so that the functional structure in the kernel space 10 is minimized.
In addition, the quantum computer operating system based on the microkernel architecture further includes a quantum driving module 270, the quantum driving module 270 is configured in the user space 20, the quantum driving module 270 is a unique functional module of the quantum computer, and is responsible for processing tasks such as automatic calibration of the quantum processor, and the quantum processor needs a calibration process when being started, so as to determine attribute data of the quantum bit and the quantum gate.
When the quantum computer operating system is started, the kernel object management module 110 is firstly operated on a classic processor through mirror image loading, then the classic function modules are started one by one, and the kernel object management module 110 uses a special processor core, so that the kernel and the user address space cannot be switched or influenced mutually. The kernel object management module 110 is mainly responsible for maintaining state data of kernel objects, checking permissions based on usage permissions, performing context switching of threads according to results of the task scheduling module 220, and directly managing memories used by itself.
The quantum computer operating system based on the microkernel architecture provided by the application at least has the following beneficial effects:
firstly, a quantum computer operating system can flexibly support heterogeneous computer platforms such as a quantum computer with a plurality of processors completely different based on a microkernel architecture, so that the quantum processor and a classical processor can efficiently cooperate with each other, and the evolution of the quantum processor in the future can also be supported.
And secondly, the expenditure of switching the user state and the kernel state existing in the traditional macro kernel architecture is reduced, and the input and output efficiency between a quantum processor and other constituent elements of the quantum computer is improved.
Third, many functional modules based on classical computing in existing operating systems are relatively mature, and the micro-kernel architecture can facilitate the migration of these functional modules.
Fourth, current macro-kernel operating systems generally require some hardware support from the processor, such as a Memory Management Unit (MMU) for handling virtual memory to physical memory mappings, a privileged mode for supporting kernel-mode implementations, and the like, and the use of a micro-kernel architecture can relax these hardware requirements.
It should be noted that, under the micro-kernel architecture, services are completely isolated from each other, and even if a single service fails or is attacked by security, the whole operating system is not directly crashed or attacked, so that the reliability and security of the operating system can be effectively improved. In addition, the micro-kernel architecture brings further separation of the mechanism and the strategy, and different services can be customized for different scenes more conveniently, so that different application requirements are better adapted.
In a specific embodiment of the present application, when the kernel object management module 110 establishes the IPC channel, the sender needs to have sufficient resource usage rights, in the present application, the usage rights of the application program are managed using the concept of capability value, one capability value quantitatively represents the resource usage rights of a kernel object, and both the granting and requesting capability values pass through the kernel object management module.
The kernel objects managed by the kernel object management module 110 at least include a process space, a thread, an interprocess communication gate (IPC gate), and a hardware interrupt, where:
process space: the protected domain of a process or task comprises a page table for mapping a virtual memory to a physical memory, a resource usage permission table and the like, and each functional module also corresponds to a process space.
Thread: one thread is an execution unit, and a plurality of threads can be executed in one process space, and the threads share the virtual address space and the resource use authority.
IPC gate: for establishing an IPC channel, representing a receiver and a sender in the channel, an IPC gate is created by the kernel object management module 110 to represent different objects.
Hardware interrupt: the hardware interrupt is a signal generated by hardware, such as some clock signals, the interrupt needs to be processed by an operating system, the operating system presets some interrupt handlers, and when an interrupt signal occurs, the operating system searches for the corresponding interrupt handler and runs the interrupt handler.
The kernel object management module 110 is further configured to perform process space management, thread management, and hardware interrupt management, and when performing process space management, the kernel object management module 110 configures a physical memory address and a resource usage right for each process to form a memory page table and a resource usage right table. When thread management is carried out, a plurality of threads belonging to a process space share physical memory addresses and resource use permission. When performing hardware interrupt management, the kernel object management module 110 searches for a target handler matching an interrupt request from a pre-configured interrupt handler by receiving the interrupt request, and runs the target handler.
In a specific embodiment of the present application, a user program on a typical quantum computer performs the following processes:
the compiled user program is divided into a classical calculation task and a quantum calculation task, the user program is loaded into a memory by a system interface module 210 of a quantum computer operating system, the classical calculation task and the quantum calculation task share a process space, but different schedulers are informed by the system interface module 210 of the quantum computer operating system to respectively schedule, the quantum calculation task is sent to a quantum processor, the classical calculation task is sent to the classical processor, and the scheduled task can be started to execute, and the kernel object management module 110 sets the context on the scheduled processor.
If message passing between processors is required or the processors need to access remote memory, this is done through data passing module 120. And the program processed by the quantum processor can directly apply for the physical memory address from the memory allocation module 230 by directly using the allocated physical memory address without using the virtual memory address. In addition, the quantum processor may also emulate the functionality of an MMU using software in a data transfer module (DPU), or the base of the page table may be translated by the quantum driver module 270 and cached in the DPU.
Further, referring to fig. 2, the data transfer module 120 of the quantum computer operating system based on the microkernel architecture further includes a plurality of data endpoints, where the data endpoints include a sending endpoint, a receiving endpoint, and a memory endpoint.
Each processor performs message passing and remote memory access through its corresponding data passing module 120, and each data passing module 120 maintains a batch of data endpoints, each data endpoint including 5 regions, i.e., an identification region, a target region, a data region, a buffer region, and a quota region.
Each data endpoint has a unique identifier and is stored in the identifier area; the address of the data to be sent stored in the data area of the sending end point in the memory and the size of the data to be sent, and the buffer area of the sending end point does not store the data. The target area of the sending endpoint is used to indicate the receiving endpoint of the IPC channel connection or the memory area to be accessed. The buffer of the receiving end point corresponds to a ring buffer in the memory, the location and size of the area in the memory are stored in the buffer of the receiving end point by the kernel object management module 110, and the message received by the DPU is directly put into the ring buffer.
If the sender allows sending a reply, the DPU of the receiver sends a reply, which is stored in the data area of the receiving endpoint. It should be noted that, for the memory endpoint, the memory area to be accessed and the related rights are indicated in the target area.
The quota of the data endpoint is used to control the sending amount of the message, and is usually limited by the size of the ring buffer in the memory of the receiving endpoint, and the quota of the receiving endpoint is configured in the sending endpoint of the sender. When the sender has no quota, the message sending is rejected by the DPU, and the message sending can not be continued until the quota is reset by the kernel or the receiver.
In a specific embodiment of the present application, during message delivery, the receiver configures a receiving endpoint and binds the IPC gate with receiver capability value data to the receiving endpoint, while the sender configures a sending endpoint and binds the IPC gate with sender capability value data to the endpoint. These IPC gates are created and maintained in memory by the kernel object management module 110, and when an IPC channel is established, the kernel object management module 110 also remotely configures the relevant sending and receiving endpoints to form the corresponding IPC channel. It should be noted that the process is similar when performing remote memory access, except that the sending endpoint targets a memory endpoint rather than a receiving endpoint.
In this embodiment, since message transfer is performed between processes through the DPU, except for establishment of a channel, there is no participation of a kernel, and there is no switching of a context and an address space caused by kernel-mode user mode switching, which greatly reduces overhead of message transfer between heterogeneous processors, and the DPU can also transfer a shared memory address, thereby effectively reducing data copy.
In one specific embodiment of the present application, a typical process for an application to use IPC is as follows:
after the application program is scheduled and starts to be executed, the classical processor establishes an IPC for calling the memory allocation module 230 through the kernel object management module 110 to obtain an allocated physical memory space, then carries out a classical calculation task to obtain a classical calculation result, and writes the classical calculation result into a global data area of the memory through the IPC; then, quantum computing tasks are executed by the quantum processor, physical memory addresses corresponding to the global data area are obtained by the kernel object management module 110 (the two tasks belong to the same process space of the same application program, otherwise, IPC communication is carried out again between the two tasks), data are read from the memory and quantum computing is carried out, after a quantum computing result is obtained, an IPC channel for calling the file system module 240 is established by the kernel object management module 110, and then the quantum computing result is stored in a target file of the file system by the IPC of the file system module 240.
It should be noted that, during message passing, the kernel object management module 110 configures corresponding sending and receiving endpoints, and when the purpose of message passing is to use the hardware resource of the receiving endpoint, it determines whether to create an inter-process communication channel according to the hardware resource usage right of the sending endpoint. When remote memory access is carried out, the process to which the initiator (a sending endpoint or a receiving endpoint) belongs specifies a memory address to be read and written, the kernel object management module is responsible for checking whether the process has read and write permission on the related memory address, if the read and write permission allows, the kernel object management module 110 informs DPUs on two sides to establish a corresponding sending endpoint (or a receiving endpoint) and a memory endpoint, establishes a communication channel between the processes, and records and manages the memory access.
Further, the quantum computer operating system based on the microkernel architecture further includes a quantum driving module 270, the quantum driving module 270 is configured in the user space, wherein:
and the quantum driving module 270 is configured to implement qubit scaling of at least one quantum processor, and complete quantum computing operation through the qubit scaled at least one quantum processor.
Further, referring to fig. 3, the quantum driving module 270 includes an upper layer component, a middle layer component, and a bottom layer component, where the bottom layer component includes:
a parametric model unit 273 for characterizing the logical relationship between parameters in at least one quantum processor;
a waveform calculating unit 274 for calculating an input pulse waveform from the parameters;
the interface driving unit 275 is configured to drive the measurement and control hardware to transmit a pulse signal corresponding to an input pulse waveform to a qubit of at least one quantum processor, and read a signal change result in the qubit;
the numerical processing unit 276 is used for processing the signal change result and outputting a quantum bit calibration result;
the upper layer assembly comprises an automatic calibration algorithm unit 271, an automatic calibration algorithm is packaged in the automatic calibration algorithm unit 271, and the automatic calibration algorithm unit 271 is used for acquiring the quantum bit and the attribute data of the quantum gate through a preset measurement experiment so as to realize the quantum bit calibration of at least one quantum processor;
the middle layer component includes an interface management unit 272, and the interface management unit 272 is configured to call a parameter model unit 273, a waveform calculation unit 274, an interface driving unit 275, and a value processing unit 276 to complete the measurement experiment.
The basic principle of a quantum processor is different from that of a classical processor, the quantum processor comprises physical qubits, and quantum computation is realized based on the physical properties of the qubits and quantum gates acting on the qubits. When the quantum processor is started, the physical properties of the quantum bits and quantum gates are required to be calibrated firstly, namely the quantum bit calibration, the quantum bit calibration process is carried out on a classical processor running on a quantum computer, and the quantum processor is automatically calibrated by using a quantum driving module, which is a user-state system service.
In a specific embodiment of the present application, the quantum driving module is provided with three layers of architectures, which are an upper layer assembly, a middle layer assembly and a bottom layer assembly, respectively, where the upper layer assembly is a program encapsulating an automatic calibration algorithm, the algorithm automatically executes a plurality of measurement experiments, and obtains attribute data of a qubit and a quantum gate thereof according to results of the experiments, and the data is sent to a decoder of the quantum processor as input parameters, and the quantum processor performs logic control on the qubit according to the parameters when executing a quantum instruction. The automatic calibration algorithm calls the 4 processing units of the bottom layer component through the interface management unit 272 in the middle layer component to realize the measurement experiment, so that the automatic calibration algorithm and the 4 processing units of the bottom layer component are mutually decoupled and can be respectively updated.
Qubits are controlled by the input pulse signal, and the quantum gates are also implemented in this fashion. The general steps of each measurement experiment are that input parameters are configured, the waveform of input pulse is calculated according to the parameters, a measurement and control hardware control part transmits pulse signals corresponding to the waveform to physical qubits, a measurement and control hardware measurement part reads the result of signal change, and then the result obtained by measurement is analyzed. Wherein, the following programs are respectively packaged by the 4 processing units:
1) the parameter model unit 273 is a program that describes the logical relationships between the parameters of the quantum processor, which are determined by the physical implementation of the quantum processor;
2) the waveform calculating unit 274 is a program for calculating the input pulse waveform from the parameters;
3) the interface driving unit 275 is a program for driving measurement and control hardware to perform measurement and control;
4) the numerical processing unit 276 is a program for analyzing and processing the measurement results and includes a predetermined series of function libraries.
The automatic calibration algorithm executes a plurality of measurement experiments in a flow line mode, namely when the previous experiment carries out measurement or result analysis processing, the waveform calculation of the latter experiment can be carried out simultaneously and parallelly. The operations such as computation and the like within each component are also performed in parallel by multiple threads. For example, waveforms of a plurality of input pulses can be calculated in parallel, and a plurality of measurement and control hardware can operate quantum bits in parallel.
Based on the same inventive concept, the application also discloses a quantum computer, which comprises the quantum computer operating system based on the microkernel architecture and a hardware device communicated with the quantum computer operating system, wherein the hardware device comprises at least one quantum processor and at least one classical processor. The quantum computer may further comprise a memory, and the quantum computer operating system may be run by the hardware device and the memory.
Referring to fig. 4 to 5, in the present embodiment, a quantum computer operating system 1 based on a microkernel architecture in a quantum computer is used to control a heterogeneous quantum computer, where the heterogeneous quantum computer includes 1 quantum processor 30 and 1 classical processor 40, and the quantum computer further includes a memory 60. The quantum computer operating system 1 comprises a kernel space 10 and a user space 20, and further comprises 1 kernel object management module 110 and 2 data transfer modules, a first data transfer module 121 and a second data transfer module 122, wherein the 1 kernel object management module 110 and the 2 data transfer modules are both configured in the kernel space, and the kernel object management module 110 is used for reading process management data in a process space based on a data transfer request after receiving the data transfer request, extracting a remote physical memory address or a use right of a hardware resource from the process management data, and creating an IPC channel based on the physical memory address or the use right; the first data transfer module 121 is used for implementing message transfer and/or remote memory access of the quantum processor 30 according to the data transfer request and the IPC channel; the second data transfer module 122 is used for realizing the message transfer and/or remote memory access of the classic processor 40 according to the data transfer request and the IPC channel
The user space 20 of the quantum computer operating system based on the microkernel architecture includes a plurality of classical function modules, such as a system interface module 210, a task scheduling module 220, a memory allocation module 230, a file system module 240, a network communication module 250 and a device driver module 260, which are configured in the kernel space in the macro kernel operating system of the classical computer, and the quantum computer operating system of the present application moves the classical function modules from the kernel space 10 to the user space 20, so that the functional structure in the kernel space 10 is minimized.
In addition, the quantum computer operating system 1 based on the microkernel architecture further includes a quantum driving module 270, and the quantum driving module 270 is a unique functional module of the quantum computer and is responsible for processing tasks such as automatic calibration of quantum processors.
In this embodiment, after the quantum computer operating system loads the compiled executable user program 50, the executable user program 50 is parsed to obtain a quantum computing task and a classical computing task, the quantum computing task is sent to the quantum processor 30 to execute the quantum computing task, and the classical computing task is sent to the classical processor 40 to execute the classical computing task.
The embodiment discloses a quantum computer, wherein the quantum computer is a heterogeneous quantum computer, the heterogeneous quantum computer comprises a quantum processor part and a classical processor part, the kernel object management module and a data transmission module are configured in a kernel space, other system function modules are moved to a user space, a function structure in the kernel space is minimized, an interprocess communication channel, namely an IPC channel, is established through the kernel object management module, message transmission and remote memory access of the quantum computer are realized through the IPC channel and the data transmission module, and after the IPC channel is established, the kernel object management module does not participate in message communication, so that the overhead of switching between a user state and a kernel state is avoided. The quantum computer operating system is designed by adopting the micro-kernel architecture, the functional structure in the kernel space of the operating system is minimized, and the quantum computer operating system has the advantages of low cost, high reliability, good safety and the like.
Based on the same inventive concept, the application also discloses a quantum computer readable storage medium, which stores quantum computer executable instructions, and when the quantum computer executable instructions are executed by a quantum computer, the quantum computer operating system based on the microkernel architecture is realized.
A quantum computer readable storage medium may be a memory device implementing memory functionality according to any medium, including but not limited to an electronic memory device, a magnetic memory device, an optical memory device, an electromagnetic memory device, a semiconductor memory device, or any suitable combination of the foregoing. Executable instructions of the quantum computer may be loaded from a quantum computer readable storage medium into a quantum processor or classical processor, or transferred to an external other computer or external storage device.
Executable instructions for implementing the quantum computer operating system may be code written in any combination of one or more programming languages that are executable on a quantum computer. In some embodiments, the electronic circuit that can execute the executable instructions of the quantum computer, such as the programmable logic circuit corresponding to the executable instructions and the like, is personalized by utilizing the state information of the executable instructions of the quantum computer, and the electronic circuit is used for realizing the above-mentioned various embodiments.
With reference to the block diagrams of the quantum computer operating system, the quantum computer and the computer program product of the above embodiments, it should be understood that each block of the block diagrams, and combinations of blocks, can be implemented by executable instructions of the quantum computer. These quantum computer executable instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a quantum computing machine, such that the instructions, which execute via the processor of the quantum computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the block diagrams block or blocks. These executable instructions may also be stored in quantum computer readable storage media that cause a quantum computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the quantum computer readable storage media storing the instructions comprises an article of manufacture including instructions which implement the function/process aspects specified in the block diagrams block or blocks.
Quantum computer readable program instructions may also be loaded onto a quantum computer, other programmable quantum data processing apparatus, or other quantum device to cause a series of processes to be performed on the quantum computer, other programmable quantum data processing apparatus, or other quantum device to produce a quantum computer implemented process such that the instructions which execute on the quantum computer, other programmable quantum data processing apparatus, or other quantum device implement the functions/processes specified in the block diagram block or blocks.
It is to be understood that the above-described embodiments are merely illustrative of some, but not restrictive, of the broad invention, and that the appended drawings illustrate preferred embodiments of the invention and do not limit the scope of the invention. This application is capable of embodiments in many different forms and is provided for the purpose of enabling a thorough understanding of the disclosure of the application. Although the present application has been described in detail with reference to the foregoing embodiments, it will be apparent to one skilled in the art that modifications can be made to the embodiments described in the foregoing detailed description, or equivalents can be substituted for some of the features described therein. All equivalent structures made by using the contents of the specification and the drawings of the present application are directly or indirectly applied to other related technical fields and are within the protection scope of the present application.

Claims (10)

1. A quantum computer operating system based on a microkernel architecture, the quantum computer operating system being used for controlling a heterogeneous quantum computer, the heterogeneous quantum computer comprising at least one quantum processor and at least one classical processor, the quantum computer operating system comprising a kernel space and a user space, characterized by further comprising a kernel object management module and a data transfer module, the kernel object management module and the data transfer module being configured within the kernel space, the kernel objects managed by the kernel object management module comprising at least a process space and an inter-process communication gate, wherein:
the kernel object management module is used for reading process management data in the process space based on the data transmission request after receiving the data transmission request, obtaining the use permission of a remote physical memory address or a hardware resource, and establishing an inter-process communication channel according to the physical memory address or the resource use permission;
the data transfer module is configured to implement message transfer and/or remote memory access for the at least one quantum processor and the at least one classical processor according to the data transfer request and the interprocess communication channel.
2. The microkernel architecture-based quantum computer operating system of claim 1, wherein the data transfer module further comprises data endpoints, wherein the data endpoints include a send endpoint, a receive endpoint, and a memory endpoint.
3. The microkernel architecture-based quantum computer operating system of claim 2, wherein the kernel object management module creates an interprocess communication channel by:
configuring the sending end point and the receiving end point when message transmission is carried out, and determining whether to establish an interprocess communication channel between the sending end point and the receiving end point according to the use authority of the hardware resource when the message transmission relates to the use of the hardware resource;
when remote memory access is carried out, the read-write permission of the sending end point or the receiving end point to a remote physical memory address is obtained, and an inter-process communication channel is established between the sending end point or the receiving end point and the memory end point according to the read-write permission.
4. The microkernel architecture-based quantum computer operating system of claim 1, further comprising a quantum driver module configured within the user space, wherein:
the quantum driving module is used for realizing the quantum bit calibration of the at least one quantum processor and driving the at least one quantum processor after the quantum bit calibration to complete the quantum computing operation.
5. The microkernel architecture based quantum computer operating system of claim 4 wherein the quantum driver module comprises upper, middle and lower layer components, wherein the lower layer components comprise:
a parametric model unit for characterizing a logical relationship between parameters in the at least one quantum processor;
the waveform calculating unit is used for calculating an input pulse waveform according to the parameters;
the interface driving unit is used for driving the measurement and control hardware to transmit a pulse signal corresponding to the input pulse waveform to the qubits of the at least one quantum processor and read a signal change result in the qubits;
the numerical value processing unit is used for processing the signal change result and outputting a quantum bit calibration result;
the upper-layer assembly comprises an automatic calibration algorithm unit, an automatic calibration algorithm is packaged in the automatic calibration algorithm unit, and the automatic calibration algorithm unit is used for acquiring the attribute data of the quantum bit and the quantum gate through a preset measurement experiment so as to realize the quantum bit calibration of the at least one quantum processor;
the middle layer assembly comprises an interface management unit, and the interface management unit is used for calling the parameter model unit, the waveform calculation unit, the interface driving unit and the numerical processing unit to complete the measurement experiment.
6. The microkernel architecture-based quantum computer operating system of claim 1, wherein the kernel object management module is further configured for process space management, wherein the process space management comprises at least a configuration memory page table and a resource usage permission table.
7. The microkernel architecture-based quantum computer operating system of claim 6, wherein the kernel objects managed by the kernel object management module further comprise threads;
the kernel object management module is also used for thread management, so that a plurality of threads in the same process space share the memory address space and the resource use permission of the process.
8. The microkernel architecture-based quantum computer operating system of claim 1, wherein the kernel objects managed by the kernel object management module further comprise hardware interrupts;
the kernel object management module is also used for hardware interrupt management, searching a target processing program matched with an interrupt request from a pre-configured interrupt processing program by receiving the interrupt request, and running the target processing program.
9. A quantum computer comprising a microkernel architecture-based quantum computer operating system according to any of claims 1 to 8 and a hardware device comprising at least one quantum processor and at least one classical processor, wherein the quantum computer operating system, after loading the compiled executable user program, parses the executable user program to obtain a quantum computing task and a classical computing task, sends the quantum computing task to the at least one quantum processor to execute the quantum computing task, and sends the classical computing task to the at least one classical processor to execute the classical computing task.
10. A quantum computer readable storage medium comprising stored quantum computer executable instructions that, when executed by a quantum computer, implement the microkernel architecture-based quantum computer operating system of any of claims 1-8.
CN202210137722.6A 2022-02-15 2022-02-15 Quantum computer operating system based on microkernel architecture and quantum computer Active CN114492821B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210137722.6A CN114492821B (en) 2022-02-15 2022-02-15 Quantum computer operating system based on microkernel architecture and quantum computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210137722.6A CN114492821B (en) 2022-02-15 2022-02-15 Quantum computer operating system based on microkernel architecture and quantum computer

Publications (2)

Publication Number Publication Date
CN114492821A true CN114492821A (en) 2022-05-13
CN114492821B CN114492821B (en) 2024-10-22

Family

ID=81480882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210137722.6A Active CN114492821B (en) 2022-02-15 2022-02-15 Quantum computer operating system based on microkernel architecture and quantum computer

Country Status (1)

Country Link
CN (1) CN114492821B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114968385A (en) * 2022-05-23 2022-08-30 斑马网络技术有限公司 Method, equipment and storage medium for coordinating drive based on microkernel operating system
CN115016999A (en) * 2022-06-15 2022-09-06 斑马网络技术有限公司 Method, device and storage medium for outputting debugging information of microkernel operating system
CN115269195A (en) * 2022-08-04 2022-11-01 无锡江南计算技术研究所 Quantum computing resource management method based on operating system kernel
CN119443301A (en) * 2024-10-29 2025-02-14 中国科学技术大学 A quantum processor parallel measurement and control system and method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015038757A (en) * 2014-10-03 2015-02-26 イグジット−キューブ,インク. Computer system, kernel scheduling system, resource allocation method, and process execution sharing method
RU2626350C1 (en) * 2016-04-11 2017-07-26 Андрей Сергеевич Моляков Method of functioning computer device operating system of software and hardware complex
CN110245001A (en) * 2019-05-05 2019-09-17 阿里巴巴集团控股有限公司 Data isolation method and device and electronic equipment
CN111596962A (en) * 2019-02-20 2020-08-28 中标软件有限公司 Real-time microkernel system based on high-speed protocol channel and initialization method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015038757A (en) * 2014-10-03 2015-02-26 イグジット−キューブ,インク. Computer system, kernel scheduling system, resource allocation method, and process execution sharing method
RU2626350C1 (en) * 2016-04-11 2017-07-26 Андрей Сергеевич Моляков Method of functioning computer device operating system of software and hardware complex
CN111596962A (en) * 2019-02-20 2020-08-28 中标软件有限公司 Real-time microkernel system based on high-speed protocol channel and initialization method thereof
CN110245001A (en) * 2019-05-05 2019-09-17 阿里巴巴集团控股有限公司 Data isolation method and device and electronic equipment

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JOHANNA SEPULVEDA, ET AL: "post-quantum cryptography in MPSOC environments", 《2021 IFIP/IEEE 29TH INTERNATIONAL CONFERENCE ON VERY LARGE SCALE INTEGRATION》, 17 November 2021 (2021-11-17) *
华逸伦: "量子操作系统的研究与设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》, vol. 2008, no. 06, 15 June 2008 (2008-06-15), pages 138 - 320 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114968385A (en) * 2022-05-23 2022-08-30 斑马网络技术有限公司 Method, equipment and storage medium for coordinating drive based on microkernel operating system
CN115016999A (en) * 2022-06-15 2022-09-06 斑马网络技术有限公司 Method, device and storage medium for outputting debugging information of microkernel operating system
CN115269195A (en) * 2022-08-04 2022-11-01 无锡江南计算技术研究所 Quantum computing resource management method based on operating system kernel
CN119443301A (en) * 2024-10-29 2025-02-14 中国科学技术大学 A quantum processor parallel measurement and control system and method

Also Published As

Publication number Publication date
CN114492821B (en) 2024-10-22

Similar Documents

Publication Publication Date Title
CN114492821B (en) Quantum computer operating system based on microkernel architecture and quantum computer
Wulf et al. C. mmp: A multi-mini-processor
EP4310685B1 (en) Gpu virtualisation
US7478390B2 (en) Task queue management of virtual devices using a plurality of processors
US8549521B2 (en) Virtual devices using a plurality of processors
US12393371B2 (en) Process isolation for a processor-in-memory (“PIM”) device
CN112035272A (en) Method, apparatus and computer equipment for interprocess communication
US20110072434A1 (en) System, method and computer program product for scheduling a processing entity task
US20110099552A1 (en) System, method and computer program product for scheduling processor entity tasks in a multiple-processing entity system
US20090320032A1 (en) System, method and computer program product for preventing starvations of tasks in a multiple processing entity system
JP2007523411A (en) Method and system for a security model for a computer device
US20090327610A1 (en) Method and System for Conducting Intensive Multitask and Multiflow Calculation in Real-Time
CN114168271B (en) Task scheduling method, electronic device and storage medium
CN107562685B (en) Method for data interaction between multi-core processor cores based on delay compensation
KR950014179B1 (en) Dedicated service processor with inter-channel communication features
US5371857A (en) Input/output interruption control system for a virtual machine
US10204060B2 (en) Determining memory access categories to use to assign tasks to processor cores to execute
KR20220085831A (en) Competency Management Methods and Computer Devices
CN101976203B (en) Parallelized simulation multithread management method
CN112559403A (en) Processor and interrupt controller therein
CN112346390B (en) Optical module control method, device, equipment and computer readable storage medium
US8782367B2 (en) Memory area protection circuit
US20110154344A1 (en) system, method and computer program product for debugging a system
US11385927B2 (en) Interrupt servicing in userspace
WO2024198748A1 (en) Data processing method and system, chip, and terminal

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant