Remote input / output device interrupt mapping device and method

Through the remote input and output device interrupt mapping device, the problem of limited host node device resources is solved, transparent sharing and expansion of device resources across host nodes are realized, the utilization efficiency of device resources is improved, and device sharing between multiple host nodes is supported, with low latency and high bandwidth characteristics.

CN113986457BActive Publication Date: 2025-09-16JIANGSU AUTOMATION RESEARCH INSTITUTE
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111206632.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-10-17
Publication Date
2025-09-16
Estimated Expiration
2041-10-17

AI Technical Summary

Technical Problem

In the existing technology, the physical device resources of the host node are limited, making it difficult to achieve dynamic expansion and device resource sharing across host nodes, resulting in large resource sharing granularity and poor application transparency, which limits the sharing efficiency of information system device resources.

Method used

Through the remote input and output device interrupt mapping device, including the device shared adapter module, the device driver module, the remote device interrupt mapping module and the device shared switching module, the interrupt mapping across host nodes is realized by using PCIE slots and transmission cables, supporting transparent sharing and expansion of device resources.

Benefits of technology

It realizes transparent sharing and expansion of device resources between host nodes, improves the utilization efficiency of device resources, supports the sharing of general PCIE devices between multiple host nodes, has the characteristics of low latency and high bandwidth, and is suitable for environments with limited space and power consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113986457B_ABST
    Figure CN113986457B_ABST
Patent Text Reader

Abstract

The present invention relates to a remote input / output device interrupt mapping device and method. The device includes a device-shared adapter module, a device driver module, a remote device interrupt mapping module, a device-shared transmission cable, and a device-shared switching module. The method includes: installing the device-shared adapter module through a PCIE slot; connecting the device-shared adapter modules on each host node using the device-shared transmission cable; a remote device interrupt mapping module of a borrowing host node monitors interrupt requests from virtual devices based on a borrowing relationship; the remote device interrupt mapping module intercepts the interrupt request and redirects it to a remote physical device; after the remote physical device completes processing operations based on the call interrupt request, it responds with a message to the host node application that initiated the interrupt. The present invention supports interrupt mapping conversion between remote input / output devices and host nodes, and supports general PCIE devices such as NVME, GPU, NPU, and network card.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an interrupt mapping mechanism between a host node and a non-local input / output device, and in particular to a remote input / output device interrupt mapping device and method. Background Art

[0002] With the continuous development of cloud computing and integrated processing systems, information processing systems are hosting an increasing number of applications. Different applications may have different requirements for processing power and input / output resources. For example, some applications require the assistance of PCIe devices such as FPGAs, GPUs, and NPUs. However, due to factors such as space and power consumption, the number of physical device resources installed on each host node is limited. To achieve dynamic expansion of device resources, a purely software-based distributed collaborative processing framework is typically required to distribute applications across multiple host nodes for collaborative processing. Applications must also be redeveloped according to the distributed collaborative processing framework's interfaces. For example, in a cluster system where all host nodes are equipped with a GPU coprocessor, if an application running on a host node temporarily requires the assistance of two GPUs to meet its processing needs, it is usually necessary to combine two host nodes to complete the application. Furthermore, if the application was developed for a single machine, it often requires redevelopment to successfully distribute and run across two host nodes for collaborative processing. This purely software-based device resource expansion approach suffers from drawbacks such as large resource sharing granularity (with the host node as the minimum granularity) and poor application transparency, which indirectly limits the efficiency of information system device resource sharing. In order to further improve the efficiency of sharing system device resources, it is necessary to use the flexible borrowing function of PCIE devices across host nodes to achieve an application-transparent and fine-grained host device resource expansion method, but it is necessary to first solve the problem of remote interrupt mapping of PCIE devices across different host nodes. Summary of the Invention

[0003] The object of the present invention is to provide a remote input / output device interrupt mapping device and method.

[0004] The technical solution for achieving the purpose of the present invention is:

[0005] In the first aspect, the present invention proposes a remote input / output device interrupt mapping device, which includes a device shared adapter module, a device driver module and a remote device interrupt mapping module; the device shared adapter module is installed inside the host node via a PCIE slot; the device driver module is used to provide an interface for using PCIE devices on the local or remote host; the remote device interrupt mapping module is used to maintain the interrupt mapping relationship between the borrowed device and the remote host.

