CN109828848A - 平台即服务云端服务器及其多用户操作方法 - Google Patents

平台即服务云端服务器及其多用户操作方法 Download PDF

Info

Publication number
CN109828848A
CN109828848A CN201711224262.6A CN201711224262A CN109828848A CN 109828848 A CN109828848 A CN 109828848A CN 201711224262 A CN201711224262 A CN 201711224262A CN 109828848 A CN109828848 A CN 109828848A
Authority
CN
China
Prior art keywords
fpga
logic circuit
cloud server
paas cloud
virtual machine
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
CN201711224262.6A
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.)
Institute for Information Industry
Original Assignee
Institute for Information Industry
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 Institute for Information Industry filed Critical Institute for Information Industry
Publication of CN109828848A publication Critical patent/CN109828848A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • 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/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/45562Creating, deleting, cloning virtual machine instances
    • 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/45575Starting, stopping, suspending or resuming virtual machine instances
    • 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/45583Memory management, e.g. access or allocation
    • 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/45595Network integration; Enabling network access in virtual machine instances

Abstract

一种PaaS云端服务器及其多用户操作方法。PaaS云端服务器透过虚拟机接收用户的应用程序资源要求,并根据应用程序资源要求判断可用的逻辑电路对象。PaaS云端服务器透过FPGA对象管理模块建立FPGA服务对象,并配对FPGA服务对象与逻辑电路对象。PaaS云端服务器透过FPGA对象管理模块,将FPGA服务对象接合用户的应用程序,并透过虚拟机自应用程序接收应用程序数据。PaaS云端服务器根据FPGA服务对象与逻辑电路对象的配对,透过虚拟机将应用程序数据输入至逻辑电路对象对应的FPGA电路的部分逻辑电路,使部分逻辑电路计算应用程序数据的结果数据。PaaS云端服务器透过虚拟机,将结果数据传送至应用程序。

Description

