CN112835837A - Method for establishing data connection, related device and computer program product - Google Patents

Method for establishing data connection, related device and computer program product Download PDF

Info

Publication number
CN112835837A
CN112835837A CN202110153316.4A CN202110153316A CN112835837A CN 112835837 A CN112835837 A CN 112835837A CN 202110153316 A CN202110153316 A CN 202110153316A CN 112835837 A CN112835837 A CN 112835837A
Authority
CN
China
Prior art keywords
port
information
data
virtual
processing
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
CN202110153316.4A
Other languages
Chinese (zh)
Other versions
CN112835837B (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202110153316.4A priority Critical patent/CN112835837B/en
Publication of CN112835837A publication Critical patent/CN112835837A/en
Application granted granted Critical
Publication of CN112835837B publication Critical patent/CN112835837B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0024Peripheral component interconnect [PCI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)

Abstract

The embodiment of the application discloses a method and a device for establishing data connection, electronic equipment, a computer readable storage medium and a computer program product, and relates to the technical field of cloud computing, and further relates to the technical field of virtualization. One embodiment of the method comprises: after responding to the received port scanning information sent by the request end based on the PCIE protocol, generating at least one virtual PCIE port corresponding to the port requirement information contained in the port scanning information, respectively controlling each virtual PCIE port to return response information to the request end, and after responding to the received target port connection request sent by the request end according to the response information, establishing data connection between the request end and the target virtual PCIE port. According to the method and the device, the PCIE port configuration can be dynamically realized, so that the adaptive configuration is carried out on the scanning information of the request terminal, the flexibility of a data receiving terminal system is improved, and the design cost is reduced.

Description

Method for establishing data connection, related device and computer program product
Technical Field
The present application relates to the field of cloud computing technologies, and further relates to the field of virtualization technologies, and in particular, to a method and an apparatus for establishing a data connection, an electronic device, a computer-readable storage medium, and a computer program product.
Background
A pcie (peripheral component interconnect express) interface is a high-speed serial computer expansion bus standard, and is widely applied to consumer, server and industrial applications, and connects a host system processor and external devices, where the common external devices include a network card, a gpu (graphics Processing unit), a memory card and various types of accelerator cards.
With the wide application of virtualization technology, one physical host system virtualizes a plurality of host systems (virtual machines or containers), and in order to improve system performance, a virtual machine wants to directly access PCIE devices, so that PCIE devices are required to virtualize a plurality of PCIE devices and directly allocate the PCIE devices to the virtual machines for use.
Conventionally, a plurality of PCIE devices are designed in a PCIE device, and are connected together through a PCIE switch to a PCIE interface of a host system.
Disclosure of Invention
The embodiment of the application provides a method and a device for establishing data connection, electronic equipment, a computer readable storage medium and a computer program product.
In a first aspect, an embodiment of the present application provides a method for establishing a data connection, including: in response to receiving port scanning information sent by a request terminal based on a PCIE protocol, generating at least one virtual PCIE port corresponding to port requirement information contained in the port scanning information; respectively controlling each virtual PCIE port to return response information to the request end; and in response to receiving a target port connection request sent by the request end according to the response information, establishing data connection between the request end and the target virtual PCIE port.
In a second aspect, an embodiment of the present application provides an apparatus for establishing a data connection, including: the port generation unit is configured to respond to receiving port scanning information sent by a request end based on a PCIE protocol, and generate at least one virtual PCIE port corresponding to port requirement information contained in the port scanning information; the port response unit is configured to respectively control each virtual PCIE port to return response information to the request terminal; and the connection establishing unit is configured to respond to the received target port connection request sent by the request end according to the response information, and establish data connection between the request end and the target virtual PCIE port.
In a third aspect, an embodiment of the present application provides an electronic device, including: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executable by the at least one processor to enable the at least one processor, when executing, to implement a method of establishing a data connection as described in any implementation manner of the first aspect.
In a fourth aspect, embodiments of the present application provide a non-transitory computer-readable storage medium storing computer instructions for enabling a computer to implement the method for establishing a data connection as described in any implementation manner of the first aspect when executed.
In a fifth aspect, the present application provides a computer program product including a computer program, which when executed by a processor is capable of implementing the method for establishing a data connection as described in any implementation manner of the first aspect.
In the method, the apparatus, the electronic device, the computer-readable storage medium, and the computer program product for establishing a data connection provided in the embodiments of the present application, after responding to receiving port scanning information sent by a request end based on a PCIE protocol, at least one virtual PCIE port corresponding to port requirement information included in the port scanning information is generated, and each virtual PCIE port is respectively controlled to return response information to the request end, and after responding to receiving a target port connection request sent by the request end according to the response information, a data connection between the request end and a target virtual PCIE port is established.
According to the method and the device, the PCIE port configuration can be dynamically realized, so that the adaptive configuration is carried out on the scanning information of the request terminal, the flexibility of a data receiving terminal system is improved, and the design cost is reduced.
It should be understood that the statements in this section do not necessarily identify key or critical features of the embodiments of the present application, nor do they limit the scope of the present application. Other features of the present application will become apparent from the following description.
Drawings
Other features, objects and advantages of the present application will become more apparent upon reading of the following detailed description of non-limiting embodiments thereof, made with reference to the accompanying drawings in which:
FIG. 1 is an exemplary system architecture to which the present application may be applied;
fig. 2 is a flowchart of a method for establishing a data connection according to an embodiment of the present application;
fig. 3 is a flowchart of another method for establishing a data connection according to an embodiment of the present application;
fig. 4 is a flowchart of another method for establishing a data connection according to an embodiment of the present disclosure;
fig. 5 is a schematic flowchart of a method for establishing a data connection in an application scenario according to an embodiment of the present application;
fig. 6 is a block diagram illustrating an apparatus for establishing a data connection according to an embodiment of the present disclosure;
fig. 7 is a schematic structural diagram of an electronic device adapted to execute a method for establishing a data connection according to an embodiment of the present application.
Detailed Description
The following description of the exemplary embodiments of the present application, taken in conjunction with the accompanying drawings, includes various details of the embodiments of the application for the understanding of the same, which are to be considered exemplary only. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present application. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness. It should be noted that the embodiments and features of the embodiments in the present application may be combined with each other without conflict.
Fig. 1 illustrates an exemplary system architecture 100 to which embodiments of the method, apparatus, electronic device, and computer-readable storage medium of the present application may be applied for establishing a data connection.
As shown in fig. 1, the system architecture 100 may include terminal devices 101, 102, 103, a network 104, and a server 105. The network 104 serves as a medium for providing communication links between the terminal devices 101, 102, 103 and the server 105. Network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
The user may use the terminal devices 101, 102, 103 to interact with other terminal devices and the server 105 via the network 104 to receive or send messages or the like. The terminal devices 101, 102, 103 and the server 105 may be installed with various applications for implementing information communication therebetween, such as a co-processing application, a remote computing application, an instant messaging application, and the like.
The terminal apparatuses 101, 102, 103 and the server 105 may be hardware or software. When the terminal devices 101, 102, 103 are hardware, they may be various electronic devices with display screens, including but not limited to smart phones, tablet computers, laptop portable computers, desktop computers, and the like; when the terminal devices 101, 102, and 103 are software, they may be installed in the electronic devices listed above, and they may be implemented as multiple software or software modules, or may be implemented as a single software or software module, and are not limited in this respect. When the server 105 is hardware, it may be implemented as a distributed server cluster composed of multiple servers, or may be implemented as a single server; when the server is software, the server may be implemented as a plurality of software or software modules, or may be implemented as a single software or software module, which is not limited herein.
The server 105 may provide various services through various built-in applications, taking a remote computing application that may provide remote computing functions as an example, the server 105 may implement the following effects when running the remote computing application: receiving port scanning information sent based on a PCIE protocol from terminal devices 101, 102, and 103 serving as request terminals through a network 104, generating at least one virtual PCIE port corresponding to a port requirement included in the port scanning information, and respectively controlling each virtual PCIE port to return response information to the request terminals, and after receiving a target port connection request sent by the request terminals according to the response information, establishing data connection between the request terminals and the target virtual PCIE ports.
Since data processing usually requires more computing resources and stronger computing power, the method for establishing data connection provided in the following embodiments of the present application is generally executed by the server 105 having stronger computing power and more computing resources, and accordingly, the device for establishing data connection is generally disposed in the server 105. However, it should be noted that, when the terminal devices 101, 102, and 103 also have computing capabilities and computing resources meeting the requirements, the terminal devices 101, 102, and 103 may also complete the above-mentioned operations performed by the server 105 through the remote computing applications installed thereon, and then output the same result as the server 105
Correspondingly, the device for establishing data connection may also be disposed in the terminal devices 101, 102, and 103, so as to implement cooperative operation between different terminal devices. In such a case, the exemplary system architecture 100 may also not include the server 105 and the corresponding portion of the network 104.
It should be understood that the number of terminal devices, networks, and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
Referring to fig. 2, fig. 2 is a flowchart of a method for establishing a data connection according to an embodiment of the present application, where the process 200 includes the following steps:
in step 201, in response to receiving port scanning information sent by a request end based on a PCIE protocol, at least one virtual PCIE port corresponding to port requirement information included in the port scanning information is generated.
This step is intended to generate, by an execution subject (for example, the server 105 shown in fig. 1) of the method for establishing a data connection, at least one virtual port according to port requirement information included in port scanning information, after acquiring the port scanning information sent by a request end of data processing based on a PCIE protocol.
Among them, the PCIE bus is a high-speed serial replacement for the older PCI/PCI-X bus. One of the main differences between a PCIE bus and the old PCI is the bus topology. PCI uses a shared parallel bus architecture in which a PCI host and all devices share a common set of address, data, and control lines. In contrast, PCIE is based on a point-to-point topology, with separate serial links connecting each device to the root system (host). Because of its shared bus topology, the PCI bus in a single direction can be arbitrated (in the case of multiple hosts) and limited to one host at a time. Furthermore, older PCI clock schemes limited the bus clock to the slowest peripheral on the bus (regardless of the devices involved in the bus transaction). In contrast, a PCIE bus link supports full-duplex communications between any two endpoints, while concurrent access across multiple endpoints is not inherently limited.
In terms of bus protocol, PCIE traffic is encapsulated in packets. The task of packing and unpacking data and status message traffic is handled by the transaction layer of PCIE ports, and the fundamental differences in electrical signals and bus protocols require the use of different mechanical form factors and expansion connectors (and therefore, new motherboards and new adapter boards). At the software level, PCIE retains backward compatibility with PCI; traditional PCI system software can detect and configure newer PCIE devices without explicitly supporting PCIE standards, but the new PCIE functions cannot be accessed. A PCIE link between two devices may consist of 1 to 32 lanes. In a multi-lane link, packet data is striped across lanes, and peak data throughput is proportional to the overall link width. The channel count is auto-negotiated during device initialization and may be limited by either endpoint.
Further, according to the characteristics of PCIE protocol transmission, when the request end sends port scanning information to the execution main body, the request end may include corresponding port requirement information according to a data processing requirement of the request end to indicate the execution main body to determine whether there is a real PCIE port that meets the requirement information, and after receiving the port requirement information, the execution main body may generate a virtual PCIE port according to a requirement of the request end.
In some embodiments, the preset configuration information that can satisfy the processing capability and the history requirement information may also be determined according to the processing capability and the history requirement information of the request end, so as to pre-generate the virtual PCIE port through the preset configuration information, so that when port scanning information that is sent by the request end based on the PCIE protocol is received, a corresponding response is directly given, so as to improve the efficiency of the method for establishing the data connection.
It should be understood that, when the preset configuration information is determined based on the historical demand information, the preset configuration information is generally determined based on an upper limit value in the historical demand configuration information, so that the determined preset configuration information can completely meet the data processing requirement of the data request end.
It should be noted that the history requirement information may be obtained by the execution subject directly from a local storage device, or may be obtained from a non-local storage device (for example, terminal devices 101, 102, and 103 shown in fig. 1). The local storage device may be a data storage module arranged in the execution main body, such as a server hard disk, in which case the historical demand information can be quickly read locally; the non-local storage device may also be any other electronic device configured to store data, such as some user terminals, in which case the executing entity may obtain the required historical requirement information by sending a obtaining command to the electronic device.
Step 202, respectively controlling each virtual PCIE port to return response information to the request end.
In this embodiment, after the execution main body completes generation of the virtual PCIE ports, each virtual PCIE port is respectively controlled to send a response to the request end, so as to respond to port scanning information of the request end and inform that the request end has a corresponding "real" PCIE port, so that the request end establishes data connection after selecting a suitable "real" PCIE port.
Step 203, in response to receiving the target port connection request sent by the request end according to the response information, establishing the data connection between the request end and the target virtual PCIE port.
In this embodiment, after the request end is responded by each virtual PCIE port in step 202, the request end may determine a target port according to a usage requirement and send a connection request, and after the request information received by the execution main body, correspondingly establish data connection between the request end and the target virtual PCIE port.
It should be understood that, when the request end is according to the target port sent by the response information, the execution main body determines the corresponding configuration information according to the virtual PCIE information pointed by the target port, so as to complete establishment of data connection between the request end and the target virtual PCIE port.
In the method for establishing data connection provided in the embodiment of the present application, after responding to receiving port scanning information sent by a request end based on a PCIE protocol, at least one virtual PCIE port corresponding to port requirement information included in the port scanning information is generated, and each virtual PCIE port is respectively controlled to return response information to the request end, and after responding to receiving a target port connection request sent by the request end according to the response information, data connection between the request end and a target virtual PCIE port is established. According to the method and the device, the PCIE port configuration can be dynamically realized, so that the adaptive configuration is carried out on the scanning information of the request terminal, the flexibility of a data receiving terminal system is improved, and the design cost is reduced.
In some optional implementation manners of this embodiment, generating at least one virtual PCIE port corresponding to the port requirement information included in the port scanning information includes: extracting port requirement information contained in the port scanning information from the port scanning information; and generating a virtual PCIE port meeting the quantity requirement and the performance requirement according to the quantity requirement and the performance requirement of the target port in the port requirement information.
Specifically, when port scanning information sent by a request end is acquired, a reasonable configuration proportion is determined according to the corresponding port quantity requirement and performance requirement, distributable performance parameters of a local execution main body or a receiving end to be configured are acquired, and a virtual PCIE port meeting the quantity requirement and the performance requirement is generated according to the configuration proportion, so that the virtual PCIE port is determined according to port requirement information in the scanning information in a matching manner, and waste of data processing resources is avoided.
Referring to fig. 3, fig. 3 is a flowchart of another method for establishing a data connection according to an embodiment of the present application, and in addition, to describe a process of generating configuration parameters of a control panel more clearly, fig. 4 is an interactive flowchart of a request end, an execution main body, and the control panel according to the embodiment, where the process 300 includes the following steps:
step 301, in response to receiving port scanning information sent by a request end based on a PCIE protocol, generates at least one virtual PCIE port corresponding to port requirement information included in the port scanning information.
In this embodiment, reference may be made to step 401 in fig. 4.
Step 302, respectively controlling each virtual PCIE port to return response information to the request end.
In this embodiment, reference may be made to step 402 in fig. 4.
Step 303, in response to receiving the target port connection request sent by the request end according to the response information, establishing a data connection between the request end and the target virtual PCIE port.
In this embodiment, reference may be made to steps 403 and 404 in fig. 4.
Step 304, acquiring a to-be-processed data packet sent by the request end to the target virtual PCIE port based on the PCIE protocol, and decomposing the to-be-processed data packet into port direction information and data information.
In this embodiment, after the data connection between the request end and the target virtual PCIE port is established in step 303, a to-be-processed data Packet sent by the request end to the target virtual PCIE port based on the PCIE protocol is obtained, where the to-be-processed data includes port direction information for directing and determining the target virtual PCIE port, and an object Layer Packet (TLP for short) containing the to-be-processed data, which may be referred to as steps 406 and 407 in fig. 4 correspondingly.
Step 305, sending the port pointing information to the control panel, and controlling the control panel to generate configuration parameters for processing the data information.
In this embodiment, the port direction information is sent to the control panel, the control panel is configured to process the space configuration of the receiving end device, the bus and the configuration request of the request end, and drive the local control of the request end, after the port direction information is obtained, the control panel may determine the corresponding processing space and the configuration parameters according to the port direction information, so that the data processing panel performs corresponding data processing according to the configuration parameters, which may refer to steps 408 and 409 in fig. 4.
Step 306, sending the data information to a processing panel, and controlling the processing panel to perform data processing according to the configuration parameters.
In this embodiment, after the TLP is directly acquired in the step 304, the content is directly sent to the data processing panel, and the data processing panel performs corresponding data processing according to the configuration parameters generated in the step 305 after receiving the TLP, so as to obtain a corresponding processing result.
In practice, when data transmission and processing are performed based on the PCIE protocol, the data processing panel is generally used for group data transmission (Direct Memory accesses, DMA for short) operations and interrupt operations.
In some embodiments, after the data processing panel obtains the configuration parameter, the data processing panel may also instruct, according to the specific direction and the control content of the configuration parameter, other execution bodies, operation modules, and the like to execute corresponding operations, which is not limited in this application.
The above steps 301-303 are the same as the step 201-203 shown in fig. 2, and the contents of the same portions refer to the corresponding portions of the previous embodiment, which are not described herein again.
On the basis of the method for establishing data connection provided in the embodiment shown in fig. 2, the present embodiment further provides a specific manner for processing the data at the request end, so as to implement virtual parameter configuration through software allocation of the control panel, and instruct the processing panel that directly obtains data information in the data to be processed through hardware design to perform corresponding processing, so that in a manner of combining software and hardware, on the premise of ensuring data processing quality, data processing efficiency is improved, and design cost is saved.
In some optional implementations of this embodiment, the method further includes:
step 307, acquiring a data processing result generated by the processing panel, and merging the port pointing information and the data processing result to generate a data feedback result.
Specifically, after the data processing panel in step 306 completes the data processing of the TLP, the execution body may obtain a data processing result generated in the data processing panel, and merge the port direction information with the data processing result, so as to mark the data processing result through the port direction information, and generate a data feedback result.
In the process of marking the data processing result by the port direction information, usually, the mark identifier generated by the port direction information is used to notify the request end of the relevant configuration information of the data sending port, that is, the configuration information of the PCIE port requested by the request end is generated based on the configuration information of the target virtual port PCIE, so that the request end considers that the data feedback result is sent by the actually existing real PCIE port.
In addition, a corresponding header, a corresponding password, and the like may be generated according to the port direction information, so that the requesting end of the data processing may identify and confirm the obtained data processing result according to the header, the password, and the like marking contents generated by the port direction information.
In practice, in order to further save the setting cost at the hardware level, the physical hardware for combining the port direction information and the data processing result in this implementation may be set together with the physical hardware for decomposing the to-be-processed data packet into the port direction information and the data information in step 304.
Step 308, feeding back the data feedback result to the request end.
In some optional implementation manners of this embodiment, in order to further implement data cooperative processing between a request end and a receiving end based on a PCIE protocol and improve a data processing effect, when the data request end issues a data processing request, only an operation instruction expected to be executed by the data receiving end and corresponding address information may be issued, and in this case, the step of controlling the processing panel to perform data processing according to the configuration parameter includes: controlling the processing panel to start DMA reading operation by adopting the configuration parameters; and controlling the processing panel to send a DMA read request to the request end and receive response data corresponding to the DMA read request to perform data processing.
Specifically, the data plane mainly processes DMA operations and start instructions and interrupt operations issued by the request side. The control panel simulates that information such as queues, addresses, parameters and the like issued by a request end is configured to the data panel, when the request end issues a starting instruction, the data panel starts DMA operation, and writes the receiving end equipment data into the memory specified by the execution main body or reads the data from the memory specified by the request end to the execution main body.
In practice, after the data panel completes the DMA write request, an interrupt TLP packet is sent to the requesting end, so as to achieve the interrupt purpose.
In order to further satisfy the output processing and configuration requirements of the request end, and improve the trust level of the request end to the execution subject and the processing capability of the execution subject corresponding to the request end, the execution subject may be further subjected to device virtualization, that is, the execution subject is virtualized into another device according to the requirements of the request end, so as to correspond to the requirements of the request end, in some optional implementations of this embodiment, before sending the port direction information to the control panel, and controlling the control panel to generate the configuration parameters for processing the data information, the method further includes: determining equipment virtual information according to the data packet to be processed; sending the virtual information of the equipment to the control panel, and controlling the control panel to generate local virtual equipment according to the virtual information of the equipment; and the controlling the control panel to generate the configuration parameters for processing the data information comprises: and generating configuration for the local virtual equipment according to the port pointing information, and generating configuration parameters for processing the data information.
Specifically, device virtual information is determined according to the to-be-processed data packet, that is, a target device which is expected to be used by the request terminal for processing the to-be-processed data packet is obtained, virtual information is correspondingly determined according to the type of the target device (for example, when the target device is determined to be a network card, virtual information which virtualizes the execution main body into the network card correspondingly is generated), and then the virtual information is sent to the control panel, so that the control panel virtualizes the execution main body according to the virtual information to obtain a corresponding local virtual device, and after port direction information is received, the local virtual device is configured according to the port direction information, and configuration parameters which are subsequently used for processing the data information are generated.
In practice, when the request end sends port scan information, the corresponding port requirement information included in the port scan information is added with device virtual information, so that when the execution main body receives the port requirement information, the content in the port requirement information is read and the device virtual information is determined, which can be referred to as step 405 in fig. 4 correspondingly.
Further, after the request end determines that the execution main body is the target device, the corresponding driving information may be issued, so that the execution main body further and accurately performs device operation on the local virtual device according to the driving information, and the local virtual device is ensured to operate smoothly, which may correspond to step 404 in fig. 4.
On the basis of any of the above embodiments, to implement hot plug replacement between different receiving ends, after respectively controlling each virtual PCIE port to return response information to the request end, the method further includes: acquiring configuration information of each virtual PCIE port, and correspondingly generating a configuration information set; in response to receiving a configuration information set acquisition request sent by other receiving terminals, sending the configuration information set to the other receiving terminals; and controlling the other receiving ends to carry out virtual PCIE port configuration according to the configuration information set.
Specifically, the execution main body obtains configuration information of each virtual PCIE port after the virtual PCIE port returns response information to the request end, and generates a corresponding configuration information set, so that other subsequent receiving ends generate virtual PCIE ports having the same number and performance as those of the current virtual PCIE ports according to the information configuration information set, when receiving a configuration information set obtaining request sent by the other receiving ends, the execution main body sends the configuration information set to the other receiving ends, controls the other receiving ends to perform virtual PCIE port configuration according to the configuration information set, restores a configuration condition of the virtual PCIE port performed by the execution main body at present, and completes hot plug replacement between the different receiving ends, so as to modify configuration space parameters of receiving end devices according to configuration information set software after the hardware device is pulled out.
For further understanding, the present application also provides a specific implementation scheme in conjunction with a specific application scenario, please refer to a process 500 shown in fig. 5.
Step 501, in response to receiving port scanning information sent by a request end based on a PCIE protocol, extracting port requirement information included in the port scanning information from the port scanning information.
Specifically, the data receiving end receives port scanning information sent by the request end based on the PCIE protocol, where the port requirement information included in the port scanning information is port number 2, and the transmission rate of each port at least satisfies 2.5 GT/s.
In this application scenario, the data receiving end is usually a PCIE hardware device, and after receiving port scanning information sent by the request end based on the PCIE protocol, the hardware device extracts, from the port scanning information, port requirement information included in the port scanning information by a software portion arranged on one side of the PCIE hardware.
Step 502, according to the number requirement and the performance requirement of the target port in the port requirement information, generating a virtual PCIE port that meets the number requirement and the performance requirement.
Specifically, the software part generates corresponding configuration parameters according to the number and performance requirements of the target ports read from the port requirement information, configures the virtual PCIE ports meeting the number and performance requirements according to the parameters, and obtains the virtual PCIE ports a and B, where the transmission rates of the virtual PCIE ports a and B both support 3 GT/s.
Step 503, respectively controlling each virtual PCIE port to return response information to the request end.
Specifically, the software part controls the virtual PCIE ports a and B to return response information to the request end.
Step 504, in response to receiving the target port connection request sent by the request end according to the response information, establishing the data connection between the request end and the target virtual PCIE port.
Specifically, in response to receiving a connection request directed to a target port of the virtual PCIE port a, which is returned by the request end according to the response information of the virtual PCIE port a, the data connection between the request end and the virtual PCIE port a is correspondingly established.
Step 505, obtaining a to-be-processed data packet sent by the request end to the target virtual PCIE port based on the PCIE protocol, and decomposing the to-be-processed data packet into port direction information and data information.
Step 506, the port pointing information is sent to the control panel, and the control panel is controlled to generate the configuration parameters for processing the data information.
Step 507, sending the data information to a processing panel, and controlling the processing panel to start a DMA read operation by using the configuration parameter.
Step 508, controlling the processing panel to send a DMA read request to the requesting end, and to receive response data corresponding to the DMA read request for data processing.
Step 509, acquiring the data processing result generated by the processing panel, and combining the port direction information with the data processing result to generate a data feedback result.
Step 510, feeding back the data feedback result to the requesting end.
The corresponding description contents may be referred to for the overlapped part of the step 501 and 510 and the embodiment shown in fig. 2 and 3, which is not repeated herein, and the present application dynamically implements PCIE port configuration in a manner of combining software and hardware, so as to perform adaptive configuration for the scanning information of the request end, and process the data issued by the request end according to the result of the adaptive configuration, and on the premise of ensuring high-rate transmission and read-write by using hardware direct transmission, the dynamic configuration for the PCIE port of the receiving end is implemented in a software manner, so as to finally reduce the design cost while improving the flexibility of the data receiving end system.
With further reference to fig. 6, as an implementation of the method shown in the above-mentioned figures, the present application provides an embodiment of an apparatus for establishing a data connection, where the embodiment of the apparatus corresponds to the embodiment of the method shown in fig. 2, and the apparatus may be applied to various electronic devices.
As shown in fig. 6, the apparatus 600 for establishing a data connection according to this embodiment may include: a port generating unit 601, a port responding unit 602, and a connection establishing unit 603. The port generation unit 601 is configured to generate, in response to receiving port scanning information sent by a request end based on a PCIE protocol, at least one virtual PCIE port corresponding to port requirement information included in the port scanning information; a port response unit 602 configured to respectively control each virtual PCIE port to return response information to the request end; a connection establishing unit 603 configured to, in response to receiving a target port connection request sent by the request end according to the response information, establish a data connection between the request end and the target virtual PCIE port.
In the present embodiment, in the apparatus 600 for establishing a data connection: the detailed processing of the port generating unit 601, the port responding unit 602, and the connection establishing unit 603 and the technical effects thereof can refer to the related descriptions of step 201 and step 203 in the corresponding embodiment of fig. 2, which are not described herein again.
In some optional implementations of this embodiment, the port generating unit 601 includes: a requirement information obtaining subunit configured to extract port requirement information included in the port scanning information from the port scanning information; and the port generation subunit is configured to generate a virtual PCIE port that meets the number requirement and the performance requirement according to the number requirement and the performance requirement of the target port in the port requirement information.
In some optional implementations of this embodiment, the apparatus for establishing a data connection further includes: the to-be-processed data decomposition unit is configured to acquire a to-be-processed data packet sent by the request terminal to the target virtual PCIE port based on a PCIE protocol, and decompose the to-be-processed data packet into port direction information and data information; a configuration parameter generating unit configured to send the port pointing information to a control panel, and control the control panel to generate a configuration parameter for processing the data information; and the data processing unit is configured to send the data information to a processing panel, and control the processing panel to perform data processing according to the configuration parameters.
In some optional implementations of this embodiment, the apparatus for establishing a data connection further includes: a device virtual information determining unit configured to determine device virtual information from the to-be-processed data packet; the device virtual unit is configured to send the device virtual information to the control panel, and control the control panel to generate a local virtual device according to the device virtual information; and the configuration parameter generating unit is further configured to generate configuration parameters for configuring the local virtual device according to the port pointing information and processing the data information.
In some optional implementations of this embodiment, the apparatus for establishing a data connection further includes: the data feedback result generating unit is configured to acquire a data processing result generated by the processing panel, combine the port pointing information and the data processing result, and generate a data feedback result; and the data feedback result feedback unit is configured to feed back the data feedback result to the request end.
In some optional implementations of this embodiment, the data processing unit includes: a data information transmitting subunit configured to transmit the data information to the processing panel; a read operation initiation subunit configured to control the processing panel to initiate a DMA read operation using the configuration parameters; a read request sending subunit configured to control the processing panel to send a DMA read request to the request terminal; and the data response processing subunit is configured to control the processing panel to perform data processing after receiving the response data corresponding to the DMA read request.
In some optional implementations of this embodiment, the apparatus for establishing a data connection further includes: a configuration information set generating unit configured to obtain the configuration information of each virtual PCIE port after respectively controlling each virtual PCIE port to return response information to the request terminal, and generate a configuration information set correspondingly; a configuration information set sending unit configured to send the configuration information set to the other receiving end in response to receiving a configuration information set acquisition request sent by the other receiving end; and the port configuration control unit is configured to control the other receiving ends to perform virtual PCIE port configuration according to the configuration information set.
The present embodiment exists as an embodiment of an apparatus corresponding to the foregoing method embodiment, and the apparatus for establishing a data connection provided in the present embodiment may dynamically implement PCIE port configuration to perform adaptive configuration for scanning information of a request end, so that the flexibility of a data receiving end system is improved and the design cost is reduced at the same time.
There is also provided, in accordance with an embodiment of the present application, an electronic device, a readable storage medium, and a computer program product.
FIG. 7 illustrates a schematic block diagram of an example electronic device 700 that can be used to implement embodiments of the present application. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be examples only, and are not meant to limit implementations of the present application that are described and/or claimed herein.
As shown in fig. 7, the device 700 comprises a computing unit 701, which may perform various suitable actions and processes according to a computer program stored in a Read Only Memory (ROM)702 or a computer program loaded from a storage unit 708 into a Random Access Memory (RAM) 703. In the RAM 703, various programs and data required for the operation of the device 700 can also be stored. The computing unit 701, the ROM 702, and the RAM 703 are connected to each other by a bus 704. An input/output (I/O) interface 705 is also connected to bus 704.
Various components in the device 700 are connected to the I/O interface 705, including: an input unit 706 such as a keyboard, a mouse, or the like; an output unit 707 such as various types of displays, speakers, and the like; a storage unit 708 such as a magnetic disk, optical disk, or the like; and a communication unit 709 such as a network card, modem, wireless communication transceiver, etc. The communication unit 709 allows the device 700 to exchange information/data with other devices via a computer network, such as the internet, and/or various telecommunication networks.
Computing unit 701 may be a variety of general purpose and/or special purpose processing components with processing and computing capabilities. Some examples of the computing unit 701 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various specialized Artificial Intelligence (AI) computing chips, various computing units running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, and so forth. The computing unit 701 performs the various methods and processes described above, such as the method of establishing a data connection. For example, in some embodiments, the method of establishing a data connection may be implemented as a computer software program tangibly embodied in a machine-readable medium, such as storage unit 708. In some embodiments, part or all of a computer program may be loaded onto and/or installed onto device 700 via ROM 702 and/or communications unit 709. When the computer program is loaded into the RAM 703 and executed by the computing unit 701, one or more steps of the method of establishing a data connection described above may be performed. Alternatively, in other embodiments, the computing unit 701 may be configured by any other suitable means (e.g. by means of firmware) to perform the method of establishing a data connection.
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuitry, Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), system on a chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, receiving data and instructions from, and transmitting data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for implementing the methods of the present application may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions/operations specified in the flowchart and/or block diagram to be performed. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this application, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic, speech, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), Wide Area Networks (WANs), and the Internet.
The computer system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The Server may be a cloud Server, which is also called a cloud computing Server or a cloud host, and is a host product in a cloud computing service system, so as to solve the defects of high management difficulty and weak service extensibility in the conventional physical host and Virtual Private Server (VPS) service. The server may also be divided into servers of a distributed system, or servers that incorporate a blockchain.
According to the technical scheme of the embodiment of the application, the PCIE port configuration can be dynamically realized, so that the scanning information of the request end is adaptively configured, the flexibility of a data receiving end system is improved, and the design cost is reduced.
It should be understood that various forms of the flows shown above may be used, with steps reordered, added, or deleted. For example, the steps described in the present application may be executed in parallel, sequentially, or in different orders, as long as the desired results of the technical solutions disclosed in the present application can be achieved, and the present invention is not limited herein.
The above-described embodiments should not be construed as limiting the scope of the present application. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may be made in accordance with design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims (17)

