Come effettivamente (ma minimamente) * simulare * un ambiente di calcolo distribuito?

6

Sto facendo delle ricerche personali su Errori bizantini. Sto provando algoritmi da vari documenti di ricerca che presentano algoritmi per il consenso in sistemi distribuiti come questo uno. Per questo ho bisogno di un ambiente di simulazione su piccola scala di un sistema distribuito. Come approccio a questo problema?

    
posta Chani 25.09.2011 - 17:09
fonte

4 risposte

4

Utilizziamo questo: link

I contenitori Linux sono macchine virtuali estremamente leggere (praticamente zero spese generali). Stiamo utilizzando solo 250 macchine per macchina fisica, ma non ci dovrebbero essere problemi per migliaia di macchine.

Abbiamo usato con successo entrambe le partizioni LVM e sovrapposto i filesystem come root di sistema.

    
risposta data 25.09.2011 - 18:59
fonte
8

Le macchine virtuali possono essere la strada da percorrere, il problema è che se si impostano 5 VM su un server il tempo di risposta tra loro sarà effettivamente 0, il che potrebbe non essere vero nel proprio ambiente reale dove potrebbe esserci un ritardo tra server.

Se questo è un problema (o potrebbe essere) suggerirei di configurare alcuni server su AWS o simili per testare. Le probabilità sono che questo potrebbe essere fatto per meno di $ 10 o $ 20.

    
risposta data 25.09.2011 - 18:20
fonte
4

Ho appena saltato il foglio che hai menzionato, ma qui ci vado. Spesso utilizziamo un ambiente virtualizzato per creare configurazioni sperimentali che coinvolgono più computer. Usando Hyper-V su Windows Server (o software simile) puoi facilmente creare una rete privata e isolata di macchine che puoi configurare al volo e riutilizzare secondo le tue necessità.

Sembra che tu stia lavorando al rilevamento degli errori e al raggiungimento del consenso associato, quindi non penserei che la bassa latenza e l'elevata larghezza di banda che un ambiente virtualizzato produrrebbe sarebbero un problema. In ogni caso, se si tratta di un problema, puoi sempre utilizzare un simulatore WAN come Emulatore di connessione WAN per simulare un connessione arbitrariamente ad alta latenza e bassa larghezza di banda tra i nodi.

    
risposta data 25.09.2011 - 17:41
fonte
3

A corto di macchine virtuali - che sono probabilmente la strada da percorrere - la maggior parte del software client server consente alla stessa macchina di comportarsi come client e server. Quindi potresti avere bisogno di un pardagim distribuito su un singolo PC.

    
risposta data 25.09.2011 - 17:47
fonte