CN111858016A - 计算作业处理方法、系统、移动设备及加速设备 - Google Patents

计算作业处理方法、系统、移动设备及加速设备 Download PDF

Info

Publication number
CN111858016A
CN111858016A CN201910357589.3A CN201910357589A CN111858016A CN 111858016 A CN111858016 A CN 111858016A CN 201910357589 A CN201910357589 A CN 201910357589A CN 111858016 A CN111858016 A CN 111858016A
Authority
CN
China
Prior art keywords
interface
acceleration
mobile device
processing
mobile
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.)
Pending
Application number
CN201910357589.3A
Other languages
English (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910357589.3A priority Critical patent/CN111858016A/zh
Priority to PCT/CN2020/086995 priority patent/WO2020221161A1/zh
Priority to US17/438,388 priority patent/US11893391B2/en
Priority to EP20798699.3A priority patent/EP3964955A4/en
Publication of CN111858016A publication Critical patent/CN111858016A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Abstract

本申请实施例提供了一种计算作业处理方法、装置、移动设备、加速设备、电子设备和存储介质,包括:移动设备获取计算作业;其中,移动设备的第一接口与至少一个加速设备的第二接口连接;移动设备通过写入指令,将计算作业由第一接口发送至第二接口;加速设备通过第二接口接收计算作业;加速设备对计算作业进行处理,并将处理结果通过第二接口发送至第一接口;移动设备通过读取指令,从第一接口获取处理结果。本申请中,降低了计算作业处理过程对移动设备自身软硬件资源的依赖,以及解决了计算作业处理依赖于网络传输质量的问题,并达到了将加速设备应用到采用移动端操作系统的移动设备中的目的。

Description

计算作业处理方法、系统、移动设备及加速设备
技术领域
本申请涉及计算机技术领域,特别是涉及一种计算作业处理方法、移动设备、加速设备、电子设备和存储介质。
背景技术
随着人工智能技术的发展和终端设备硬件性能的不断改进,终端设备可以基于处理规则,实现对大批量计算作业的计算处理,拓展了人工智能技术的应用场景。
目前,终端设备实现对计算作业的加速处理,通常具有三种方式,方式一,直接通过终端设备自身的中央处理器(CPU,Central Processing Unit)或图形处理器(GPU,Graphics Processing Unit)实现对计算作业的计算处理。方式二,终端设备在接收到计算作业后,将计算作业通过网络发送至云端服务器,由云端服务器进行对计算作业的计算处理,并将计算结果反馈至终端设备。对于Linux/Windows操作系统的终端设备
但是,方式一中,终端设备直接进行计算作业处理,会严重消耗终端设备的软硬件资源,造成终端设备系统卡顿,影响用户体验。方案二中,计算作业处理依赖于网络传输质量,且传输过程较为耗时,无法做到实时的计算处理。
申请内容
本申请实施例提供了一种计算作业处理方法,以使得降低了计算作业处理过程对移动设备自身软硬件资源的依赖,以及解决了计算作业处理依赖于网络传输质量的问题,并达到了将加速设备应用到采用移动端操作系统的移动设备中的目的。
相应的,本申请实施例还提供了一种计算作业处理装置、移动设备及加速设备,用以保证上述方法的实现及应用。
为了解决上述问题,本申请实施例公开了一种计算作业处理方法,所述的方法包括:
移动设备获取计算作业;其中,所述移动设备的第一接口与至少一个加速设备的第二接口连接;所述第一接口和所述第二接口采用预设接口协议;
所述移动设备通过管理软件开发工具包调用与所述预设接口协议匹配的写入指令,将所述计算作业由所述第一接口发送至所述第二接口;
所述加速设备通过所述第二接口接收所述计算作业;
所述加速设备对所述计算作业进行处理,并将处理结果通过所述第二接口发送至所述第一接口;
所述移动设备通过所述管理软件开发工具包调用与所述预设接口协议匹配的读取指令,从所述第一接口获取所述处理结果。
本申请实施例公开了一种计算作业处理方法,应用于移动设备,所述的方法包括:
获取计算作业;其中,所述移动设备的第一接口与至少一个加速设备的第二接口连接;所述第一接口和所述第二接口采用预设接口协议;
通过管理软件开发工具包调用与所述预设接口协议匹配的写入指令,将所述计算作业由所述第一接口发送至所述第二接口;
通过所述管理软件开发工具包调用与所述预设接口协议匹配的读取指令,从所述第一接口获取所述处理结果。
本申请实施例公开了一种计算作业处理方法,应用于包括加速设备,所述的方法包括:
通过所述第二接口接收所述计算作业;其中,所述加速设备的第二接口与移动设备的第一接口连接;
加速设备对所述计算作业进行处理,并将处理结果通过所述第二接口发送至所述第一接口。
本申请实施例还公开了一种计算作业处理系统,所述计算作业处理系统包括:
移动设备、加速设备;所述移动设备的第一接口与至少一个加速设备的第二接口连接;所述第一接口和所述第二接口采用预设接口协议;
所述移动设备包括:
第一获取模块,用于获取计算作业;
第一调用模块,用于通过管理软件开发工具包调用与所述预设接口协议匹配的写入指令,将所述计算作业由所述第一接口发送至所述第二接口;
第二调用模块,用于通过所述管理软件开发工具包调用与所述预设接口协议匹配的读取指令,从所述第一接口获取所述处理结果;
所述加速设备包括:
第一接收模块,用于通过所述第二接口接收所述计算作业;
第一处理模块,用于对所述计算作业进行处理,并将处理结果通过所述第二接口发送至所述第一接口。
本申请实施例还公开了一种移动设备,所述的移动设备包括:
第一获取模块,用于获取计算作业;其中,所述移动设备的第一接口与至少一个加速设备的第二接口连接;所述第一接口和所述第二接口采用预设接口协议;
第一调用模块,用于通过管理软件开发工具包调用与所述预设接口协议匹配的写入指令,将所述计算作业由所述第一接口发送至所述第二接口;
第二调用模块,用于通过所述管理软件开发工具包调用与所述预设接口协议匹配的读取指令,从所述第一接口获取所述处理结果。
第一获取模块第一调用模块第二调用模块本申请实施例还公开了一种加速设备,所述的加速设备包括:
第一接收模块,用于通过所述第二接口接收所述计算作业;其中,所述加速设备的第二接口与移动设备的第一接口连接;
第一处理模块,用于加速设备对所述计算作业进行处理,并将处理结果通过所述第二接口发送至所述第一接口。第一接收模块第一处理模块
本申请实施例还公开了一种电子设备,包括:处理器;和存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如本申请实施例中一个或多个所述的计算作业处理方法。
本申请实施例还公开了一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如本申请实施例中一个或多个所述的计算作业处理方法。
与现有技术相比,本申请实施例包括以下优点:
在本申请实施例中,包括:移动设备通过将计算作业发送至加速设备,由加速设备对计算作业进行独立计算处理,使得移动设备并不参与计算作业的计算处理过程,降低了计算作业处理过程对移动设备自身软硬件资源的依赖,从而降低了移动设备操作系统卡顿的几率。另外,移动设备和加速设备之间采用物理的第一接口和第二接口进行数据传输,传输过程实时且快速,解决了计算作业处理依赖于网络传输质量的问题。最后,基于移动端操作系统的架构特性,本申请采用一个与当前预设接口协议匹配的读写指令库,利用读写指令库中包括的写入指令,触发移动设备调用操作系统的写入接口,将数据发送至加速设备的操作;以及利用读写指令库中包括的读取指令,触发移动设备调用操作系统的读取接口,接收加速设备发送的计算结果的操作。达到了将加速设备应用到采用移动端操作系统的移动设备中的目的。
附图说明
图1是本申请的一种计算作业处理系统的示意图;
图2是本申请的一种计算作业处理系统的交互示意图;
图3是本申请的一种系统侧的计算作业处理方法步骤流程图;
图4是本申请的一种移动设备侧的计算作业处理方法步骤流程图;
图5是本申请的一种加速设备侧的计算作业处理方法步骤流程图;
图6是本申请的一种计算作业处理方法的交互步骤流程图;
图7是本申请的一种移动设备及加速设备的结构图;
图8是本申请的另一种移动设备及加速设备的结构图;
图9是本申请的一种计算作业处理装置的结构框图;
图10是本申请的一种移动设备实施例的结构框图;
图11是本申请的一种加速设备实施例的结构框图;
图12是本申请的一种计算系统的结构图;
图13是本申请的另一种计算系统的结构图;
图14是本申请提供的装置的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请实施例的一种计算作业处理系统的示意图。本申请实施例提供的一种计算作业处理方法可以应用于所述计算作业处理系统。
在本申请实施例中,计算作业处理系统可以包括:移动设备、加速设备;所述移动设备包括第一接口、所述加速设备包括第二接口。
其中,移动设备中可以安装有安卓(Android)、IOS(iphone os)等任意一种移动端操作系统,并相应提供有多种操作系统接口,以使得通过这些操作系统接口,实现数据读写、设备监听、授权等操作。移动设备中还可以设置有管理软件开发工具包(SDK,SoftwareDevelopment Kit),管理软件开发工具包用于对计算作业进行管理,以及实现移动设备与加速设备之间基于第一接口和第二接口的通信连接。另外,移动设备中还可以包括存储模块,存储模块可以存储获取到的计算作业,以及存储用于进行计算作业处理的处理规则,具体的,该处理规则可以为处理规则。
其中,所述移动设备可以为智能手机、平板等安装有安卓、IOS等任意一种移动端操作系统的设备。
加速设备可以为独立于移动设备的硬件设备,且加速设备可以通过第二接口完成与移动设备的第一接口之间的物理连接或通信连接,加速设备中设置有计算模块,用于实现对计算作业的计算处理,具体的,计算模块包括处理器,该处理器可以包括CPU(中央处理器),GPU(图像处理器),数字信号处理(DSP,DigitalSignalProcessing)芯片,集成电路(ASIC,ApplicationSpecificIntegratedCircuit)、协处理器式芯片、现场可编程门阵列(FPGA,Field-ProgrammableGateArray)芯片中的一种或多种。在本申请实施例中,加速设备用于离线实现对移动设备发送的计算作业的计算处理,达到计算处理过程不占用移动设备软硬件资源的效果,在处理速度和结果响应上有较大优势。
第一接口和第二接口具有一定的物理结构,可以实现移动设备和加速设备之间的物理连接,并在经过一系列设备握手操作之后,实现移动设备和加速设备之间的通信连接。具体的,第一接口和第二接口可以采用预设接口协议,如,具体可以采用应用于安卓系统移动设备的通用串行总线(USB,Universal Serial Bus)接口协议(Interface protocol),或应用于IOS系统移动设备的闪电(Lightning)接口协议。接口协议指的是需要进行信息交换的接口间需要遵从的通信方式和要求,接口协议不仅要规定物理层的通信,还需要规定语法层和语义层的要求。另外,通过第一接口和第二接口之间物理结构的契合,实现移动设备和加速设备之间的物理连接。
具体的,在本申请实施例中,参照图2,示出了本申请实施例的一种计算作业处理系统的交互示意图。移动设备可以执行步骤S1,移动设备获取计算作业。
具体的,计算作业可以包括设定容量的待处理数据,另外,计算作业按照其属性信息可以具有多个类别,如图形处理计算作业,文本处理计算作业等,不同类型的计算作业可以依据不同类型的处理规则进行处理,如图形处理计算作业可以优先采用图形分类器、针对图像训练的卷积神经网络模型等处理规则进行处理,文本处理计算作业可以优先采用文本分类器、针对文本训练的卷积神经网络模型等处理规则进行处理。因此,在本申请实施例中,移动设备可以预先设置多种处理规则。移动设备可以根据用户的选择操作,确定计算作业以及计算作业对应的处理规则。另外,移动设备也可以根据获取到的计算作业,确定计算作业的属性信息,并进一步根据该属性信息,自动为计算作业匹配对应的处理规则。
在本申请实施例中,参照图1,移动设备中可以预先设置有管理软件开发工具包,用于对计算作业进行统筹管理,并且管理软件开发工具包包括调用模块,该调用模块可以调用移动设备操作系统接口中的监听接口和授权接口,以在通过监听接口监听到加速设备之后,进一步通过授权模块获得用户的授权,实现移动终与加速设备之间的通信连接。
具体的,在一种实现方式中,当移动设备接收到计算作业,并进一步需要对计算作业进行计算处理时,移动设备可以通过第一接口完成与加速设备的第二接口之间的物理连接,在完成物理连接之后,可以触发管理软件开发工具包的调用模块调用监听接口的操作,使得移动设备开始监听外接设备的连接情况。当移动设备接收到加速设备发送的设备握手数据后,进一步触发管理软件开发工具包的调用模块调用授权接口的操作,此时可以通过移动设备向用户发出授权提示信息,以使得在用户根据授权提示信息进行授权操作,在授权操作完成之后,移动终实现了与加速设备之间的通信连接,二者之间可以进行进一步的的数据交互。
在移动设备通过第一接口完成与加速设备的第二接口之间的通信连接的情况下,移动设备可以执行步骤S2,移动设备通过管理软件开发工具包调用与所述预设接口协议匹配的写入指令,将所述计算作业由所述第一接口发送至所述第二接口。
在本申请实施例中,当移动设备通过第一接口与加速设备的第二接口进行数据交互时,数据的写入和读取都依赖于移动设备操作系统的写入接口和读取接口,并且,数据的读写需要满足第一接口和第二接口所对应的接口协议。
在安卓/IOS等移动端操作系统的设计过程中,考虑到操作系统、移动设备设备以及接口协议的不断快速更新迭代,并不会在操作系统中严格定义读写操作所对应的接口协议,从而避免了每次更新迭代,都需要修改操作系统中定义的接口协议。
例如,安卓操作系统的移动设备,可以采用的是USB接口,USB是一个外部总线标准,用于规范移动设备与外部设备的连接和通讯,且USB接口可以实现移动设备和加速设备之间的“热插拔”功能,提高了便捷性。但是,随着USB技术的不断发展,USB的接口标准已经由第一代USB1.1延伸至了USB3.1,另外,根据USB接口的具体结构实现不同,也延伸出了type-A、type-B、type-C等不同接口类型的USB接口。如果根据USB接口的每一次更新迭代,都进行安卓操作系统中的架构以及定义的接口协议的修改,会导致工作量巨大。
因此,基于安卓操作系统得出的解决方案包括:通过安卓调试桥(ADB,AndroidDebug Bridge)指令库,来实现移动设备和加速设备之间的数据交互,即采用一个与当前移动设备的接口协议匹配的指令库,利用指令库中包括的写入指令和读取指令,触发调用操作系统的写入接口和读取接口的操作。ADB指令库可以存储在管理软件开发工具包中,具体可以存放在管理软件开发工具包安装目录下的platform-tools文件夹中。由于ADB指令库存储在管理软件开发工具包中,因此较易对其中的指令进行修改,使得在USB接口进行更新迭代时,降低了接口协议的修改工作量。
然而基于Linux/Windows操作系统的终端设备,由于其采用的接口协议几乎固定,很少进行对接口协议的更新迭代,因此,Linux/Windows操作系统的计算机设备可以直接通过对操作系统中读写接口的调用,实现Linux/Windows操作系统的终端设备与外接设备之间的数据交互。
在该步骤中,在移动设备通过第一接口完成与加速设备的第二接口之间的通信连接的情况下,此时可以通过移动设备包括的管理软件开发工具包调用与预设协议匹配的写入指令,以便管理软件开发工具包的调用模块根据该写入指令。
进一步的,管理软件开发工具包的调用模块根据该写入指令,可以调用操作系统的写入接口,进行后续将数据写入加速设备的操作。具体的该数据可以包括计算作业以及计算作业对应的处理规则,其中,移动设备在获取得到计算作业时,可以将计算作业存储在存储模块中对应管理软件开发工具包的存储分区,以便管理软件开发工具包对计算作业进行管理。
另外,处理规则是如何对计算作业进行计算的规则,比如对于图像,如何进行识别计算,对于大量的用户数据,如何分析用户偏好。处理规则可以是一种数学模型,数学模型是运用数理逻辑方法和数学语言建构的科学或工程模型,数学模型是针对参照某种事物系统的特征或数量依存关系,采用数学语言,概括地或近似地表述出的一种数学结构,这种数学结构是借助于数学符号刻画出来的某种系统的纯关系结构。数学模型可以是一个或一组代数方程、微分方程、差分方程、积分方程或统计学方程及其组合,通过这些方程定量地或定性地描述系统各变量之间的相互关系或因果关系。除了用方程描述的数学模型外,还有用其他数学工具,如代数、几何、拓扑、数理逻辑等描述的模型。其中,数学模型描述的是系统的行为和特征而不是系统的实际结构。其中,仿真器所采用机器学习、深度学习方法等进行模型训练,机器学习方法可包括线性回归、决策树、随机森林、xgboost、lightgbm等,深度学习方法可包括卷积神经网络(Convolutional Neural Networks,CNN)、长短期记忆网络(Long Short-Term Memory,LSTM)、门控循环单元(Gated Recurrent Unit,GRU)等。
在本申请实施例中,移动设备通过将计算作业以及处理规则发送至加速设备,由加速设备进行独立处理,使得移动设备并不参与计算作业的计算处理过程,降低了计算作业处理过程对移动设备自身软硬件资源的依赖。
加速设备可以执行步骤S3,所述加速设备通过所述第二接口接收所述计算作业。
加速设备可以执行步骤S4,所述加速设备对所述计算作业进行处理,并将处理结果通过所述第二接口发送至所述第一接口。
在该步骤中,加速设备在将接收到的处理规则写入加速设备的处理器之后,可以通过处理器对处理规则对应的计算作业进行处理,得到计算结果,其中,加速设备的处理器包括多种类型,如,CPU、GPU等,加速设备可以根据计算作业和处理规则的属性,采用对应类型的处理器进行计算处理,如,图形处理计算作业可以优先采用GPU进行处理,文本处理计算作业可以优先采用CPU进行处理。
在移动设备通过第一接口完成与加速设备的第二接口之间的通信连接的情况下,若加速设备得到了计算结果,则可以在将计算结果发送至所述移动设备之前,先向移动设备发送一个通知,以通知移动设备调用操作系统的读取接口,准备进行数据的接收。
移动设备可以执行步骤S5,所述移动设备通过所述管理软件开发工具包调用与所述预设接口协议匹配的读取指令,从所述第一接口获取所述处理结果。
在该步骤中,在移动设备通过第一接口完成与加速设备的第二接口之间的通信连接的情况下,移动设备可以根据加速设备发送的通知,通过移动设备包括的管理软件开发工具包调用与预设接口协议匹配的读取指令,以便管理软件开发工具包的调用模块根据该读取指令,进一步调用操作系统的读取接口,进行接收加速设备发送的计算结果的操作。
因此,在本申请实施例中,移动设备通过将计算作业发送至加速设备,由加速设备对计算作业进行独立计算处理,使得移动设备并不参与计算作业的计算处理过程,降低了计算作业处理过程对移动设备自身软硬件资源的依赖,从而降低了移动设备操作系统卡顿的几率。另外,移动设备和加速设备之间采用物理的第一接口和第二接口进行数据传输,传输过程实时且快速,解决了计算作业处理依赖于网络传输质量的问题。最后,基于移动端操作系统的架构特性,本申请采用一个与当前预设接口协议匹配的读写指令库,利用读写指令库中包括的写入指令,触发移动设备调用操作系统的写入接口,将数据发送至加速设备的操作;以及利用读写指令库中包括的读取指令,触发移动设备调用操作系统的读取接口,接收加速设备发送的计算结果的操作。达到了将加速设备应用到采用移动端操作系统的移动设备中的目的。
参照图3,示出了本申请的一种系统侧的计算作业处理方法实施例的步骤流程图。
步骤101,移动设备获取计算作业。
其中,所述移动设备的第一接口与至少一个加速设备的第二接口连接;所述第一接口和所述第二接口采用预设接口协议。具体的,计算作业可以包括一定数据量的待处理数据,另外,计算作业按照其属性信息可以具有多个类别,如图形处理计算作业,文本处理计算作业等。计算作业可以根据实际的业务需求设置,本申请实施例不对其加以限制。
移动设备获取计算作业的方式可以有多种,比如从服务器中下载,也可以由用户输入,也可以由移动设备的传感器采集获得等,其中传感器如摄像头、重力感应器等。
步骤102,所述移动设备通过管理软件开发工具包调用与所述预设接口协议匹配的写入指令,将所述计算作业由所述第一接口发送至所述第二接口。
在本申请实施例中,参照图1,移动设备中可以预先设置有管理软件开发工具包,用于对计算作业进行统筹管理,并且管理软件开发工具包包括调用模块,该调用模块可以调用移动设备操作系统接口中的监听接口和授权接口,以在通过监听接口监听到加速设备之后,进一步通过授权模块获得用户的授权,实现移动终与加速设备之间的通信连接。
具体的,考虑到操作系统、移动设备设备以及预设接口协议的不断快速更新迭代,移动设备可以采用一个与当前预设接口协议匹配的指令库,利用指令库中包括的写入指令和读取指令,触发调用操作系统的写入接口和读取接口的操作,从而避免了每次更新迭代,都需要修改操作系统中定义的接口协议,达到了使移动设备和外接设备之间数据交互更加通用泛化的目的。
该指令库可以为ADB(Android Debug Bridge,Android调试桥)指令库,ADB指令库可以存储在管理软件开发工具包中,具体可以存放在管理软件开发工具包安装目录下的platform-tools文件夹中。由于ADB指令库存储在管理软件开发工具包中,因此较易对其中的指令进行修改,使得在USB接口进行更新迭代时,降低了接口协议的修改工作量。在移动设备通过第一接口完成与加速设备的第二接口之间的通信连接的情况下,可以通过移动设备包括的管理软件开发工具包调用与当前预设接口协议匹配的写入指令,以便管理软件开发工具包的调用模块根据该写入指令,进一步调用操作系统的写入接口,进行将所述计算作业由所述第一接口发送至所述第二接口的操作。
在本申请实施例中,管理软件开发工具包的调用模块根据该写入指令,可以调用操作系统的写入接口,进行后续将数据写入加速设备的操作。具体的该数据可以包括计算作业以及计算作业对应的处理规则,其中,移动设备在获取得到计算作业时,可以将计算作业存储在存储模块中对应管理软件开发工具包的存储分区,以便管理软件开发工具包对计算作业进行管理。
需要说明的是,在本申请实施例中,移动设备可以根据用户的选择操作,确定计算作业以及计算作业对应的处理规则。另外,移动设备也可以根据获取到的计算作业,确定计算作业的属性信息,并进一步根据该属性信息,自动为计算作业匹配对应的处理规则。移动设备通过将计算作业以及处理规则发送至加速设备,由加速设备进行独立处理,使得移动设备并不参与计算作业的计算处理过程,降低了计算作业处理过程对移动设备自身软硬件资源的依赖。
步骤103,所述加速设备通过所述第二接口接收所述计算作业。
步骤104,所述加速设备对所述计算作业进行处理,并将处理结果通过所述第二接口发送至所述第一接口。
在该步骤中,加速设备在将接收到的处理规则写入加速设备的处理器之后,可以通过处理器对处理规则对应的计算作业进行处理,得到计算结果,其中,加速设备的处理器包括多种类型,如,CPU、GPU等,加速设备可以根据计算作业和处理规则的属性,采用对应类型的处理器进行计算处理,如,图形处理计算作业可以优先采用GPU进行处理,文本处理计算作业可以优先采用CPU进行处理。
具体的,在移动设备通过第一接口完成与加速设备的第二接口之间的通信连接的情况下,若加速设备得到了计算结果,则可以在将计算结果发送至所述移动设备之前,先向移动设备发送一个通知,以通知移动设备调用操作系统的读取接口,准备进行数据的接收。
步骤105,所述移动设备通过所述管理软件开发工具包调用与所述预设接口协议匹配的读取指令,从所述第一接口获取所述处理结果。
在该步骤中,在移动设备通过第一接口完成与加速设备的第二接口之间的通信连接的情况下,移动设备可以根据加速设备发送的通知,通过移动设备包括的管理软件开发工具包调用与预设接口协议匹配的读取指令,以便管理软件开发工具包的调用模块根据该读取指令,进一步调用操作系统的读取接口,进行接收加速设备发送的计算结果的操作。
综上所述,本申请提供的一种计算作业处理方法,包括:移动设备获取计算作业;其中,移动设备的第一接口与至少一个加速设备的第二接口连接;第一接口和第二接口采用预设接口协议;移动设备通过管理软件开发工具包调用与预设接口协议匹配的写入指令,将计算作业由第一接口发送至第二接口;加速设备通过第二接口接收计算作业;加速设备对计算作业进行处理,并将处理结果通过第二接口发送至第一接口;移动设备通过管理软件开发工具包调用与预设接口协议匹配的读取指令,从第一接口获取处理结果。移动设备通过将计算作业发送至加速设备,由加速设备对计算作业进行独立计算处理,使得移动设备并不参与计算作业的计算处理过程,降低了计算作业处理过程对移动设备自身软硬件资源的依赖,从而降低了移动设备操作系统卡顿的几率。另外,移动设备和加速设备之间采用物理的第一接口和第二接口进行数据传输,传输过程实时且快速,解决了计算作业处理依赖于网络传输质量的问题。最后,基于移动端操作系统的架构特性,本申请采用一个与当前预设接口协议匹配的读写指令库,利用读写指令库中包括的写入指令,触发移动设备调用操作系统的写入接口,将数据发送至加速设备的操作;以及利用读写指令库中包括的读取指令,触发移动设备调用操作系统的读取接口,接收加速设备发送的计算结果的操作。达到了将加速设备应用到采用移动端操作系统的移动设备中的目的。
参照图4,示出了本申请的一种移动设备侧的计算作业处理方法实施例的步骤流程图。
步骤201,获取计算作业。
该步骤具体可以参照上述步骤101,此处不再赘述。
步骤202,通过管理软件开发工具包调用与所述预设接口协议匹配的写入指令,将所述计算作业由所述第一接口发送至所述第二接口。
该步骤具体可以参照上述步骤102,此处不再赘述。
步骤203,通过所述管理软件开发工具包调用与所述预设接口协议匹配的读取指令,从所述第一接口获取所述处理结果。
该步骤具体可以参照上述步骤105,此处不再赘述。
需要说明的是,移动设备侧的具体执行步骤可以参照图1和图6的移动设备与加速设备的交互过程的介绍,在此不再详述。
综上所述,本申请提供的一种计算作业处理方法,包括:获取计算作业;其中,所述移动设备的第一接口与至少一个加速设备的第二接口连接;所述第一接口和所述第二接口采用预设接口协议;通过管理软件开发工具包调用与所述预设接口协议匹配的写入指令,将所述计算作业由所述第一接口发送至所述第二接口;通过所述管理软件开发工具包调用与所述预设接口协议匹配的读取指令,从所述第一接口获取所述处理结果。本申请实施例中,移动设备通过将计算作业发送至加速设备,由加速设备对计算作业进行独立计算处理,使得移动设备并不参与计算作业的计算处理过程,降低了计算作业处理过程对移动设备自身软硬件资源的依赖,从而降低了移动设备操作系统卡顿的几率。另外,移动设备和加速设备之间采用物理的第一接口和第二接口进行数据传输,传输过程实时且快速,解决了计算作业处理依赖于网络传输质量的问题。最后,基于移动端操作系统的架构特性,本申请采用一个与当前预设接口协议匹配的读写指令库,利用读写指令库中包括的写入指令,触发移动设备调用操作系统的写入接口,将数据发送至加速设备的操作;以及利用读写指令库中包括的读取指令,触发移动设备调用操作系统的读取接口,接收加速设备发送的计算结果的操作。达到了将加速设备应用到采用移动端操作系统的移动设备中的目的。
参照图5,示出了本申请的一种加速设备侧的计算作业处理方法实施例的步骤流程图。
步骤301,通过所述第二接口接收所述计算作业。
该步骤具体可以参照上述步骤103,此处不再赘述。
步骤302,加速设备对所述计算作业进行处理,并将处理结果通过所述第二接口发送至所述第一接口。
该步骤具体可以参照上述步骤104,此处不再赘述。
需要说明的是,加速设备侧的具体执行步骤可以参照图1和图6的移动设备与加速设备的交互过程的介绍,在此不再详述。
综上,本申请提供的一种计算作业处理方法,包括:通过所述第二接口接收所述计算作业;加速设备对所述计算作业进行处理,并将处理结果通过所述第二接口发送至所述第一接口。本申请实施例中,移动设备通过将计算作业发送至加速设备,由加速设备对计算作业进行独立计算处理,使得移动设备并不参与计算作业的计算处理过程,降低了计算作业处理过程对移动设备自身软硬件资源的依赖,从而降低了移动设备操作系统卡顿的几率。另外,移动设备和加速设备之间采用物理的第一接口和第二接口进行数据传输,传输过程实时且快速,解决了计算作业处理依赖于网络传输质量的问题。最后,基于移动端操作系统的架构特性,本申请采用一个与当前预设接口协议匹配的读写指令库,利用读写指令库中包括的写入指令,触发移动设备调用操作系统的写入接口,将数据发送至加速设备的操作;以及利用读写指令库中包括的读取指令,触发移动设备调用操作系统的读取接口,接收加速设备发送的计算结果的操作。达到了将加速设备应用到采用移动端操作系统的移动设备中的目的。
参照图6,示出了本申请的一种计算作业处理方法的交互步骤流程图。
步骤401,移动设备获取计算作业。
该步骤具体可以参照上述步骤101,此处不再赘述。
步骤402,所述移动设备在检测到所述第二接口与所述第一接口之间的物理连接后,执行允许所述加速设备与所述移动设备进行数据交互的第一授权操作。
在本发明实施例中,为了保证移动设备和加速设备之间数据交互时的隐私安全性,可以首先进行针对加速设备的第一授权操作。具体的,当加速设备和移动设备之间完成通信连接时,加速设备会向移动设备发送自己的设备信息,该设备信息包括加速设备的属性、标识信息,用户在移动设备上可以看到该设备信息,在用户确认该设备信息无误时,可以执行对加速设备的第一授权操作,该第一授权操作可以包括移动设备弹出一个通知栏,询问用户是否对当前接入的加速设备进行授权,用户在点击确认授权按钮后,完成第一授权操作。
可选地,参照图7,示出了本申请的一种移动设备及加速设备的结构图。输入输出接口30包括设置在所述移动设备10上的第一接口301,以及设置在所述加速设备20上的与所述第一接口301匹配的第二接口302。
可选地,输入输出接口30包括通用串行总线接口、闪电Lightning接口中的任意一种。
在本发明实施例中,第一接口301和第二接口302具有一定的物理结构,可以实现移动设备10和加速设备20之间的物理连接,并在经过一系列设备握手操作之后,实现移动设备10和加速设备20之间的通信连接。具体的,输入输出接口30可以包括应用于安卓系统移动设备的USB接口,或应用于IOS系统移动设备的闪电(Lightning)接口。另外,第一接口301可以为凹槽结构,第二接口可以为对应改凹槽结构的凸起结构,通过第一接口301和第二接口302之间物理结构的契合,可以实现移动设备10和加速设备20之间的物理连接。
需要说明的是,在本申请实施例的另一种实现方式中,也可以将第一接口301设置在加速设备20上,将第二接口302设置在移动设备10上,本申请对此不作限定。
步骤403,所述移动设备通过所述管理软件开发工具包向所述加速设备发送加速设备固件。
在本发明实施例中,固件(Firmware)是写入EPROM(可擦写可编程只读存储器)或EEPROM(电可擦可编程只读存储器)中的程序,固件也可以被称为设备内部保存的设备“驱动程序”。通过固件,移动设备的操作系统才能按照标准的设备驱动实现加速设备的运行动作。
因此,若要实现加速设备的正常运行,首先需要移动设备根据第一授权操作,获取加速设备固件,该加速设备固件可以通过互联网进行下载,也可以通过其他数据拷贝方式由移动设备进行获取,也可以预设在SDK的文件中。需要说明的是,该加速设备固件用于提供支持处理所述计算作业的操作系统。
在移动设备获取到加速设备的加速设备固件之后,可以通过管理软件开发工具包,将加速设备固件发送至所述加速设备。
可选地,步骤403具体可以包括:
子步骤4031,所述移动设备根据所述计算作业的属性信息,通过所述管理软件开发工具包,向所述加速设备发送与所述属性信息匹配的加速设备固件。
在本发明实施例中,为了优化加速设备的加速计算功能,可以根据加速设备经常计算处理的计算作业以及所采用的处理规则的属性信息,为加速设备设置对应的加速设备固件,用户可以根据自己的计算需求,在移动设备中选取对应的加速设备固件发送给加速设备进行安装。另外,加速设备在安装了加速设备固件之后,可以一直使用该加速设备固件进行计算作业处理,也可以通过一个新的加速设备固件替换原有的加速设备固件,本申请对此不作限定。
例如,在加速设备中,针对图形处理计算作业和文本处理计算作业,图形处理计算作业优选采用GPU进行计算处理,文本处理计算作业优选采用CPU进行计算处理,因此,在加速设备处理图形处理计算作业时,为了优化GPU所处的系统环境,可以采用与GPU匹配的加速设备固件;加速设备处理文本处理计算作业时,为了优化CPU所处的系统环境,可以采用与CPU匹配的加速设备固件,用户可以根据自己的需求,对具体的加速设备固件类型进行选取。
步骤404,所述加速设备安装所述加速设备固件;所述加速设备固件用于提供支持处理所述计算作业的操作系统。
在该步骤中,若加速设备未安装加速设备固件,则加速设备可以将接收到的加速设备固件进行安装。若加速设备已安装有加速设备固件,则加速设备可以将接收到的新的加速设备固件替换原有的加速设备固件。
步骤405,在所述加速设备安装了所述加速设备固件且重启完毕的情况下,执行允许所述加速设备与所述移动设备进行数据交互的第二授权操作。
在本发明实施例中,加速设备在接收到所述加速设备固件之后,可以将固件的映像(image)以文件的形式存放在闪存中,在加速设备进行驱动程序初始化(重启时进行)时再装载到加速设备内部的内存中。这样,方便了固件的升级。
加速设备安装新的加速设备固件的过程,首先需要加速设备进行设备重启(reset)操作,在加速设备关机并再次启动的过程中,加速设备会查找到新的加速设备固件,并加载和安装新的加速设备固件。
在所述加速设备安装了所述加速设备固件且重启完毕的情况下,加速设备可以将固件安装成功通知发送给移动设备,以告知其加速设备固件安装完毕,移动设备在接收到固件安装成功通知后,可以进行进一步的授权确认。
因此,加速设备安装了所述加速设备固件且重启完毕的情况下,若要进一步进行移动设备与加速设备之间的数据交互,则需要进一步的授权确认,即用户执行对加速设备的第二授权操作,该第二授权操作可以包括移动设备弹出一个通知栏,询问用户是否对当前接入的加速设备进行授权,用户在点击确认授权按钮后,完成第二授权操作。
需要说明的是,在一种实现方式中,加速设备中可以预先安装好固件,然后规定发送给加速设备的计算作业为该固件可以支持处理的计算作业,在该种情况下,步骤403-405可以省略。
可选地,针对步骤402和步骤405中,所述执行允许所述加速设备与所述移动设备进行数据交互的第一授权操作或第二授权操作的步骤,具体可以包括:
子步骤A1、所述移动设备通过所述管理软件开发工具包调用所述移动设备的操作系统的设备监听接口。
在本申请实施例中,加速设备与移动设备之间的连接包括物理连接和通信连接。参照图7,通过第一接口301和第二接口302之间物理结构的契合,可以实现移动设备10和加速设备20之间的物理连接。而在完成移动设备和加速设备之间的物理连接之后,移动设备和加速设备可以完成一系列的设备握手操作,达到完成移动设备和加速设备之间的通信连接的目的,在完成移动设备和加速设备之间的通信连接之后,移动设备和加速设备之间可以进行数据交互。
具体的,通过第一接口和第二接口之间物理结构的契合,实现移动设备和加速设备之间的物理连接之后,移动设备可以通过检测第一接口上的电信号,来确定物理连接完成,并触发管理软件开发工具包调用移动设备的操作系统的设备监听接口。
另外,在本申请实施例中,加速设备在安装加速设备固件的过程中,需要进行设备重启操作,在设备重启过程中,加速设备会经历关机操作,此时移动设备会断开与加速设备之间的通信连接,当加速设备安装完毕加速设备固件并再次开机之后,移动设备可以基于接口的管脚状态,监测到与加速设备之间的物理连接,因为加速设备在设备重启的过程中并未断开与移动设备之间的物理连接,移动设备被接触的管脚状态未改变,并通过管理软件开发工具包调用移动设备的操作系统的设备监听接口,再次进行对移动设备外接设备的监听操作。
子步骤A2、所述移动设备在通过所述设备监听接口获取到所述加速设备的外设部件互连标准标识的情况下,对所述加速设备赋予允许所述加速设备与所述移动设备进行数据交互的权限。
在本申请实施例中,移动设备操作系统接口中的设备监听接口,可以对移动设备的外接设备的连接状态进行实时监听,具体的,在完成移动设备和加速设备之间的物理连接之后,加速设备会向移动设备发送自己的外设部件互连标准(PCI,PeripheralComponent Interconnect)标识,PCI是一种用于定义局部总线的标准,当完成移动设备和加速设备之间的物理连接之后,加速设备可以作为移动设备的一个PCI设备,为了表明加速设备的身份,可以为加速设备生成一个对应的PCI标识,加速设备可以将该PCI标识发送至移动设备,移动设备在接收到加速设备的PCI标识后,对所述加速设备赋予允许所述加速设备与所述移动设备进行数据交互的权限。
步骤406,所述移动设备通过所述管理软件开发工具包调用与预设接口协议匹配的写入指令,将所述计算作业对应的处理规则由所述第一接口发送至所述第二接口。
在本发明实施例中,处理规则可以是一种数学模型,用于对计算作业进行处理。另外,计算作业按照其属性信息可以具有多个类别,如图形处理计算作业,文本处理计算作业等,不同类型的计算作业可以依据不同类型的处理规则进行处理,如图形处理计算作业可以优先采用图形分类器、卷积神经网络模型等处理规则进行处理,文本处理计算作业可以优先采用文本分类器、卷积神经网络模型等处理规则进行处理,因此,在本申请实施例中的一种实现方式中,移动设备可以根据用户的选择操作,确定计算作业以及计算作业对应的处理规则。另外,移动设备也可以根据获取到的计算作业,确定计算作业的属性信息,并进一步根据该属性信息,自动为计算作业匹配对应的处理规则。
在确定处理规则后,移动设备可以通过所述管理软件开发工具包调用与预设接口协议匹配的写入指令,将所述计算作业对应的处理规则由所述第一接口发送至所述第二接口。
步骤407,所述加速设备通过所述第二接口接收所述处理规则并将所述处理规则写入所述加速设备的预设位置。
在该步骤中,加速设备通过所述第二接口接收所述处理规则,并可以将处理规则写入加速设备的处理器。
步骤408,所述移动设备通过管理软件开发工具包调用与所述预设接口协议匹配的写入指令,将所述计算作业由所述第一接口发送至所述第二接口。
该步骤具体可以参照上述步骤102,此处不再赘述。
可选地,步骤408具体可以包括:
子步骤4081,在所述移动设备的第一接口与至少两个所述加速设备的第二接口连接的情况下,所述移动设备确定至少两个所述加速设备中负载值小于或等于预设阈值的目标加速设备。
可选地,参照图8,示出了本申请的另一种移动设备及加速设备的结构图。本申请实施例还可以包括:多端口转发器(HUB),HUB40包括输入端401以及包括多个输出端口4021的输出端402。
在本申请实施例中,HUB40是一个多端口的转发器,即HUB40作为一个USB接口的拓展坞,可以在其输出端402的各个输出端口4021上安装一个或多个加速设备20,并且,HUB40通过其输入端401接收移动设备10通过第一接口301发送的数据,并将该数据发送通过输出端口4021至每一个加速设备20中。
具体的,通过移动设备与各个加速设备之间的通信,用户可以从移动设备的界面中查看到每个加速设备的当前负载值,并根据自己的需求,进行选择操作,选取多个加速设备中负载值小于或等于预设阈值的一个或多个目标加速设备。另外,移动设备也可以根据计算作业处理量、数据量大小,自动确定所需目标加速设备的数量,并选取多个加速设备中负载值小于或等于预设阈值的目标加速设备。
子步骤4082,所述移动设备通过所述管理软件开发工具包调用与所述预设接口协议匹配的写入指令,将所述计算作业由所述第一接口发送至所述第二接口。
在该步骤中,假设存在一个计算作业,若要大幅度提升该计算作业的计算效率,则移动设备可以控制多台加速设备进行针对该一个计算作业的计算处理,并通过管理软件开发工具包将所述计算作业以及与计算作业对应的处理规则,通过第一接口、第二接口和HUB分别发送至多个目标加速设备进行处理,达到多倍于一个加速设备的加速效果。
步骤409,所述加速设备通过所述第二接口接收所述计算作业。
该步骤具体可以参照上述步骤103,此处不再赘述。
步骤410,所述加速设备对所述计算作业进行处理,并将处理结果通过所述第二接口发送至所述第一接口。
该步骤具体可以参照上述步骤104,此处不再赘述。
可选地,步骤410具体可以包括:
子步骤4101,在所述目标加速设备包括至少两个的情况下,所述至少两个加速设备接收所述移动设备发送的共享指令。
在目标加速设备完成将处理规则写入处理器时,目标加速设备会将模型写入成功通知发送至移动设备,当移动设备接收到所有目标加速设备发送的模型写入成功通知之后,可以发送共享指令至所有的目标加速设备,共享指令可以包括各个目标加速设备的PCI标识。
子步骤4102,所述至少两个目标加速设备根据所述共享指令,共享所述至少两个目标加速设备的计算资源,对所述计算作业进行处理,得到对应的计算结果。
在该步骤中,每个目标加速设备可以根据共享指令中包括的其他目标加速设备的PCI标识,获取其他目标加速设备的资源地址,达到共享所有目标加速设备的计算资源的目的,使得在所有目标加速设备可以通过统筹调度所有目标加速设备的软硬件资源,进行针对一个计算作业处理过程,大大提升计算处理效率。
具体的,加速设备的资源地址可以包括软件资源地址和硬件资源地址。软件资源地址可以包括:变量、表格、队列等。硬件资源地址可以包括内存地址,例如,可以指定一个或多个目标加速设备的内存为共享存储区,并将该一个或多个目标加速设备的内存地址通知给所有目标加速设备,使得所有目标加速设备之间可通过对共享存储区中的数据进行读写来实现通信。共享内存允许以最快的速度进行便捷的进程通信,仅在建立共享内存区域时需要系统调用,以后,所有共享内存访问都处理为常规内存访问。
针对一个计算作业,在统筹调度下,所有目标加速设备可以从共享存储区读取计算作业处理进度及处理数据,并将自身处理器处理该计算作业得到的处理数据写入共享存储区,直至得到计算结果。
需要说明的是,移动设备也可以将多个计算作业分别发送至多个加速设备上进行处理,当一个加速设备的计算作业处理完毕时,可以休眠该加速设备的进程,当再次接收到计算作业时,该加速设备可以恢复进程,进行计算作业处理。
步骤411,所述移动设备通过所述管理软件开发工具包调用与所述预设接口协议匹配的读取指令,从所述第一接口获取所述处理结果。
该步骤具体可以参照上述步骤105,此处不再赘述。
可选地,在步骤406之前,还可以包括:
步骤B1、所述移动设备提供处理规则的输入接口。
步骤B2、所述移动设备通过所述输入接口,接收所述处理规则。
具体的,移动设备的管理软件开发工具包中可以保存有多种普遍使用的处理规则,如图片分类、检测等,用户可按需选择;当这些已有的处理规则不能满足要求时,用户可通过移动设备提供处理规则的输入接口添加并使用拓展的处理规则。
综上所述,本申请提供的一种计算作业处理方法,包括:移动设备获取计算作业;其中,移动设备的第一接口与至少一个加速设备的第二接口连接;第一接口和第二接口采用预设接口协议;移动设备通过管理软件开发工具包调用与预设接口协议匹配的写入指令,将计算作业由第一接口发送至第二接口;加速设备通过第二接口接收计算作业;加速设备对计算作业进行处理,并将处理结果通过第二接口发送至第一接口;移动设备通过管理软件开发工具包调用与预设接口协议匹配的读取指令,从第一接口获取处理结果。移动设备通过将计算作业发送至加速设备。移动设备通过将计算作业发送至加速设备,由加速设备对计算作业进行独立计算处理,使得移动设备并不参与计算作业的计算处理过程,降低了计算作业处理过程对移动设备自身软硬件资源的依赖,从而降低了移动设备操作系统卡顿的几率。另外,移动设备和加速设备之间采用物理的第一接口和第二接口进行数据传输,传输过程实时且快速,解决了计算作业处理依赖于网络传输质量的问题。最后,基于移动端操作系统的架构特性,本申请采用一个与当前预设接口协议匹配的读写指令库,利用读写指令库中包括的写入指令,触发移动设备调用操作系统的写入接口,将数据发送至加速设备的操作;以及利用读写指令库中包括的读取指令,触发移动设备调用操作系统的读取接口,接收加速设备发送的计算结果的操作。达到了将加速设备应用到采用移动端操作系统的移动设备中的目的。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
在上述实施例的基础上,本实施例还提供了一种计算作业处理系统、一种移动设备和一种加速设备。
参照图9,示出了本申请一种计算作业处理系统实施例的结构框图,具体可以包括如下模块:
移动设备500、加速设备600;所述移动设备的第一接口与至少一个加速设备的第二接口连接;所述第一接口和所述第二接口采用预设接口协议;
所述移动设备500包括:
第一获取模块510,用于获取计算作业;
第一调用模块520,用于通过管理软件开发工具包调用与所述预设接口协议匹配的写入指令,将所述计算作业由所述第一接口发送至所述第二接口;
第二调用模块530,用于通过所述管理软件开发工具包调用与所述预设接口协议匹配的读取指令,从所述第一接口获取所述处理结果;
所述加速设备600包括:
第一接收模块610,用于通过所述第二接口接收所述计算作业;
第一处理模块620,用于对所述计算作业进行处理,并将处理结果通过所述第二接口发送至所述第一接口。
可选地,第一调用模块520,包括:
负载确定子模块,用于在所述移动设备的第一接口与至少两个所述加速设备的第二接口连接的情况下,确定至少两个所述加速设备中负载值小于或等于预设阈值的目标加速设备;
作业发送子模块,用于通过所述管理软件开发工具包调用与所述预设接口协议匹配的写入指令,将所述计算作业由所述第一接口发送至所述第二接口。
可选地,所述移动设备500还包括:
共享指令模块,用于在所述目标加速设备包括至少两个的情况下,所述至少两个加速设备接收所述移动设备发送的共享指令;
所述第一处理模块504包括:
共享计算子模块,用于根据所述共享指令,共享所述至少两个目标加速设备的计算资源,对所述计算作业进行处理,得到对应的计算结果。
可选地,所述移动设备还包括:
第一授权模块,用于所述移动设备在检测到所述第二接口与所述第一接口之间的物理连接后,执行允许所述加速设备与所述移动设备进行数据交互的第一授权操作。
可选地,所述移动设备500还包括:
固件发送模块,用于所述移动设备通过所述管理软件开发工具包向所述加速设备发送加速设备固件;
可选地,所述固件发送模块,包括:
选取子模块,用于所述移动设备根据所述计算作业的属性信息,通过所述管理软件开发工具包,向所述加速设备发送与所述属性信息匹配的加速设备固件。
所述加速设备600还包括:
固件安装模块,用于所述加速设备安装所述加速设备固件;所述加速设备固件用于提供支持处理所述计算作业的操作系统;
所述移动设备500还包括:
第二授权模块,用于在所述加速设备安装了所述加速设备固件且重启完毕的情况下,执行允许所述加速设备与所述移动设备进行数据交互的第二授权操作。
可选地,所述第一授权模块或第二授权模块,包括:
监听子模块,用于通过所述管理软件开发工具包调用所述移动设备的操作系统的设备监听接口;
权限设置子模块,用于在通过所述设备监听接口获取到所述加速设备的外设部件互连标准标识的情况下,对所述加速设备赋予允许所述加速设备与所述移动设备进行数据交互的权限。
可选地,所述移动设备500还包括:
规则发送模块,用于通过所述管理软件开发工具包调用与预设接口协议匹配的写入指令,将所述计算作业对应的处理规则由所述第一接口发送至所述第二接口;
所述加速设备600还包括:
规则写入模块,用于所述加速设备通过所述第二接口接收所述处理规则并将所述处理规则写入所述加速设备的预设位置。
可选地,所述移动设备500还包括:
规则接口模块,用于所述移动设备提供处理规则的输入接口;
规则接收模块,用于所述移动设备通过所述输入接口,接收所述处理规则。
综上所述,本申请提供的一种计算作业处理系统,移动设备通过将计算作业发送至加速设备。移动设备通过将计算作业发送至加速设备,由加速设备对计算作业进行独立计算处理,使得移动设备并不参与计算作业的计算处理过程,降低了计算作业处理过程对移动设备自身软硬件资源的依赖,从而降低了移动设备操作系统卡顿的几率。另外,移动设备和加速设备之间采用物理的第一接口和第二接口进行数据传输,传输过程实时且快速,解决了计算作业处理依赖于网络传输质量的问题。最后,基于移动端操作系统的架构特性,本申请采用一个与当前预设接口协议匹配的读写指令库,利用读写指令库中包括的写入指令,触发移动设备调用操作系统的写入接口,将数据发送至加速设备的操作;以及利用读写指令库中包括的读取指令,触发移动设备调用操作系统的读取接口,接收加速设备发送的计算结果的操作。达到了将加速设备应用到采用移动端操作系统的移动设备中的目的。
参照图10,示出了本申请一种移动设备实施例的结构框图,具体可以包括如下模块:
第一获取模块510,用于获取计算作业;其中,所述移动设备的第一接口与至少一个加速设备的第二接口连接;所述第一接口和所述第二接口采用预设接口协议;
第一调用模块520,用于通过管理软件开发工具包调用与所述预设接口协议匹配的写入指令,将所述计算作业由所述第一接口发送至所述第二接口;
第二调用模块530,用于通过所述管理软件开发工具包调用与所述预设接口协议匹配的读取指令,从所述第一接口获取所述处理结果。
需要说明的是,移动设备侧的具体模块可以参照图9的相关描述,在此不再详述。
综上所述,本申请实施例中,移动设备通过将计算作业发送至加速设备,由加速设备对计算作业进行独立计算处理,使得移动设备并不参与计算作业的计算处理过程,降低了计算作业处理过程对移动设备自身软硬件资源的依赖,从而降低了移动设备操作系统卡顿的几率。另外,移动设备和加速设备之间采用物理的第一接口和第二接口进行数据传输,传输过程实时且快速,解决了计算作业处理依赖于网络传输质量的问题。最后,基于移动端操作系统的架构特性,本申请采用一个与当前预设接口协议匹配的读写指令库,利用读写指令库中包括的写入指令,触发移动设备调用操作系统的写入接口,将数据发送至加速设备的操作;以及利用读写指令库中包括的读取指令,触发移动设备调用操作系统的读取接口,接收加速设备发送的计算结果的操作。达到了将加速设备应用到采用移动端操作系统的移动设备中的目的。
参照图11,示出了本申请一种加速设备实施例的结构框图,具体可以包括如下模块:
第一接收模块610,用于通过所述第二接口接收所述计算作业;其中,所述加速设备的第二接口与移动设备的第一接口连接;
第一处理模块620,用于加速设备对所述计算作业进行处理,并将处理结果通过所述第二接口发送至所述第一接口。
需要说明的是,加速设备侧的具体模块可以参照图9的相关描述,在此不再详述。
综上所述,本申请实施例中,移动设备通过将计算作业发送至加速设备,由加速设备对计算作业进行独立计算处理,使得移动设备并不参与计算作业的计算处理过程,降低了计算作业处理过程对移动设备自身软硬件资源的依赖,从而降低了移动设备操作系统卡顿的几率。另外,移动设备和加速设备之间采用物理的第一接口和第二接口进行数据传输,传输过程实时且快速,解决了计算作业处理依赖于网络传输质量的问题。最后,基于移动端操作系统的架构特性,本申请采用一个与当前预设接口协议匹配的读写指令库,利用读写指令库中包括的写入指令,触发移动设备调用操作系统的写入接口,将数据发送至加速设备的操作;以及利用读写指令库中包括的读取指令,触发移动设备调用操作系统的读取接口,接收加速设备发送的计算结果的操作。达到了将加速设备应用到采用移动端操作系统的移动设备中的目的。
参照图12,示出了本申请一种计算系统实施例的结构图,具体可以包括:移动设备50和用于对移动设备50的计算作业进行加速的加速设备70;移动设备50包括第一接口601、加速设备70包括第二接口602;第一接口601与第二接口602连接,加速设备70通过第一接口601与第二接口602之间的连接对移动设备50的计算作业进行加速。
可选的,所述移动设备安装有安卓系统或IOS系统。
具体的,在本申请实施例中,移动设备50中可以运行有安卓(Android)、IOS(iphone os)等移动端操作系统,并相应提供有多种操作系统接口,以使得通过这些操作系统接口,实现数据读写、设备监听、授权等操作。移动设备50中还可以设置有管理软件开发工具包(SDK,Software Development Kit),管理SDK用于对计算作业进行管理,以及实现移动设备50与加速设备70之间的通信连接。
进一步的,第一接口601、第二接口602具有一定的物理结构,可以实现移动设备50和加速设备70之间的物理连接,并在经过一系列设备握手操作之后,实现移动设备50和加速设备70之间的通信连接。另外,设置在移动设备50上的第一接口601,以及设置在加速设备70上并与第二处理器701连接的第二接口602,通过第一接口601和第二接口602之间物理结构的契合,实现移动设备50和加速设备70之间的物理连接。
进一步的,加速设备70可以为独立于移动设备50的硬件设备,且加速设备70可以通过第一接口601、第二接口602完成与移动设备50之间的物理连接或通信连接,加速设备70中可以设置有第二处理器701,用于实现对计算作业的计算处理,具体的,该处理器可以包括CPU,GPU,数字信号处理(DSP,DigitalSignalProcessing)芯片,集成电路(ASIC,ApplicationSpecificIntegratedCircuit)、协处理器式芯片、现场可编程门阵列(FPGA,Field-ProgrammableGateArray)芯片中的一种或多种。在本申请实施例中,加速设备70用于离线实现对移动设备50发送的计算作业的计算处理,达到计算处理过程不占用移动设备软硬件资源的效果,在处理速度和结果响应上有较大优势。
综上所述,本申请提供的一种计算系统,包括:移动设备和用于对所述移动设备的计算作业进行加速的加速设备;所述移动设备包括第一接口、所述加速设备包括第二接口;所述第一接口与所述第二接口连接,所述加速设备通过所述第一接口与所述第二接口之间的连接对所述移动设备的计算作业进行加速。本申请中,移动设备可以将计算作业通过输入输出接口发送至加速设备,由加速设备对计算作业进行独立计算处理,降低了计算作业的处理过程对移动设备自身软硬件资源的依赖,从而降低了移动设备操作系统卡顿的几率。另外,移动设备和加速设备之间采用物理的输入输出接口进行数据传输,传输过程实时且快速,解决了计算作业的处理依赖于网络传输质量的问题。
可选的,参照图13,示出了本申请另一种计算系统实施例的结构图,该系统还包括:
USB集线器80;USB集线器80包括第三接口801和多个第四接口802;第三接口801与第一接口601连接,第四接口802用于对应设置一个或多个加速设备70,且第四接口802用于与第二接口602连接。
在本申请实施例中,USB集线器80是一个多端口的转发器,即USB集线器80作为一个USB接口的拓展坞,可以在其输出端802的各个第四接口802上安装一个或多个加速设备70,并且,USB集线器80通过其第三接口801接收移动设备50通过第一接口601发送的数据,并将该数据发送通过第四接口802至每一个加速设备70中。
具体的,通过移动设备50、USB集线器80与各个加速设备70之间的通信,用户可以从移动设备50的界面中查看到每个加速设备70的当前负载值,并根据自己的需求,进行选择操作,选取多个加速设备70中负载值小于或等于预设阈值的一个或多个目标加速设备。另外,移动设备50也可以根据计算作业的处理量、数据量大小,自动确定所需目标加速设备的数量,并选取多个加速设备70中负载值小于或等于预设阈值的目标加速设备。
在存在一个计算作业的情况下,若要大幅度提升该计算作业的计算效率,则移动设备50可以通过USB集线器80控制多台加速设备70进行针对该一个计算作业的计算处理,并通过管理SDK将计算作业以及与计算作业对应的数学模型,通过第一接口601和第二接口602和USB集线器80分别发送至多个目标加速设备进行处理,达到多倍于一个加速设备70的加速效果。
可选的,所述第一接口和第二接口包括通用串行总线接口、闪电接口中的至少一种。
可选的,所述通用串行总线接口包括:USB Type A接口、USB Type B接口、USBType C接口中的至少一种。
具体的,USB是一个外部总线标准,用于规范移动设备与外部设备的连接和通讯,且USB接口可以实现移动设备和加速设备之间的“热插拔”功能,提高了便捷性。并且,随着USB技术的不断发展,USB的接口标准已经由第一代USB1.1延伸至了USB3.1,另外,根据USB接口的具体结构实现不同,也延伸出了type-A、type-B、type-C等不同接口类型的USB接口。
可选的,参照图12,移动设备50还包括:第一处理器501和第一存储器502;加速设备70包括至少一个第二处理器701和第二存储器702;
所述第一处理器501与所述第一接口601连接,所述第一存储器502与所述第一处理器201连接;
所述第二处理器701与所述第二接口602连接,所述第二存储器702与所述第二处理器701连接。
所述第二处理器包括:图像处理器和/或中央处理器。
具体的,第一存储器502可以存储获取到的计算作业,以及存储用于进行计算作业处理的数学模型。移动设备50在获取得到计算作业时,可以将计算作业存储在第一存储器502中对应管理SDK的存储分区,以便管理SDK对计算作业进行管理。
在本申请实施例中,第二存储器702可以用于存储加速设备70接收到的计算作业以及对应的数学模型。
另外,在存在多个设置在USB集线器80的输出端802的目标加速设备的情况下,目标加速设备可以通过获取其他目标加速设备的PCI标识,进一步查找到其他目标加速设备的资源地址,达到共享所有目标加速设备的计算进程的目的,使得在所有目标加速设备可以通过统筹调度所有目标加速设备的软硬件资源,进行针对一个计算作业的处理过程,大大提升计算处理效率。
具体的,加速设备的资源地址可以包括软件资源地址和硬件资源地址。软件资源地址可以包括:变量、表格、队列等。硬件资源地址可以包括内存地址,例如,可以指定一个或多个目标加速设备的第二存储器702为共享存储区,并将该一个或多个目标加速设备的第二存储器702地址通知给所有目标加速设备,使得所有目标加速设备之间可通过对共享存储区中的数据进行读写来实现通信。共享内存允许以最快的速度进行便捷的进程通信,仅在建立共享内存区域时需要系统调用,以后,所有共享内存访问都处理为常规内存访问。
针对一个计算作业,在统筹调度下,所有目标加速设备可以从共享存储区读取计算作业的处理进度及处理数据,并将自身第二处理器701处理该计算作业得到的处理数据写入共享存储区,直至得到计算结果。
综上所述,本申请提供的一种计算系统,包括:移动设备和用于对所述移动设备的计算作业进行加速的加速设备;所述移动设备包括第一接口、所述加速设备包括第二接口;所述第一接口与所述第二接口连接,所述加速设备通过所述第一接口与所述第二接口之间的连接对所述移动设备的计算作业进行加速。本申请中,移动设备可以将计算作业通过输入输出接口发送至加速设备,由加速设备对计算作业进行独立计算处理,降低了计算作业的处理过程对移动设备自身软硬件资源的依赖,从而降低了移动设备操作系统卡顿的几率。另外,移动设备和加速设备之间采用物理的输入输出接口进行数据传输,传输过程实时且快速,解决了计算作业的处理依赖于网络传输质量的问题。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本申请实施例中各方法步骤的指令(instructions)。
本申请实施例提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得电子设备执行如上述实施例中一个或多个所述的方法。本申请实施例中,所述电子设备包括服务器(集群)、移动设备、终端设备等。
本公开的实施例可被实现为使用任意适当的硬件,固件,软件,或及其任意组合进行想要的配置的装置,该装置可包括服务器(集群)、移动设备、终端设备等电子设备。图14示意性地示出了可被用于实现本申请中所述的各个实施例的示例性装置1000。
对于一个实施例,图14示出了示例性装置1000,该装置具有一个或多个处理器1002、被耦合到(一个或多个)处理器1002中的至少一个的控制模块(芯片组)1004、被耦合到控制模块1004的存储器1006、被耦合到控制模块1004的非易失性存储器(NVM)/存储设备1008、被耦合到控制模块1004的一个或多个输入/输出设备1010,以及被耦合到控制模块1006的网络接口1012。
处理器1002可包括一个或多个单核或多核处理器,处理器1002可包括通用处理器或专用处理器(例如图形处理器、应用处理器、基频处理器等)的任意组合。在一些实施例中,装置1000能够作为本申请实施例中所述服务器(集群)、移动设备、终端设备等设备。
在一些实施例中,装置1000可包括具有指令1004的一个或多个计算机可读介质(例如,存储器1006或NVM/存储设备1008)以及与该一个或多个计算机可读介质相合并被配置为执行指令1004以实现模块从而执行本公开中所述的动作的一个或多个处理器1002。
对于一个实施例,控制模块1004可包括任意适当的接口控制器,以向(一个或多个)处理器1002中的至少一个和/或与控制模块1004通信的任意适当的设备或组件提供任意适当的接口。
控制模块1004可包括存储器控制器模块,以向存储器1006提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
存储器1006可被用于例如为装置1000加载和存储数据和/或指令1004。对于一个实施例,存储器1006可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,存储器1006可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,控制模块1004可包括一个或多个输入/输出控制器,以向NVM/存储设备1008及(一个或多个)输入/输出设备1000提供接口。
例如,NVM/存储设备1008可被用于存储数据和/或指令1004。NVM/存储设备1008可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备1008可包括在物理上作为装置1000被安装在其上的设备的一部分的存储资源,或者其可被该设备访问可不必作为该设备的一部分。例如,NVM/存储设备1008可通过网络经由(一个或多个)输入/输出设备1000进行访问。
(一个或多个)输入/输出设备1000可为装置1000提供接口以与任意其他适当的设备通信,输入/输出设备1000可以包括通信组件、音频组件、传感器组件等。网络接口1002可为装置1000提供接口以通过一个或多个网络通信,装置1000可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如WiFi、2G、3G、4G等,或它们的组合进行无线通信。
对于一个实施例,(一个或多个)处理器1002中的至少一个可与控制模块1004的一个或多个控制器(例如,存储器控制器模块)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器1002中的至少一个可与控制模块1004的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,(一个或多个)处理器1002中的至少一个可与控制模块1004的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器1002中的至少一个可与控制模块1004的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。
在各个实施例中,装置1000可以但不限于是:服务器、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)等终端设备。在各个实施例中,装置1000可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,装置1000包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
本申请实施例提供了一种服务器,包括:一个或多个处理器;和,其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述服务器执行如本申请实施例中一个或多个所述的数据处理方法。
本申请实施例提供了一种电子设备,包括:一个或多个处理器;和,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行计算作业处理方法。
本申请实施例提供了一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行计算作业处理方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种计算作业处理方法和装置、一种电子设备和一种存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (20)