平台即服务云端服务器及其多用户操作方法
技术领域
本发明是关于一种平台即服务云端服务器及其多用户操作方法;更具体而言,本发明是关于一种可共享场域可程序化门阵列电路的平台即服务云端服务器及其多用户操作方法。
背景技术
云端运算是目前网络服务主要的发展技术之一,其是利用网络链接的伺服端及硬件,完成客户端所需要的各种数据运算或软件服务,甚至可提供客户端软件开发的平台。而透过此种方式,客户端可大幅地降低硬件成本,同时有效地提升生产效益。
另一方面,云端运算的服务器可根据不同的客户端需求,提供不同的运算芯片,例如:处理文字或JPEG图像文件数据的一般中央处理单元(central processing unit)、处理大量实时影像运算的图形处理单元(graphic processing unit)、处理机器学习(machinelearning)数据的Tensorflow处理单元及提供客制化调整的场域可程序化门阵列(Field-Programmable Gate Array,FPGA)。其中,由于FPGA可由客户端自行调整,较具使用弹性且具良好的效能功耗比,因此,提供FPGA的云端运算服务器为发展主流之一。
目前企业所提供具FPGA的云端运算服务器,主要是以底层的基础架构即服务(Infrastructure as a Service,IaaS)为系统架构,并针对不同客户端提供独立的FPGA,如此,客户端便可根据其对于数据种类的需求调整属于自己的FPGA,以达数据处理优化。
惟基于IaaS系统提供FPGA的云端运算服务器,需针对不同使用者备有其独立操作的FPGA,因此,FPGA的数量随客户端的数量增加,则提供云端运算的企业的硬件成本将大幅提升。另外,由于客户端需要自行针对所属的FPGA进行相应的调整,因此,所需的服务环境布建成本亦相对较高。
据此,如何将提供FPGA的云端运算服务器建立于另一系统架构上,并使得企业的硬件成本得以降低,同时提升客户端服务环境布建的效率,乃业界须共同努力的目标。
发明内容
本发明的主要目的是提供一种用于平台即服务(Platform as a service,PaaS)云端服务器的多用户操作方法。PaaS云端服务器执行场域可程序化门阵列(Field-Programmable Gate Array,FPGA)对象管理模块以及虚拟机。虚拟机控制FPGA电路。多用户操作方法包含:PaaS云端服务器透过虚拟机,接收第一用户的第一应用程序资源要求;PaaS云端服务器根据第一应用程序资源要求,透过虚拟机判断第一逻辑电路对象是可用,其中,第一逻辑电路对象对应于FPGA电路的第一部分逻辑电路;PaaS云端服务器透过FPGA对象管理模块建立第一FPGA服务对象,并配对第一FPGA服务对象与第一逻辑电路对象。
多用户操作方法进一步包含:PaaS云端服务器透过FPGA对象管理模块,将第一FPGA服务对象接合第一用户的第一应用程序;PaaS云端服务器透过虚拟机,自第一应用程序接收第一应用程序数据;PaaS云端服务器根据第一FPGA服务对象与第一逻辑电路对象的配对,透过虚拟机将第一应用程序数据输入至第一逻辑电路对象对应的第一部分逻辑电路,使第一部分逻辑电路计算第一应用程序数据的第一结果数据;PaaS云端服务器透过虚拟机,将第一结果数据传送至第一应用程序。
为达上述目的,本发明揭露一种多用户的PaaS云端服务器,包含传输接口以及处理器。传输接口用以连接FPGA电路。处理器用以执行FPGA对象管理模块以及虚拟机,并透过虚拟机控制FPGA电路。虚拟机包含FPGA处理模块。FPGA处理模块用以:接收第一用户的第一应用程序资源要求;根据第一应用程序资源要求判断第一逻辑电路对象是可用,其中,第一逻辑电路对象对应于FPGA电路的第一部分逻辑电路。
FPGA对象管理模块用以:建立第一FPGA服务对象,并配对第一FPGA服务对象与第一逻辑电路对象;将第一FPGA服务对象接合第一用户的第一应用程序。FPGA处理模块更用以:自第一应用程序接收第一应用程序数据;根据第一FPGA服务对象与第一逻辑电路对象的配对,透过虚拟机将第一应用程序数据输入至第一逻辑电路对象相对应的第一部分逻辑电路,使第一部分逻辑电路计算第一应用程序数据的第一结果数据;将第一结果数据传送至第一应用程序。
附图说明
图1A是本发明第一实施例的PaaS云端服务器的操作示意图;
图1B是本发明第一实施例的PaaS云端服务器的方块图;
图2是本发明第二实施例的PaaS云端服务器的操作示意图;
图3A~3B是本发明第三实施例的PaaS云端服务器的操作示意图;
图4是本发明第四实施例的多用户操作方法流程图;以及
图5是本发明第五实施例的多用户操作方法流程图。
符号说明
1 PaaS云端服务器
11 传输接口
13 处理器
131 FPGA处理模块
133 FPGA对象管理模块
2 FPGA电路
21a~21c 部分逻辑电路
InData1、InData2、InData4 应用程序数据
OutData1、OutData2、OutData4 结果数据
RQ1、RQ2、RQ4 应用程序资源要求
T1~T4 用户
C1~C4 应用程序
OB1~OB3 逻辑电路对象
SOB1~SOB4FPGA 服务对象
WS1 等待讯号
VM 虚拟机
具体实施方式
以下将透过本发明的实施例来阐释本发明。然而,该等实施例并非用以限制本发明需在如实施例所述的任何环境、应用程序或方式方能实施。因此,以下实施例的说明仅在于阐释本发明,而非用以限制本发明。在以下实施例及图式中,与本发明非直接相关的组件已省略而未绘示,且绘示于图式中的各组件之间的尺寸关系仅为便于理解,而非用以限制为实际的实施比例。
请同时参考图1A以及图1B。图1A是本发明第一实施例的一平台即服务(Platformas a Service,PaaS)云端服务器1的操作示意图,图1B是本发明第一实施例的PaaS云端服务器1的方块图。PaaS云端服务器1包含一传输接口11以及一处理器13。传输接口11连接一场域可程序化门阵列(Field-Programming Gate Array,FPGA)电路2。处理器13执行一FPGA对象管理模块133以及一虚拟机VM,并透过虚体机器VM控制FPGA电路2。
需先说明,传输接口11以及处理器13间具有电性连结。其中,处理器13可为中央处理单元(Central Processing Unit;CPU)、图形处理单元(Graphics Processing Unit;GPU)、微处理器(Micro Processor)、控制组件、其他可执行相关指令的硬件电路组件或本领域技术人员可透过本发明内容理解的其他计算电路中的任一者。
另外,FPGA电路2可透过总线(例:传输接口11是PCIe插槽)或总线与网络(例:传输接口11是网络卡)的组合与PaaS云端服务器1交换数据。另外,由于FPGA电路2具有可程序化编辑的特性,因此,可先将其规划分为多个具有独立计算功能的部分逻辑电路21a~21c,并由虚拟机VM针对多个部分逻辑电路21a~21c配置相对应的多个逻辑电路对象OB1~OB3,使后续FPGA电路2的多个部分逻辑电路21a~21c的利用及操作。
具体而言,于第一实施例中,虚拟机VM包含一FPGA处理模块131。首先,当一第一用户T1于PaaS云端服务器1上有应用程序使用需求,并须利用PaaS云端服务器1操作FPGA电路2时,第一用户T1对PaaS云端服务器1发出一第一应用程序资源要求RQ1。
另一方面,PaaS云端服务器1透过虚拟机VM的FPGA处理模块131接收第一用户T1的第一应用程序资源要求RQ1后,先判断是否有未被使用的逻辑电路对象可用,换言之,即判断FPGA电路2中是否有相应未被使用的部分逻辑电路。而于第一实施例中,FPGA处理模块131判断一第一逻辑电路对象OB1未被使用,其中,第一逻辑电路对象OB1对应于FPGA电路2的一第一部分逻辑电路21a。
接着,FPGA对象管理模块133建立一第一FPGA服务对象SOB1,并配对第一FPGA服务对象SOB1与第一逻辑电路对象OB1。随即,FPGA对象管理模块133将第一FPGA服务对象SOB1接合(binding)第一用户T1的一第一应用程序C1。需特别说明,此处的接合主要是将服务对象以及应用程序绑定,使二者的环境变量共享,并可互相存取相应参数。
随后,虚拟机VM的FPGA处理模块131便自第一应用程序C1接收一第一应用程序数据InData1,并根据第一FPGA服务对象SOB1与该第一逻辑电路对象OB1的配对,透过虚拟机VM将第一应用程序数据InData1输入至第一逻辑电路对象OB1相对应的第一部分逻辑电路21a。如此一来,第一部分逻辑电路21a便可据以计算第一应用程序数据InData1的一第一结果数据OutData1,并将第一结果数据OutData1传送至第一应用程序C1,以完成相应的数据计算。
请参考图2,其是本发明第二实施例的PaaS云端服务器1的操作示意图。其中,第二实施例与第一实施例的网络架构相似,因此符号相同的组件功能亦同,于此不再赘述。而第二实施例主要是进一步说明本发明的PaaS云端服务器1的多用户操作细节。
首先,于第一用户T1及其第一应用程序C1与PaaS云端服务器1尚处于数据交换(第一FPGA服务对象SOB1与第一应用程序C1尚处于接合状态)的情况下,当一第二用户T2于PaaS云端服务器1上有应用程序使用需求,并须利用PaaS云端服务器1操作FPGA电路2时,第二用户T2对PaaS云端服务器1发出一第二应用程序资源要求RQ2。
另一方面,PaaS云端服务器1透过虚拟机VM的FPGA处理模块131接收第二用户T2的第二应用程序资源要求RQ2后,先判断是否有未被使用的逻辑电路对象可用,换言之,即判断FPGA电路2中是否有相应未被使用的部分逻辑电路。而于第二实施例中,FPGA处理模块131判断一第二逻辑电路对象OB2未被使用,其中,第二逻辑电路对象OB2对应于FPGA电路2的一第二部分逻辑电路21b。
接着,同样地,FPGA对象管理模块133建立一第二FPGA服务对象SOB2,并配对第二FPGA服务对象SOB1与第二逻辑电路对象OB2。随即,FPGA对象管理模块133将第二FPGA服务对象SOB2接合第二用户T2的一第二应用程序C2。
随后,虚拟机VM的FPGA处理模块131便自第二应用程序C2接收一第二应用程序数据InData2,并根据第二FPGA服务对象SOB2与第一逻辑电路对象OB2的配对,透过虚拟机VM将第二应用程序数据InData2输入至第二逻辑电路对象OB2相对应的第二部分逻辑电路21b。如此一来,第二部分逻辑电路21b便可据以计算第二应用程序数据InData2的一第二结果数据OutData2,并将第二结果数据OutData2传送至第二应用程序C2,以完成相应的数据计算。
请参考图3A~3B,其是本发明第三实施例的PaaS云端服务器1的操作示意图。其中,第三实施例与前述实施例的网络架构相似,因此符号相同的组件功能亦同,于此不再赘述。而第三实施例主要是进一步说明本发明的PaaS云端服务器1的多用户操作细节。
需先说明,于第三实施例中,第一用户T1及其第一应用程序C1与PaaS云端服务器1尚处于数据交换(第一FPGA服务对象SOB1与第一应用程序C1尚处于接合状态)的状态,且第二用户T2及其第二应用程序C2与PaaS云端服务器1亦处于数据交换(第二FPGA服务对象SOB2与第二应用程序C2亦处于接合状态)的状态。
同时,FPGA对象管理模块133已完成一第三FPGA服务对象SOB3的建立以及第三FPGA服务对象SOB3与第二逻辑电路对象OB3的配对,且将第三FPGA服务对象SOB3接合一第三用户T3的一第三应用程序C3。因此,于第三实施例中,已无闲置的逻辑对象可供使用。
请先参考图3A。当一第四用户T4于PaaS云端服务器1上有应用程序使用需求,并须利用PaaS云端服务器1操作FPGA电路2时,第四用户T4先对PaaS云端服务器1发出一第四应用程序资源要求RQ4。另一方面,PaaS云端服务器1透过虚拟机VM,接收第四用户T4的第四应用程序资源要求RQ4。
接着,于第三实施例中,PaaS云端服务器1根据第四应用程序资源要求RQ4,透过虚拟机VM的FPGA处理模块131判断FPGA电路2中无逻辑电路可用,因此,PaaS云端服务器1透过虚拟机VM的FPGA处理模块131,向第四用户T4发送一等待讯号WS1,以通知第四用户T4等待可用资源释出。
请一并参考图3B。随后,当第一用户T1及其第一应用程序C1无需再使用PaaS云端服务器1后,PaaS云端服务器1透过虚拟机VM的FPGA处理模块131,解除第一FPGA服务对象SOB1与第一逻辑电路对象OB1的配对,并删除第一FPGA服务对象SOB1。据此,在第一逻辑电路对象OB1的资源释放出来后,FPGA处理模块131便可基于第四应用程序资源要求RQ4,判断第一逻辑电路对象OB1是可用。
接着,FPGA对象管理模块133便可建立一第四FPGA服务对象SOB4,并配对第四FPGA服务对象SOB4与第一逻辑电路对象OB1。同时,FPGA对象管理模块133将第四FPGA服务对象SOB4接合第四用户的一第四应用程序C4。
随后,虚拟机VM的FPGA处理模块131便自第四应用程序C4接收一第四应用程序数据InData4,并根据第四FPGA服务对象SOB4与第一逻辑电路对象OB1的配对,透过虚拟机VM将第四应用程序数据InData4输入至第一逻辑电路对象OB1相对应的第一部分逻辑电路21a。如此一来,第一部分逻辑电路21a便可据以计算第四应用程序数据InData4的一第四结果数据OutData4,并将第四结果数据OutData4传送至第四应用程序C4,以完成相应的数据计算。
本发明的第四实施例为多用户操作方法,其流程图请参考图4。第四实施例的方法是用于一PaaS云端服务器(例如前述实施例的PaaS云端服务器)。PaaS云端服务器执行一FPGA对象管理模块以及一虚拟机,虚拟机控制一FPGA电路。第四实施例的详细步骤如下所述。
首先,执行步骤401,PaaS云端服务器透过虚拟机接收一第一用户的一第一应用程序资源要求。执行步骤402,PaaS云端服务器根据第一应用程序资源要求,透过虚拟机判断一第一逻辑电路对象是可用。其中,第一逻辑电路对象对应于FPGA电路的一第一部分逻辑电路。
接着,执行步骤403,PaaS云端服务器透过FPGA对象管理模块建立一第一FPGA服务对象,并配对第一FPGA服务对象与第一逻辑电路对象。执行步骤404,PaaS云端服务器透过FPGA对象管理模块,将第一FPGA服务对象接合第一用户的一第一应用程序。执行步骤405,PaaS云端服务器透过虚拟机,自第一应用程序接收一第一应用程序数据。
随后,执行步骤406,PaaS云端服务器根据第一FPGA服务对象与第一逻辑电路对象的配对,透过虚拟机将第一应用程序数据输入至第一逻辑电路对象对应的第一部分逻辑电路。如此,第一部分逻辑电路便可据以计算第一应用程序数据的一第一结果数据。最后,执行步骤407,PaaS云端服务器透过虚拟机,将第一结果数据传送至第一应用程序,以完成相应的数据计算
本发明的第五实施例为多用户操作方法,其流程图请参考图5。第五实施例的方法是用于一PaaS云端服务器(例如前述实施例的PaaS云端服务器)。PaaS云端服务器执行一FPGA对象管理模块以及一虚拟机,虚拟机控制一FPGA电路。FPGA电路规划有多个部分逻辑电路,并由虚拟机针对多个部分逻辑电路配置相对应的多个逻辑电路对象。第五实施例的详细步骤如下所述。
首先,执行步骤501,PaaS云端服务器透过虚拟机接收一用户的一应用程序资源要求。执行步骤502,PaaS云端服务器根据应用程序资源要求,透过虚拟机判断是否有逻辑电路对象可用。若是,执行步骤503,PaaS云端服务器透过FPGA对象管理模块建立一FPGA服务对象,并配对FPGA服务对象与判断可用的逻辑电路对象。执行步骤504,PaaS云端服务器透过FPGA对象管理模块,将FPGA服务对象接合用户的应用程序。执行步骤505,PaaS云端服务器透过虚拟机,自应用程序接收一应用程序数据。
随后,执行步骤506,PaaS云端服务器根据FPGA服务对象与逻辑电路对象的配对,透过虚拟机将应用程序数据输入至逻辑电路对象对应的部分逻辑电路。如此,部分逻辑电路便可据以计算应用程序数据的一结果数据。执行步骤507,PaaS云端服务器透过虚拟机,将结果数据传送至应用程序,已完成相应的数据计算。
另一方面,若步骤502判断无逻辑电路对象可用,则执行步骤508,PaaS云端服务器透过虚拟机向用户发送一等待讯号,以通知用户等待可用资源释出。需特别说明,当用户等待资源释放的过程中,若有用户及其应用程序无需再使用PaaS云端服务器,则执行选择性(以虚线图框表示)步骤509,PaaS云端服务器透过FPGA对象管理模块,解除无需使用的FPGA服务对象与相应的逻辑电路对象的配对,并删除此FPGA服务对象。
需特别说明,前述应用程序可为一般应用程序,亦可实作为本领域专用的容器(Container)程序,因此,前述应用程序数据、应用程序资源要求以及应用程序可以容器数据、容器资源要求以及容器的技术实作的,惟其并非用以限制本发明的实施态样。
综合上述,本发明的PaaS云端服务器及其多用户操作方法,主要是基于PaaS系统,将独立的FPGA电路利用其原有的可编辑特性规划予多用户操作,并透过PaaS云端服务器的虚拟机,针对多用户进行独立FPGA电路的逻辑电路的管理使用,如此一来,便可大幅降低硬件成本,同时提升客户端服务环境布建的效率,以解决先前技术的问题。
惟上述实施例仅为例示性说明本发明的实施态样,以及阐释本发明的技术特征,并非用来限制本发明的保护范畴。本领域的技术人员可轻易完成的改变或均等性的安排均属于本发明所主张的范围,本发明的权利保护范围应以权利要求书为准。

