2009-10-13 63 views
2

我似乎無法找到這種類似的問題。網格計算和Java

我目前正在研究最佳的解決方案解決網格計算問題。

的設置:

  • 我哪裏有客戶[典型的啞巴大多數邏輯],並從服務器
  • 收到指令具有授權請求
  • 客戶端的服務器/客戶端的情況彙報信息在完成任務的速度(該任務的困難是由任務型判斷)
  • 客戶收到他們以往的表現最合適的任務(最好的客戶得到最嚴重的問題)

最終的要求是:

  • 客戶的足跡必須小而獨立的 - 我不能有一個客戶,需要大量的安裝和設置
  • 客戶端應該能夠抓住新的就業機會和工作運行時從服務器(這將是不錯的電網規模,新的問題所導入[和新的問題將被服務器分發])
  • 我需要有一個認證層(沒有按」噸有很複雜或符合現有的LDAP)更容易要求:客戶端可以註冊一個新的「MEM bership」並訪問(我不知道該RMI的優勢在於這裏)
  • 的客戶將能夠從互聯網上運行,而在網絡environement
    • 這意味着結果的加密要求

我正在使用webservices在客戶端和服務器之間進行通信。所有信息和結果都返回到託管服務器(J2EE)。

我的問題是有沒有匹配所有/大部分的這些要求,而且是開源的網格系統設置?

我沒有興趣做雲計算,因爲大多數的這些任務雖小,但很頻繁(一天一次,但任務可能很容易,但執行維護)。

所有該系統的代碼是在Java中。

回答

3

看看你可能想調查space-based architectures,特別JiniJavaspaces。 Jini是什麼?它本質上是具有可配置發現機制的RMI。您請求的Java接口的實現者和Jini的子系統找到實現該接口目前的服務和動態告知您的這些服務。

簡單地說,你會寫工作項目進入的空間。網格節點將被設置爲從空間事務性地讀取數據。每個網格節點將採取一個工作項目,並處理和寫回結果到該空間(或另一個空間)。分發節點可以監控寫回的結果(和。或按照您的要求預測結果時間)。

這是所有的Java,並將線性縮放。因爲它是Jini,網格節點可以動態地從HTTP服務器加載它們的類,所以你可以平常地傳播代碼更​​新。

+1

JINI是否有大量的客戶端運行時需求,也可以由客戶端配置而不用硬編碼所有東西? – monksy 2009-10-13 08:10:25

+1

分別是和是。 – 2009-10-13 08:27:33

+0

你是什麼意思?我真的很喜歡空間的想法。這聽起來像一個更好的方法,而不是用RMI做所有事情。對安全渠道的要求如何?是可配置的嗎?還有被遺棄的孩子呢?另一個問題,(網格豆考慮的)那份工作撥款呢? – monksy 2009-10-13 08:34:22

0

BOINC聽起來像它會適用於您的問題,但您必須爲您的客戶包裝java。那,這對你來說可能是矯枉過正的。