[0006] Furthermore, the device also includes a device-shared switching module and a backup shared transmission cable. The device-shared switching module is used to connect PCIE devices installed on multiple host nodes and provide a configuration management interface to the outside world. The device-shared transmission cable is used to connect the device-shared switching module and the device-shared adapter module to provide a data transmission medium between the modules.

[0007] Furthermore, the PCIE slot is a device slot that supports the standard PCIE protocol; and the device shared transmission cable is in the form of a copper cable or an optical cable.

[0008] Furthermore, the specific process of the remote device interrupt mapping module to implement the cross-host interrupt mapping function is: 1) the remote device interrupt mapping module of the borrowing side host node monitors the interrupt request of the virtual device according to the borrowing relationship; 2) the remote device interrupt mapping module intercepts the interrupt request and redirects it to the remote physical device; 3) after the remote physical device completes the processing operation according to the call interrupt request, it replies to the host node application that initiated the interrupt.

[0009] In a second aspect, the present invention provides a method for performing remote interrupt mapping using a remote input / output device interrupt mapping apparatus, comprising the following steps:

[0010] Step 1: Install the device-shared adapter module on each host node through the PCIE slot provided by the host node, and connect the device-shared adapter modules on each host node using the interface provided by the device-shared switching module and the device-shared transmission cable;

[0011] Step 2: Power on the shared switching module of the equipment;

[0012] Step 3: The remote device interrupt mapping module of the borrowing-side host node monitors the interrupt request of the virtual device according to the borrowing relationship;

[0013] Step 4: When the host node application initiates an interrupt request to call the virtual device function, the remote device interrupt mapping module intercepts the interrupt request and redirects the interrupt request to the remote physical device through the device shared adapter module;

[0014] Step 5: After the remote physical device completes the processing operation according to the interrupt request, the generated interrupt reply message is processed and converted by the remote device interrupt mapping module and returned to the host node application that initiated the interrupt.

[0015] Furthermore, the virtual device in step three corresponds to the PCIE physical entity device of the lending side host node, which is a PCIE logical device simulated by software on the borrowing side host node; the device borrowing function between the lending side host node and the borrowing side host node is realized through a device driver module, a device shared adapter module, a device shared transmission cable, a device shared switching module and a PCIE protocol.

[0016] Furthermore, the interrupt request redirection in step four is that the remote device interrupt mapping module converts the intercepted interrupt request into an interrupt request of the physical device corresponding to the lending side host node, transmits the converted interrupt request to the lending side host node through the device shared adapter module, and writes it into the message signal interrupt memory area.

[0017] Furthermore, the completion processing operation described in step five is that the physical device corresponding to the lending side host node completes the corresponding device function according to the interrupt request; the "processing conversion" in step five is that the remote device interrupt mapping module of the lending side host node converts the interrupt request of the physical device into the interrupt request of the virtual device of the borrowing side host node.

[0018] In a third aspect, the present invention provides a remote input / output device interrupt mapping architecture, which includes a host node, a remote input / output device interrupt mapping device, and a PCIE physical device; the device shared adapter module in the remote input / output device interrupt mapping device is installed on the host node through a standard PCIE slot; the device switching module in the remote input / output device interrupt mapping device is an optional functional module. If only two host nodes are connected, you can choose to use a device shared transmission cable for direct connection without going through the device switching module; the device driver module and the process device interrupt mapping module in the remote input / output device interrupt mapping device are software modules, which are installed and run on the host node operating system; the PCIE physical device is installed on the host node.

[0019] Furthermore, the host node is a computer with an X86 architecture processor or an ARM architecture processor, and the PCIE physical device is NVME, GPU, NPU or network card; the remote input and output device interrupt mapping architecture is applied to host nodes with LINUX, WINDOWS, or VXWOEKS operating systems installed.

[0020] Compared with the existing technology, the present invention has the following significant advantages: (1) it does not require modification of the original device driver and operating system kernel, has good transparency, and supports interrupt mapping conversion between remote input and output devices and host nodes; (2) it uses the native PCIE transmission protocol, has the characteristics of low latency and high bandwidth, and supports general PCIE devices such as NVME, GPU, NPU and network card; (3) the device shared transmission cable supports copper cables and optical cables, and supports the expansion of the number of connected host nodes by cascading device shared switching modules.

