Errori del processore nel calcolo distribuito che non sono crash o bizantini


13

Esistono due tipi principali di errori del processore nei modelli di calcolo distribuito:

(1) Errori di arresto anomalo: un processore si arresta e non si riavvia mai più. (2) Fallimenti bizantini: i processori si comportano in modo avverso, malizioso.

La mia domanda è:

Quali sono alcuni altri tipi di guasti del processore che sono stati studiati, che non si riducono a crash o guasti bizantini?

Inoltre, una domanda più specifica:

È stato studiato un modello in cui, con una certa probabilità, un processo è attivo al passaggio , e altrimenti spento? Quindi ogni processo fa l'occhiolino e si spegne, per così dire.t

Sono molto interessato a come questi fallimenti siano collegati al consenso e ad altri problemi di accordo distribuito.

Grazie.


@Aaron: ho tenuto un corso sui "sistemi distribuiti" e un altro sui "sistemi a tolleranza d'errore" diversi anni fa, ma non mi occupo proprio di questi argomenti. Tuttavia, penso che il modello di errore dinamico della parola chiave possa aiutarti.
MS Dousti,

1
Immagino che il modello di fallimento utilizzato nell'area dell'auto-stabilizzazione non si riduca a fallimenti o errori bizantini. Un modo per collegarlo a fallimenti bizantini: puoi avere un comportamento bizantino temporaneo , ma se e quando questo comportamento si interrompe, un sistema auto-stabilizzante deve raggiungere uno stato corretto.
Jukka Suomela,

1
Per quanto riguarda la tua domanda più specifica: se un processore è "acceso" con probabilità , mi sembra molto simile a un modello asincrono in cui i processori sono sempre attivi, ma i messaggi richiedono, diciamo, 1 / p round in attesa di raggiungere la loro destinazione. Potresti forse chiarire in che modo differisce dal modello che avevi in ​​mente? p1/p
Jukka Suomela,

1
@Aaron: non so davvero quanto sia stato studiato questo tipo di modelli. Ma immagino che se hai qualche algoritmo sincrono deterministico con tempo di esecuzione T , potresti semplicemente usare il sincronizzatore α per simulare A nel modello asincrono, e immagino che il tempo di esecuzione previsto sarebbe qualcosa come T / p . (Il sincronizzatore α garantisce semplicemente che i tuoi vicini non sono mai più di 1 volta avanti o indietro nella simulazione di A. )ATαAT/pαA
Jukka Suomela,

2
@Aaron: ho preso la teoria dell'informatica distribuita con Michel Raynal e ha descritto un terzo modello, in cui i messaggi possono essere rilasciati casualmente. In quel modello un messaggio può non riuscire a essere recapitato in silenzio, ma ciò non significa necessariamente che il nodo abbia fallito. Si tratta degli errori di collegamento piuttosto che degli errori di nodo "modello di canale discreto", puoi leggere di più qui: Trasmissione affidabile uniforme uniforme come un sondaggio introduttivo agli oracoli del rivelatore di guasti - Michel Raynal ( ftp.irisa.fr/techreports/2000/ PI-1356.ps.gz )
M. Alaggan,

Risposte:


12

Copiato dai commenti sulla domanda come da richiesta.

Ho preso la teoria dell'informatica distribuita con Michel Raynal e ha descritto un terzo modello, in cui i messaggi possono essere rilasciati casualmente. In quel modello un messaggio può non riuscire a essere recapitato in silenzio, ma ciò non significa necessariamente che il nodo abbia fallito. Si tratta degli errori di collegamento piuttosto che degli errori di nodo "modello di canale discreto", puoi leggere di più qui: Trasmissione affidabile uniforme uniforme come un sondaggio introduttivo agli oracoli del rivelatore di guasti - Michel Raynal (ftp.irisa.fr/techreports/2000/ PI-1356.ps.gz)


10

A causa dell'elevato costo delle risorse associato alla tolleranza agli errori bizantina, sono stati ovviamente analizzati modelli di errore con ipotesi sempre più forti, in particolare ai requisiti delle risorse per tollerare guasti di tipo limitato. ( Azadmanesh e Kieckhafer, 2002 ) forniscono una tassonomia molto bella (vedi Fig. 1)

3f+1f+12f+1f

Un altro modo per modellare i presupposti della modalità di errore è di allontanarsi dal punto di vista incentrato sul nodo, in cui la perdita del messaggio è modellata come errore del mittente, verso il modello di errore del collegamento, che è solo una doppia visualizzazione, una volta che le incoerenze che possono causare in il sistema è considerato. Questo modello è stato studiato da ( Schmid, Weiss e Rushby, 2002 ), eludendo un risultato di impossibilità di ( Gray, 1978 ) che mostra una soluzione deterministica del problema di attacco coordinato in caso di errori di collegamento.


8

Non so se @M. Alaggan stava parlando di questo tipo di difetti, ma sicuramente si assomigliano: guasti transitori.

Nel modello di DVFS , in cui è possibile modificare la frequenza e la tensione al fine di ridurre il consumo di energia, Zhu e Aydin in questo documento (pdf) hanno utilizzato un modello di errore per DVFS. Considerano guasti transitori, ad esempio guasti causati da errori del software. Annullano solo l'esecuzione dell'attività corrente e il processore soggetto a tale errore sarà in grado di recuperare ed eseguire l'attività successiva assegnatagli (se presente).

λ

λ(f)=λpedfmaxffmaxfmin,
fminffmaxd0λpfmaxpTipfi
Ri(fi)=eλ(fi)×Execution Time(Ti,fi).

Mi dispiace pubblicare questo post molto tempo dopo il post originale, ma ho trovato questa domanda mentre stavo lavorando su questo argomento :). Quando non si studia DVFS, questi errori esistono ancora, le formule sono probabilmente ancora valide (o adattabili). Puoi trovare maggiori informazioni sugli errori transitori senza DVFS qui .


4

Per quanto riguarda i già citati modelli di omissione, guardiamo a NeigerToueg , che considera diversi tipi di quelli.

È stato studiato un modello in cui, con una certa probabilità, un processo è attivo al passaggio t, e altrimenti spento? Quindi ogni processo fa l'occhiolino e si spegne, per così dire.

Sembra un modello di crash-recovery. Non sono a conoscenza di alcun modello in cui i processi sono probabilisticamente attivati ​​/ disattivati. Ci sono anche varianti in cui i processi sono bizantini per un po 'di tempo e poi si ripristinano, dove nel tempo tutti i processi possono essere bizantini (per lo più considerati per la sincronizzazione dell'orologio).

Si noti che se disattivando si intende solo che un processo non sta solo facendo progressi (non perde il suo stato e non i messaggi si perdono a causa del fatto che il ricevitore è "spento"), ciò che si sta guardando viene definito asincrono sistema. Nel contesto della memoria condivisa la tua domanda potrebbe quindi essere strettamente correlata a questo documento di Aspnes .


1

Potrebbero esserci altri tipi di guasti. Ad esempio, alcuni dei processori (ad es. Con i protocolli broadcast o multicast) potrebbero sovraccaricarsi e non essere in grado di elaborare tutti i messaggi in arrivo. Ciò si traduce nel far apparire il processore offline per alcuni processori nel sistema distribuito.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.