1.一种计算作业处理方法,其特征在于,包括:
移动设备获取计算作业;其中,所述移动设备的第一接口与至少一个加速设备的第二接口连接;所述第一接口和所述第二接口采用预设接口协议;
所述移动设备通过管理软件开发工具包调用与所述预设接口协议匹配的写入指令,将所述计算作业由所述第一接口发送至所述第二接口;
所述加速设备通过所述第二接口接收所述计算作业;
所述加速设备对所述计算作业进行处理,并将处理结果通过所述第二接口发送至所述第一接口;
所述移动设备通过所述管理软件开发工具包调用与所述预设接口协议匹配的读取指令,从所述第一接口获取所述处理结果。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述移动设备在检测到所述第二接口与所述第一接口之间的物理连接后,执行允许所述加速设备与所述移动设备进行数据交互的第一授权操作。
3.根据权利要求2所述的方法,其特征在于,还包括:
所述移动设备通过所述管理软件开发工具包向所述加速设备发送加速设备固件;
所述加速设备安装所述加速设备固件;所述加速设备固件用于提供支持处理所述计算作业的操作系统;
在所述加速设备安装了所述加速设备固件且重启完毕的情况下,执行允许所述加速设备与所述移动设备进行数据交互的第二授权操作。
4.根据权利要求3所述的方法,其特征在于,所述执行允许所述加速设备与所述移动设备进行数据交互的第一授权操作或第二授权操作,包括:
所述移动设备通过所述管理软件开发工具包调用所述移动设备的操作系统的设备监听接口;
所述移动设备在通过所述设备监听接口获取到所述加速设备的外设部件互连标准标识的情况下,对所述加速设备赋予允许所述加速设备与所述移动设备进行数据交互的权限。
5.根据权利要求3所述的方法,其特征在于,所述移动设备通过所述管理软件开发工具包向所述加速设备发送加速设备固件,包括:
所述移动设备根据所述计算作业的属性信息,通过所述管理软件开发工具包,向所述加速设备发送与所述属性信息匹配的加速设备固件。
6.根据权利要求1所述的方法,其特征在于,还包括:
所述移动设备通过所述管理软件开发工具包调用与预设接口协议匹配的写入指令,将所述计算作业对应的处理规则由所述第一接口发送至所述第二接口;
所述加速设备通过所述第二接口接收所述处理规则并将所述处理规则写入所述加速设备的预设位置。
7.根据权利要求6所述的方法,其特征在于,还包括:
所述移动设备提供处理规则的输入接口;
所述移动设备通过所述输入接口,接收所述处理规则。
8.根据权利要求1所述的方法,其特征在于,所述移动设备通过管理软件开发工具包调用与所述预设接口协议匹配的写入指令,将所述计算作业由所述第一接口发送至所述第二接口,包括:
在所述移动设备的第一接口与至少两个所述加速设备的第二接口连接的情况下,所述移动设备确定至少两个所述加速设备中负载值小于或等于预设阈值的目标加速设备;
所述移动设备通过所述管理软件开发工具包调用与所述预设接口协议匹配的写入指令,将所述计算作业由所述第一接口发送至所述第二接口。
9.根据权利要求8所述的方法,其特征在于,还包括:在所述目标加速设备包括至少两个的情况下,所述移动设备发送共享指令至所述目标加速设备;
所述加速设备对所述计算作业进行处理,包括:
所述至少两个目标加速设备根据所述共享指令,共享所述至少两个目标加速设备的计算资源,对所述计算作业进行处理,得到对应的计算结果。
10.一种计算作业处理方法,所述方法应用于一种移动设备,其特征在于,包括:
获取计算作业;其中,所述移动设备的第一接口与至少一个加速设备的第二接口连接;所述第一接口和所述第二接口采用预设接口协议;
通过管理软件开发工具包调用与所述预设接口协议匹配的写入指令,将所述计算作业由所述第一接口发送至所述第二接口;
通过所述管理软件开发工具包调用与所述预设接口协议匹配的读取指令,从所述第一接口获取所述处理结果。
11.一种计算作业处理方法,所述方法应用于一种加速设备,其特征在于,包括:
通过所述第二接口接收所述计算作业;其中,所述加速设备的第二接口与移动设备的第一接口连接;
加速设备对所述计算作业进行处理,并将处理结果通过所述第二接口发送至所述第一接口。
12.一种计算作业处理系统,其特征在于,所述系统包括:
移动设备、加速设备;所述移动设备的第一接口与至少一个加速设备的第二接口连接;所述第一接口和所述第二接口采用预设接口协议;
所述移动设备包括:
第一获取模块,用于获取计算作业;
第一调用模块,用于通过管理软件开发工具包调用与所述预设接口协议匹配的写入指令,将所述计算作业由所述第一接口发送至所述第二接口;
第二调用模块,用于通过所述管理软件开发工具包调用与所述预设接口协议匹配的读取指令,从所述第一接口获取所述处理结果;
所述加速设备包括:
第一接收模块,用于通过所述第二接口接收所述计算作业;
第一处理模块,用于对所述计算作业进行处理,并将处理结果通过所述
第二接口发送至所述第一接口。
13.一种移动设备,其特征在于,所述移动设备包括:
第一获取模块第一获取模块,用于获取计算作业;其中,所述移动设备的第一接口与至少一个加速设备的第二接口连接;所述第一接口和所述第二接口采用预设接口协议;
第一调用模块第一调用模块,用于通过管理软件开发工具包调用与所述预设接口协议匹配的写入指令,将所述计算作业由所述第一接口发送至所述第二接口;
第二调用模块第二调用模块,用于通过所述管理软件开发工具包调用与所述预设接口协议匹配的读取指令,从所述第一接口获取所述处理结果。
14.一种加速设备,其特征在于,所述的加速设备包括:
第一接收模块第一接收模块,用于通过所述第二接口接收所述计算作业;其中,所述加速设备的第二接口与移动设备的第一接口连接;
第一处理模块第一处理模块,用于加速设备对所述计算作业进行处理,并将处理结果通过所述第二接口发送至所述第一接口。
15.一种电子设备,其特征在于,包括:
处理器;和
存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如权利要求1-9中一个或多个所述的计算作业处理方法。
16.一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如权利要求1-9中一个或多个所述的计算作业处理方法。
17.一种电子设备,其特征在于,包括:
处理器;和
存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如权利要求10所述的计算作业处理方法。
18.一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如权利要求10所述的计算作业处理方法。
19.一种电子设备,其特征在于,包括:
处理器;和
存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如权利要求11所述的计算作业处理方法。
20.一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如权利要求11所述的计算作业处理方法。
CN201910357589.3A 2019-04-29 2019-04-29 计算作业处理方法、系统、移动设备及加速设备 Pending CN111858016A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910357589.3A CN111858016A (zh) 2019-04-29 2019-04-29 计算作业处理方法、系统、移动设备及加速设备
PCT/CN2020/086995 WO2020221161A1 (zh) 2019-04-29 2020-04-26 计算作业处理方法、系统、移动设备及加速设备
US17/438,388 US11893391B2 (en) 2019-04-29 2020-04-26 Processing computing jobs via an acceleration device
EP20798699.3A EP3964955A4 (en) 2019-04-29 2020-04-26 COMPUTATION ORDER METHOD AND SYSTEM, MOBILE DEVICE AND ACCELERATION DEVICE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910357589.3A CN111858016A (zh) 2019-04-29 2019-04-29 计算作业处理方法、系统、移动设备及加速设备