1. A method of establishing a data connection, comprising:
in response to receiving port scanning information sent by a request terminal based on a PCIE protocol, generating at least one virtual PCIE port corresponding to port requirement information contained in the port scanning information;
respectively controlling each virtual PCIE port to return response information to the request terminal;
and in response to receiving a target port connection request sent by the request terminal according to the response information, establishing data connection between the request terminal and the target virtual PCIE port.
2. The method of claim 1, wherein generating at least one virtual PCIE port corresponding to port requirement information included in the port scanning information includes:
extracting port requirement information contained in the port scanning information from the port scanning information;
and generating a virtual PCIE port meeting the quantity requirement and the performance requirement according to the quantity requirement and the performance requirement of the target port in the port requirement information.
3. The method of claim 1, further comprising:
acquiring a to-be-processed data packet sent to the target virtual PCIE port by the request terminal based on a PCIE protocol, and decomposing the to-be-processed data packet into port pointing information and data information;
sending the port pointing information to a control panel, and controlling the control panel to generate configuration parameters for processing the data information;
and sending the data information to a processing panel, and controlling the processing panel to perform data processing according to the configuration parameters.
4. The method of claim 3, before sending the port direction information to a control panel, the control panel being controlled to generate configuration parameters for processing the data information, further comprising:
determining equipment virtual information according to the data packet to be processed;
sending the equipment virtual information to the control panel, and controlling the control panel to generate local virtual equipment according to the equipment virtual information; and
the controlling the control panel to generate the configuration parameters for processing the data information comprises: and generating configuration for the local virtual equipment according to the port pointing information, and generating configuration parameters for processing the data information.
5. The method of claim 3, further comprising:
acquiring a data processing result generated by the processing panel, and combining the port pointing information and the data processing result to generate a data feedback result;
and feeding back the data feedback result to the request end.
6. The method of claim 3, the step of controlling the processing panel to perform data processing according to the configuration parameters comprising:
controlling the processing panel to start DMA reading operation by adopting the configuration parameters;
and controlling the processing panel to send a DMA reading request to the request end, and receiving response data corresponding to the DMA reading request for data processing.
7. The method according to claim 1, after said separately controlling each of the virtual PCIE ports to return response information to the request end, further comprising:
acquiring configuration information of each virtual PCIE port, and correspondingly generating a configuration information set;
in response to receiving a configuration information set acquisition request sent by other receiving terminals, sending the configuration information set to the other receiving terminals;
and controlling the other receiving ends to carry out virtual PCIE port configuration according to the configuration information set.
8. An apparatus for establishing a data connection, comprising:
the port generation unit is configured to respond to receiving port scanning information sent by a request end based on a PCIE protocol, and generate at least one virtual PCIE port corresponding to port requirement information contained in the port scanning information;
the port response unit is configured to respectively control each virtual PCIE port to return response information to the request terminal;
and the connection establishing unit is configured to respond to a target port connection request sent by the request end according to the response information, and establish data connection between the request end and the target virtual PCIE port.
9. The apparatus of claim 8, wherein the port generation unit comprises:
a requirement information obtaining subunit configured to extract port requirement information included in the port scanning information from the port scanning information;
and the port generation subunit is configured to generate a virtual PCIE port that meets the number requirement and the performance requirement according to the number requirement and the performance requirement of the target port in the port requirement information.
10. The apparatus of claim 9, further comprising:
a to-be-processed data decomposition unit configured to acquire a to-be-processed data packet sent by the request terminal to the target virtual PCIE port based on a PCIE protocol, and decompose the to-be-processed data packet into port direction information and data information;
the configuration parameter generating unit is configured to send the port pointing information to a control panel and control the control panel to generate configuration parameters for processing the data information;
and the data processing unit is configured to send the data information to a processing panel and control the processing panel to perform data processing according to the configuration parameters.
11. The apparatus of claim 9, further comprising:
a device virtual information determining unit configured to determine device virtual information from the to-be-processed data packet;
the equipment virtual unit is configured to send the equipment virtual information to the control panel, and the control panel is controlled to generate local virtual equipment according to the equipment virtual information; and
the configuration parameter generation unit is further configured to generate configuration parameters for configuring the local virtual device according to the port direction information, and generate the configuration parameters for processing the data information.
12. The apparatus of claim 9, further comprising:
the data feedback result generating unit is configured to acquire a data processing result generated by the processing panel, combine the port pointing information and the data processing result, and generate a data feedback result;
a data feedback result feedback unit configured to feed back the data feedback result to the request end.
13. The apparatus of claim 9, wherein the data processing unit comprises:
a data information transmitting subunit configured to transmit the data information to a processing panel;
a read operation initiation subunit configured to control the processing panel to initiate a DMA read operation using the configuration parameters;
a read request sending subunit configured to control the processing panel to send a DMA read request to the request terminal;
and the data response processing subunit is configured to control the processing panel to perform data processing after receiving the response data corresponding to the DMA read request.
14. The apparatus of claim 8, further comprising:
a configuration information set generating unit configured to obtain configuration information of each virtual PCIE port after the virtual PCIE ports are respectively controlled to return response information to the request terminal, and generate a configuration information set correspondingly;
the configuration information set sending unit is configured to respond to the received configuration information set acquisition request sent by other receiving ends and send the configuration information set to the other receiving ends;
and the port configuration control unit is configured to control the other receiving ends to perform virtual PCIE port configuration according to the configuration information set.
15. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of establishing a data connection of any one of claims 1-7.
16. A non-transitory computer readable storage medium having stored thereon computer instructions for causing the computer to perform the method of establishing a data connection of any one of claims 1-7.
17. A computer program product comprising a computer program which, when executed by a processor, implements a method of establishing a data connection according to any one of claims 1-7.
CN202110153316.4A 2021-02-04 2021-02-04 Method for establishing data connection, related device and computer program product Active CN112835837B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110153316.4A CN112835837B (en) 2021-02-04 2021-02-04 Method for establishing data connection, related device and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110153316.4A CN112835837B (en) 2021-02-04 2021-02-04 Method for establishing data connection, related device and computer program product