[0021] The present invention is further described in detail below with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] Figure 1 This is a structural diagram of a first remote input / output device interrupt mapping device provided by an embodiment of the present invention.

[0023] Figure 2 This is a schematic diagram of the deployment of the first remote input / output device interrupt mapping apparatus provided by an embodiment of the present invention.

[0024] Figure 3 This is a structural diagram of a second remote input / output device interrupt mapping device provided by an embodiment of the present invention.

[0025] Figure 4 This is a schematic diagram of the deployment of the second remote input / output device interrupt mapping device provided by an embodiment of the present invention.

[0026] Figure 5 This is a schematic diagram of a method for mapping interrupts using remote input and output devices provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0027] This invention relates to an interrupt mapping mechanism between a host node and non-local input / output devices, and more particularly to an interrupt mapping method between a cluster system host node and borrowed remote disks, GPUs, NPUs, and network card devices. Specifically, it provides an apparatus and method for remote input / output device interrupt mapping.

[0028] The present invention relates to a remote input / output device interrupt mapping device and method, the purpose of which is to provide a remote input / output device interrupt mapping device, providing a remote input / output device interrupt mapping device, which can realize online configuration management of PCIE devices, interrupt interception, and interrupt mapping functions through an adapter module, a driver module, an interrupt mapping module, and a matching transmission cable and device shared switching module on a host node, so as to achieve the purpose of the host node transparently responding to remote PCIE device resource interruptions on demand. It is used to realize interrupt mapping between PCIE devices on a borrowing side host node and a lending side host node, support the sharing and use of common PCIE devices between multiple host nodes, and improve the utilization efficiency of PCIE devices in a cluster system, especially in the field of information equipment sharing and use with limited space, power consumption, and device resources.

[0029] In order to enable people skilled in the art to better understand the technical solutions in this application, the technical solutions in the embodiments of this application will be clearly and completely described below in combination with the drawings in the embodiments of this application. Obviously, the described embodiments are only part of the embodiments of this application, not all of the embodiments.

[0030] Example 1

[0031] The present invention is a remote input and output device interrupt mapping device, please refer to Figure 1 , Figure 1 This is a structural diagram of the first remote input / output device interrupt mapping device provided by an embodiment of the present invention. The remote input / output device interrupt mapping device 1 includes a device-shared adapter module 2, a remote device interrupt mapping module 3, a device driver module 4, a device-shared transmission cable 5, and a device-shared switching module 6.

[0032] Figure 2This is a schematic diagram of the deployment of the first remote input / output device interrupt mapping device provided by an embodiment of the present invention, including a remote input / output device interrupt mapping device 1, a host node 7A, a host node 7B, and a host node 7C. The device-shared switching module 6 is a PCIE switch with 8 connection ports, and supports cascading to expand the number of connection ports. It is used to connect PCIE device resources installed on multiple host nodes through a device-shared transmission cable 5 and a device-shared adapter module 2, and provides a configuration management interface to the outside world. The device-shared adapter module 2 is a non-transparent bridge integrated using a PCIE chip, which has a cross-PCIE bus domain address conversion function and is installed inside the host node through a PCIE slot. The NVME storage disk 8 is a storage disk with a standard PCIE interface. The device driver module 4 provides a driver for the NVME storage disk 8 on the host node 7. The remote device interrupt mapping module 3 is used to maintain the interrupt mapping relationship between the borrowed device and the remote host. The device-shared transmission cable 5 is used to connect the device-shared switching module 6 and the device-shared adapter module 2 of the host node 7, providing a data transmission medium between the modules.

[0033] Example 2

[0034] Please refer to Figure 3 , Figure 3 This is a schematic diagram of the structure of the second remote input / output device interrupt mapping device provided by an embodiment of the present invention. The difference from embodiment 1 is that the remote input / output device interrupt mapping device 1 is not configured with a device-shared switching module. The remote input / output device interrupt mapping device 1 includes a device-shared adapter module 2, a remote device interrupt mapping module 3, a device driver module 4, and a device-shared transmission cable 5. Figure 3 , Figure 4 This is a schematic diagram of the deployment of the second remote input / output device interrupt mapping device provided by an embodiment of the present invention.

[0035] Example 3

[0036] Please refer to Figure 5 A method for using a remote input / output device interrupt mapping device, in combination with the remote input / output device interrupt mapping device, implements interrupt mapping and demapping of a universal PCIE device on a remote host node, thereby supporting the sharing of device resources between different host nodes. The method includes the following steps:

