Crash di sistema inaspettati, quasi sempre è colpa della memoria

Gli errori della memoria DRAM sono un evento con una bassa incidenza su un singolo PC, ma in un datacenter con migliaia di macchine possono rappresentare un grave problema di affidabilità
di Andrea Bai pubblicato il 11 Dicembre 2015 nel canale MemoriePage retirement, una possibile soluzione
L'inattesa prevalenza di hard error rappresenta sia una cattiva sia una buona notizia: la prima è che sono permanenti, la seconda è che sono facili da aggirare. Se gli errori interessano sempre la stessa cella di memoria è possibile, ad esempio, inserire il suo indirizzo in una blacklist e ben prima che l'errore vada a causare il crash del sistema. Gli unici errori cui è realmente necessario prestare attenzione sono quelli che i sistemi di ECC non sono in grado di correggere perché interessano troppi bit: per questo motivo gli errori che vanno a compromettere meno bit - e che vengono corretti - possono essere interpretati come un segnale di avvertimento per intraprendere un'azione preventiva affinché non si verifichi un crash.
L'indagine dei ricercatori del resto può essere letta come una dimostrazione dell'efficacia di una strategia di questo tipo: oltre la metà degli errori più catastrofici sono accaduti successivamente ad errori precedenti meno gravi e rettificabili. Ciò significa che adottando un opportuno meccanismo è possibile prevenire la maggior parte dei problemi che mandano in crash la RAM. Invece di affidarsi ad ECC o ad altri tipi di hardware più o meno dispendiosi per la correzione d'errore è possibile chiamare in causa i sistemi operativi per proteggere l'operatività della macchina contro gli errori della memoria.
La tecnica Page Retirement permette di prevenire gli errori senza sacrificare quantità importanti di memoria
I sistemi operativi dividono la memoria complessiva di un sistema in aree conosciute con il nome di "pagine" di norma delle dimensioni di 4 kilobyte. Dal punto di vista del sistema operativo, pertanto, la maggior parte degli errori proviene da una piccolissima frazione delle pagine disponibili. La ricerca ha mostrato che più dell'85% degli errori rilevati proviene dallo 0,0001% di tutte le pagine. Se il sistema operativo stesso escludesse dalla disponibilità queste pagine problematiche, sarebbe possibile prevenire la maggior parte dei problemi senza dover sacrificare significative quantità di memoria.
Questo tipo di pratica è già conosciuta e nota con il nome di Page Retirement, ma viene usata di rado. Nessuna delle realtà con cui i ricercatori hanno collaborato per effettuare lo studio ha adottato il Page Retirement, forse perché non vi è mai stata la consapevolezza che gli errori della memoria DRAM tendono a verificarsi sempre nella stessa pagina di memoria. A seguito della ricerca di Stefanovici e Hwang e dei risultati ottenuti, Facebook ha deciso di adottare il page retirement nei suoi datacenter.
I ricercatori hanno quindi deciso di indagare anche questa pratica, analizzando vari schemi di adozione, da quelli conservativi (escludi la pagina quando vi compare il primo errore) a quelli meno restrittivi (che escludono ad esempio un'intera riga o un'intera colonna non appena una cella inizia ad avere qualche problema). Raccogliendo una serie di dati è stato possibile individuare che il 90% degli errori di accesso memoria possono essere prevenuti sacrificando meno di 1 MB di memoria per macchina, una porzione irrisoria di quanto disponibile.
Si potrebbe pensare di sostituire l'intero modulo di memoria quando inizia a manifestare qualche errore, ma in realtà si andrebbe a sostituire un modulo intero per solamente poche celle corrotte. La tecnica del page retirement potrebbe isolare le regioni di memoria inclini agli errori senza andare a sacrificare altre parti di un modulo funzionante. L'applicazione di adeguate politiche di page retirement in grandi datacenter permetterebbe non solo di prevenire la maggior parte dei crash ma aiuterebbe anche a risparmiare sui costi dell'hardware.
Sul versante consumer sempre più dispositivi fanno uso di memoria DRAM, tra smartphone, tablet e dispositivi indossabili. Non solo, questi dispositivi fisiologicamente andranno a ospitare sempre maggiori quantità di memoria, verosimilmente saldata direttamente sulla scheda logica del dispositivo (accade anche in alcuni portatili commercializzati in anni recenti, tra cui svariati modelli di sistemi MacBook e MacBook Pro). Un ripetuto hard error in una situazione simile imporrebbe la sostituzione dell'intera scheda logica o dell'intero dispositivo, il che suggerisce che anche in questo caso le tecniche di page retirement potrebbero tornare particolarmente utili.
I risultati della ricerca di Stefanovici e Hwang sono disponibili sin dal 2012: ad oggi il Page Retirement viene citato nella documentazione ufficiale di NVIDIA (che supporta il Page Retirement dai driver R319 per K20 e Tesla), Oracle (nel sistema operativo Solaris, e che ha effettuato uno studio sulla tecnica già nel 2006) e Linux dal kernel 2.6.30. Per quanto riguarda Windows, una tecnica simile e denominata Predictive Failure Analisys è supportata da Windows 7 in poi: modificando opportunamente le chiavi di registro del sistema, come spiegato in questa pagina del supporto ufficiale di Microsoft, è possibile cambiare il pattern di funzionamento della tecnica e adottare politiche più o meno restrittive sulla gestione delle pagine di memoria fallate. Per quanto riguarda Mac OS X non è stato possibile trovare riscontri sulla documentazione di riferimento ufficiale del sistema operativo di questa tecnica o di tecniche simili.
70 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoUn po' tosto per me ma bello!
Finalmente!
Un articolo interessante e che fa luce su certi problemi casuali e che si ripetono mai allo stesso modo anche nei pc ....Anche se non di mio grande interesse in questo momento, non posso che apprezzare un articolo che esordisce così. Sembra fantascienza ma è roba che abbiamo sotto il naso costantemente ormai
Wanna moar of this
molto interessante!
in un mondo dove ormai domina la linea editoriale gossippara fa piacere vedere ancora qualche bell'approfondimento tecnico. Se ne avete altri in programma, non vi peritateDevi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".