Publications (1)

Publication Number Publication Date
CN111858016A true CN111858016A (zh) 2020-10-30

Family

ID=72966438

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910357589.3A Pending CN111858016A (zh) 2019-04-29 2019-04-29 计算作业处理方法、系统、移动设备及加速设备

Country Status (4)

Country Link
US (1) US11893391B2 (zh)
EP (1) EP3964955A4 (zh)
CN (1) CN111858016A (zh)
WO (1) WO2020221161A1 (zh)

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6985995B2 (en) * 2002-03-29 2006-01-10 Panasas, Inc. Data file migration from a mirrored RAID to a non-mirrored XOR-based RAID without rewriting the data
US7117013B2 (en) * 2003-10-07 2006-10-03 Lenovo (Singapore) Pte. Ltd. Cruable dual mode ISM and U-NII wireless radio with secure, integral antenna connection
US20070050525A1 (en) * 2005-08-25 2007-03-01 Moxa Technologies Co., Ltd. [virtual com port for remote i/o controller]
KR20090016293A (ko) 2007-08-10 2009-02-13 엘지전자 주식회사 휴대 단말기 및 그 외부기기 연결 방법
US8713559B2 (en) * 2010-11-15 2014-04-29 Schneider Electric It Corporation System and method for updating firmware
US9600429B2 (en) * 2010-12-09 2017-03-21 Solarflare Communications, Inc. Encapsulated accelerator
WO2012148087A2 (ko) * 2011-04-29 2012-11-01 주식회사 케이티 외부 디바이스와 도킹 연결되는 휴대 단말 및 화면 변경 방법
US8935793B2 (en) * 2012-02-29 2015-01-13 The Mitre Corporation Hygienic charging station for mobile device security
US9189170B2 (en) 2012-06-12 2015-11-17 Commvault Systems, Inc. External storage manager for a data storage cell
US20140075377A1 (en) 2012-09-10 2014-03-13 Samsung Electronics Co. Ltd. Method for connecting mobile terminal and external display and apparatus implementing the same
US9264749B2 (en) * 2012-12-13 2016-02-16 Microsoft Technology Licensing, Llc Server GPU assistance for mobile GPU applications
US20140364711A1 (en) 2013-03-27 2014-12-11 AkibaH Health Corporation All-in-one analyte sensor in a detachable external mobile device case
US9323455B2 (en) 2013-04-27 2016-04-26 Lg Electronics Inc. Mobile terminal and method of controlling an external mobile terminal
EP2954401B1 (en) * 2013-09-19 2024-03-06 Citrix Systems, Inc. Transmitting hardware-rendered graphical data
CN103500076A (zh) 2013-10-13 2014-01-08 张维加 一种基于多通道slc nand与dram缓存的新usb协议计算机加速设备
KR101710317B1 (ko) 2013-11-22 2017-02-24 퀄컴 인코포레이티드 차량 내의 다수의 모바일 컴퓨팅 디바이스들에 의해 제공된 선호도들에 기초하여 차량의 내면을 구성하기 위한 시스템 및 방법
WO2015100681A1 (zh) * 2013-12-31 2015-07-09 华为技术有限公司 Gpu虚拟化的实现方法及相关装置和系统
US9111214B1 (en) 2014-01-30 2015-08-18 Vishal Sharma Virtual assistant system to remotely control external services and selectively share control
US20160036883A1 (en) 2014-07-30 2016-02-04 Qualcomm Incorporated Systems and methods for selective transport accelerator operation
CN104298474A (zh) 2014-10-13 2015-01-21 张维加 一种基于服务端与外部缓存系统的外接式计算设备加速方法与实现该方法的设备
US10348691B2 (en) 2014-11-15 2019-07-09 Abhishek Adhikari System and method for controlling, sharing, release and management of digital data between smart mobile device(s) and external device(s) using a connector pad
US9871878B2 (en) * 2014-12-15 2018-01-16 Twin Prime, Inc. Network traffic accelerator
CN104536813B (zh) * 2014-12-29 2016-10-12 北京奇虎科技有限公司 计算设备的加速方法和装置
DE102015211101A1 (de) 2015-06-17 2016-12-22 Volkswagen Aktiengesellschaft Spracherkennungssystem sowie Verfahren zum Betreiben eines Spracherkennungssystems mit einer mobilen Einheit und einem externen Server
US9769596B2 (en) 2015-11-24 2017-09-19 International Business Machines Corporation Mobile device output to external device
CN105824706B (zh) * 2015-12-31 2020-11-06 华为技术有限公司 一种配置加速器的方法和装置
US10687188B2 (en) * 2016-04-08 2020-06-16 Cloudflare, Inc. Mobile application accelerator
US10511508B2 (en) * 2016-05-05 2019-12-17 Keysight Technologies Singapore (Sales) Pte. Ltd. Network packet forwarding systems and methods to push packet pre-processing tasks to network tap devices
KR20180037473A (ko) 2016-10-04 2018-04-12 삼성전자주식회사 모바일 결제 방법, 전자 장치 및 외부 결제 장치
US20180150256A1 (en) * 2016-11-29 2018-05-31 Intel Corporation Technologies for data deduplication in disaggregated architectures
CN206541267U (zh) * 2016-12-19 2017-10-03 深圳泰克威云储科技股份有限公司 一种支持智能移动设备数据传输及充电的存储系统装置
EP3428808A1 (en) * 2017-07-14 2019-01-16 Vsoft Spolka Akcyjna Communication between mobile devices and a web application running on a server
US11769402B2 (en) 2018-03-29 2023-09-26 Intel Corporation Augmenting mobile device operation with intelligent external sensors