[0037] Step 1: Install the device-shared adapter module on each host node through the PCIE slot provided by the host node, and connect the device-shared adapter modules on each host node using the interface provided by the device-shared switching module and the device-shared transmission cable;

[0038] Step 2: Power on the shared switching module of the equipment;

[0039] Step 3: The remote device interrupt mapping module of the borrowing-side host node monitors the interrupt request of the virtual device according to the borrowing relationship;

[0040] Step 4: When the host node application initiates an interrupt request to call the virtual device function, the remote device interrupt mapping module intercepts the interrupt request and redirects the interrupt request to the remote physical device through the device shared adapter module;

[0041] Step 5: After the remote physical device completes the processing operation according to the interrupt request, the generated interrupt reply message is processed and converted by the remote device interrupt mapping module and returned to the host node application that initiated the interrupt.

[0042] In an embodiment of the present invention, the device shared adapter module is installed in the host node via a PCIE slot. The "PCIE slot" in step 1 is a device slot that supports the standard PCIE protocol. The supported protocol for the PCIE slot can be one of the following:

[0043] 1) PCIE 2.0;

[0044] 2) PCIE 3.0.

[0045] In this embodiment of the present invention, the device-shared transmission cable is used to connect the device-shared switching module and the device-shared adapter module, providing a data transmission medium between the modules. The "device-shared transmission cable" in step 2 can be a copper cable or an optical cable.

[0046] In an embodiment of the present invention, cross-host borrowing is enabled between host node PCIE devices through a shared device adapter module. The host lending the PCIE device is the lending host node, and the host borrowing the PCIE device is the borrowing host node. The "virtual device" in step 3 corresponds to the physical PCIE device of the lending host node and is a PCIE logical device simulated by software on the borrowing host node. The device borrowing function between the lending and borrowing host nodes is implemented through a device driver module, a shared device adapter module, a shared device transmission cable, a shared device switching module, and the PCIE protocol.

[0047] In this embodiment of the present invention, the remote device interrupt mapping module is capable of intercepting and modifying device interrupt requests. The "interrupt request redirection" in step 4 involves the remote device interrupt mapping module converting the intercepted interrupt request into an interrupt request for the physical device corresponding to the lending host node. The converted interrupt request is then transmitted to the lending host node via the device shared adapter module and written into the message signaled interrupt (MSI) memory area.

[0048] In this embodiment of the present invention, the physical device of the lending host node is capable of responding to the operation request of the borrowing host node. The "completion of processing operation" in step 5 refers to the physical device of the lending host node completing the corresponding device function, such as reading data, writing data, or processing data, in response to the interrupt request.

[0049] In this embodiment of the present invention, the remote device interrupt mapping module is capable of intercepting and modifying device interrupt messages. The "processing conversion" in step 5 involves the remote device interrupt mapping module on the lending host node converting the interrupt request from the physical device into an interrupt request from the virtual device on the borrowing host node.

[0050] Example 4

[0051] This embodiment provides a remote input / output device interrupt mapping architecture, which includes a host node, a remote input / output device interrupt mapping device, and a PCIE physical device; the device shared adapter module in the remote input / output device interrupt mapping device is installed on the host node through a standard PCIE slot; the device switching module in the remote input / output device interrupt mapping device is an optional functional module. If only two host nodes are connected, a device shared transmission cable can be used for direct connection without passing through the device switching module; the device driver module and the process device interrupt mapping module in the remote input / output device interrupt mapping device are software modules, which are installed and run on the host node operating system; the host node can be a computer with an X86 architecture processor or a computer with an ARM architecture processor; the PCIE physical device is installed on the host node, and the PCIE physical device can be a general PCIE interface device such as NVME, GPU, NPU and network card.

[0052] As a preferred technical solution, the remote input and output device interrupt mapping architecture can be applied to host nodes installed with operating systems such as LINUX, WINDOWS, and VXWOEKS.

[0053] The above is only a preferred embodiment of the present invention. It should be pointed out that ordinary technicians in this technical field can make several improvements and supplements without departing from the method of the present invention. These improvements and supplements should also be regarded as the scope of protection of the present invention.

Claims

