專利名稱:經由神經網絡選擇網格執行器的方法和設備的制作方法
技術領域:
這個發明通常涉及網格計算機系統,并且尤其涉及經由神經網絡選擇網格執行器。
背景技術:
1948年EDVAC計算機系統的研制經常被引證為計算機時代的開始。從那個時間以來,計算機系統已經逐漸發展成非常復雜的設備,而且可以找到具有許多不同的設置的計算機系統。計算機系統一般包括諸如半導體和電路板之類的硬件以及也稱為計算機程序的軟件的組合。
多年前,計算機系統是不相互進行通信的獨立的設備。但是今天,計算機正越來越多地經由諸如Internet之類的網絡相連接。當經由網絡連接時,一臺經常稱作客戶機的計算機可以從經常稱為服務器的另一臺計算機請求服務。此外,在一種情形下起客戶機作用的計算機可能在另一種情形下起服務器作用。除了上述的Internet示例之外,公司經常具有將它們的各種計算機連接在一起的內部網絡。具有幾十萬雇員的大公司可以具有幾十萬臺全部經由網絡連接的計算機。這些計算機中的許多計算機在大部分時間是空閑的。例如,典型的辦公室人員在他們的辦公桌上具有計算機,他們每天使用這些計算機達幾個小時以檢查電子郵件、偶爾編寫文檔、或者從服務器計算機請求服務。在每天的剩余時間內,在不使用計算機或者計算機空閑時,辦公室人員在打電話、開會或者在家中。因此,許多公司把數以億計的美元投資在未充分利用的計算機上。
這些公司自然想要找出一種使用這個巨大的、未充分利用但是廣泛分布的計算機性能的方法。一種使用空閑計算機性能的技術稱為網格計算。在網格計算中,網格控制器將在一臺計算機中的任務分解為多個較小的工作單元(unit of work,UOW)。網格控制器經由網絡并行地將每個工作單元發送給多個接收計算機用于執行。這些接收計算機中的某些計算機快速地執行工作單元并且發送回結果。其它接收計算機較緩慢地執行工作單元并且發送回結果。還有其它的接收計算機從不接收工作單元、接收工作單元但從不執行它、或者執行工作單元但從不發回結果。網格控制器使用為特定工作單元返回的第一個結果并且忽略其它稍后的結果。除通過使用未充分利用的計算機資源而省錢的益處之外,網格計算還通過把大任務分解成為許多較小的工作單元并且并行地執行它們而具有性能益處的優點。
為了提高性能益處,一些網格控制器追蹤網絡中計算機的可用性,并且將具有最高優先級的工作單元發送給網絡中具有最高可用性的計算機。類似地,網格控制器將具有較低優先級的工作單元發送給網絡中具有較低可用性的計算機。雖然追蹤計算機可用性的技術確實提高了性能,但仍然存在有對更近一步提高網格性能的更先進技術的需要。
發明內容
提供了這樣的方法、設備、系統、和信號承載介質,它們在一個實施例中將工作單元發送給網格執行器,基于網格執行器的性能創建訓練數據,并且經由該訓練數據訓練神經網絡。該訓練數據包括輸入和輸出數據對,其中輸入數據是工作單元的類型,而輸出數據是網格執行器的服務強度。一旦已經訓練了神經網絡,則后續的工作單元通過將工作單元的類型輸入到神經網絡中并且接收作為輸出來自神經網絡的服務強度來選擇它們的網格執行器。然后基于來自神經網絡的輸出服務強度選擇網格執行器。以這種方法,在一個實施例中,可以提高網格性能。
在下文中結合附圖描述本發明的各種實施例。
圖1描述了用于實現本發明實施例的示例系統的高級框圖。
圖2描述了根據本發明實施例的示例系統的選定部件的框圖。
圖3描述了根據本發明的實施例、用于登記網格執行器的處理的流程圖。
圖4描述了根據本發明的實施例、在訓練模式下處理工作單元的流程圖。
圖5描述了根據本發明的實施例、在性能模式下處理工作單元的流程圖。
然而應當理解,附圖僅僅說明了本發明的示例實施例,而且因此其不被認為是對本發明的范圍的限制,因為本發明可以容許其它相同效果的實施例。
具體實施例方式
參見附圖,其中在幾個附圖中自始至終以類似的數字表示類似的部分,圖1描述了根據本發明的實施例、經由網絡130連接到服務器132的計算機系統100的高級框圖表示。在一個實施例中,計算機系統100硬件部件可以由可從紐約Armonk的國際商業機器公司獲得的eServer iSeries計算機系統實現。然而,本領域的技術人員應當理解本發明實施例中的機制和設備同樣適用于任何適當的計算系統。計算機系統100對于服務器132起客戶機的作用,但是僅僅是為了方便而使用術語“服務器”和“客戶機”,而且在其它實施例中,在一種情形下用作服務器的電子設備可以在另一種情形下用作客戶機,并且反之亦然。
計算機系統100的主要部件包括一個或多個處理器101、主存儲器102、終端接口111、存儲設備接口112、I/O(輸入/輸出)設備接口113、和通信/網絡接口114,所有這些部件經由存儲器總線103、I/O總線104、和I/O總線接口單元105相連接用于部件間通信。
計算機系統100包含一個或多個通用可編程中央處理單元(CPU)101A、101B、101C、和101D,此處它們通常稱為處理器101。在一個實施例中,計算機系統100包含多個處理器,其一般為相對大的系統;然而在另一個實施例中,做為選擇,計算機系統100可以是單CPU系統。每個處理器101執行存儲在主存儲器102中的指令,并且可以包括一或多級的機載(on-board)高速緩存。
主存儲器102是用于儲存數據和程序的隨機存取半導體存儲器。在另一個實施例中,主存儲器102表示計算機系統100的整個虛擬存儲器,而且還可以包括連接到計算機系統100或者經由網絡130連接的其它計算機系統的虛擬存儲器。主存儲器102在概念上是單個單片實體,但是在其它實施例中,主存儲器102為更復雜的配置,諸如高速緩存和其它存儲器設備的分級結構。例如,主存儲器102可以存在于多極高速緩存中,而且這些高速緩存可以進一步由功能劃分,以便一個高速緩存保持指令而另一個高速緩存保持由一個或者多個處理器使用的非指令數據。如在任意各種所謂的不均勻存儲器存取(NUMA)計算機體系結構中所知的那樣,主存儲器102可以進一步分布以及與不同的CPU或者CPU集相關聯。
主存儲器102包括網格管理器150、神經網絡152、網格應用154、和網格數據156。雖然將管理器150、神經網絡152、網格應用154、和網格數據156舉例說明為包含在計算機系統100中的存儲器102內,但是在其它實施例中,它們中的一些或者全部可以在不同的計算機系統上,而且可以例如經由網絡130遠程訪問。計算機系統100可以使用虛擬尋址機制,其允許計算機系統100中的程序好象它們僅僅訪問大的單個存儲實體而不是訪問多個較小的存儲實體那樣進行動作。因此,雖然將網格管理器150、神經網絡152、網格應用154、和網格數據156舉例說明為包含在主存儲器102內,但是這些單元沒有必要同時全部完全包含在相同的存儲設備中。此外,雖然將網格管理器150、神經網絡152、網格應用154、和網格數據156舉例說明為是單獨的實體,但是在其它實施例中,它們中的某些、或者它們中某些中的部分可以封裝在一起。
網格管理器150將由網格應用154生成的任務分解成多個工作單元,并且將這些工作單元發送到服務器132用于執行。在各種實施例中,網格應用154可以是用戶應用、第三方應用、操作系統、其中的任何一部分、或者任何其它適當的可執行或者可解釋的代碼或者語句。網格管理器150使用網格數據156和神經網絡152來選擇適當的服務器132以接收工作單元。
神經網絡152是模擬人的大腦的并行計算模型,其包含多個由自適應的權重相連接的簡單處理單元(處理器或者代碼)。在各種實施例中,可以監督或者不監督神經網絡152。受到監督的神經網絡不同于傳統的程序之處在于,程序員不用編寫算法代碼以告知神經網絡如何處理數據。作為替代,通過向神經網絡給出具有期望的輸入/輸出關系的訓練數據來訓練該神經網絡。不受監督的神經網絡可以從輸入數據中提取統計學上重要的特征。這不同于受到監督的神經網絡之處在于,在訓練期間向神經網絡僅僅給出輸入數據。神經網絡152具有學習機制,其通過在每次訓練迭代之后更新自適應權重而進行操作。一旦已經由神經網絡152實現了足夠的訓練水平,例如,神經網絡152產生了由訓練數據所指定的期望輸入/輸出關系,則神經網絡152的訓練停止,而且神經網絡152不再更新它的自適應權重。作為替代,神經網絡152進入性能模式,在該模式下神經網絡152接收輸入數據并且使用已訓練的自適應權重產生輸出數據。
存在有許多不同類型的落入“神經網絡”中的計算模型。這些不同的模型具有獨特的網絡拓撲和學習機制。已知神經網絡模型的示例包括反向傳播模型、自適應共振理論模型、自組織特征地圖模型、自組織TSP網絡模型、以及雙向關聯記憶模型,但是在其它實施例中可以使用任何適當的模型。
在一個實施例中,網格管理器150包括能夠在處理器101上執行的指令或者能夠由在處理器101上執行的指令解釋的語句,以便執行以下參考圖3、4、和5進一步描述的功能。在另一個實施例中,網格管理器150可以以微碼的形式實現。在另一個實施例中,代替或者除了基于處理器的系統之外,網格管理器150可以經由邏輯門和/或其它適當硬件技術以硬件的形式實現。
存儲器總線103提供了數據通信路徑,以便在處理器101、主存儲器102、和I/O總線接口單元105之間傳輸數據。I/O總線接口單元105還連接到系統I/O總線104,以便往返于各個I/O單元傳輸數據。I/O總線接口單元105通過系統I/O總線104與又被稱為I/O處理器(IOP)或者I/O適配器(IOA)的多個I/O接口單元111、112、113、和114進行通信。系統I/O總線104可以是例如工業標準PCI總線,或者任何其它適當的總線技術。
I/O接口單元支持與各種存儲設備和I/O設備的通信。例如,終端接口單元111支持一個或多個用戶終端121、122、123、和124的附連。存儲設備接口單元112支持一個或多個直接存取存儲設備(DASD)125、126、和127的附連(它們一般為旋轉磁盤驅動器存儲設備,但是做為選擇它們可以是包括被配置為表現為到主機的單個大存儲設備的盤驅動器陣列在內的其它設備)。根據需要,可以將主存儲器102的內容存儲到直接存取存儲設備125、126、和127中,并且從中取得主存儲器102的內容。
I/O及其它設備接口113提供了到任何各種其它輸入/輸出設備或者其它類型設備的接口。在圖1的示例實施例中示出了兩個這樣的設備,即打印機128和傳真機129,但是在其它的實施例中,可以存在具有不同類型的許多其它這樣的設備。網絡接口114提供了從計算機系統100到其它數字設備和計算機系統的一條或多條通信路徑;這樣的路徑可以包括例如一個或多個網絡130。
雖然圖1中將存儲器總線103顯示為相對簡單的單條總線結構,其提供了在處理器101、主存儲器102、和I/O總線接口105之間的直接通信路徑,但是事實上存儲器總線103可以包含多條不同的總線或者通信路徑,其可以以諸如分級的點到點鏈接、星形或者網狀配置、多分級總線、平行以及冗余路徑、或者任何其它適當類型的配置之類的各種形式中的任意方式進行布置。此外,雖然I/O總線接口105和I/O總線104被示為單個相應的單元,但是計算機系統100實際上可以包含多個I/O總線接口單元105和/或多條I/O總線104。雖然示出了多個I/O接口單元,其把系統I/O總線104和到各個I/O設備的各種通信路徑分離開來,但是在其它實施例中,一些或者全部I/O設備直接連接到一條或者多條系統I/O總線。
圖1所示的計算機系統100具有多個附連的終端121、122、123、和124,諸如可以是多用戶“大型機”計算機系統的典型。通常,在這種情況下,雖然本發明不局限于任何特定大小的系統,但是所附連的設備的實際數目大于圖1所示的那些設備的數目。做為選擇,計算機系統100可以是單用戶系統,其通常僅僅包含單個用戶顯示器和鍵盤輸入,或者可以是具有少量或者沒有直接用戶接口、但是從其它計算機系統(客戶機)接收請求的服務器或者類似設備。在其它實施例中,計算機系統100可以實現為個人計算機、便攜式計算機、膝上型或者筆記本計算機、PDA(個人數字助理)、寫字板式計算機、袖珍計算機、電話、傳呼機、汽車、遠程會議系統、儀器、或者任何其它適當類型的電子設備。
網絡130可以是任何適當的網絡或者網絡的組合,并且可以支持任何適于往返于計算機系統100進行數據和/或代碼通信的適當協議。在各種實施例中,網絡130可以表示直接或者間接地連接到計算機系統100的存儲設備或者存儲設備的組合。在一個實施例中,網絡130可以支持Infiniband。在另一個實施例中,網絡130可以支持無線通信。在另一個實施例中,網絡130可以支持諸如電話線或者電纜之類的硬接線通信。在另一個實施例中,網絡130可以支持以太網IEEE(電氣與電子工程師協會)802.3x規范。在其它實施例中,網絡130可以是Internet并且可以支持IP(網際協議)。
在另一個實施例中,網絡130可以是局域網(LAN)或者廣域網(WAN)。在另一個實施例中,網絡130可以是熱點服務供應商網絡。在另一個實施例中,網絡130可以是企業內部網。在另一個實施例中,網絡130可以是GPRS(通用分組無線業務)網絡。在另一個實施例中,網絡130可以是FRS(家庭無線業務)網絡。在另一個實施例中,網絡130可以是任何適當的蜂窩式數據網絡或者基于小區的無線電網絡技術。在另一個實施例中,網絡130可以是IEEE 802.11B無線網絡。在還有的另一個實施例中,網絡130可以是任何適當的網絡或者網絡的組合。雖然示出了一個網絡130,但是在其它實施例中,可以存在任何數量(包括零個)(相同或者不同類型)的網絡。
服務器132包括網格執行器134,并且還可以包括一些或者全部已經為計算機系統100所描述的硬件部件。在另一個實施例中,服務器132的功能可以實現為在計算機系統100中的應用。
應當理解圖1意圖在高級別處描述計算機系統100、網絡130、和服務器132的代表性主要部件,其中的單個部件可以具有比圖1所表示的部件更大的復雜度,而且可以存在不同于圖1所示的那些部件或者除圖1所示的那些部件之外的部件,而且這樣的部件的數目、類型、和配置可以改變。此處公開了具有這樣的額外復雜度或者額外變化的幾個具體的示例;應當理解這些僅僅是示例的方式,而且不一定僅僅有這樣的變化。
圖1中說明的并且實現了本發明的各種實施例的各種軟件組件可以以多種方式實現,包括使用在下文中被稱為“計算機程序”或者簡單地稱為“程序”的各種計算機軟件應用、例程、組件、程序、對象、模塊、數據結構等。計算機程序一般包含在各個時間駐留在計算機系統100的各個存儲器和存儲設備中的一條或多條指令,而且當其由計算機系統100中的一個或多個處理器101讀取和執行時,導致計算機系統100執行為執行組成本發明的實施例的各個方面的步驟或者單元所必需的步驟。
此外,雖然本發明的實施例已經并且在下文中仍將在完全起作用的計算機系統的環境中進行描述,但是本發明的各個實施例能夠以各種形式作為程序產品進行分配,而且本發明可以同樣地應用,而與用于實際執行該分配的信號承載介質的具體類型無關。定義這個實施例的功能的程序可以經由各種有形的信號承載介質存儲、編碼在計算機系統100中以及傳遞給計算機系統100,該信號承載介質包括但不局限于以下的計算機可讀介質(1)信息永久地存儲在不可重寫的存儲介質中,該不可重寫存儲介質例如為諸如CD-ROM、DVD-R、或者DVD+R之類的、附連于計算機系統或者在計算機系統內的只讀存儲器或者存儲設備;(2)可變信息存儲在例如硬盤驅動器(例如,DASD 125、126、或者127)、CD-RW、DVD-RW、DVD+RW、DVD-RAM、或者盤之類的可重寫存儲介質上;或者(3)信息由通信或者傳輸介質、諸如通過例如網絡130的計算機或者電話網絡傳送。
這樣的有形信號承載介質,當攜帶或者編碼了指導或者控制本發明中的功能的計算機可讀、處理器可讀、或者機器可讀的指令或者語句時,表示了本發明的實施例。
本發明的實施例還可以作為與客戶公司、非營利組織、政府實體、內部組織機構等的服務約定的一部分來實現。這些實施例的方面可以包括將計算機系統配置為執行此處描述的一些或者全部方法,以及部署實現此處描述的一些或全部方法的軟件系統以及web服務。這些實施例的方面還可以包括分析客戶公司、響應于該分析創建建議、生成實現該建議的各個部分的軟件、將該軟件集成到現有的處理和基礎設施中、計量此處描述的方法和系統的使用、向用戶分配費用、以及對于用戶使用這些方法和系統而向他們開出帳單。
此外,在下文中描述的各種程序可以基于在本發明的特定實施例中這些程序所實現的應用進行標識。但是,隨后的任何特定程序術語僅僅是為了方便起見而使用的,而且因此本發明的實施例不應當局限于僅在由這樣的術語標識和/或暗示的特定應用中使用。
圖1所示的示例環境不是用于限制本發明的。實際上,可以使用其它替換的硬件和/或軟件環境而沒有背離本發明的范圍。
圖2描述了根據本發明實施例的示例系統的選定部件的框圖。在舉例說明的系統中,計算機系統100經由網絡130連接到服務器132-1、服務器132-2、和服務器132-3。每個服務器132-1、132-2、和132-3是如先前參考圖1所述的服務器132的示例。服務器132-1包括網格執行器A 134-1,服務器132-2包括網格執行器B 134-2,而且服務器132-3包括網格執行器C 134-3。
計算機系統100包括網格數據156,其包括示例記錄205、210、和215,但是在其它實施例中,可以存在具有任何適當數據的任何數量的記錄。每個示例記錄包括網格執行器標識符字段220、服務強度字段225、可用服務字段230、工作單元類型字段235、工作單元優先級字段240、和性能統計字段245。
網格執行器標識符字段220標識諸如網格執行器A 134-1、網格執行器B 134-2、或者網格執行器C 134-3之類的網格執行器134之一。服務強度225指示相關聯的網格執行器220所執行的、比該網格執行器220提供的其它服務更快的一個或者多個服務。可用服務230指示在網格執行器220處可用的服務,而與網格執行器220執行它們的速度無關。對于具體的網格執行器220,服務強度225是可用服務230的子集。
工作單元類型235指示網格管理器150已經發送給網格執行器220的工作單元的類型。工作單元優先級240指示工作單元類型235的優先級,其由網格應用154報告或者由網格管理器150指定。性能統計245指示當發給網格執行器220時、具有工作單元類型235的工作單元的先前性能。在各種實施例中,性能統計245可以包括用于處理工作單元類型235的響應時間,或者網格執行器220可用于處理工作單元類型235的時間的百分比。
圖3描述了根據本發明的實施例、用于登記網格執行器134的處理的流程圖。控制從塊300開始。控制然后繼續到塊305,其中網格管理器150從網格執行器134接收服務強度和可用服務。控制然后繼續到塊310,其中網格管理器150在網格數據156中創建記錄(諸如記錄205、210、或者215),并且存儲網格執行器標識符220、所報告的網格執行器134的服務強度225、以及所報告的網格執行器134的可用服務230。控制然后繼續到塊399,其中圖3中的邏輯返回。
圖4描述了根據本發明的實施例、在訓練模式下處理工作單元的流程圖。控制從塊400開始。控制然后繼續到塊405,其中網格管理器150基于網格應用154創建工作單元。在各種實施例中,網格管理器150可以基于和/或響應于網格應用154的任務、功能、請求、消息、中斷、或者動作而創建工作單元。網格管理器150還確定所創建的工作單元的類型和所創建的工作單元的優先級。網格管理器可以基于工作單元所基于的網格應用154的優先級、基于工作單元所基于的網格應用154所報告的優先級、或者基于任何其它的技術來確定工作單元的優先級。
控制然后繼續到塊410,其中網格管理器150基于網格執行器134的服務強度225、網格執行器134的可用服務230、所創建的工作單元的類型、以及所創建的工作單元的優先級來選擇網格執行器134。在一個實施例中,網格管理器150可以選擇具有與工作單元類型相匹配的服務強度225的網格執行器134。在另一個實施例中,網格管理器150可以取決于工作單元的優先級,使用網格執行器134的可用服務230或者服務強度225來選擇網格執行器134。例如,如果工作單元的優先級高(超過閾值),則網格管理器150可以選擇其服務強度225與工作單元類型匹配的網格執行器134,但是如果工作單元的優先級低(低于該閾值),則網格管理器150使用可用服務230來選擇網格執行器134。因此,網格管理器150選擇網格管理器150從其中接收服務強度225和可用服務230的網格執行器134的子集。
網格管理器150將所創建的工作單元的工作單元類型存儲到與選定的網格執行器134相關聯的網格數據156中的記錄的工作單元類型字段235中。網格管理器150還將與所創建的工作單元相關聯的工作單元優先級設置到在與選定的網格執行器134相關聯的記錄中的工作單元優先級字段240中。
控制然后繼續到塊415,其中網格管理器150并行地將所創建的工作單元發送到選定的網格執行器134,這意味著將工作單元發送給多個選定的網格執行器134而不等待來自任何一個特定網格執行器134的響應。至少一個網格執行器134執行該工作單元并且將響應返回到網格應用154。
控制然后繼續到塊420,其中網格管理器150取得與工作單元的并行執行相關聯的性能統計數據,并且將該性能統計數據存儲到與執行該工作單元的網格執行器220相關聯的記錄的性能統計字段245中。
控制然后繼續到塊425,其中網格管理器150基于服務強度225、工作單元類型、和性能統計245創建訓練數據。在一個實施例中,網格管理器150為每種工作單元類型235選擇那些具有最佳性能統計245、例如最低響應時間或者最高可用性的網格執行器220(在網格數據156中的那些記錄)。網格管理器150然后創建包括工作單元類型235和服務強度225對的訓練數據。控制然后繼續到塊430,其中網格管理器150利用工作單元類型235作為到神經網絡152的輸入以及利用相應成對的服務強度225作為來自神經網絡152的輸出,來訓練該神經網絡152。也就是說,網格管理器150重復地將工作類型235輸入到神經網絡152中,直到神經網絡152至少以一個時間百分比閾值產生成對的相應服務強度225作為輸出為止。控制然后繼續到塊499,其中圖4中的邏輯返回。
圖5描述了根據本發明的實施例、在訓練模式完成之后在性能模式下處理工作單元的流程圖。控制從塊500開始。控制然后繼續到塊505,其中如先前參考圖4中的塊405所述的那樣,網格管理器150基于網格應用154創建工作單元。
控制然后繼續到塊510,其中網格管理器150將工作單元類型235輸入到神經網絡152中。控制然后繼續到塊515,其中神經網絡152生成服務強度225作為輸出。控制然后繼續到塊520,其中網格管理器150基于從神經網絡152輸出的服務強度225,從網格數據156中選擇網格執行器134。在一個實施例中,網格管理器150選擇具有與來自神經網絡152的輸出服務強度相匹配的服務強度225的那些網格執行器134。
控制然后繼續到塊525,其中網格管理器150并行地將工作單元發送到由網格執行器標識符220標識的選定的網格執行器134。控制然后繼續到塊530,其中至少一個選定的網格執行器134執行該工作單元,并且向網格應用154返回響應。
在本發明的示例實施例的先前詳細說明中,對形成本發明的一部分、并且以說明方式示出其中可以實踐本發明的特定示例實施例的附圖(其中,相似的數字表示相似的單元)進行了參考。對這些實施例進行了足夠詳細的描述以允許本領域技術人員實踐本發明,但是可以使用其它實施例而且可以進行邏輯的、機械的、電的及其他改變而沒有背離本發明的范圍。在這個說明書中使用的詞語“實施例”的不同實例不一定是指相同的實施例,但是它們也可以是指相同的實施例。因此,先前的詳細說明不是以限制的意義使用的,而且本發明的范圍僅僅由附加權利要求所定義。
在先前的描述中,為了提供對本發明實施例的徹底理解而闡述了許多的細節。但是,沒有這些具體細節也可以實踐本發明。在其它實例中,沒有詳細地示出眾所周知的電路、結構、和技術以便不會使本發明模糊。
權利要求
1.一種方法,包含并行地將第一多個工作單元發送到第一多個網格執行器;基于該第一多個網格執行器的性能創建訓練數據;經由該訓練數據訓練神經網絡;以及經由該神經網絡選擇第二多個網格執行器。
2.如權利要求1所述的方法,還包含并行地將第二工作單元發送到第二多個網格執行器。
3.如權利要求1所述的方法,還包含從第一多個網格執行器的每一個中接收服務強度。
4.如權利要求3所述的方法,其中創建訓練數據的步驟還包含基于所述性能創建多個輸入數據和輸出數據對,其中輸入數據包含第一多個工作單元的多種類型,而輸出數據包含第一多個網格執行器的服務強度。
5.如權利要求4所述的方法,其中創建訓練數據的步驟還包含基于在第一多個網格執行器處用于所述多種類型的響應時間,選擇所述多種類型。
6.如權利要求2所述的方法,其中選擇步驟還包含將第二工作單元的類型輸入到神經網絡中;以及從神經網絡中接收第二服務強度。
7.如權利要求6所述的方法,其中選擇步驟還包含基于來自神經網絡的第二服務強度選擇第二多個網格執行器。
8.一種編碼有指令的信號承載介質,所述指令用于實現先前方法權利要求中的任何一種方法。
9.一種用于選擇網格執行器的設備,包含用于實現先前方法權利要求中的任一種方法的裝置。
10.一種用于配置計算機的方法,包含將計算機配置為從第一多個網格執行器的每一個中接收服務強度和可用服務;將計算機配置為基于優先級以及服務強度和可用服務之一選擇第一多個網格執行器的子集;將計算機配置為并行地將第一多個工作單元發送到第一多個網格執行器的子集;將計算機配置為基于第一多個網格執行器的子集的性能創建訓練數據;將計算機配置為經由該訓練數據訓練神經網絡;以及將計算機配置為經由該神經網絡選擇第二多個網格執行器。
11.如權利要求10所述的方法,還包含將計算機配置為并行地將第二工作單元發送到第二多個網格執行器。
12.如權利要求10所述的方法,其中,配置計算機以創建訓練數據的步驟還包含將計算機配置為基于所述性能創建多個輸入數據和輸出數據對,其中輸入數據包含第一多個工作單元的多種類型,而輸出數據包含第一多個網格執行器的子集的服務強度。
13.如權利要求12所述的方法,其中將計算機配置為創建訓練數據的步驟還包含將計算機配置為基于在第一多個網格執行器的子集處用于所述多種類型的響應時間,選擇所述多種類型。
14.如權利要求11所述的方法,其中將計算機配置為進行選擇的步驟還包含將計算機配置為將第二工作單元的類型輸入到神經網絡中;以及將計算機配置為從神經網絡接收第二服務強度。
15.如權利要求14所述的方法,其中將計算機配置為進行選擇的步驟還包含將計算機配置為基于來自神經網絡的第二服務強度選擇第二多個網格執行器。
全文摘要
提供了這樣一種方法、設備、系統、和信號承載介質,它們在一個實施例中將工作單元發送給網格執行器,基于網格執行器的性能創建訓練數據,并且經由該訓練數據訓練神經網絡。訓練數據包括輸入和輸出數據對,其中輸入數據是工作單元的類型,而輸出數據是網格執行器的服務強度。一旦已經訓練了神經網絡,則后續的工作單元通過將工作單元的類型輸入到神經網絡中并且接收作為輸出來自神經網絡的服務強度,來選擇它們的網格執行器。然后基于來自神經網絡的輸出服務強度選擇網格執行器。以這種方法,在一個實施例中,可以提高網格性能。
文檔編號G06N3/00GK1869965SQ20061006780
公開日2006年11月29日 申請日期2006年3月13日 優先權日2005年5月26日
發明者朗達爾·P.·巴特曼, 史蒂文·J.·勃蘭達, 瑟亞·V.·杜吉瑞拉, 約翰·J.·斯特切, 羅伯特·溫斯涅維斯基 申請人:國際商業機器公司