CN116361038B - 一种加速计算管理方法、系统、设备及存储介质 - Google Patents
一种加速计算管理方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN116361038B CN116361038B CN202310647213.2A CN202310647213A CN116361038B CN 116361038 B CN116361038 B CN 116361038B CN 202310647213 A CN202310647213 A CN 202310647213A CN 116361038 B CN116361038 B CN 116361038B
- Authority
- CN
- China
- Prior art keywords
- task
- acceleration
- computing
- message
- acceleration calculation
- 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.)
- Active
Links
- 230000001133 acceleration Effects 0.000 title claims abstract description 253
- 238000007726 management method Methods 0.000 title claims abstract description 32
- 238000004364 calculation method Methods 0.000 claims abstract description 248
- 238000004891 communication Methods 0.000 claims abstract description 64
- 238000004590 computer program Methods 0.000 claims description 14
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000000034 method Methods 0.000 abstract description 26
- 230000008569 process Effects 0.000 abstract description 12
- 230000003993 interaction Effects 0.000 abstract description 11
- 230000009286 beneficial effect Effects 0.000 abstract description 6
- 230000005540 biological transmission Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种加速计算管理方法、系统、设备及存储介质,涉及加速计算领域,包括:根据加速计算任务创建Socket通讯的服务器端;根据加速计算任务生成加速计算消息,并发送至MQTT服务器模块;利用MQTT服务器模块根据加速计算消息确定目标加速器,并将加速计算消息发送至目标加速器;根据加速计算消息创建加速计算任务对应的Socket通讯客户端,并与服务器端进行连接,通过目标加速器利用客户端通过服务器端获取目标数据,以执行加速计算任务。可以向MQTT服务器发布任务消息,订阅对应消息的加速器接收任务消息并与计算任务模块建立通讯进行数据交互及任务执行,有利于提高加速器的确定过程,进而提高加速计算效率。
Description
技术领域
本发明涉及加速计算领域,特别涉及一种加速计算管理方法、系统、设备及存储介质。
背景技术
AI(Artificial Intelligence,人工智能)加速计算是一种现代计算方式,它将应用的数据密集型部分分离,在一个单独的加速器件上处理,并将计算资源调度的功能交给CPU(Central Processing Unit,中央处理器)处理,这样一来,有助于要求极高的应用更快、更高效地运行。因为底层处理器硬件对于所需的处理类型而言更高效,硬件加速器通常具有并行处理结构,允许它们同时执行多项任务,无需一项一项地按线性或并行方式执行。因此CPU在工作时需要不断地查询加速器当前的工作状态,以确定是否可以下发任务到加速器,当有多个相同或不同的加速器时,CPU需要制定相应的调度策略来确定选择哪一个加速器执行任务。在硬件加速器性能不断提高的情况下,整个加速计算系统的加速计算瓶颈就变成了CPU不断地对加速器状态进行查询和对加速计算任务进行调度分配以及查询获取加速器的计算结果。同时这种方式也不利于加速计算系统的功能扩展。因此,如何解决通过CPU对加速器状态进行查询和对加速计算任务进行调度分配无法满足性能不断提高的硬件加速器导致的加速计算效率较低的问题,是本领域亟待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种加速计算管理方法、系统、设备及存储介质,可以在收到加速计算任务时向MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)服务器发布任务消息,订阅对应任务消息的加速器接收到任务消息后,与计算任务模块通过Socket通讯建立通讯进行数据交互及加速计算任务执行,有利于提高加速计算任务对应的加速器的确定过程,进而提高加速计算效率。其具体方案如下:
第一方面,本申请提供了一种加速计算管理方法,包括:
利用计算任务模块获取目标数据对应的计算任务,并在所述计算任务为加速计算任务时,创建所述加速计算任务对应的Socket通讯的服务器端;
根据所述加速计算任务生成加速计算消息,并将所述加速计算消息发送至MQTT服务器模块;
利用所述MQTT服务器模块根据所述加速计算消息确定目标加速器,并将所述加速计算消息发送至所述目标加速器;
根据所述加速计算消息创建所述加速计算任务对应的所述Socket通讯的客户端,并将所述客户端与所述服务器端进行连接,通过所述目标加速器利用所述客户端通过所述服务器端获取所述目标数据,以执行所述加速计算任务。
可选的,所述利用计算任务模块获取目标数据对应的计算任务之后,还包括:
若所述计算任务为普通计算任务时,直接利用所述计算任务模块进行针对所述目标数据的计算。
可选的,所述根据所述加速计算任务生成加速计算消息,包括:
利用所述计算任务模块确定所述加速计算任务的任务类型,并根据所述任务类型和所述Socket通讯的IP地址、端口号生成对应的加速计算消息。
可选的,所述将所述加速计算消息发送至MQTT服务器模块,包括:
将所述加速计算任务的任务类型作为所述加速计算消息的消息主题,并基于所述消息主题将所述加速计算消息发送至MQTT服务器模块;
相应的,所述利用所述MQTT服务器模块根据所述加速计算消息确定目标加速器,包括:
利用所述MQTT服务器模块根据所述加速计算消息的消息主题确定所述加速计算任务的任务类型,将所述任务类型与预设若干加速器当前订阅的若干目标任务类型进行对比,以从所述若干加速器中确定目标加速器。
可选的,所述将所述加速计算消息发送至所述目标加速器之后,还包括:
若当前所述预设若干加速器均未订阅所述加速计算任务的任务类型,则在根据预设时间范围确定所述服务器端连接超时后,利用所述服务器端重新将所述加速计算消息发送至所述MQTT服务器模块,并生成所述加速计算消息对应的日志记录,以便预设统计分析模块对所述日志记录进行统计。
可选的,所述通过所述目标加速器利用所述客户端通过所述服务器端获取所述目标数据,以执行所述加速计算任务,包括:
通过所述目标加速器利用所述客户端通过所述服务器端获取所述加速计算任务;
若所述目标加速器获取所述加速计算任务成功,则取消自身订阅的目标任务类型,并根据所述加速计算任务获取所述目标数据和所述目标数据对应的计算规则,以根据所述计算规则执行所述加速计算任务。
可选的,所述执行所述加速计算任务之后,还包括:
通过所述目标加速器将所述加速计算任务对应的任务执行结果发送至所述计算任务模块,并重新向所述MQTT服务器模块订阅取消订阅的所述目标任务类型,以便所述计算任务模块接收所述任务执行结果后,将所述客户端与所述服务器端断开连接,并销毁所述Socket通讯。
第二方面,本申请提供了一种加速计算管理系统,包括:
计算任务模块,用于获取目标数据对应的计算任务,在所述计算任务为加速计算任务时,创建所述加速计算任务对应的Socket通讯的服务器端,并根据所述加速计算任务生成加速计算消息,并将所述加速计算消息发送至MQTT服务器模块;
MQTT服务器模块,用于根据所述加速计算消息确定目标加速器,并将所述加速计算消息发送至所述目标加速器;
加速器模块,用于根据所述加速计算消息创建所述加速计算任务对应的所述Socket通讯的客户端,并将所述客户端与所述服务器端进行连接,通过所述目标加速器利用所述客户端通过所述服务器端获取所述目标数据,以执行所述加速计算任务。
第三方面,本申请提供了一种电子设备,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述的加速计算管理方法。
第四方面,本申请提供了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的加速计算管理方法。
本申请中,利用计算任务模块获取目标数据对应的计算任务,并在所述计算任务为加速计算任务时,创建所述加速计算任务对应的Socket通讯的服务器端;根据所述加速计算任务生成加速计算消息,并将所述加速计算消息发送至MQTT服务器模块;利用所述MQTT服务器模块根据所述加速计算消息确定目标加速器,并将所述加速计算消息发送至所述目标加速器;根据所述加速计算消息创建所述加速计算任务对应的所述Socket通讯的客户端,并将所述客户端与所述服务器端进行连接,通过所述目标加速器利用所述客户端通过所述服务器端获取所述目标数据,以执行所述加速计算任务。通过上述技术方案,本申请可以基于MQTT协议进行加速计算管理,利用MQTT协议基于发布订阅的模式,取消CPU的查询及计算任务的调度工作,当CPU有计算任务时通过计算任务模块向MQTT服务器发布任务消息,订阅对应的任务消息的加速器接收到任务消息后通过Socket通讯与计算任务模块建立通讯,进行数据的交互及加速计算任务的执行,这样一来,可以将CPU的计算任务与加速器的加速计算任务解耦,CPU计算任务不再关注加速器执行的具体任务和工作状态,只需要将任务发布到MQTT服务器,然后通过MQTT服务器等待加速器针对对应的加速计算任务的连接请求即可,避免了由于性能不断提高的硬件加速器导致的加速计算效率较低的问题,有利于提高加速计算任务对应的加速器的确定过程,进而提高加速计算效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种加速计算管理方法流程图;
图2为本申请提供的一种基于MQTT协议的加速计算管理方法实现原理图;
图3为本申请提供的一种基于MQTT协议的加速计算网络结构图;
图4为本申请提供的一种具体的加速计算管理方法流程图;
图5为本申请提供的一种基于MQTT协议的加速计算管理方法流程图;
图6为本申请提供的一种加速计算管理系统示意图;
图7为本申请提供的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
AI加速计算时若有多个加速器,CPU需要制定相应的调度策略来确定选择哪一个加速器执行任务。硬件加速器性能的提高导致加速计算瓶颈变成了CPU对加速器状态进行查询和对加速计算任务进行调度分配的效率。而MQTT作为一种用于实时通信的轻量级、非持久化消息传递协议,MQTT协议基于发布/订阅模型,允许设备在主动模式下发布消息,并在接收到消息时订阅主题以接收响应,能够实时地将数据传输到目标设备,因此非常适合需要实时数据的应用场景。因此本申请可以利用MQTT协议基于发布订阅的模式,取消CPU的查询及计算任务的调度工作,通过向MQTT服务器发布任务消息,使订阅任务消息的加速器通过Socket通讯与计算任务模块建立通讯,进行数据交互及任务执行,有利于提高加速计算任务对应的加速器的确定过程,进而提高加速计算效率。
参见图1所示,本发明实施例公开了一种加速计算管理方法,包括:
步骤S11、利用计算任务模块获取目标数据对应的计算任务,并在所述计算任务为加速计算任务时,创建所述加速计算任务对应的Socket通讯的服务器端。
本实施例中,首先通过计算任务模块获取到用户的计算需求,并分析计算过程,在没有加速计算需求时,即若所述计算任务为普通计算任务时,直接利用所述计算任务模块进行针对所述目标数据的普通计算任务的计算。当有加速计算需求时,利用计算任务模块获取目标数据对应的计算任务,产生一个加速计算任务对应的Socket通讯的服务器端,以便实时监听是否有客户端的连接请求。可以理解的是,上述Socket通讯用于网络中一台计算机中的程序与其他计算机的程序之间的数据交换,也称作“套接字”,用于描述IP地址(Internet Protocol Address)和端口,是一个通信链路的描述符,应用程序通常通过“套接字”向对端发出请求或者应答网络请求。Socket是连接运行在网络上的两个程序之间的通信端点,通信的两端都有Socket,它是一个通道,数据在两个Socket之间进行传输。通过Socket进行加速计算任务的数据传输,可以保证数据传输时间短、效率高,有利于客户端和服务器端之间的数据实时交互。
需要指出的是,上述步骤以及本申请中的实施例均通过预设的加速计算管理系统完成,上述加速计算管理系统由计算任务模块、MQTT服务器模块、加速器模块及统计分析模块组成,同时还包括用于计算任务模块和加速器模块之间传输数据的数据传输通道,计算任务模块、MQTT服务器模块、加速器模块通过高速以太网进行连接。其中计算任务模块、加速器模块中的加速器可以根据系统的加速计算需求进行灵活的配置,计算任务模块中保存有目标数据以及对应的计算任务。并且,为保证消息传输的实时性,计算任务模块、加速器模块与MQTT服务器模块保持实时在线通信。
步骤S12、根据所述加速计算任务生成加速计算消息,并将所述加速计算消息发送至MQTT服务器模块。
本实施例中,根据加速计算任务生成加速计算消息,并将加速计算消息发送至MQTT服务器模块。首先利用计算任务模块确定加速计算任务的任务类型,并根据上述任务类型和建立的Socket通讯的IP地址、端口号生成对应的加速计算消息。通过将任务类型和Socket通讯的IP地址、端口号打包生成一个消息发布到MQTT服务器模块,以便Socket服务器端等待订阅此消息的加速器Socket客户端的连接请求。并且在加速计算消息发送时将加速计算任务的任务类型作为加速计算消息的消息主题,并基于上述消息主题将加速计算消息发送至MQTT服务器模块。这样一来,利用MQTT协议基于发布订阅的模式,取消CPU的查询及计算任务的调度工作,当CPU有计算任务时通过计算任务模块向MQTT服务器发布任务消息,订阅对应的任务消息的加速器接收到任务消息后通过Socket通讯与计算任务模块建立通讯,进行数据的交互及加速计算任务的执行,可以提高数据的交互效率。
步骤S13、利用所述MQTT服务器模块根据所述加速计算消息确定目标加速器,并将所述加速计算消息发送至所述目标加速器。
本实施例中,利用MQTT服务器模块根据加速计算消息的消息主题确定加速计算任务的任务类型,将确定的任务类型与预设若干加速器当前订阅的若干目标任务类型进行对比,以从若干加速器中确定目标加速器,并将加速计算消息发送至目标加速器。MQTT服务器可以通过消息主题确定将任务消息转发给哪个加速器,将接收到的任务消息转发给订阅此类型加速计算任务的任务消息的加速器。
步骤S14、根据所述加速计算消息创建所述加速计算任务对应的所述Socket通讯的客户端,并将所述客户端与所述服务器端进行连接,通过所述目标加速器利用所述客户端通过所述服务器端获取所述目标数据,以执行所述加速计算任务。
本实施例中,根据加速计算消息创建加速计算任务对应的Socket通讯的客户端,并将客户端与服务器端进行连接,通过目标加速器利用客户端通过服务器端获取目标数据,以执行加速计算任务。加速器在获取到MQTT服务器转发的任务消息后,对任务消息的主体进行解析获取到计算任务模块的IP地址、端口号,如图2所示,创建一个Socket客户端去连接计算任务模块的Socket服务器端,连接成功后向计算任务模块索要加速计算所需的原始的目标数据和加速计算所需的规则信息,以执行对应的加速计算任务。可以理解的是,如图2所示,加速器模块中的加速器1、加速器2…加速器N的计算功能可以相同,也可以不同,可以根据实际情况进行调整。
通过上述技术方案,通过如图3所示的加速计算网络,本实施例利用计算任务模块获取目标数据对应的加速计算任务,创建对应的Socket通讯的服务器端。根据加速计算任务生成加速计算消息,并将加速计算消息发送至MQTT服务器模块。利用MQTT服务器模块根据加速计算消息确定目标加速器,并将加速计算消息发送至目标加速器。根据加速计算消息创建加速计算任务对应的Socket通讯的客户端,并将客户端与服务器端进行连接,通过目标加速器利用客户端通过服务器端获取目标数据,以执行加速计算任务。这样一来,本实施例可以基于MQTT协议进行加速计算管理,利用MQTT协议基于发布订阅的模式,当有加速计算任务时通过计算任务模块向MQTT服务器发布任务消息,订阅对应的任务消息的加速器接收到任务消息后通过Socket通讯与计算任务模块建立通讯,进行数据的交互及加速计算任务的执行,因此在加速计算任务执行时只需要将任务发布到MQTT服务器,然后通过MQTT服务器等待加速器针对对应的加速计算任务的连接请求即可,有利于提高加速计算任务对应的加速器的确定过程,进而提高加速计算效率。
基于上一实施例可知,本申请可以通过向MQTT服务器发布任务消息,使订阅任务消息的加速器通过Socket通讯与计算任务模块建立通讯,进行数据交互及任务执行,接下来,本实施例中将对加速计算任务执行的过程进行详细地阐述。参见图4所示,本申请实施例公开了一种具体的加速计算管理方法,包括:
步骤S21、利用MQTT服务器模块根据加速计算消息确定目标加速器,并将加速计算消息发送至目标加速器。
步骤S22、若当前预设若干加速器均未订阅加速计算任务的任务类型,则在根据预设时间范围确定服务器端连接超时后,利用所述服务器端重新将所述加速计算消息发送至所述MQTT服务器模块,以便所述MQTT服务器模块将所述加速计算消息发送至所述目标加速器。
本实施例中,在利用MQTT服务器模块根据加速计算消息确定目标加速器时,若当前预设若干加速器均未订阅当前的加速计算任务的任务类型,则在根据预设时间范围确定服务器端连接超时后,利用服务器端重新将加速计算消息发送至MQTT服务器模块,并生成加速计算消息对应的日志记录,以便预设统计分析模块对日志记录进行统计。MQTT服务器将接收到的任务消息转发给订阅此消息的加速器后,如果此时没有加速器订阅此消息则说明加速器都在工作中,暂时没有多余的加速器可用,计算任务模块的Socket服务器端在等待连接超时后将重新发起计算任务消息到MQTT服务器。可以理解的是,上述统计分析模块负责对参与加速计算任务的加速器的功能属性、IP地址信息、使用频次等进行统计,以便为后续整个系统的功能扩展提供数据参考依据。
步骤S23、根据所述加速计算消息创建所述加速计算任务对应的Socket通讯的客户端,并将所述客户端与所述服务器端进行连接,通过所述目标加速器利用所述客户端通过所述服务器端获取所述加速计算任务。
步骤S24、若所述目标加速器获取所述加速计算任务成功,则取消自身订阅的目标任务类型,并根据所述加速计算任务获取目标数据和所述目标数据对应的计算规则,以根据所述计算规则执行所述加速计算任务。
本实施例中,根据加速计算消息创建加速计算任务对应的Socket通讯的客户端,并将客户端与服务器端进行连接后,通过目标加速器利用客户端通过服务器端获取加速计算任务。若目标加速器获取加速计算任务成功,则取消自身订阅的目标任务类型,并根据加速计算任务获取目标数据和目标数据对应的计算规则,以根据计算规则执行对应的加速计算任务。通过在加速器获取到加速计算任务后取消订阅自己所处理的加速计算类型消息,有助于MQTT服务器对加速计算任务的调度。
在加速计算任务执行完毕后,通过目标加速器将加速计算任务对应的任务执行结果发送至计算任务模块,并重新向MQTT服务器模块订阅取消订阅的目标任务类型,以便计算任务模块接收任务执行结果后,将客户端与服务器端断开连接,并销毁Socket通讯。在加速器完成计算任务模块所需的加速计算任务后,把计算结果上送到计算任务模块,并重新向MQTT服务器订阅自己所处理的加速计算类型消息,以便继续接收加速计算任务。加速器计算完成后再将计算结果返回到Socket服务器端,计算任务模块在接收完成加速器上送的计算结果后,断开与加速器的连接,并将本次任务的Socket销毁,结束计算加速任务。需要指出的是,当没有加速计算消息传送时,系统定时发送心跳包以维持客户端、服务器之间的通讯链路,心跳包的发送端与接收端根据实际情况而定,在此不做具体限定。在没有加速计算任务时,计算任务模块与加速模块之间没有通讯连接,计算任务模块无需知道网络上有哪些加速模块正在运行、哪些加速模块空闲,只需将计算任务消息发送到MQTT服务器即可,加速器通过MQTT服务器获取到加速任务信息,因此加速器也无需关心网络上计算任务模块有哪些,只关注加速任务信息即可,加速器只有在领取到计算任务后,才会根据任务信息去连接计算任务模块。
其中,关于上述步骤S21、S23更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本实施例中,如图5所示,本实施例利用计算任务模块获取目标数据对应的计算任务,创建加速计算任务对应的服务器端。根据加速计算任务生成加速计算消息,并发送至MQTT服务器模块。利用所述MQTT服务器模块根据所述加速计算消息确定订阅该消息的目标加速器,并将加速计算消息发送至目标加速器,以便加速器解析任务消息。根据加速计算消息将客户端与服务器端进行连接,利用客户端获取加速计算任务和目标数据,以根据计算规则执行加速计算任务,并在计算任务模块接收任务执行结果后,将客户端与服务器端断开连接,并销毁Socket通讯。这样一来,本实施例当有计算任务时通过计算任务模块向MQTT服务器发布任务消息,订阅对应的任务消息的加速器接收到任务消息后通过Socket通讯与计算任务模块建立通讯,进行数据的交互及加速计算任务的执行,这样一来,在没有加速计算任务时,计算任务模块与加速模块之间没有通讯连接,计算任务模块只需将计算任务消息发送到MQTT服务器即可,加速器通过MQTT服务器获取到加速任务信息,加速器只有在领取到计算任务后,才会根据任务信息去连接计算任务模块,有利于提高加速计算任务对应的加速器的确定过程,进而提高加速计算任务执行的效率。
参见图6所示,本申请实施例还公开了一种加速计算管理系统,包括:
计算任务模块11,用于获取目标数据对应的计算任务,在所述计算任务为加速计算任务时,创建所述加速计算任务对应的Socket通讯的服务器端,并根据所述加速计算任务生成加速计算消息,并将所述加速计算消息发送至MQTT服务器模块;
MQTT服务器模块12,用于根据所述加速计算消息确定目标加速器,并将所述加速计算消息发送至所述目标加速器;
加速器模块13,用于根据所述加速计算消息创建所述加速计算任务对应的所述Socket通讯的客户端,并将所述客户端与所述服务器端进行连接,通过所述目标加速器利用所述客户端通过所述服务器端获取所述目标数据,以执行所述加速计算任务。
本实施例中,利用计算任务模块获取目标数据对应的计算任务,并在所述计算任务为加速计算任务时,创建所述加速计算任务对应的Socket通讯的服务器端;根据所述加速计算任务生成加速计算消息,并将所述加速计算消息发送至MQTT服务器模块;利用所述MQTT服务器模块根据所述加速计算消息确定目标加速器,并将所述加速计算消息发送至所述目标加速器;根据所述加速计算消息创建所述加速计算任务对应的所述Socket通讯的客户端,并将所述客户端与所述服务器端进行连接,通过所述目标加速器利用所述客户端通过所述服务器端获取所述目标数据,以执行所述加速计算任务。通过上述技术方案,可以利用MQTT协议基于发布订阅的模式,取消CPU的查询及计算任务的调度工作,当CPU有计算任务时通过计算任务模块向MQTT服务器发布任务消息,订阅对应的任务消息的加速器接收到任务消息后通过Socket通讯与计算任务模块建立通讯,进行数据的交互及加速计算任务的执行,这样一来,可以将CPU的计算任务与加速器的加速计算任务解耦,CPU不再关注加速器执行的具体任务和工作状态,只需将任务发布到MQTT服务器,然后通过MQTT服务器等待加速器针对对应的加速计算任务的连接请求即可,有利于提高加速计算任务对应的加速器的确定过程,进而提高加速计算效率。
在一些具体实施例中,所述计算任务模块11,还包括:
数据计算单元,用于若所述计算任务为普通计算任务时,直接利用所述计算任务模块进行针对所述目标数据的计算。
在一些具体实施例中,所述计算任务模块11,具体包括:
消息生成单元,用于利用所述计算任务模块确定所述加速计算任务的任务类型,并根据所述任务类型和所述Socket通讯的IP地址、端口号生成对应的加速计算消息。
在一些具体实施例中,所述计算任务模块11,具体包括:
消息发送单元,用于将所述加速计算任务的任务类型作为所述加速计算消息的消息主题,并基于所述消息主题将所述加速计算消息发送至MQTT服务器模块;
相应的,所述MQTT服务器模块12,具体包括:
任务类型确定单,用于利用所述MQTT服务器模块根据所述加速计算消息的消息主题确定所述加速计算任务的任务类型,将所述任务类型与预设若干加速器当前订阅的若干目标任务类型进行对比,以从所述若干加速器中确定目标加速器。
相应的,所述加速器模块13,还包括:
日志记录单元,用于若当前所述预设若干加速器均未订阅所述加速计算任务的任务类型,则在根据预设时间范围确定所述服务器端连接超时后,利用所述服务器端重新将所述加速计算消息发送至所述MQTT服务器模块,并生成所述加速计算消息对应的日志记录,以便预设统计分析模块对所述日志记录进行统计。
在一些具体实施例中,所述加速器模块13,具体包括:
任务获取单元,用于通过所述目标加速器利用所述客户端通过所述服务器端获取所述加速计算任务;
任务执行单元,用于若所述目标加速器获取所述加速计算任务成功,则取消自身订阅的目标任务类型,并根据所述加速计算任务获取所述目标数据和所述目标数据对应的计算规则,以根据所述计算规则执行所述加速计算任务。
在一些具体实施例中,所述加速器模块13,还包括:
任务订阅单元,用于通过所述目标加速器将所述加速计算任务对应的任务执行结果发送至所述计算任务模块,并重新向所述MQTT服务器模块订阅取消订阅的所述目标任务类型,以便所述计算任务模块接收所述任务执行结果后,将所述客户端与所述服务器端断开连接,并销毁所述Socket通讯。
进一步的,本申请实施例还公开了一种电子设备,图7是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图7为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的加速计算管理方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的加速计算管理方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的加速计算管理方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的技术方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种加速计算管理方法,其特征在于,包括:
利用计算任务模块获取目标数据对应的计算任务,并在所述计算任务为加速计算任务时,创建所述加速计算任务对应的Socket通讯的服务器端;
根据所述加速计算任务生成加速计算消息,并将所述加速计算消息发送至MQTT服务器模块;
利用所述MQTT服务器模块根据所述加速计算消息确定目标加速器,并将所述加速计算消息发送至所述目标加速器;
根据所述加速计算消息创建所述加速计算任务对应的所述Socket通讯的客户端,并将所述客户端与所述服务器端进行连接,通过所述目标加速器利用所述客户端通过所述服务器端获取所述目标数据,以执行所述加速计算任务;
其中,所述根据所述加速计算任务生成加速计算消息,包括:
利用所述计算任务模块确定所述加速计算任务的任务类型,并根据所述任务类型和所述Socket通讯的IP地址、端口号生成对应的加速计算消息。
2.根据权利要求1所述的加速计算管理方法,其特征在于,所述利用计算任务模块获取目标数据对应的计算任务之后,还包括:
若所述计算任务为普通计算任务时,直接利用所述计算任务模块进行针对所述目标数据的计算。
3.根据权利要求1所述的加速计算管理方法,其特征在于,所述将所述加速计算消息发送至MQTT服务器模块,包括:
将所述加速计算任务的任务类型作为所述加速计算消息的消息主题,并基于所述消息主题将所述加速计算消息发送至MQTT服务器模块;
相应的,所述利用所述MQTT服务器模块根据所述加速计算消息确定目标加速器,包括:
利用所述MQTT服务器模块根据所述加速计算消息的消息主题确定所述加速计算任务的任务类型,将所述任务类型与预设若干加速器当前订阅的若干目标任务类型进行对比,以从所述若干加速器中确定目标加速器。
4.根据权利要求3所述的加速计算管理方法,其特征在于,所述将所述加速计算消息发送至所述目标加速器之后,还包括:
若当前所述预设若干加速器均未订阅所述加速计算任务的任务类型,则在根据预设时间范围确定所述服务器端连接超时后,利用所述服务器端重新将所述加速计算消息发送至所述MQTT服务器模块,并生成所述加速计算消息对应的日志记录,以便预设统计分析模块对所述日志记录进行统计。
5.根据权利要求1至4任一项所述的加速计算管理方法,其特征在于,所述通过所述目标加速器利用所述客户端通过所述服务器端获取所述目标数据,以执行所述加速计算任务,包括:
通过所述目标加速器利用所述客户端通过所述服务器端获取所述加速计算任务;
若所述目标加速器获取所述加速计算任务成功,则取消自身订阅的目标任务类型,并根据所述加速计算任务获取所述目标数据和所述目标数据对应的计算规则,以根据所述计算规则执行所述加速计算任务。
6.根据权利要求5所述的加速计算管理方法,其特征在于,所述执行所述加速计算任务之后,还包括:
通过所述目标加速器将所述加速计算任务对应的任务执行结果发送至所述计算任务模块,并重新向所述MQTT服务器模块订阅取消订阅的所述目标任务类型,以便所述计算任务模块接收所述任务执行结果后,将所述客户端与所述服务器端断开连接,并销毁所述Socket通讯。
7.一种加速计算管理系统,其特征在于,包括:
计算任务模块,用于获取目标数据对应的计算任务,在所述计算任务为加速计算任务时,创建所述加速计算任务对应的Socket通讯的服务器端,并根据所述加速计算任务生成加速计算消息,并将所述加速计算消息发送至MQTT服务器模块;
MQTT服务器模块,用于根据所述加速计算消息确定目标加速器,并将所述加速计算消息发送至所述目标加速器;
加速器模块,用于根据所述加速计算消息创建所述加速计算任务对应的所述Socket通讯的客户端,并将所述客户端与所述服务器端进行连接,通过所述目标加速器利用所述客户端通过所述服务器端获取所述目标数据,以执行所述加速计算任务;
其中,所述计算任务模块(11),具体包括:
消息生成单元,用于利用所述计算任务模块确定所述加速计算任务的任务类型,并根据所述任务类型和所述Socket通讯的IP地址、端口号生成对应的加速计算消息。
8.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至6任一项所述的加速计算管理方法。
9.一种计算机可读存储介质,其特征在于,用于保存计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的加速计算管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310647213.2A CN116361038B (zh) | 2023-06-02 | 2023-06-02 | 一种加速计算管理方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310647213.2A CN116361038B (zh) | 2023-06-02 | 2023-06-02 | 一种加速计算管理方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116361038A CN116361038A (zh) | 2023-06-30 |
CN116361038B true CN116361038B (zh) | 2023-09-08 |
Family
ID=86929150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310647213.2A Active CN116361038B (zh) | 2023-06-02 | 2023-06-02 | 一种加速计算管理方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116361038B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109660584A (zh) * | 2017-10-12 | 2019-04-19 | 阿里巴巴集团控股有限公司 | 一种客户端与服务器建立长连接的方法及通信方法与通信系统 |
CN112162856A (zh) * | 2020-09-23 | 2021-01-01 | 武汉联影医疗科技有限公司 | Gpu虚拟资源的分配方法、装置、计算机设备和存储介质 |
CN112506702A (zh) * | 2020-12-03 | 2021-03-16 | 平安科技(深圳)有限公司 | 数据中心容灾方法、装置、设备及存储介质 |
CN113190778A (zh) * | 2021-04-30 | 2021-07-30 | 深圳壹账通创配科技有限公司 | 业务数据推送方法、系统、计算机设备及计算机存储介质 |
CN113347257A (zh) * | 2021-06-03 | 2021-09-03 | 中国联合网络通信集团有限公司 | 通信方法、装置、服务器及存储介质 |
CN114880142A (zh) * | 2022-05-09 | 2022-08-09 | 中国电子信息产业集团有限公司第六研究所 | 一种灵活细粒度数据集成处理方法、系统和电子设备 |
CN114996730A (zh) * | 2022-05-25 | 2022-09-02 | 苏州浪潮智能科技有限公司 | 一种数据加解密系统、方法、计算机设备及存储介质 |
CN115334155A (zh) * | 2022-08-12 | 2022-11-11 | 中国建设银行股份有限公司 | 一种消息队列代理方法和装置 |
CN115665239A (zh) * | 2022-10-25 | 2023-01-31 | 广域铭岛数字科技有限公司 | 基于Netty框架的消息订阅方法、系统、电子设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113867916B (zh) * | 2021-09-28 | 2024-05-07 | 北京百度网讯科技有限公司 | 任务处理方法、装置及电子设备 |
-
2023
- 2023-06-02 CN CN202310647213.2A patent/CN116361038B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109660584A (zh) * | 2017-10-12 | 2019-04-19 | 阿里巴巴集团控股有限公司 | 一种客户端与服务器建立长连接的方法及通信方法与通信系统 |
CN112162856A (zh) * | 2020-09-23 | 2021-01-01 | 武汉联影医疗科技有限公司 | Gpu虚拟资源的分配方法、装置、计算机设备和存储介质 |
CN112506702A (zh) * | 2020-12-03 | 2021-03-16 | 平安科技(深圳)有限公司 | 数据中心容灾方法、装置、设备及存储介质 |
CN113190778A (zh) * | 2021-04-30 | 2021-07-30 | 深圳壹账通创配科技有限公司 | 业务数据推送方法、系统、计算机设备及计算机存储介质 |
CN113347257A (zh) * | 2021-06-03 | 2021-09-03 | 中国联合网络通信集团有限公司 | 通信方法、装置、服务器及存储介质 |
CN114880142A (zh) * | 2022-05-09 | 2022-08-09 | 中国电子信息产业集团有限公司第六研究所 | 一种灵活细粒度数据集成处理方法、系统和电子设备 |
CN114996730A (zh) * | 2022-05-25 | 2022-09-02 | 苏州浪潮智能科技有限公司 | 一种数据加解密系统、方法、计算机设备及存储介质 |
CN115334155A (zh) * | 2022-08-12 | 2022-11-11 | 中国建设银行股份有限公司 | 一种消息队列代理方法和装置 |
CN115665239A (zh) * | 2022-10-25 | 2023-01-31 | 广域铭岛数字科技有限公司 | 基于Netty框架的消息订阅方法、系统、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
面向E级计算超融合软件框架的设计与实现;戴荣;孙国忠;吕灼恒;秦晓宁;;计算机仿真(07);240-244 * |
Also Published As
Publication number | Publication date |
---|---|
CN116361038A (zh) | 2023-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11272044B2 (en) | Concurrent process execution | |
US6311206B1 (en) | Method and apparatus for providing awareness-triggered push | |
US20140280398A1 (en) | Distributed database management | |
US7127514B2 (en) | Stateless distributed computer architecture with server-oriented state-caching objects maintained on network or client | |
JP4920157B2 (ja) | マルチキャスト・データを受信する方法 | |
US7949704B2 (en) | Administration of a broker-based publish/subscribe messaging system | |
US8355401B2 (en) | Controlling access to a destination in a data processing network | |
US20180349178A1 (en) | A method and system for scalable job processing | |
CN107528891B (zh) | 一种基于WebSocket的自动集群方法及其系统 | |
CN112751748A (zh) | 会话消息管理方法、装置、服务器和可读存储介质 | |
CN113259415B (zh) | 一种网络报文处理方法、装置及网络服务器 | |
CN110535811B (zh) | 远端内存管理方法及系统、服务端、客户端、存储介质 | |
CN114185582A (zh) | 基于quic协议的汽车软件在线升级系统及方法 | |
US7984158B2 (en) | Web service for coordinating actions of clients | |
CN116361038B (zh) | 一种加速计算管理方法、系统、设备及存储介质 | |
CN111711675A (zh) | 一种针对局域网内并发消息传递的解决方法 | |
CN114025005B (zh) | 一种数据通讯方法、系统、电子设备及存储介质 | |
Alexeev et al. | The design principles of intelligent load balancing for scalable websocket services used with grid computing | |
Sadeq et al. | Enhanced mqtt for providing qos in internet of things (iot): A study | |
Hoschek | A unified peer-to-peer database protocol | |
Maula et al. | GIMnet 2.0-enhanced communication framework for distributed control of generic intelligent machines | |
US20230171830A1 (en) | Apparatus and method for configuring data communication between robot components in different networks | |
Cao et al. | A peer-to-peer approach to task scheduling in computation grid | |
WO2023238284A1 (ja) | 管理システム、管理方法、及び、管理プログラム | |
JP2004062608A (ja) | 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体 |
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 |