1. A remote input / output device interrupt mapping device, characterized in that: The device includes a device sharing adapter module, a device driver module, and a remote device interrupt mapping module; the device sharing adapter module is installed inside a host node via a PCIE slot; the device driver module is used to provide an interface for using PCIE devices on a local or remote host; the remote device interrupt mapping module is used to maintain an interrupt mapping relationship between a borrowed device and a remote host; the specific process of the remote device interrupt mapping module implementing the cross-host interrupt mapping function is as follows: 1) the remote device interrupt mapping module of the borrowing host node monitors interrupt requests of the virtual device based on the borrowing relationship; 2) the remote device interrupt mapping module intercepts the interrupt request and redirects it to the remote physical device; 3) After the remote physical device completes the processing operation based on the interrupt request, it replies to the host node application that initiated the interrupt.

2. The remote input / output device interrupt mapping device according to claim 1, wherein: The device also includes a device-shared switching module and a device-shared transmission cable. The device-shared switching module is used to connect PCIE devices installed on multiple host nodes and provide a configuration management interface to the outside world. The device-shared transmission cable is used to connect the device-shared switching module and the device-shared adapter module to provide a data transmission medium between the modules.

3. A remote input / output device interrupt mapping method, implemented based on the apparatus of claim 2, characterized in that: The method comprises the following steps: Step 1: Install the device-shared adapter module on each host node through the PCIE slot provided by the host node, and connect the device-shared adapter modules on each host node using the interface provided by the device-shared switching module and the device-shared transmission cable; Step 2: Power on the shared switching module of the equipment; Step 3: The remote device interrupt mapping module of the borrowing-side host node monitors the interrupt request of the virtual device according to the borrowing relationship; Step 4: When the host node application initiates an interrupt request to call the virtual device function, the remote device interrupt mapping module intercepts the interrupt request and redirects the interrupt request to the remote physical device through the device shared adapter module; Step 5: After the remote physical device completes the processing operation according to the interrupt request, the generated interrupt reply message is processed and converted by the remote device interrupt mapping module and returned to the host node application that initiated the interrupt.

4. The remote input / output device interrupt mapping method according to claim 3, wherein: The PCIE slot is a device slot that supports the standard PCIE protocol; the device shared transmission cable is in the form of a copper cable or an optical cable.

5. The remote input / output device interrupt mapping method according to claim 3, wherein: The virtual device in step three corresponds to the PCIE physical entity device of the lending side host node, and is a PCIE logical device simulated by the borrowing side host node through software; the device borrowing function between the lending side host node and the borrowing side host node is realized through the device driver module, the device shared adapter module, the device shared transmission cable, the device shared switching module and the PCIE protocol.

6. The remote input / output device interrupt mapping method according to claim 3, wherein: The interrupt request redirection in step 4 is that the remote device interrupt mapping module converts the intercepted interrupt request into an interrupt request of the physical device corresponding to the lending side host node, transmits the converted interrupt request to the lending side host node through the device shared adapter module, and writes it into the message signal interrupt memory area.

7. The remote input / output device interrupt mapping method according to claim 3, wherein: The completion processing operation described in step 5 is that the physical device corresponding to the lending side host node completes the corresponding device function according to the interrupt request; the "processing conversion" in step 5 is that the remote device interrupt mapping module of the lending side host node converts the interrupt request of the physical device into an interrupt request of the virtual device of the borrowing side host node.

8. A remote input / output device interrupt mapping architecture, characterized in that: The architecture includes a host node, the remote input / output device interrupt mapping device described in claim 2, and a PCIE physical device; the device shared adapter module in the remote input / output device interrupt mapping device is installed on the host node through a standard PCIE slot; the device switching module in the remote input / output device interrupt mapping device is an optional functional module. If only two host nodes are connected, a device shared transmission cable is selected for direct connection without passing through the device switching module; the device driver module and the remote device interrupt mapping module in the remote input / output device interrupt mapping device are software modules, which are installed and run on the host node operating system; the PCIE physical device is installed on the host node.

9. The remote input / output device interrupt mapping architecture according to claim 8, wherein: The host node is a computer with an X86 architecture processor or an ARM architecture processor, and the PCIE physical device is NVME, GPU, NPU or network card; the remote input and output device interrupt mapping architecture is applied to host nodes with LINUX, WINDOWS, or VXWOEKS operating systems installed.

Citation Information

Patent Citations

  • Remote resource access method and switch equipment

    CN105491082A