Publications (2)

Publication Number Publication Date
CN112835837A true CN112835837A (en) 2021-05-25
CN112835837B CN112835837B (en) 2023-06-23

Family

ID=75932039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110153316.4A Active CN112835837B (en) 2021-02-04 2021-02-04 Method for establishing data connection, related device and computer program product

Country Status (1)

Country Link
CN (1) CN112835837B (en)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620551A (en) * 2009-05-07 2010-01-06 曙光信息产业(北京)有限公司 Network card interrupt control method for a plurality of virtual machines
US20140181354A1 (en) * 2012-12-11 2014-06-26 Huawei Technologies Co., Ltd. SYSTEM AND METHOD FOR TRANSMITTING DATA BASED ON PCIe
CN103931144A (en) * 2013-07-08 2014-07-16 华为技术有限公司 Method, equipment and system for communication in virtual domain
WO2017004746A1 (en) * 2015-07-03 2017-01-12 华为技术有限公司 Network configuration method, network system and device
CN107278299A (en) * 2015-03-26 2017-10-20 英特尔公司 The functional methods, devices and systems of secondary bus are realized via reconfigurable virtual switch
CN109445905A (en) * 2018-06-22 2019-03-08 华为技术有限公司 Virtual-machine data communication means and system and virtual machine configuration method and apparatus
CN110413554A (en) * 2018-04-28 2019-11-05 杭州海康威视数字技术股份有限公司 Hot plug system and hot-plug method
CN110543404A (en) * 2019-07-19 2019-12-06 广东浪潮大数据研究有限公司 Server, hard disk lighting method and system and computer readable storage medium
CN111092773A (en) * 2019-12-25 2020-05-01 成都九芯微科技有限公司 PCIE (peripheral component interface express) switching chip port configuration system and method supporting virtual switching
US20200250119A1 (en) * 2019-02-01 2020-08-06 Liqid Inc. Specialized Device Instantiation Onto PCIe Fabrics
CN111656336A (en) * 2018-06-30 2020-09-11 华为技术有限公司 PCIE sending and receiving method, device, equipment and system
CN111913794A (en) * 2020-08-04 2020-11-10 北京百度网讯科技有限公司 Method and device for sharing GPU, electronic equipment and readable storage medium

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620551A (en) * 2009-05-07 2010-01-06 曙光信息产业(北京)有限公司 Network card interrupt control method for a plurality of virtual machines
US20140181354A1 (en) * 2012-12-11 2014-06-26 Huawei Technologies Co., Ltd. SYSTEM AND METHOD FOR TRANSMITTING DATA BASED ON PCIe
CN103931144A (en) * 2013-07-08 2014-07-16 华为技术有限公司 Method, equipment and system for communication in virtual domain
CN107278299A (en) * 2015-03-26 2017-10-20 英特尔公司 The functional methods, devices and systems of secondary bus are realized via reconfigurable virtual switch
WO2017004746A1 (en) * 2015-07-03 2017-01-12 华为技术有限公司 Network configuration method, network system and device
CN106664242A (en) * 2015-07-03 2017-05-10 华为技术有限公司 Network configuration method, network system and device
CN110413554A (en) * 2018-04-28 2019-11-05 杭州海康威视数字技术股份有限公司 Hot plug system and hot-plug method
CN109445905A (en) * 2018-06-22 2019-03-08 华为技术有限公司 Virtual-machine data communication means and system and virtual machine configuration method and apparatus
CN111656336A (en) * 2018-06-30 2020-09-11 华为技术有限公司 PCIE sending and receiving method, device, equipment and system
US20200250119A1 (en) * 2019-02-01 2020-08-06 Liqid Inc. Specialized Device Instantiation Onto PCIe Fabrics
CN110543404A (en) * 2019-07-19 2019-12-06 广东浪潮大数据研究有限公司 Server, hard disk lighting method and system and computer readable storage medium
CN111092773A (en) * 2019-12-25 2020-05-01 成都九芯微科技有限公司 PCIE (peripheral component interface express) switching chip port configuration system and method supporting virtual switching
CN111913794A (en) * 2020-08-04 2020-11-10 北京百度网讯科技有限公司 Method and device for sharing GPU, electronic equipment and readable storage medium

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王展;安学军;: "云数据中心I/O资源池化", 集成技术, no. 01 *
马云;游夏;: "基于TMS320C6678的国产DSP操作***引导程序设计", 电子技术与软件工程, no. 06 *