Claims (8)

1.一种用于平台即服务PaaS云端服务器的多用户操作方法,该PaaS云端服务器执行一场域可程序化门阵列FPGA对象管理模块以及一虚拟机,该虚拟机控制一FPGA电路,该多用户操作方法包含:
该PaaS云端服务器透过该虚拟机,接收一第一用户的一第一应用程序资源要求;
该PaaS云端服务器根据该第一应用程序资源要求,透过该虚拟机判断一第一逻辑电路对象是可用,其中,该第一逻辑电路对象对应于该FPGA电路的一第一部分逻辑电路;
该PaaS云端服务器透过该FPGA对象管理模块建立一第一FPGA服务对象,并配对该第一FPGA服务对象与该第一逻辑电路对象;
该PaaS云端服务器透过该FPGA对象管理模块,将该第一FPGA服务对象接合该第一用户的一第一应用程序;
该PaaS云端服务器透过该虚拟机,自该第一应用程序接收一第一应用程序数据;
该PaaS云端服务器根据该第一FPGA服务对象与该第一逻辑电路对象的配对,透过该虚拟机将该第一应用程序数据输入至该第一逻辑电路对象对应的该第一部分逻辑电路,使该第一部分逻辑电路计算该第一应用程序数据的一第一结果数据;以及
该PaaS云端服务器透过该虚拟机,将该第一结果数据传送至该第一应用程序。
2.如权利要求1所述的多用户操作方法,其特征在于,更包含:
该PaaS云端服务器透过该虚拟机,接收一第二用户的一第二应用程序资源要求;
该PaaS云端服务器根据该第二应用程序资源要求,透过该虚拟机判断一第二逻辑电路对象是可用,其中,该第二逻辑电路对象对应于该FPGA电路的一第二部分逻辑电路;
该PaaS云端服务器透过该FPGA对象管理模块建立一第二FPGA服务对象,并配对该第二FPGA服务对象与该第二逻辑电路对象;
该PaaS云端服务器透过该FPGA对象管理模块,将该第二FPGA服务对象接合该第二用户的一第二应用程序;
该PaaS云端服务器透过该虚拟机,自该第二应用程序接收一第二应用程序数据;
该PaaS云端服务器根据该第二FPGA服务对象与该第二逻辑电路对象的配对,透过该虚拟机将该第二应用程序数据输入至该第二逻辑电路对象对应的该第二部分逻辑电路,使该第二部分逻辑电路计算该第二应用程序数据的一第二结果数据;以及
该PaaS云端服务器透过该虚拟机,将该第二结果数据传送至该第二应用程序。
3.如权利要求1所述的多用户操作方法,其特征在于,更包含:
该PaaS云端服务器透过该虚拟机,接收一第二用户的一第二应用程序资源要求;以及
该PaaS云端服务器根据该第二应用程序资源要求,透过该虚拟机判断该FPGA电路中无逻辑电路可用,并向该第二用户发送一等待讯号。
4.如权利要求3所述的多用户操作方法,其特征在于,更包含:
该PaaS云端服务器透过该虚拟机,解除该第一FPGA服务对象与该第一逻辑电路对象的配对,并删除该第一FPGA服务对象;
该PaaS云端服务器根据该第二应用程序资源要求,透过该虚拟机判断该第一逻辑电路对象是可用;
该PaaS云端服务器透过该FPGA对象管理模块建立一第二FPGA服务对象,并配对该第二FPGA服务对象与该第一逻辑电路对象;
该PaaS云端服务器透过该FPGA对象管理模块,将该第二FPGA服务对象接合该第二用户的一第二应用程序;
该PaaS云端服务器透过该虚拟机,自该第二应用程序接收一第二应用程序数据;
该PaaS云端服务器根据该第二FPGA服务对象与该第一逻辑电路对象的配对,透过该虚拟机将该第二应用程序数据输入至该第一逻辑电路对象对应的该第一逻辑电路,使该第一逻辑电路计算该第二应用程序数据的一第二结果数据;以及
该PaaS云端服务器透过该虚拟机,将该第二结果数据传送至该第二应用程序。
5.一种多用户的平台即服务PaaS云端服务器,包含:
一传输接口,用以连接一场域可程序化门阵列FPGA电路;以及
一处理器,用以执行一FPGA对象管理模块以及一虚拟机,并透过该虚拟机控制该FPGA电路,该虚拟机包含一FPGA处理模块;
其中,该FPGA处理模块用以:
接收一第一用户的一第一应用程序资源要求;以及
根据该第一应用程序资源要求判断一第一逻辑电路对象是可用,其中,该第一逻辑电路对象对应于该FPGA电路的一第一部分逻辑电路;
其中,该FPGA对象管理模块用以:
建立一第一FPGA服务对象,并配对该第一FPGA服务对象与该第一逻辑电路对象;以及
将该第一FPGA服务对象接合该第一用户的一第一应用程序;
其中,该FPGA处理模块更用以:
自该第一应用程序接收一第一应用程序数据;
根据该第一FPGA服务对象与该第一逻辑电路对象的配对,透过该虚拟机将该第一应用程序数据输入至该第一逻辑电路对象相对应的该第一部分逻辑电路,使该第一部分逻辑电路计算该第一应用程序数据的一第一结果数据;以及
将该第一结果数据传送至该第一应用程序。
6.如权利要求5所述的PaaS云端服务器,其特征在于,该FPGA处理模块更用以:
接收一第二用户的一第二应用程序资源要求;以及
根据该第二应用程序资源要求判断一第二逻辑电路对象是可用,其中,该第二逻辑电路对象对应于该FPGA电路的一第二部分逻辑电路;
其中,该FPGA对象管理模块更用以:
建立一第二FPGA服务对象,并配对该第二FPGA服务对象与该第二逻辑电路对象;以及
将该第二FPGA服务对象接合该第二用户的一第二应用程序;
其中,该FPGA处理模块更用以:
自该第二应用程序接收一第二应用程序数据;
根据该第二FPGA服务对象与该第二逻辑电路对象的配对,透过该虚拟机将该第二应用程序数据输入至该第二逻辑电路对象相对应的该第二部分逻辑电路,使该第二部分逻辑电路计算该第二应用程序数据的该第二结果数据;以及
将该第二结果数据传送至该第二应用程序。
7.如权利要求5所述的PaaS云端服务器,其特征在于,该FPGA处理模块更用以:
接收一第二用户的一第二应用程序资源要求;以及
根据该第二应用程序资源要求判断该FPGA电路中无逻辑电路可用,并向该第二用户发送一等待讯号。
8.如权利要求7所述的PaaS云端服务器,其特征在于,该FPGA处理模块更用以:
解除该第一FPGA服务对象与该第一逻辑电路对象的配对,并删除该第一FPGA服务对象;以及
根据该第二应用程序资源要求,判断该第一逻辑电路对象是可用;
其中,该FPGA对象管理模块更用以:
建立一第二FPGA服务对象,并配对该第二FPGA服务对象与该第一逻辑电路对象;
将该第二FPGA服务对象接合该第二用户的一第二应用程序;
其中,该FPGA处理模块更用以:
自该第二应用程序接收一第二应用程序数据;
根据该第二FPGA服务对象与该第一逻辑电路对象的配对,透过该虚拟机将该第二应用程序数据输入至该第一逻辑电路对象对应的该第一逻辑电路,使该第一逻辑电路计算该第二应用程序数据的一第二结果数据;以及
将该第二结果数据传送至该第二应用程序。
CN201711224262.6A 2017-11-23 2017-11-29 平台即服务云端服务器及其多用户操作方法 Pending CN109828848A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW106140753A TW201926951A (zh) 2017-11-23 2017-11-23 平台即服務雲端伺服器及其多用戶操作方法
TW106140753 2017-11-23

