Buona domanda! È bello vedere qualcuno che valuta tali punti. Filosofare sull'uso e sull'utilizzo del computer è importante. Quello che descrivi è un Sistema distribuito .
Se fossi in te, prenderei in considerazione la possibilità di guardare progetti come SETI @ Home e altri "processi screensaver" che utilizzano cicli CPU ridondanti per elaborare grandi quantità di dati. È probabile che quei ragazzi abbiano considerato questo tipo di situazione prima.
I problemi principali sono:
Questa è la domanda "come posso garantire che la mia richiesta venga elaborata quando il nodo che chiedo di elaborare la richiesta potrebbe non riuscire - e come gestisco tali inevitabili errori?" (vedi il pezzo di Coding Horror di Jeff Atwood sul concetto di Chaos Monkey (in oggi per un possibile metodo di indagine
La velocità di memoria (o CAS ) sarebbe così variabile che ciò significherebbe che qualsiasi applicazione dovrebbe avere abbastanza memoria disponibile localmente, nel luogo di utilizzo, da poterne gestire le attività. Nello stesso modo in cui una macchina Windows utilizza un file di paging, quindi un'architettura distribuita potrebbe utilizzare nodi specifici come cache di memoria
Ci sono altre considerazioni (come la sicurezza, l'usabilità e la larghezza di banda sì in una certa misura, sebbene sia sempre possibile aggiungere più nodi, ecc.) ma queste saranno sufficienti come punto di partenza per te. Buona fortuna con la tua ricerca.