Also Published As

Publication number Publication date
CN112835837B (en) 2023-06-23

Similar Documents

Publication Publication Date Title
US10986171B2 (en) Method for unified communication of server, baseboard management controller, and server
US11200079B2 (en) System and method for virtual machine live migration
EP3033681B1 (en) Method and apparatus for delivering msi-x interrupts through non-transparent bridges to computing resources in pci-express clusters
CN110888827B (en) Data transmission method, device, equipment and storage medium
CN109445905B (en) Virtual machine data communication method and system and virtual machine configuration method and device
EP2889780B1 (en) Data processing system and data processing method
CN113296884B (en) Virtualization method, virtualization device, electronic equipment, virtualization medium and resource virtualization system
EP3343364A1 (en) Accelerator virtualization method and apparatus, and centralized resource manager
EP3076296A1 (en) Computer, control device and data processing method
US10621124B2 (en) Method, device and computer program product for enabling SR-IOV functions in endpoint device
CN113645047B (en) Out-of-band management system and server based on intelligent network card
CN113849312A (en) Data processing task allocation method and device, electronic equipment and storage medium
CN112929183B (en) Intelligent network card, message transmission method, device, equipment and storage medium
CN114742000B (en) SoC chip verification system, method and device based on FPGA cluster
CN114936173A (en) Read-write method, device, equipment and storage medium of eMMC device
CN113778593A (en) Cloud desktop control method and device, electronic equipment, storage medium and program product
CN112835837B (en) Method for establishing data connection, related device and computer program product
CN115514718B (en) Data interaction method, control layer and equipment based on data transmission system
CN113726881B (en) Communication connection establishment method, related device and computer readable storage medium
CN116743587B (en) Virtual network interface implementation method and device based on heterogeneous computing accelerator card
CN108108243B (en) Resource sharing system and method
CN116846977A (en) Network sharing method, device and system, electronic equipment and storage medium
CN116737403A (en) Data processing method, device, electronic equipment and storage medium
US10042809B2 (en) Method for communication using PCI express dedicated communication module and network device including the same
CN117421268A (en) Interconnection system, equipment and network

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