Publications (1)

Publication Number Publication Date
CN109828848A true CN109828848A (zh) 2019-05-31

Family

ID=66533435

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711224262.6A Pending CN109828848A (zh) 2017-11-23 2017-11-29 平台即服务云端服务器及其多用户操作方法

Country Status (3)

Country Link
US (1) US20190158575A1 (zh)
CN (1) CN109828848A (zh)
TW (1) TW201926951A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111803926A (zh) * 2020-06-05 2020-10-23 厦门雅基软件有限公司 云应用中控制对象的匹配方法、装置及电子设备

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019132744A1 (en) * 2017-12-27 2019-07-04 Telefonaktiebolaget Lm Ericsson (Publ) Apparatus and method for controlling communication between an edge cloud server and a plurality of clients via a radio access network
US11294729B2 (en) * 2018-05-08 2022-04-05 Siemens Industry Software Inc. Resource provisioning for multiple invocations to an electronic design automation application
CN111984397A (zh) * 2019-05-24 2020-11-24 阿里巴巴集团控股有限公司 计算资源分配系统和方法
US11895201B2 (en) * 2020-03-27 2024-02-06 Intel Corporation Programmable integrated circuit configured as a remote trust anchor to support multitenancy
US20220321403A1 (en) * 2021-04-02 2022-10-06 Nokia Solutions And Networks Oy Programmable network segmentation for multi-tenant fpgas in cloud infrastructures

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110246627A1 (en) * 2010-04-01 2011-10-06 International Business Machines Corporation Data Center Affinity Of Virtual Machines In A Cloud Computing Environment
CN102984214A (zh) * 2012-11-08 2013-03-20 华为技术有限公司 一种实现电信云中业务迁移的方法及装置
CN104756460A (zh) * 2012-09-07 2015-07-01 甲骨文国际公司 基于ldap的多顾客云内身份管理系统
CN105761544A (zh) * 2016-05-10 2016-07-13 至库停车信息服务有限公司 一种基于物联网的停车信息公共服务平台

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110246627A1 (en) * 2010-04-01 2011-10-06 International Business Machines Corporation Data Center Affinity Of Virtual Machines In A Cloud Computing Environment
CN104756460A (zh) * 2012-09-07 2015-07-01 甲骨文国际公司 基于ldap的多顾客云内身份管理系统
CN102984214A (zh) * 2012-11-08 2013-03-20 华为技术有限公司 一种实现电信云中业务迁移的方法及装置
CN105761544A (zh) * 2016-05-10 2016-07-13 至库停车信息服务有限公司 一种基于物联网的停车信息公共服务平台

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111803926A (zh) * 2020-06-05 2020-10-23 厦门雅基软件有限公司 云应用中控制对象的匹配方法、装置及电子设备
CN111803926B (zh) * 2020-06-05 2023-03-24 厦门雅基软件有限公司 云应用中控制对象的匹配方法、装置及电子设备

