Framework Java / strumento per un semplice problema di calcolo distribuito


Generiamo file pdf con i dati relativi al saldo finanziario mensile di decine di migliaia di clienti. Al suo picco (100.000 file alla fine dell'anno), il processo può richiedere fino a 5 giorni per completare utilizzando distribuire il carico tra 5 server. La distribuzione del carico di lavoro è un processo manuale(ad es. server 1 genera pdf per i client da 1 a 20.000, server 2 da 20.001 a 40.000 e così via).

Usiamo Java, quindi vorremmo usare uno strumento o un framework Java in modo simile a BOINC (BOINC non è codificato in Java), che ci permetterebbe di avere:

  • un server che distribuisce automaticamente dati e codice ai lavoratori e li gestisce
  • lavoratori (semplici desktop dual core che utilizzano cicli di cpu gratuiti (o meno)) che ricevono il codice inviato dal server e lo eseguono usando i dati come input, dando un feedback sullo stato e infine facendo qualcosa con l'output, ad es. invio di file pdf generati alla memoria di rete.

Per ora, non vogliamo provare kit di strumenti potenti come Globus Toolkit.

¿Conosci qualche framework/strumento java adatto alle nostre esigenze? L'open source sarebbe bello, ma non scartiamo le soluzioni commerciali.

Author: Crowie, 2009-08-27

5 answers

ControllaHazelcast distributed executor service . Utilizza l'API ExecutorService standard di Java.

 2
Author: Talip Ozturk, 2015-02-25 15:51:00

Un altro che puoi guardare è Terracotta.

 0
Author: Eugene Ryzhikov, 2009-08-27 02:46:56

Google dice che c'è una porta Java di BOINC qui: http://boincoid.sf.net

Si rivolge principalmente a Android :-/ ma apparentemente tutti tranne la GUI possono essere eseguiti su una normale VM.

 0
Author: ykaganovich, 2009-09-10 17:29:39