Memoria stabile

 

Back Home Up Next

Memoria transazionale stabile

1. Introduzione

Al fine di realizzare computer sempre più scuri e potenti, molte architetture FT sono state adottate negli ultimi anni; esse si posso suddividere in 2 categorie:

"blandamente accoppiate" in cui ogni processore ha le sue risorse private e comunica con gli altri processori attraverso un protocollo a messaggi

"strettamente accoppiate" in cui ogni processore ha accesso a tutta la memoria e risorse di I/O e comunica con gli altri processori attraverso memoria condivisa

Nella prima categoria, un metodo per il FT è l’esecuzione simultanea di copie dello stesso processo (es. Tandem e Targon/32) . Nella seconda tipologia di architettura si utilizza un memoria con cache non write-through per ogni processore, il che permette ad ogni processore di fare più scritture prima che la cache centrale sia aggiornata (es. Sequoia).

Qui si vuole introdurre un nuovo tipo di approccio: la STM (stable transactional memory), la quale contiene alcune strutture proprie delle transazioni [10].

2. STM

La prima STM progettata non è altro che una veloce e stabile memoria utilizzata per realizzare un efficiente protocollo di commit.

Il secondo stadio di sviluppo porta all’applicazione della STM ad un’architettura "blandamente accoppiata" (sistema GOTHIC) con struttura multiprocessore con OS distribuito.

Le caratteristiche in questo caso sono:

autonomia: la STM può prendere alcune decisioni in proprio, ad esempio se un processore è caduto incominciare una riconfigurazione

autoprotezione: la STM deve potersi proteggere da l’eventuale caduta di un processore

transazioni atomiche: le azioni sono atomiche

 

Il risultato è illustrato nella figura seguente:

Image15.gif (8840 bytes)

 

Al terzo livello di sviluppo, si è pensato alla STM per un’architettura "strettamente accoppiata".

Il risultato è mostrato in figura:

Image16.gif (12516 bytes)

Infine si è utilizzata la STM nel sistema operativo FTM (FT Multiprocessor, sviluppato dall’autore dell’articolo), il cui scopo è quello di un sistema "general purpose", nel quale i guasti hardware e di sistema operativo sono mascherati all’utente. Per ogni sottosistema (memoria, dischi, ecc..) si hanno accessi ridondanti. Il prototipo (come mostrato in figura) è costituito da due multiprocessori "blandamente accoppiati" interconnessi da un FT Link.

Image17.gif (16371 bytes)

In questo SO, i maggiori aspetti del kernel sono la protezione, la veloce ripartenza e la portabilità.

Prima di accedere ad ogni oggetto "stabile", il programmatore deve inviare un comando alla STM che manda l’occorrenza al kernel ed allora l’istanza fa partire una transazione, che gestirà tutte le operazioni connesse.

Come nota conclusiva, bisogna dire che allo stato attuale del progetto FTM, si è completato il design dell’architettura hardware e si sta cercando di rendere FT l’integrazione della STM con il kernel attuale.

Back Home Up Next