Also Published As

Publication number Publication date
WO2020221161A1 (zh) 2020-11-05
EP3964955A1 (en) 2022-03-09
US20220156086A1 (en) 2022-05-19
EP3964955A4 (en) 2023-01-18
US11893391B2 (en) 2024-02-06

Similar Documents

Publication Publication Date Title
US11720368B2 (en) Memory management of data processing systems
US9563439B2 (en) Caching unified extensible firmware interface (UEFI) and/or other firmware instructions in a non-volatile memory of an information handling system (IHS)
US9558016B2 (en) Platform system, method for changing support hardware configuration of universal extensible firmware interface basic input output system and computer program product
US20170031694A1 (en) System and method for remote system configuration managment
US10572434B2 (en) Intelligent certificate discovery in physical and virtualized networks
US10459742B2 (en) System and method for operating system initiated firmware update via UEFI applications
WO2019119315A1 (zh) 基于多操作系统的输入处理方法、装置及电子设备
US20210089325A1 (en) Supervised learning based uefi pre-boot control
US9325576B2 (en) Dynamic server to server configuration and initialization
US10467023B2 (en) System and method of interactive splash screen in embedded environments
US20230229481A1 (en) Provisioning dpu management operating systems
US11144326B2 (en) System and method of initiating multiple adaptors in parallel
CN111694604A (zh) 一种驱动批量安装方法、装置、设备及机器可读存储介质
CN110515671A (zh) 初始化方法、初始化装置、终端设备及可读存储介质
KR102315102B1 (ko) 가상 머신을 부팅하기 위한 방법, 장치, 기기 및 매체
US11093332B2 (en) Application checkpoint and recovery system
CN210166772U (zh) 计算系统
CN115391066B (zh) 用于芯片的数据交互方法、装置和人工智能芯片
CN107688479B (zh) Android系统网络集群及其搭建的方法、Android系统网络集群数据处理的方法和系统
US20160328317A1 (en) System and Method for Optimizing System Memory and Input/Output Operations Memory
CN111858016A (zh) 计算作业处理方法、系统、移动设备及加速设备
US10996942B1 (en) System and method for graphics processing unit firmware updates
US11593121B1 (en) Remotely disabling execution of firmware components
WO2019119438A1 (zh) 一种操作系统屏幕锁定的方法、装置及电子设备
US20230237010A1 (en) Power efficient memory value updates for arm architectures

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