Che aspetto avrebbe un sistema come BOINC se fosse scritto oggi? Al momento dell'elaborazione di BOINC, i database erano la scelta principale per il mantenimento di uno stato condiviso e della concorrenza tra i nodi.
Da allora, sono stati sviluppati molti approcci per il tasking con concorrenza ottimistica (OT, primitive di sincronizzazione come clock vettoriali, sincronia virtuale, iteratori condivisi ecc.)
Esiste un paradigma per la distribuzione ottimistica di unità di lavoro su sistemi di distribuzione scarsamente distribuiti che comunicano attraverso il passaggio di messaggi?
Scusa se questo è un po 'vago.
P.S. Il concetto di Tuple-spaces è ottimo, ma il blocco è inerente alla sua definizione.
Edit2 :
L'intero sistema è scarsamente distribuito - possono comunicare solo tramite WAN. E la comunicazione può essere lenta e difettosa. La domanda riguarda come distribuire al meglio le unità di lavoro tra di loro senza un coordinatore centrale e con il minor consenso possibile (perché il consenso è costoso).
Le risposte qui sembrano parlare di database: i dati non sono il problema. Il problema è nella distribuzione del lavoro.
Modifica :
Ho già un sistema di federazione che funziona bene. Sto cercando di estenderlo per convincere i clienti a fare unità di lavoro.