TWI672924B - 平台即服務雲端伺服器及其機器學習資料處理方法 - Google Patents
平台即服務雲端伺服器及其機器學習資料處理方法 Download PDFInfo
- Publication number
- TWI672924B TWI672924B TW106140755A TW106140755A TWI672924B TW I672924 B TWI672924 B TW I672924B TW 106140755 A TW106140755 A TW 106140755A TW 106140755 A TW106140755 A TW 106140755A TW I672924 B TWI672924 B TW I672924B
- Authority
- TW
- Taiwan
- Prior art keywords
- dcs
- dpt
- logic circuit
- application
- data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一種PaaS雲端伺服器及其機器學習資料處理方法。PaaS雲端伺服器接收機器學習應用程式資源要求,並據以判斷可用之邏輯電路物件。PaaS雲端伺服器建立資料壓縮儲存服務物件,並配對資料壓縮儲存服務物件與邏輯電路物件。PaaS雲端伺服器將資料壓縮儲存服務物件接合機器學習應用程式,並自機器學習應用程式接收機器學習資料。PaaS雲端伺服器根據資料壓縮儲存服務服務物件與邏輯電路物件之配對,將機器學習資料輸入至邏輯電路物件對應之FPGA電路之部分邏輯電路,俾部分邏輯電路壓縮並儲存機器學習資料。PaaS雲端伺服器將壓縮及儲存之相關資料傳送至機器學習應用程式。
Description
本發明係關於一種平台即服務雲端伺服器及其機器學習資料處理方法;更具體而言,本發明係關於一種可共享場域可程式化閘陣列電路之平台即服務雲端伺服器及其機器學習資料處理方法。
雲端運算係目前網路服務主要之發展技術之一,其係利用網路連結之伺服端及硬體,完成用戶端所需要之各種資料運算或軟體服務,甚至可提供用戶端軟體開發之平台。而透過此種方式,用戶端可大幅地降低硬體成本,同時有效地提升生產效益。其中,又以機器學習(Machine Learning)相關之應用為主要發展。
具體而言,目前常見應用於機器學習之雲端運算系統,主要有亞馬遜(Amazon Inc.)公司之彈性計算雲(Elastic Compute Cloud,EC2)以及Google公司之Tensorflow雲端系統。其中,亞馬遜公司之EC2主要係用多個叢集之圖形處理單元(Graphic Processing Unit,GPU)或中央處理單元處理機器學習資料,Google公司之Tensorflow雲端系統主要係以自製之Tensorflow處理單元為
主處理機器學習資料。
更者,目前企業所提供之機器學習雲端運算系統,主要係以底層之基礎架構即服務(Infrastructure as a Service,IaaS)為系統架構,並針對不同用戶端提供獨立之處理單元硬體,如此,用戶端便可根據其對於資料種類之需求打造屬於自己之機器學習應用環境,以達機器學習資料處理最佳化。
惟基於IaaS系統之機器學習雲端運算系統,其資料處理效能與硬體數量呈正比,因此,若需要較好之效能,則相對地所需之硬體成本亦相對大幅提升。另一方面,部分硬體(例如GPU)數量之提升,亦會導致耗電量激增,據此,習知基於IaaS系統之機器學習雲端運算系統,容易有高成本高耗能之問題。
據此,如何將機器學習雲端運算環境建立於另一種系統架構上,並使得企業之硬體成本得以降低,同時能源之過度消耗,乃業界須共同努力之目標。
本發明之主要目的係提供一種用於平台即服務(Platform as a service,PaaS)雲端伺服器之機器學習(Machine Learning,ML)資料處理方法。PaaS雲端伺服器執行一資料壓縮儲存(Data Compression and Storing,DCS)物件管理模組以及一DCS虛擬機器。DCS虛擬機器控制一第一場域可程式化閘陣列(Field-Programmable Gate Array,FPGA)電路。
具體而言,ML資料處理方法包含:PaaS雲端伺服器
透過DCS虛擬機器,接收用戶之ML應用程式資源要求;PaaS雲端伺服器根據ML應用程式資源要求,透過DCS虛擬機器判斷第一DCS邏輯電路物件係可用,其中,第一DCS邏輯電路物件對應於第一FPGA電路之第一部分邏輯電路;PaaS雲端伺服器透過DCS物件管理模組建立第一DCS物件,並配對第一DCS物件與第一DCS邏輯電路物件;PaaS雲端伺服器透過DCS物件管理模組,將第一DCS服務物件接合用戶之ML應用程式。
再者,ML資料處理方法更包含:PaaS雲端伺服器透過DCS虛擬機器,自ML應用程式接收ML應用程式資料;PaaS雲端伺服器根據第一DCS服務物件與第一DCS邏輯電路物件之配對,透過DCS虛擬機器將ML應用程式資料輸入至第一DCS物件對應之第一部分邏輯電路,俾第一部分邏輯電路將ML應用程式資料壓縮成壓縮ML應用程式資料,並於儲存壓縮ML應用程式資料至第一壓縮資料庫後產生ML資料儲存資訊;以及PaaS雲端伺服器透過DCS虛擬機器,將ML資料儲存資訊傳送至ML應用程式。
為達上述目的,本發明揭露一種ML之PaaS雲端伺服器,包含傳輸介面以及處理器。傳輸介面用以連接第一FPGA電路。處理器用以執行DCS物件管理模組以及DCS虛擬機器,並透過DCS虛擬機器控制第一FPGA電路。DCS虛擬機器包含DCS處理模組。
具體而言,DCS處理模組用以:接收用戶之ML應用程式資源要求;以及根據ML應用程式資源要求,判斷第一DCS邏輯電路物件係可用,其中,第一DCS邏輯電路物件對應於第一
FPGA電路之第一部分邏輯電路。DCS物件管理模組用以:建立第一DCS物件,並配對第一DCS物件與第一DCS邏輯電路物件;以及將第一DCS服務物件接合用戶之ML應用程式。
再者,DCS處理模組更用以:自ML應用程式接收ML應用程式資料;根據第一DCS服務物件與第一DCS邏輯電路物件之配對,將ML應用程式資料輸入至第一DCS物件對應之第一部分邏輯電路,俾第一部分邏輯電路將ML應用程式資料壓縮成壓縮ML應用程式資料,並於儲存壓縮ML應用程式資料至第一壓縮資料庫後產生ML資料儲存資訊;以及將ML資料儲存資訊傳送至ML應用程式。
本發明之另一目的係提供一種用於PaaS雲端伺服器之ML資料處理方法。PaaS雲端伺服器執行DCS物件管理模組以及DCS虛擬機器。DCS虛擬機器控制第一FPGA電路。ML資料處理方法包含:PaaS雲端伺服器透過DCS虛擬機器,接收用戶之ML應用程式資源要求;PaaS雲端伺服器根據ML應用程式資源要求,透過DCS虛擬機器判斷第一DCS邏輯電路物件以及第二DCS邏輯電路物件係可用,其中,第一DCS邏輯電路物件以及第二DCS邏輯電路物件分別對應於第一FPGA電路之第一部分邏輯電路以及第二部分邏輯電路。
再者,ML資料處理方法更包含:PaaS雲端伺服器透過DCS物件管理模組建立第一DCS物件以及第二DCS物件,並將第一DCS物件以及第二DCS物件分別配對第一DCS邏輯電路物件以
及第二DCS邏輯電路物件;PaaS雲端伺服器透過DCS物件管理模組,將第一DCS服務物件以及第二DCS服務物件接合用戶之ML應用程式;PaaS雲端伺服器透過DCS虛擬機器,自ML應用程式接收ML應用程式資料;PaaS雲端伺服器根據第一DCS服務物件以及第二DCS服務物件,透過DCS虛擬機器將ML應用程式資料分割為第一部分ML應用程式資料以及第二部分ML應用程式資料。
隨後,ML資料處理方法更包含:PaaS雲端伺服器根據第一DCS服務物件與第一DCS邏輯電路物件之配對以及第二DCS服務物件與第二DCS邏輯電路物件之配對,透過DCS虛擬機器將第一部分ML應用程式資料以及第二部分ML應用程式資料分別輸入至第一DCS物件對應之第一部分邏輯電路以及第二DCS物件對應之第二部分邏輯電路,其中,第一部分邏輯電路將第一部分ML應用程式資料壓縮成第一壓縮ML應用程式資料,並於儲存第一壓縮ML應用程式資料至第一壓縮資料庫後產生第一ML資料儲存資訊,第二部分邏輯電路將第二部分ML應用程式資料壓縮成第二壓縮ML應用程式資料,並於儲存第二壓縮ML應用程式資料至第二壓縮資料庫後產生第二ML資料儲存資訊;以及PaaS雲端伺服器透過DCS虛擬機器,將第一ML資料儲存資訊以及第二ML資料儲存資訊傳送至ML應用程式。
為達上述目的,本發明揭露一種ML之PaaS雲端伺服器,包含傳輸介面以及處理器。傳輸介面用以連接第一FPGA電路。處理器用以執行DCS物件管理模組以及DCS虛擬機器,並透過DCS
虛擬機器控制第一FPGA電路。DCS虛擬機器包含DCS處理模組。DCS處理模組用以:接收用戶之ML應用程式資源要求;以及根據ML應用程式資源要求,判斷第一DCS邏輯電路物件以及第二DCS邏輯電路物件係可用,其中,第一DCS邏輯電路物件以及第二DCS邏輯電路物件分別對應於第一FPGA電路之第一部分邏輯電路以及第二部分邏輯電路。DCS物件管理模組用以:建立第一DCS物件以及第二DCS物件,並將第一DCS物件以及第二DCS物件分別配對第一DCS邏輯電路物件以及第二DCS邏輯電路物件;以及將第一DCS服務物件以及第二DCS服務物件接合用戶之ML應用程式。
更者,DCS處理模組更用以:自ML應用程式接收ML應用程式資料;根據第一DCS服務物件以及第二DCS服務物件,將ML應用程式資料分割為第一部分ML應用程式資料以及第二部分ML應用程式資料;根據第一DCS服務物件與第一DCS邏輯電路物件之配對以及第二DCS服務物件與第二DCS邏輯電路物件之配對,將第一部分ML應用程式資料以及第二部分ML應用程式資料分別輸入至第一DCS物件對應之第一部分邏輯電路以及第二DCS物件對應之第二部分邏輯電路,其中,第一部分邏輯電路將第一部分ML應用程式資料壓縮成第一壓縮ML應用程式資料,並於儲存第一壓縮ML應用程式資料至第一壓縮資料庫後產生第一ML資料儲存資訊,第二部分邏輯電路將第二部分ML應用程式資料壓縮成第二壓縮ML應用程式資料,並於儲存第二壓縮ML應用程式資料至第二壓縮資料庫後產生第二ML資料儲存資訊;以及將第一ML資
料儲存資訊以及第二ML資料儲存資訊傳送至ML應用程式。
1、4‧‧‧PaaS雲端伺服器
11、41‧‧‧傳輸介面
13、43‧‧‧處理器
131、431‧‧‧DCS處理模組
133、433‧‧‧DCS物件管理模組
135、435‧‧‧DPT處理模組
137、437‧‧‧DPT物件管理模組
2、3、5、6‧‧‧FPGA電路
21a~21b、31a~31b、51a~51b、61a~61b‧‧‧部分邏輯電路
DB1~DB3‧‧‧資料庫
CData1、CData2-1、CData2-2‧‧‧壓縮ML應用程式資料
InData1、InData2、InData2-1、InData2-2‧‧‧ML應用程式資料
SData1、SData2、SData2-1、SData2-2‧‧‧ML資料儲存資訊
M1~M2‧‧‧ML模型
RQ1、RQ2‧‧‧ML應用程式資源要求
T1~T2‧‧‧用戶
C1~C2‧‧‧應用程式
OB11‧‧‧第一邏輯電路物件
OB12‧‧‧第二邏輯電路物件
OB21‧‧‧第一DPT邏輯電路物件
OB22‧‧‧第二DPT邏輯電路物件
OB31‧‧‧第一邏輯電路物件
OB32‧‧‧第二邏輯電路物件
OB41‧‧‧第一DPT邏輯電路物件
OB42‧‧‧第二DPT邏輯電路物件
SOB11、SOB31‧‧‧第一DCS服務物件
SOB32‧‧‧第二DCS服務物件
SOB21、SOB41‧‧‧第一DPT服務物件
SOB42‧‧‧第二DPT服務物件
VM1~VM4‧‧‧虛擬機器
第1A圖係本發明第一實施例之PaaS雲端伺服器之操作示意圖;第1B圖係本發明第一實施例之PaaS雲端伺服器之方塊圖;第2A圖係本發明第二實施例之PaaS雲端伺服器之操作示意圖;第2B圖係本發明第二實施例之PaaS雲端伺服器之方塊圖;第3A圖係本發明第三實施例之PaaS雲端伺服器之操作示意圖;第3B圖係本發明第三實施例之PaaS雲端伺服器之方塊圖;第4A圖係本發明第四實施例之PaaS雲端伺服器之操作示意圖;第4B圖係本發明第四實施例之PaaS雲端伺服器之方塊圖;第5圖係本發明第五實施例之機器學習資料處理方法流程圖;第6A-6B圖係本發明第六實施例之機器學習資料處理方法流程圖;第7圖係本發明第七實施例之機器學習資料處理方法流程圖;以及第8A-8B圖係本發明第八實施例之機器學習資料處理方法流程圖。
以下將透過本發明之實施例來闡釋本發明。然而,該等實施例並非用以限制本發明需在如實施例所述之任何環境、應用程式或方式方能實施。因此,以下實施例的說明僅在於闡釋本發明,而非用以限制本發明。在以下實施例及圖式中,與本發明非直接相關的元件已省略而未繪示,且繪示於圖式中的各元件之間的尺寸關係僅為便於理解,而非用以限制為實際的實施比例。
請同時參考第1A以及1B圖。第1A圖係本發明第一實施例之一平台即服務(Platform as a Service,PaaS)雲端伺服器1之操作示意圖,第1B圖係本發明第一實施例之PaaS雲端伺服器1之方塊圖。PaaS雲端伺服器1包含一傳輸介面11以及一處理器13。傳輸介面11連接一場域可程式化閘陣列(Field-Programming Gate Array,FPGA)電路2。處理器13執行一資料壓縮儲存(Data Compression and Storing,DCS)物件管理模組133以及一DCS虛擬機器VM1,並透過DCS虛體機器VM1控制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~21b,並由DCS虛擬機器VM1針對多個部分邏輯電路21a~21b配置相對應之多個邏輯電路物件(包含第一邏輯電路物件OB11與第二邏輯電路物件OB12),俾後續FPGA電路2之多個部分邏輯電路21a~21b之利用及操作。
具體而言,於第一實施例中,DCS虛擬機器VM1包含一DCS處理模組131。當一用戶T1於PaaS雲端伺服器1上有機器學習(Machine Learning,ML)應用程式使用需求,並須利用PaaS雲端伺服器1操作FPGA電路2處理ML資料時,用戶T1對PaaS雲端伺服器1發出一ML應用程式資源要求RQ1。
另一方面,PaaS雲端伺服器1透過DCS虛擬機器VM1之DCS處理模組131接收用戶T1之ML應用程式資源要求RQ1後,先判斷是否有未被使用之邏輯電路物件可用,換言之,即判斷FPGA電路2中是否有相應未被使用之部分邏輯電路。而於第一實施例中,DCS處理模組131判斷第一邏輯電路物件OB11未被使用,其中,第一邏輯電路物件OB11對應於FPGA電路2之第一部分邏輯電路21a。
接著,DCS物件管理模組133建立一第一DCS服務物件SOB11,並配對第一DCS服務物件SOB11與第一邏輯電路物件OB11。隨即,DCS物件管理模組133將第一DCS服務物件SOB11接
合(binding)用戶T1之一ML應用程式C1。需特別說明,此處之接合主要係將服務物件以及應用程式綁定,使二者之環境變數共用,並可互相存取相應參數。
隨後,DCS虛擬機器VM1之DCS處理模組131便自ML應用程式C1接收一ML應用程式資料InData1,並根據第一DCS服務物件SOB11與第一邏輯電路物件OB11之配對,透過DCS虛擬機器VM1將ML應用程式資料InData1輸入至第一邏輯電路物件OB11相對應之第一部分邏輯電路21a。
如此一來,第一部分邏輯電路21a便可將ML應用程式資料InData1壓縮成之一壓縮ML應用程式資料CData1,並將壓縮ML應用程式資料CData1儲存至一第一壓縮資料庫DB1,並據以產生一ML資料儲存資訊SData1。其中,ML資料儲存資訊SData1主要係用以記錄ML應用程式資料CData1儲存之位址。最後,DCS虛擬機器VM1之DCS處理模組131再將ML資料儲存資訊SData1傳送至ML應用程式C1,俾壓縮後之ML資料之後續利用。
請參考第2A以及2B圖。第2A圖係本發明第二實施例之PaaS雲端伺服器1之操作示意圖。第2B圖係本發明第二實施例之PaaS雲端伺服器1之方塊圖。傳輸介面11更連接一FPGA電路3。處理器13更執行一資料平行訓練(Data Parallel Training,DPT)物件管理模組137以及一DPT虛擬機器VM2,並透過DPT虛擬機器VM2控制FPGA電路3。第二實施例主要係進一步說明本發明第一實施例中壓縮後之ML資料之後續利用。
同樣地,FPGA電路3可透過匯流排(例:傳輸介面11係PCIe插槽)或匯流排與網路(例:傳輸介面11係網路卡)之組合與PaaS雲端伺服器1交換資料。另外,根據FPGA電路3之可程式化編輯特性,第二實施例中將其規劃分為多個具有獨立計算功能之部分邏輯電路31a~31b,並由DPT虛擬機器VM2針對多個部分邏輯電路31a~31b配置相對應之多個DPT邏輯電路物件(包含第一DPT邏輯電路物件OB21與第二DPT邏輯電路物件OB22),俾後續FPGA電路3之多個部分邏輯電路31a~31b之利用及操作。
具體而言,於第二實施例中,DPT虛擬機器VM2包含一DPT處理模組135。當PaaS雲端伺服器1欲針對機器學習之相關資料進行處理時,DPT處理模組135擷取ML應用程式C1之ML資料儲存資訊SData1,並判斷是否有未使用之邏輯電路物件可用,換言之,即判斷FPGA電路3中是否有相應未被使用之部分邏輯電路。於第二實施例中,DPT處理模組135判斷第一DPT邏輯電路物件OB21係可用。其中,第一DPT邏輯電路物件OB21對應於FPGA電路3之第一部分邏輯電路31a。
接著,DPT物件管理模組137建立一第一DPT服務物件SOB21,並配對第一DPT服務物件SOB21與第一DPT邏輯電路物件OB21。隨即,DPT物件管理模組137將第一DPT服務物件SOB21接合用戶T1之ML應用程式C1。同樣地,此處之接合主要係將服務物件以及應用程式綁定,使二者之環境變數共用,並可互相存取相應參數。
隨後,由於ML資料儲存資訊SData1記錄壓縮資料儲存之位址,因此,DPT處理模組135便可直接根據ML資料儲存資訊SData1,自第一壓縮資料庫DB1擷取壓縮ML應用程式資料CData1,並根據第一DPT服務物件SOB21與第一DPT邏輯電路物件OB21之配對,將壓縮ML應用程式資料CData1輸入至第一DPT邏輯電路物件OB21對應之FPGA電路3之第一部分邏輯電路31a。
如此一來,FPGA電路3之第一部分邏輯電路31a便可解壓縮壓縮ML應用程式資料CData1,並據以計算一ML模型M1。最後,DPT處理模組135再將計算出之ML模型M1回傳至ML應用程式C1,以完成ML模型之建立程序。
請同時參考第3A以及3B圖。第3A圖係本發明第三實施例之一PaaS雲端伺服器4之操作示意圖,第3B圖係本發明第三實施例之PaaS雲端伺服器4之方塊圖。PaaS雲端伺服器4包含一傳輸介面41以及一處理器43。傳輸介面41連接一FPGA電路5。處理器43執行一DCS物件管理模組433以及一DCS虛擬機器VM3,並透過DCS虛體機器VM3控制FPGA電路5。
同樣地,FPGA電路5可透過匯流排(例:傳輸介面41係PCIe插槽)或匯流排與網路(例:傳輸介面41係網路卡)之組合與PaaS雲端伺服器4交換資料。而透過FPGA電路5可程式化編輯的特性,可先將其規劃分為多個具有獨立計算功能之部分邏輯電路51a~51b,並由DCS虛擬機器VM3針對多個部分邏輯電路51a~51b配置相對應之多個邏輯電路物件(包含第一邏輯電路物件OB31與
第二邏輯電路物件OB32),俾後續FPGA電路5之多個部分邏輯電路51a~51b之利用及操作。
具體而言,於第四實施例中,DCS虛擬機器VM3包含一DCS處理模組431。當一用戶T2於PaaS雲端伺服器4上有ML應用程式使用需求,並須利用PaaS雲端伺服器4操作FPGA電路5處理ML資料時,用戶T2對PaaS雲端伺服器4發出ML應用程式資源要求RQ2。
另一方面,PaaS雲端伺服器4透過DCS虛擬機器VM3之DCS處理模組431接收用戶T2之ML應用程式資源要求RQ2後,先判斷是否有未被使用之邏輯電路物件可用,換言之,即判斷FPGA電路5中是否有相應未被使用之部分邏輯電路。而於第三實施例中,DCS處理模組431判斷第一邏輯電路物件OB31以及第二邏輯電路物件OB32皆未被使用,其中,第一邏輯電路物件OB31以及第二邏輯電路物件OB32分別對應於FPGA電路5之第一部分邏輯電路51a以及第二部分邏輯電路51b。
接著,DCS物件管理模組433建立一第一DCS服務物件SOB31以及一第二DCS服務物件SOB32,並將第一DCS服務物件SOB31以及第二DCS服務物件SOB32分別與第一邏輯電路物件OB31以及第二邏輯電路物件OB32配對。隨即,DCS物件管理模組433將第一DCS服務物件SOB31以及第二DCS服務物件SOB32接合用戶T2之一ML應用程式C2。同樣地,此處之接合主要係將服務物件以及應用程式綁定,使二者之環境變數共用,並可互相存取相應
參數。
隨後,DCS虛擬機器VM3之DCS處理模組431便自ML應用程式C2接收一ML應用程式資料InData2,並根據數量二之服務物件(即第一DCS服務物件SOB31以及第二DCS服務物件SOB32),將ML應用程式資料InData2分為一第一部分ML應用程式資料InData2-1以及一第二部分ML應用程式資料InData2-2。
接著,DCS虛擬機器VM3之DCS處理模組431根據第一DCS服務物件SOB31與第一邏輯電路物件OB31之配對,透過DCS虛擬機器VM3將第一部分ML應用程式資料InData2-1輸入至第一邏輯電路物件OB31相對應之第一部分邏輯電路51a,並根據第二DCS服務物件SOB32與第二邏輯電路物件OB32之配對,透過DCS虛擬機器VM3將第二部分ML應用程式資料InData2-2輸入至第二邏輯電路物件OB32相對應之第一部分邏輯電路51b。
如此一來,第一部分邏輯電路51a便可將第一部分ML應用程式資料InData2-1壓縮成之一第一壓縮ML應用程式資料CData2-1,並將第一壓縮ML應用程式資料CData2-1儲存至一第一壓縮資料庫DB2,並據以產生一第一ML資料儲存資訊SData2-1。另一方面,第二部分邏輯電路51b便可將第二部分ML應用程式資料InData2-2壓縮成之一第二壓縮ML應用程式資料CData2-2,並將第二壓縮ML應用程式資料CData2-2儲存至一第二壓縮資料庫DB3,並據以產生一第二ML資料儲存資訊SData2-2。
同樣地,第一ML資料儲存資訊SData2-1主要係用以
記錄第一壓縮ML應用程式資料CData2-1儲存之位址,第二ML資料儲存資訊SData2-2主要係用以記錄第二壓縮ML應用程式資料CData2-2儲存之位址。最後,DCS虛擬機器VM3之DCS處理模組431再將第一ML資料儲存資訊SData2-1以及第二ML資料儲存資訊SData2-2傳送至ML應用程式C2,俾壓縮後之ML資料之後續利用。
請參考第4A以及4B圖。第4A圖係本發明第四實施例之PaaS雲端伺服器4之操作示意圖。第4B圖係本發明第四實施例之PaaS雲端伺服器4之方塊圖。傳輸介面41更連接一FPGA電路6。處理器43更執行一DPT物件管理模組437以及一DPT虛擬機器VM4,並透過DPT虛擬機器VM4控制FPGA電路6。第四實施例主要係進一步說明本發明第三實施例中壓縮後之ML資料之後續利用。
同樣地,FPGA電路6可透過匯流排(例:傳輸介面41係PCIe插槽)或匯流排與網路(例:傳輸介面41係網路卡)之組合與PaaS雲端伺服器4交換資料。另外,根據FPGA電路6之可程式化編輯特性,第四實施例中將其規劃分為多個具有獨立計算功能之部分邏輯電路61a~61b,並由DPT虛擬機器VM4針對多個部分邏輯電路61a~61b配置相對應之多個DPT邏輯電路物件(包含第一DPT邏輯電路物件OB41與第二DPT邏輯電路物件OB42),俾後續FPGA電路6之多個部分邏輯電路61a~61b之利用及操作。
具體而言,於第四實施例中,DPT虛擬機器VM4包含一DPT處理模組435。當PaaS雲端伺服器4欲針對機器學習之相關資料進行處理時,DPT處理模組435擷取ML應用程式C2之第一ML資
料儲存資訊SData2-1以及第二ML資料儲存資訊SData2-2,並判斷是否有未使用之邏輯電路物件可用,換言之,即判斷FPGA電路6中是否有相應未被使用之部分邏輯電路。
須特別說明,由於需要針對不同數量之ML資料儲存資訊,使用相同數量之DPT邏輯電路物件,因此,於第四實施例中,DPT處理模組435判斷第一DPT邏輯電路物件OB41以及第二DPT邏輯電路物件OB42係可用。其中,第一DPT邏輯電路物件OB41以及第二DPT邏輯電路物件分別對應於FPGA電路6之第一部分邏輯電路61a以及第二部分邏輯電路61b。
接著,DPT物件管理模組437建立一第一DPT服務物件SOB41以及一第二DPT服務物件SOB42,並將第一DPT服務物件SOB41以及第二DPT服務物件SOB42分別與第一DPT邏輯電路物件OB41以及第二DPT邏輯電路物件OB42配對。隨即,DPT物件管理模組437將第一DPT服務物件SOB41以及第二DPT服務物件SOB42接合用戶T2之ML應用程式C2。
隨後,由於第一ML資料儲存資訊SData2-1記錄壓縮資料儲存之位址,因此,DPT處理模組435便可直接根據ML資料儲存資訊SData2-1,自第一壓縮資料庫DB2擷取壓縮第一壓縮ML應用程式資料CData2-1,並根據第一DPT服務物件SOB41與第一DPT邏輯電路物件OB41之配對,將第一壓縮ML應用程式資料CData2-1輸入至第一DPT邏輯電路物件OB41對應之FPGA電路6之第一部分邏輯電路61a。
另一方面,由於第二ML資料儲存資訊SData2-2記錄壓縮資料儲存之位址,因此,DPT處理模組435亦可直接根據ML資料儲存資訊SData2-2,自第二壓縮資料庫DB3擷取壓縮第二壓縮ML應用程式資料CData2-2,並根據第二DPT服務物件SOB42與第二DPT邏輯電路物件OB42之配對,將第二壓縮ML應用程式資料CData2-2輸入至第二DPT邏輯電路物件OB42對應之FPGA電路6之第二部分邏輯電路61b。
如此一來,FPGA電路6之第一部分邏輯電路61a以及第二部分邏輯電路61b便可解壓縮第一壓縮ML應用程式資料CData2-1以及第二壓縮ML應用程式資料CData2-2,並據以計算一ML模型M2。最後,DPT處理模組435再將計算出之ML模型M2回傳至ML應用程式C2,以完成ML模型之建立程序。
需特別說明者,本發明之技術主要係利用具有FPGA電路之PaaS雲端伺服器,進行機器學習資料之分拆、壓縮以及相應之計算,惟本領域技術人員應可透過前揭內容,理解如何完成機器學習資料之使用以及模型之建立,因此,不再贅述。
本發明之第五實施例為ML資料處理方法,其流程圖請參考第5圖。第五實施例之方法係用於一PaaS雲端伺服器(例如前述實施例之PaaS雲端伺服器)。PaaS雲端伺服器執行一DCS物件管理模組以及一DCS虛擬機器。DCS虛擬機器控制一FPGA電路。第五實施例之詳細步驟如下所述。
首先,執行步驟501,PaaS雲端伺服器透過DCS虛擬
機器,接收一用戶之一ML應用程式資源要求。執行步驟502,PaaS雲端伺服器根據ML應用程式資源要求,透過DCS虛擬機器判斷一第一DCS邏輯電路物件係可用。其中,第一DCS邏輯電路物件對應於第一FPGA電路之一第一部分邏輯電路。
接著,執行步驟503,PaaS雲端伺服器透過DCS物件管理模組建立一第一DCS物件,並配對第一DCS物件與第一DCS邏輯電路物件。執行步驟504,PaaS雲端伺服器透過DCS物件管理模組,將第一DCS服務物件接合用戶之一ML應用程式。
隨後,執行步驟505,PaaS雲端伺服器透過DCS虛擬機器,自ML應用程式接收一ML應用程式資料。執行步驟506,PaaS雲端伺服器根據第一DCS服務物件與第一DCS邏輯電路物件之配對,透過DCS虛擬機器將ML應用程式資料輸入至第一DCS物件對應之第一部分邏輯電路。
如此一來,第一部分邏輯電路便可將ML應用程式資料壓縮成一壓縮ML應用程式資料,並於儲存壓縮ML應用程式資料至一第一壓縮資料庫後產生一ML資料儲存資訊。執行步驟507,PaaS雲端伺服器透過DCS虛擬機器,將ML資料儲存資訊傳送至ML應用程式。
本發明之第六實施例為ML資料處理方法,其流程圖請參考第6A以及6B圖。第六實施例之方法係用於一PaaS雲端伺服器(例如前述實施例之PaaS雲端伺服器)。PaaS雲端伺服器執行一DCS物件管理模組、一DCS虛擬機器、一DPT物件管理模組以及一
DPT虛擬機器。DCS虛擬機器控制一第一FPGA電路,DPT虛擬機器控制一第二FPGA電路。第六實施例之詳細步驟如下所述。
首先,執行步驟601,PaaS雲端伺服器透過DCS虛擬機器,接收一用戶之一ML應用程式資源要求。執行步驟602,PaaS雲端伺服器根據ML應用程式資源要求,透過DCS虛擬機器判斷一第一DCS邏輯電路物件係可用。其中,第一DCS邏輯電路物件對應於第一FPGA電路之一第一部分邏輯電路。
接著,執行步驟603,PaaS雲端伺服器透過DCS物件管理模組建立一第一DCS物件,並配對第一DCS物件與第一DCS邏輯電路物件。執行步驟604,PaaS雲端伺服器透過DCS物件管理模組,將第一DCS服務物件接合用戶之一ML應用程式。
隨後,執行步驟605,PaaS雲端伺服器透過DCS虛擬機器,自ML應用程式接收一ML應用程式資料。執行步驟606,PaaS雲端伺服器根據第一DCS服務物件與第一DCS邏輯電路物件之配對,透過DCS虛擬機器將ML應用程式資料輸入至第一DCS物件對應之第一部分邏輯電路。
如此一來,第一部分邏輯電路便可將ML應用程式資料壓縮成一壓縮ML應用程式資料,並於儲存壓縮ML應用程式資料至一第一壓縮資料庫後產生一ML資料儲存資訊。執行步驟607,PaaS雲端伺服器透過DCS虛擬機器,將ML資料儲存資訊傳送至ML應用程式。
接著,執行步驟608,PaaS雲端伺服器透過DPT虛擬
機器,擷取ML應用程式之ML資料儲存資訊。執行步驟609,PaaS雲端伺服器根據ML資料儲存資訊,透過DPT虛擬機器判斷一第一DPT邏輯電路物件係可用。其中,第一DPT邏輯電路物件對應於第二FPGA電路之一第一部分邏輯電路。
執行步驟610,PaaS雲端伺服器透過DPT物件管理模組建立一第一DPT服務物件,並配對第一DPT服務物件與第一DPT邏輯電路物件。執行步驟611,PaaS雲端伺服器透過DPT物件管理模組,將第一DPT服務物件接合用戶之該ML應用程式。執行步驟612,PaaS雲端伺服器根據ML資料儲存資訊,透過DPT虛擬機器自第一壓縮資料庫擷取壓縮ML應用程式資料。
隨後,執行步驟613,PaaS雲端伺服器根據第一DPT服務物件與第一DPT邏輯電路物件之配對,透過DPT虛擬機器將壓縮ML應用程式資料輸入至第一DPT邏輯電路物件對應之第二FPGA電路之第一部分邏輯電路。如此一來,第二FPGA電路之第一部分邏輯電路便可計算解壓縮壓縮ML應用程式資料,並據以計算之一ML模型。執行步驟613,PaaS雲端伺服器透過DPT虛擬機器,將ML模型傳送至ML應用程式。
本發明之第七實施例為ML資料處理方法,其流程圖請參考第7圖。第七實施例之方法係用於一PaaS雲端伺服器(例如前述實施例之PaaS雲端伺服器)。PaaS雲端伺服器執行一DCS物件管理模組以及一DCS虛擬機器。DCS虛擬機器控制一FPGA電路。第七實施例之詳細步驟如下所述。
首先,執行步驟701,PaaS雲端伺服器透過DCS虛擬機器,接收一用戶之一ML應用程式資源要求。執行步驟702,PaaS雲端伺服器根據ML應用程式資源要求,透過DCS虛擬機器判斷一第一DCS邏輯電路物件以及一第二DCS邏輯電路物件係可用。其中,第一DCS邏輯電路物件以及第二DCS邏輯電路物件分別對應於第一FPGA電路之一第一部分邏輯電路以及一第二部分邏輯電路。
接著,執行步驟703,PaaS雲端伺服器透過DCS物件管理模組建立一第一DCS物件以及一第二DCS物件,並將第一DCS物件以及第二DCS物件分別配對第一DCS邏輯電路物件以及第二DCS邏輯電路物件。執行步驟704,PaaS雲端伺服器透過DCS物件管理模組,將第一DCS服務物件以及第二DCS服務物件接合用戶之一ML應用程式。
執行步驟705,PaaS雲端伺服器透過DCS虛擬機器,自ML應用程式接收一ML應用程式資料。執行步驟706,PaaS雲端伺服器根據第一DCS服務物件以及第二DCS服務物件,透過DCS虛擬機器將ML應用程式資料分割為一第一部分ML應用程式資料以及一第二部分ML應用程式資料。執行步驟707,PaaS雲端伺服器根據第一DCS服務物件與第一DCS邏輯電路物件之配對以及第二DCS服務物件與第二DCS邏輯電路物件之配對,透過DCS虛擬機器將第一部分ML應用程式資料以及第二部分ML應用程式資料分別輸入至第一DCS物件對應之第一部分邏輯電路以及第二DCS物件對應之第二部分邏輯電路。
如此一來,第一部分邏輯電路便可將第一部分ML應用程式資料壓縮成一第一壓縮ML應用程式資料,並於儲存第一壓縮ML應用程式資料至一第一壓縮資料庫後產生一第一ML資料儲存資訊。另一方面,第二部分邏輯電路將第二部分ML應用程式資料壓縮成一第二壓縮ML應用程式資料,並於儲存第二壓縮ML應用程式資料至第二壓縮資料庫後產生一第二ML資料儲存資訊。執行步驟708,PaaS雲端伺服器透過DCS虛擬機器,將第一ML資料儲存資訊以及第二ML資料儲存資訊傳送至ML應用程式。
本發明之第八實施例為ML資料處理方法,其流程圖請參考第8A以及8B圖。第八實施例之方法係用於一PaaS雲端伺服器(例如前述實施例之PaaS雲端伺服器)。PaaS雲端伺服器執行一DCS物件管理模組、一DCS虛擬機器、一DPT物件管理模組以及一DPT虛擬機器。DCS虛擬機器控制一第一FPGA電路,DPT虛擬機器控制一第二FPGA電路。第八實施例之詳細步驟如下所述。
首先,執行步驟801,PaaS雲端伺服器透過DCS虛擬機器,接收一用戶之一ML應用程式資源要求。執行步驟802,PaaS雲端伺服器根據ML應用程式資源要求,透過DCS虛擬機器判斷一第一DCS邏輯電路物件以及一第二DCS邏輯電路物件係可用。其中,第一DCS邏輯電路物件以及第二DCS邏輯電路物件分別對應於第一FPGA電路之一第一部分邏輯電路以及一第二部分邏輯電路。
接著,執行步驟803,PaaS雲端伺服器透過DCS物件管理模組建立一第一DCS物件以及一第二DCS物件,並將第一DCS
物件以及第二DCS物件分別配對第一DCS邏輯電路物件以及第二DCS邏輯電路物件。執行步驟804,PaaS雲端伺服器透過DCS物件管理模組,將第一DCS服務物件以及第二DCS服務物件接合用戶之一ML應用程式。
執行步驟805,PaaS雲端伺服器透過DCS虛擬機器,自ML應用程式接收一ML應用程式資料。執行步驟806,PaaS雲端伺服器根據第一DCS服務物件以及第二DCS服務物件,透過DCS虛擬機器將ML應用程式資料分割為一第一部分ML應用程式資料以及一第二部分ML應用程式資料。執行步驟807,PaaS雲端伺服器根據第一DCS服務物件與第一DCS邏輯電路物件之配對以及第二DCS服務物件與第二DCS邏輯電路物件之配對,透過DCS虛擬機器將第一部分ML應用程式資料以及第二部分ML應用程式資料分別輸入至第一DCS物件對應之第一部分邏輯電路以及第二DCS物件對應之第二部分邏輯電路。
如此一來,第一部分邏輯電路便可將第一部分ML應用程式資料壓縮成一第一壓縮ML應用程式資料,並於儲存第一壓縮ML應用程式資料至一第一壓縮資料庫後產生一第一ML資料儲存資訊。另一方面,第二部分邏輯電路將第二部分ML應用程式資料壓縮成一第二壓縮ML應用程式資料,並於儲存第二壓縮ML應用程式資料至第二壓縮資料庫後產生一第二ML資料儲存資訊。執行步驟808,PaaS雲端伺服器透過DCS虛擬機器,將第一ML資料儲存資訊以及第二ML資料儲存資訊傳送至ML應用程式。
接著,執行步驟809,PaaS雲端伺服器透過DPT虛擬機器,擷取ML應用程式之第一ML資料儲存資訊以及第二ML資料儲存資訊。執行步驟810,PaaS雲端伺服器根據第一ML資料儲存資訊以及第二ML資料儲存資訊,透過DPT虛擬機器判斷一第一DPT邏輯電路物件以及一第二DPT邏輯電路物件係可用。其中,第一DPT邏輯電路物件以及第二DPT邏輯電路物件分別對應於第二FPGA電路之一第一部分邏輯電路以及一第二部分邏輯電路。
執行步驟811,PaaS雲端伺服器透過DPT物件管理模組建立一第一DPT服務物件以及一第二DPT服務物件,並將第一DPT服務物件以及第二DPT服務物件分別配對第一DPT邏輯電路物件以及第二DPT邏輯電路物件。執行步驟812,PaaS雲端伺服器透過DPT物件管理模組,將第一DPT服務物件以及第二DPT服務物件接合用戶之該ML應用程式。
隨後,執行步驟813,PaaS雲端伺服器根據第一ML資料儲存資訊以及第二ML資料儲存資訊,透過DPT虛擬機器分別自第一壓縮資料庫以及第二壓縮資料庫擷取第一壓縮ML應用程式資料以及第二壓縮ML應用程式資料。執行步驟814,PaaS雲端伺服器根據第一DPT服務物件與第一DPT邏輯電路物件之配對以及第二DPT服務物件與第二DPT邏輯電路物件之配對,透過DPT虛擬機器將第一壓縮ML應用程式資料以及第二壓縮ML應用程式資料分別輸入至第一DPT邏輯電路物件以及第二DPT邏輯電路物件對應之第二FPGA電路之第一部分邏輯電路以及第二部分邏輯電路。
如此一來,第二FPGA電路之第一部分邏輯電路以及第二部分邏輯電路便可據以計算第一壓縮ML應用程式資料以及第一壓縮ML應用程式資料之一ML模型。最後,執行步驟815,PaaS雲端伺服器透過DPT虛擬機器,將ML模型傳送至ML應用程式。
綜合上述,本發明之PaaS雲端伺服器及其機器學習資料處理方法,主要係基於PaaS系統,利用FPGA電路之特性將機器學習資料分拆、壓縮、儲存後,再利用另一FPGA電路之多邏輯電路,平行處理不同之機器學習資料,並據以建立模型。如此一來,便可大幅降低硬體成本以及耗能,同時提升機器學習資料處理之效率,以解決先前技術之問題。
惟上述實施例僅為例示性說明本發明之實施態樣,以及闡釋本發明之技術特徵,並非用來限制本發明之保護範疇。任何熟悉此技藝之人士可輕易完成之改變或均等性之安排均屬於本發明所主張之範圍,本發明之權利保護範圍應以申請專利範圍為準。
Claims (8)
- 一種用於平台即服務(Platform as a service,PaaS)雲端伺服器之機器學習(Machine Learning,ML)資料處理方法,該PaaS雲端伺服器執行一資料壓縮儲存(Data Compression and Storing,DCS)物件管理模組以及一DCS虛擬機器,該DCS虛擬機器控制一第一場域可程式化閘陣列(Field-Programmable Gate Array,FPGA)電路,該ML資料處理方法包含:該PaaS雲端伺服器透過該DCS虛擬機器,接收一用戶之一ML應用程式資源要求;該PaaS雲端伺服器根據該ML應用程式資源要求,透過該DCS虛擬機器判斷一第一DCS邏輯電路物件係可用,其中,該第一DCS邏輯電路物件對應於該第一FPGA電路之一第一部分邏輯電路;該PaaS雲端伺服器透過該DCS物件管理模組建立一第一DCS物件,並配對該第一DCS物件與該第一DCS邏輯電路物件;該PaaS雲端伺服器透過該DCS物件管理模組,將該第一DCS服務物件接合該用戶之一ML應用程式;該PaaS雲端伺服器透過該DCS虛擬機器,自該ML應用程式接收一ML應用程式資料;該PaaS雲端伺服器根據該第一DCS服務物件與該第一DCS邏輯電路物件之配對,透過該DCS虛擬機器將該ML應用程式資料輸入至該第一DCS物件對應之該第一部分邏輯電路,俾該第一部分邏輯電路將該ML應用程式資料壓縮成一壓縮ML應用程式資料,並於儲存該壓縮ML應用程式資料至一第一壓縮資料庫後產生一ML資料儲存資訊;以及 該PaaS雲端伺服器透過該DCS虛擬機器,將該ML資料儲存資訊傳送至該ML應用程式。
- 如請求項1所述之ML資料處理方法,其中,該PaaS雲端伺服器更執行一資料平行訓練(Data Parallel Training,DPT)物件管理模組以及一DPT虛擬機器,該DPT虛擬機器控制一第二FPGA電路,該ML資料處理方法更包含:該PaaS雲端伺服器透過該DPT虛擬機器,擷取該ML應用程式之該ML資料儲存資訊;該PaaS雲端伺服器根據該ML資料儲存資訊,透過該DPT虛擬機器判斷一第一DPT邏輯電路物件係可用,其中,該第一DPT邏輯電路物件對應於該第二FPGA電路之一第一部分邏輯電路;該PaaS雲端伺服器透過該DPT物件管理模組建立一第一DPT服務物件,並配對該第一DPT服務物件與該第一DPT邏輯電路物件;該PaaS雲端伺服器透過該DPT物件管理模組,將該第一DPT服務物件接合該用戶之該ML應用程式;該PaaS雲端伺服器根據該ML資料儲存資訊,透過該DPT虛擬機器自該第一壓縮資料庫擷取該壓縮ML應用程式資料;該PaaS雲端伺服器根據該第一DPT服務物件與該第一DPT邏輯電路物件之配對,透過該DPT虛擬機器將該壓縮ML應用程式資料輸入至該第一DPT邏輯電路物件對應之該第二FPGA電路之該第一部分邏輯電路,俾該第二FPGA電路之該第一部分邏輯電路計算該壓縮ML應用程式資料之一ML模型;以及 該PaaS雲端伺服器透過該DPT虛擬機器,將該ML模型傳送至該ML應用程式。
- 一種用於平台即服務(Platform as a service,PaaS)雲端伺服器之機器學習(Machine Learning,ML)資料處理方法,該PaaS雲端伺服器執行一資料壓縮儲存(Data Compression and Storing,DCS)物件管理模組以及一DCS虛擬機器,該DCS虛擬機器控制一第一場域可程式化閘陣列(Field-Programmable Gate Array,FPGA)電路,該ML資料處理方法包含:該PaaS雲端伺服器透過該DCS虛擬機器,接收一用戶之一ML應用程式資源要求;該PaaS雲端伺服器根據該ML應用程式資源要求,透過該DCS虛擬機器判斷一第一DCS邏輯電路物件以及二第二DCS邏輯電路物件係可用,其中,該第一DCS邏輯電路物件以及該第二DCS邏輯電路物件分別對應於該第一FPGA電路之一第一部分邏輯電路以及一第二部分邏輯電路;該PaaS雲端伺服器透過該DCS物件管理模組建立一第一DCS物件以及一第二DCS物件,並將該第一DCS物件以及該第二DCS物件分別配對該第一DCS邏輯電路物件以及該第二DCS邏輯電路物件;該PaaS雲端伺服器透過該DCS物件管理模組,將該第一DCS服務物件以及該第二DCS服務物件接合該用戶之一ML應用程式;該PaaS雲端伺服器透過該DCS虛擬機器,自該ML應用程式接收一ML應用程式資料;該PaaS雲端伺服器根據該第一DCS服務物件以及該第二DCS服務物件,透過該DCS虛擬機器將該ML應用程式資料分割為一第一部分ML應 用程式資料以及一第二部分ML應用程式資料;該PaaS雲端伺服器根據該第一DCS服務物件與該第一DCS邏輯電路物件之配對以及該二DCS服務物件與該第二DCS邏輯電路物件之配對,透過該DCS虛擬機器將該第一部分ML應用程式資料以及該第二部分ML應用程式資料分別輸入至該第一DCS物件對應之該第一部分邏輯電路以及該第二DCS物件對應之該第二部分邏輯電路,其中,該第一部分邏輯電路將該第一部分ML應用程式資料壓縮成一第一壓縮ML應用程式資料,並於儲存該第一壓縮ML應用程式資料至一第一壓縮資料庫後產生一第一ML資料儲存資訊,該第二部分邏輯電路將該第二部分ML應用程式資料壓縮成一第二壓縮ML應用程式資料,並於儲存該第二壓縮ML應用程式資料至該第二壓縮資料庫後產生一第二ML資料儲存資訊;以及該PaaS雲端伺服器透過該DCS虛擬機器,將該第一ML資料儲存資訊以及該第二ML資料儲存資訊傳送至該ML應用程式。
- 如請求項3所述之ML資料處理方法,其中,該PaaS雲端伺服器更執行一資料平行訓練(Data Parallel Training,DPT)物件管理模組以及一DPT虛擬機器,該DPT虛擬機器控制一第二FPGA電路,該ML資料處理方法更包含:該PaaS雲端伺服器透過該DPT虛擬機器,擷取該ML應用程式之該第一ML資料儲存資訊以及該第二ML資料儲存資訊;該PaaS雲端伺服器根據該第一ML資料儲存資訊以及該第二ML資料儲存資訊,透過該DPT虛擬機器判斷一第一DPT邏輯電路物件以及一第二DPT邏輯電路物件係可用,其中,該第一DPT邏輯電路物件以及該第二 DPT邏輯電路物件分別對應於該第二FPGA電路之一第一部分邏輯電路以及一第二部分邏輯電路;該PaaS雲端伺服器透過該DPT物件管理模組建立一第一DPT服務物件以及一第二DPT服務物件,並將該第一DPT服務物件以及該第二DPT服務物件分別配對該第一DPT邏輯電路物件以及該第二DPT邏輯電路物件;該PaaS雲端伺服器透過該DPT物件管理模組,將該第一DPT服務物件以及該第二DPT服務物件接合該用戶之該ML應用程式;該PaaS雲端伺服器根據該第一ML資料儲存資訊以及該第二ML資料儲存資訊,透過該DPT虛擬機器分別自該第一壓縮資料庫以及該第二壓縮資料庫擷取該第一壓縮ML應用程式資料以及該第二壓縮ML應用程式資料;該PaaS雲端伺服器根據該第一DPT服務物件與該第一DPT邏輯電路物件之配對以及該第二DPT服務物件與該第二DPT邏輯電路物件之配對,透過該DPT虛擬機器將該第一壓縮ML應用程式資料以及該第二壓縮ML應用程式資料分別輸入至該第一DPT邏輯電路物件以及該第二DPT邏輯電路物件對應之該第二FPGA電路之該第一部分邏輯電路以及該第二部分邏輯電路,俾該第二FPGA電路之該第一部分邏輯電路以及該第二部分邏輯電路計算該第一壓縮ML應用程式資料以及該第一壓縮ML應用程式資料之一ML模型;以及該PaaS雲端伺服器透過該DPT虛擬機器,將該ML模型傳送至該ML應用程式。
- 一種機器學習(Machine Learning,ML)之平台即服務(Platform as a service,PaaS)雲端伺服器,包含:一傳輸介面,用以透過匯流排或匯流排與網路之組合連接一第一場域可程式化閘陣列(Field-Programmable Gate Array,FPGA)電路;以及一處理器,與該傳輸介面具有電性連結,用以執行一資料壓縮儲存(Data Compression and Storing,DCS)物件管理模組以及一DCS虛擬機器,並透過該DCS虛擬機器控制該第一FPGA電路,該DCS虛擬機器包含一DCS處理模組;其中,該DCS處理模組用以:接收一用戶之一ML應用程式資源要求;以及根據該ML應用程式資源要求,判斷一第一DCS邏輯電路物件係可用,其中,該第一DCS邏輯電路物件對應於該第一FPGA電路之一第一部分邏輯電路;其中,該DCS物件管理模組用以:建立一第一DCS物件,並配對該第一DCS物件與該第一DCS邏輯電路物件;以及將該第一DCS服務物件接合該用戶之一ML應用程式;其中,該DCS處理模組更用以:自該ML應用程式接收一ML應用程式資料;根據該第一DCS服務物件與該第一DCS邏輯電路物件之配對,將該ML應用程式資料輸入至該第一DCS物件對應之該第一部分邏輯電 路,俾該第一部分邏輯電路將該ML應用程式資料壓縮成一壓縮ML應用程式資料,並於儲存該壓縮ML應用程式資料至一第一壓縮資料庫後產生一ML資料儲存資訊;以及將該ML資料儲存資訊傳送至該ML應用程式。
- 如請求項5所述之PaaS雲端伺服器,其中:該傳輸介面更用以連接一第二FPGA電路;該處理器更用以執行一資料平行訓練(Data Parallel Training,DPT)物件管理模組以及一DPT虛擬機器,並透過該DPT虛擬機器控制該第二FPGA電路,該DPT虛擬機器包含一DPT處理模組其中,該DPT處理模組更用以:擷取該ML應用程式之該ML資料儲存資訊;以及根據該ML資料儲存資訊,判斷一第一DPT邏輯電路物件係可用,其中,該第一DPT邏輯電路物件對應於該第二FPGA電路之一第一部分邏輯電路;其中,該DPT物件管理模組更用以:建立一第一DPT服務物件,並配對該第一DPT服務物件與該第一DPT邏輯電路物件;以及將該第一DPT服務物件接合該用戶之該ML應用程式;其中,該DPT處理模組更用以:根據該ML資料儲存資訊,自該第一壓縮資料庫擷取該壓縮ML應用程式資料;根據該第一DPT服務物件與該第一DPT邏輯電路物件之配對, 將該壓縮ML應用程式資料輸入至該第一DPT邏輯電路物件對應之該第二FPGA電路之該第一部分邏輯電路,俾該第二FPGA電路之該第一部分邏輯電路計算該壓縮ML應用程式資料之一ML模型;以及將該ML模型傳送至該ML應用程式。
- 一種機器學習(Machine Learning,ML)之平台即服務(Platform as a service,PaaS)雲端伺服器,包含:一傳輸介面,用以透過匯流排或匯流排與網路之組合連接一第一場域可程式化閘陣列(Field-Programmable Gate Array,FPGA)電路;以及一處理器,與該傳輸介面具有電性連結,用以執行一資料壓縮儲存(Data Compression and Storing,DCS)物件管理模組以及一DCS虛擬機器,並透過該DCS虛擬機器控制該第一FPGA電路,該DCS虛擬機器包含一DCS處理模組;其中,該DCS處理模組用以:接收一用戶之一ML應用程式資源要求;以及根據該ML應用程式資源要求,判斷一第一DCS邏輯電路物件以及一第二DCS邏輯電路物件係可用,其中,該第一DCS邏輯電路物件以及該第二DCS邏輯電路物件分別對應於該第一FPGA電路之一第一部分邏輯電路以及一第二部分邏輯電路;其中,該DCS物件管理模組用以:建立一第一DCS物件以及一第二DCS物件,並將該第一DCS物件以及該第二DCS物件分別配對該第一DCS邏輯電路物件以及該第二 DCS邏輯電路物件;以及將該第一DCS服務物件以及該第二DCS服務物件接合該用戶之一ML應用程式;其中,該DCS處理模組更用以:自該ML應用程式接收一ML應用程式資料;根據該第一DCS服務物件以及該第二DCS服務物件,將該ML應用程式資料分割為一第一部分ML應用程式資料以及一第二部分ML應用程式資料;根據該第一DCS服務物件與該第一DCS邏輯電路物件之配對以及該二DCS服務物件與該第二DCS邏輯電路物件之配對,將該第一部分ML應用程式資料以及該第二部分ML應用程式資料分別輸入至該第一DCS物件對應之該第一部分邏輯電路以及該第二DCS物件對應之該第二部分邏輯電路,其中,該第一部分邏輯電路將該第一部分ML應用程式資料壓縮成一第一壓縮ML應用程式資料,並於儲存該第一壓縮ML應用程式資料至一第一壓縮資料庫後產生一第一ML資料儲存資訊,該第二部分邏輯電路將該第二部分ML應用程式資料壓縮成一第二壓縮ML應用程式資料,並於儲存該第二壓縮ML應用程式資料至該第二壓縮資料庫後產生一第二ML資料儲存資訊;以及將該第一ML資料儲存資訊以及該第二ML資料儲存資訊傳送至該ML應用程式。
- 如請求項7所述之PaaS雲端伺服器,其中:該傳輸介面更用以連接一第二FPGA電路; 該處理器更用以執行一資料平行訓練(Data Parallel Training,DPT)物件管理模組以及一DPT虛擬機器,並透過該DPT虛擬機器控制該第二FPGA電路,該DPT虛擬機器包含一DPT處理模組其中,該DPT處理模組更用以:擷取該ML應用程式之該第一ML資料儲存資訊以及該第二ML資料儲存資訊;根據該第一ML資料儲存資訊以及該第二ML資料儲存資訊,判斷一第一DPT邏輯電路物件以及一第二DPT邏輯電路物件係可用,其中,該第一DPT邏輯電路物件以及該第二DPT邏輯電路物件分別對應於該第二FPGA電路之一第一部分邏輯電路以及一第二部分邏輯電路;其中,該DPT物件管理模組更用以:建立一第一DPT服務物件以及一第二DPT服務物件,並將該第一DPT服務物件以及該第二DPT服務物件分別配對該第一DPT邏輯電路物件以及該第二DPT邏輯電路物件;將該第一DPT服務物件以及該第二DPT服務物件接合該用戶之該ML應用程式;其中,該DPT物件管理模組更用以:根據該第一ML資料儲存資訊以及該第二ML資料儲存資訊,分別自該第一壓縮資料庫以及該第二壓縮資料庫擷取該第一壓縮ML應用程式資料以及該第二壓縮ML應用程式資料;根據該第一DPT服務物件與該第一DPT邏輯電路物件之配對以及該第二DPT服務物件與該第二DPT邏輯電路物件之配對,將該第一壓 縮ML應用程式資料以及該第二壓縮ML應用程式資料分別輸入至該第一DPT邏輯電路物件以及該第二DPT邏輯電路物件對應之該第二FPGA電路之該第一部分邏輯電路以及該第二部分邏輯電路,俾該第二FPGA電路之該第一部分邏輯電路以及該第二部分邏輯電路計算該第一壓縮ML應用程式資料以及該第一壓縮ML應用程式資料之一ML模型;以及將該ML模型傳送至該ML應用程式。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106140755A TWI672924B (zh) | 2017-11-23 | 2017-11-23 | 平台即服務雲端伺服器及其機器學習資料處理方法 |
CN201711247838.0A CN109829546B (zh) | 2017-11-23 | 2017-12-01 | 平台即服务云端服务器及其机器学习数据处理方法 |
US15/834,033 US11023825B2 (en) | 2017-11-23 | 2017-12-06 | Platform as a service cloud server and machine learning data processing method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106140755A TWI672924B (zh) | 2017-11-23 | 2017-11-23 | 平台即服務雲端伺服器及其機器學習資料處理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201926946A TW201926946A (zh) | 2019-07-01 |
TWI672924B true TWI672924B (zh) | 2019-09-21 |
Family
ID=66533190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106140755A TWI672924B (zh) | 2017-11-23 | 2017-11-23 | 平台即服務雲端伺服器及其機器學習資料處理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11023825B2 (zh) |
CN (1) | CN109829546B (zh) |
TW (1) | TWI672924B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10693968B2 (en) * | 2018-09-12 | 2020-06-23 | Pivotal Software, Inc. | Secure binding workflow |
US20200394566A1 (en) * | 2019-06-14 | 2020-12-17 | Open Text Sa Ulc | Systems and methods for lightweight cloud-based machine learning model service |
US11249861B2 (en) | 2020-02-06 | 2022-02-15 | Bank Of America Corporation | Multi-layered disaster recovery manager |
CN111669412A (zh) * | 2020-08-10 | 2020-09-15 | 南京江北新区生物医药公共服务平台有限公司 | 一种提供多种机器学习框架的机器学习paas云平台系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWM500311U (zh) * | 2011-10-17 | 2015-05-01 | Chieh-Hsueh Sheng | 雲端服務核心系統 |
TW201642668A (zh) * | 2015-04-17 | 2016-12-01 | Lm艾瑞克生(Publ)電話公司 | 基於動態封裝器網路之自適性位元率媒體分配和傳遞 |
TW201711478A (zh) * | 2015-06-18 | 2017-03-16 | 艾瑞克生公司 | 用於儲存媒體片段之基於目錄限制之系統及方法 |
TWI584130B (zh) * | 2012-02-24 | 2017-05-21 | 內數位專利控股公司 | 管理行動網路計算資源的方法及裝置 |
TWI604745B (zh) * | 2012-02-29 | 2017-11-01 | 內數位專利控股公司 | 透過虛擬網路無縫傳遞服務方法及裝置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8117137B2 (en) | 2007-04-19 | 2012-02-14 | Microsoft Corporation | Field-programmable gate array based accelerator system |
US9009663B2 (en) * | 2010-06-01 | 2015-04-14 | Red Hat, Inc. | Cartridge-based package management |
CN102681899B (zh) * | 2011-03-14 | 2015-06-10 | 金剑 | 云计算服务平台的虚拟计算资源动态管理方法 |
US9691034B2 (en) | 2013-05-14 | 2017-06-27 | The Trustees Of Princeton University | Machine-learning accelerator (MLA) integrated circuit for extracting features from signals and performing inference computations |
CN104683400A (zh) * | 2013-11-29 | 2015-06-03 | 英业达科技有限公司 | 云端系统与云端资源配置方法 |
US9690669B2 (en) * | 2014-06-16 | 2017-06-27 | Internaitonal Business Machines Corporation | Techniques for improving cloud infrastructure backup in a shared storage environment |
US9619268B2 (en) * | 2014-08-23 | 2017-04-11 | Vmware, Inc. | Rapid suspend/resume for virtual machines via resource sharing |
US9280392B1 (en) * | 2014-10-02 | 2016-03-08 | International Business Machines Corporation | Resource substitution and reallocation in a virtual computing environment |
CN105610923A (zh) * | 2015-12-23 | 2016-05-25 | 北京华康嘉合科技有限公司 | 一种基于云计算的数据处理系统和方法 |
US10270841B1 (en) * | 2016-03-04 | 2019-04-23 | Quest Software Inc. | Systems and methods of real-time container deployment |
US10698941B2 (en) * | 2017-01-06 | 2020-06-30 | Oracle International Corporation | ZFS block-level deduplication at cloud scale |
-
2017
- 2017-11-23 TW TW106140755A patent/TWI672924B/zh active
- 2017-12-01 CN CN201711247838.0A patent/CN109829546B/zh active Active
- 2017-12-06 US US15/834,033 patent/US11023825B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWM500311U (zh) * | 2011-10-17 | 2015-05-01 | Chieh-Hsueh Sheng | 雲端服務核心系統 |
TWI584130B (zh) * | 2012-02-24 | 2017-05-21 | 內數位專利控股公司 | 管理行動網路計算資源的方法及裝置 |
TWI604745B (zh) * | 2012-02-29 | 2017-11-01 | 內數位專利控股公司 | 透過虛擬網路無縫傳遞服務方法及裝置 |
TW201642668A (zh) * | 2015-04-17 | 2016-12-01 | Lm艾瑞克生(Publ)電話公司 | 基於動態封裝器網路之自適性位元率媒體分配和傳遞 |
TW201711478A (zh) * | 2015-06-18 | 2017-03-16 | 艾瑞克生公司 | 用於儲存媒體片段之基於目錄限制之系統及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109829546A (zh) | 2019-05-31 |
TW201926946A (zh) | 2019-07-01 |
CN109829546B (zh) | 2023-05-30 |
US20190156245A1 (en) | 2019-05-23 |
US11023825B2 (en) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI672924B (zh) | 平台即服務雲端伺服器及其機器學習資料處理方法 | |
US9459902B2 (en) | Memory duplication by destination host in virtual machine live migration | |
US9081599B2 (en) | Adjusting transfer rate of virtual machine state in virtual machine migration | |
CN108989811B (zh) | 云桌面系统、及其图像序列压缩编码方法和介质 | |
CN105208135B (zh) | 一种文件传输方法和设备 | |
TW201019263A (en) | Integrated GPU, NIC and compression hardware for hosted graphics | |
CN104735123A (zh) | 用于云计算的大容量存储虚拟化 | |
US20230077904A1 (en) | Wireless programmable media processing system | |
US11934289B2 (en) | Graph-based data multi-operation system | |
CN107506284A (zh) | 日志处理方法及装置 | |
CN109471893A (zh) | 网络数据的查询方法、设备及计算机可读存储介质 | |
CN104408178A (zh) | Web控件加载装置和方法 | |
CN114489690A (zh) | 一种分布式系统部署方法、装置、电子设备及存储介质 | |
US11281602B1 (en) | System and method to pipeline, compound, and chain multiple data transfer and offload operations in a smart data accelerator interface device | |
CN109615668A (zh) | 基于分量的数字图像同步 | |
CN110168513A (zh) | 在不同存储系统中对大文件的部分存储 | |
US20180189090A1 (en) | Exposing Hardware Work Queues as Virtual Devices in Virtual Machines | |
US20180239749A1 (en) | Techniques for asynchronous execution of computationally expensive local spreadsheet tasks | |
WO2023071566A1 (zh) | 数据处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品 | |
WO2016095377A1 (zh) | 一种瘦客户端的图像显示方法、装置及电子设备 | |
CN106790445A (zh) | 基于Samba协议的数据传输方法、装置及电子设备 | |
CN113326038B (zh) | 用于提供服务的方法、装置、设备、存储介质及程序产品 | |
CN114666658A (zh) | 云渲染方法、装置及系统、用户终端 | |
JP2015064745A (ja) | 情報処理システム、制御プログラム及び制御方法 | |
CN114095758B (zh) | 云图像截取方法、相关装置 |