Also Published As

Publication number Publication date
US20190158575A1 (en) 2019-05-23
TW201926951A (zh) 2019-07-01

Similar Documents

Publication Publication Date Title
CN109828848A (zh) 平台即服务云端服务器及其多用户操作方法
CN106534338B (zh) 一种云机器人实现方法
CN112784989B (zh) 推理系统、推理方法、电子设备及计算机存储介质
US9576332B1 (en) Systems and methods for remote graphics processing unit service
CN112988346B (zh) 任务处理方法、装置、设备及存储介质
CN113079216B (zh) 一种云应用的实现方法、装置、电子设备及可读存储介质
CN111400000A (zh) 网络请求处理方法、装置、设备和存储介质
CN111124640A (zh) 任务分配方法及系统、存储介质、电子装置
CN108733527B (zh) 用于测试服务器功能的系统、方法和装置
CN106775616B (zh) 基于C++与Java混合编程的分布式服务系统
CN110058926A (zh) 用于处理gpu任务的方法、设备和计算机可读介质
US9614900B1 (en) Multi-process architecture for a split browser
CN102137162A (zh) 基于软件即服务模式的cad集成系统
CN111258902B (zh) 基于SockJS服务器的性能测试方法和性能测试系统
CN116662009A (zh) Gpu资源分配方法、装置、电子设备和存储介质
CN115373618B (zh) 一种多屏显示方法、装置、车机及存储介质
CN115361382B (zh) 基于数据群组的数据处理方法、装置、设备和存储介质
CN107872527B (zh) 一种lvc一体化远程方式云服务系统及方法
CN115840648A (zh) 一种仿真任务的处理方法、装置及电子设备
CN115378937A (zh) 任务的分布式并发方法、装置、设备和可读存储介质
CN113472598B (zh) 云服务方法、电子设备和计算机可读存储介质
CN114301980A (zh) 容器集群的调度方法、装置、系统及计算机可读介质
CN113254825A (zh) 页面生成的方法、装置、电子设备和存储介质
CN111258715B (zh) 多操作系统渲染处理方法及装置
CN103856531A (zh) 一种基于多协作者的局域网下载装置及方法

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190531

WD01 Invention patent application deemed withdrawn after publication