Title: Tandem un sistema ad alta disponibilit
1Tandemun sistema ad alta disponibilità
- Sauro Menchetti, Andrea Fedeli
- Esame di Informatica Industriale
- A.A. 1998/99
2Un po di storia
- La Tandem Computers fu fondata nel 1976 per
costruire dei sistemi commerciali ad alta
disponibilità per lelaborazione delle
transazioni - Lapproccio che fu seguito per la realizzazione
di tali sistemi fu quello della ridondanza
dinamica
3Un po di storia
- I tre maggiori venditori commerciali
- ATT
- Tandem
- Stratus
4Obiettivi del sistema Tandem
- MTBF di circa 100 anni
- Modularità
- Operazioni fail fast
- Tolleranza ad un singolo guasto
- Manutenzione online
- Interfaccia semplificata
- Praticità, durevolezza
5Larchitettura del sistema
- da 2 a 16 processori
- Dynabus Interprocessor Bus
- sistema basato sullo scambio di messaggi
- i bus di I/O collegano ogni processore al Dynabus
per mezzo di un controller
6I moduli dei processori
- Sono i componenti più importanti del sistema.
Contengono - IPU, instruction processing unit
- memoria
- canale di I/O
- interfaccia con il Dynabus
- più sorgenti di alimentazione
7Il Dynabus Interprocessor Bus
- due estensioni in fibra ottica ne migliorano le
caratteristiche - per trasferire i dati, cè una apposita
istruzione di send - ogni bus ha 16 linee per i dati ed altre linee
per i controlli - costituito da due bus indipendenti a cui si
accede tramite due controller separati
8Le periferiche
- Tutti i percorsi e la maggior parte dei
dispositivi sono duplicati - sottosistema di comunicazione 6100
- dischi V8, XL8, V80, XL80 tutti mirrored
- interfaccia IPI 2 del disk drive
- controller fail fast totally self check
9Evoluzione dei processori
- 1976 NonStop I
- 1981 NonStop II
- 1983 TXP, Cyclone
- 1986 VLX
- 1987 CLX 600
- 1989 CLX 700
- 1991 CLX 800
10Il sistema Tandem Integrity S2
- sistema basato su standard industriali
- sistema operativo costruito su UNIX
- portabilità delle applicazioni a livello sorgente
- meccanismo di tolleranza ai guasti implementato
in hardware - progettato per lindustria delle telecomunicazioni
11Architettura dellIntegrity S2
- suddiviso in CRU
- unità CPC triplicate
- due controller TMRC
- reliable system bus RSB
- due moduli IOP
- reliable system bus di I/O RIOB
- bus NonStop V
12Il software dellIntegrity S2
- usa un kernel UNIX esistente per il sistema
operativo - ripristino e reintegrazione delle CPC e dei TMRC
dai core fault, cioè dai guasti che avvengono nel
complesso formato dalla memoria e dal processore - supporto per le operazioni di I/O a vantaggio dei
processi dellutente
13Tecniche per la manutenzione
- Maggiore responsabilità agli utenti
- Sostituzioni hardware a caldo
- Ricerca dei guasti attraverso
- Test diagnostici online
- Sistemi di individuazione dei fallimenti interni
- Coordinamento remoto del sistema
- Interfacce diagnostiche specifiche e semplici
14Il Processore OSP
- Comunica con tutti i processori del sistema
attraverso una apposita interfaccia inclusa in
ogni processore - controlla lo status interno e la memoria
- verifica il funzionamento di tutti i canali I/O.
- Dispone di una consolle diagnostica che anche in
modo remoto permette di - diagnosticare problemi hardware e software
- permette lesecuzione di istruzioni passo a
passo - lanciare routine microdiagnostiche
- resettare, ricaricare un processore.
15Il sistema TDMS
- Il Tandem Diagnostic Maintenance System sostituì
lo OSP - Interfaccia verso loperatore notevolmente
semplificata - Monitoraggio real-time dei componenti
- Analisi online dei guasti
- Chiamata automatica al centro assistenza Tandem
(TNSC) - Compatibilità con tutti i sistemi precedenti
- Registro degli eventi segnalati da processori e/o
sistema operativo controllato periodicamente dal
TDMS - Possibilità di test attivo e di analisi basata su
sintomi
16Esempio di funzionamento
- Il processo di I/O del nastro crea un evento di
errore e lo manda al registro degli eventi del
TMDS - Il TMDS invia un segnale allanalizzatore dei
guasti - Lanalizzatore dei guasti localizza lerrore nel
controller e scrive i dati necessari per la
sostituzione nel registro - Il TMDS telefona al TNSC e comunica i dati del
registro - Il TNSC telefona al TMDS per verificare lanalisi
- Il TNSC invia un operatore per sostituire la
scheda - Il TMDS regista la sostituzione nel registro
17Sistema Operativo Guardian
- Permette di sfruttare efficacemente la ridondanza
hardware - massimo sfruttamento in caso di corretto
funzionamento - minimo danno in caso di malfunzionamento e
riparazioni - Rende trasparente al programmatore la ridondanza
- Mantiene una visione globale del sistema
- fornisce un mezzo efficiente ed affidabile di
comunicazione tra processi - permette ad ogni processore di eseguire
indipendentemente i propri compiti - Permette lesecuzione di processi concorrenti e
distingue processi privilegiati
18Gestione dei processori
- Inizializzazione tramite due vie
- caricamento a freddo
- caricamento da un altro processore attraverso lo
IPB - lancio automatico dei processi base e di quelli
per la gestione dei dispositivi I/O collegati - Comunicazione e sincronizzazione tramite
opportuni protocolli - Possibilità di ricaricare un processore senza
alterare il sistema
19Protocollo Im Alive
- Verifica il corretto funzionamento di ciascun
processore - Ogni processore ogni secondo trasmette un
messaggio broadcast Im Alive attraverso lo IPB - Ogni due secondi ogni processore verifica di aver
ricevuto un messaggio Im Alive da ogni
processore - Qualora non accada
- richiede un messaggio Im Alive al processore
sospetto - se non perviene a maggioranza il sistema decide
di sospendere il processore che non ha inviato il
messaggio o quello che lo ha richiesto - Il processore guasto si spegne e ogni sua
comunicazione viene cancellata
20Sincronizzazione temporale
- E necessario che il clock del sistema sia quanto
più possibile sincronizzato per la corretta
lettura dei messaggi. Per questo si utilizza un
apposito algoritmo Nellen, 1985, 1986. - Permette lo scambio di pacchetti temporalmente
corretti - Da modo ad ogni processore di
- sincronizzarsi sul clock medio del sistema
- calcolare il suo errore rispetto alla media per
una calibrazione continua. - Assicura una scarsa fluttuazione del clock in
caso di sostituzione di un processore.
21Protocollo di aggiornamento globale
- Poiché ci sono più copie identiche è necessario
che gli aggiornamenti siano atomici ovvero - siano aggiornate tutte le copie o nessuna di
queste - gli aggiornamento siano seriali.
- Questo risultato si ottiene attraverso un
algoritmo apposito - laggiornamento è effettuato da un processo
speciale a bassa priorità allinterno del kernel - viene inviato ad un apposito processo locker che
garantisce la serialità - effettuato laggiornamento viene comunicato a
tutti i processi interessati.
22Gestione dei Processi
- Un processo è contraddistinto da un
identificatore unico e possiede - un vettore di stato
- una memoria privata
- il suo codice eseguibile.
- Le comunicazioni avvengono tramite gli
identificatori - Lo scheduling è gestito da un sistema con
priorità e con preemption - Un meccanismo non permette linversione di
priorità - Attraverso la coppia di processi si garantisce la
sicurezza
23Coppia di Processi
- Per ogni processo che si vuole lanciare viene
creata una coppia - il processo primario attivo
- il processo backup passivo.
- Quando si raggiunge uno stato critico si
effettua un checkpoint - In caso di fallimento del processo primario, il
secondario si attiva dallultimo checkpoint
24Coppia di processi checkpoint
- I checkpoint sono decisi nei momenti critici del
processo - Lo stato del processo attivo viene copiato in
quello di backup - Questa operazione viene eseguita dal sistema
operativo - In tal modo pur non funzionando il processo
backup è in grado di attivarsi correttamente
dallultimo checkpoint - Una coppia di processi è contraddistinta da un
unico identificatore - la tabella degli identificatori sa indirizzare
verso il processo primario - in caso di fallimento il sistema operativo
aggiorna la tabella e indirizza verso il processo
che era di backup
25Messaggi
- Guardian è un sistema operativo basato su
messaggi - Questo rende trasparente alle applicazioni
finali - la ridondanza fisica del sistema
- la localizzazione stessa di un processo o di una
risorsa che potrebbe essere anche remoti - il fallimento di una parte del sistema o di un
processo in quanto i messaggi vengo reinstradati
verso i componenti funzionanti. - Oltre ai messaggi tra processi sono previsti
messaggi di controllo - Sono implementati in modo efficace sullIPB in
modo che la comunicazione tra processori sia
quasi come allinterno di un processore singolo
26Messaggi tra processi
- E stata impiegata una strategia requestor-server
- un processo invia un messaggio ed aspetta la
risposta - un altro processo controlla la richiesta e
risponde con un risultato - Un utilizzo tipico nei messaggi si ha
nellutilizzo di dispositivi periferici - il processo che vuole leggere/scrivere invia la
richiesta al processo di gestione del disco - il processo che gestisce il disco effettua la
lettura/scrittura - tutto questo è trasparente per il programmatore
il quale non ha interesse a sapere chi
effettivamente esegua loperazione né che questa
sia implementata tramite scambio di messaggi - Un singolo messaggio può trasmettere fino a 60 KB
di dati
27Tolleranza ai guasti software
- Molti dei guasti sono dovuti ad errori software,
quindi è necessario implementare meccanismi per
questo. Il sistema Tandem cerca di preoccuparsi
anche di questo. - Tandem ha implementato molte istruzioni per
verificare la consistenza dei dati durante
unesecuzione - questo permette di fermare un processo che sta
per contaminare il database in tempo - il meccanismo della coppia di processi garantisce
che un guasto software transiente possa essere
tollerato in quanto probabilmente nel processo
copia non si attiverà di nuovo - Gli errori significativi divengono ben visibili
in quanto viene lasciata ampia traccia dello
status del processore e quindi sono facilmente
riparabili.
28I processi di I/O
- I processi di I/O sono particolari in quanto
ognuno deve essere gestito nei processori a cui è
collegato il dispositivo. - La coppia di processi viene mandata in esecuzione
in ogni processore in grado di farlo. - In caso di fallimento di un processore, un bus,
un controller o un dispositivo fisico viene
reinstradato tutto. - Per i processi di I/O si utilizzano come
checkpoint lapertura o la chiusura di un file in
modo che il processo backup possa riprendere il
controllo da una situazione sicura.
29Processi I/O gestione dei dischi
- Almeno due processori gestiscono i controller
quindi si hanno almeno otto possibili percorsi - Ogni disco fisico è duplicato (mirroring)
- I controller sono duplicati
- I percorsi verso i controller sono duplicati
- I dischi dispongono di una grande cache per
aumentare la perfomance - I dischi dispongono di un meccanismo di lock per
laccesso ai file attraverso il protocollo 2PL - Inoltre i file sono partizionati in modo da
permettere un accesso concorrente da parte di più
applicazioni - Questo permette anche di distribuire un file a
pezzi in più luoghi fisicamente distinti a
garanzia della sua integrità
30Mirroring dei dischi
- Per ogni disco esiste un disco copia di backup
- si ha maggior sicurezza per il contenuto del
disco - è migliore il tempo in lettura in quanto per
queste si può utilizzare anche il disco di backup - i tempi di scrittura non sono significativamente
differenti da quelli di dischi singoli, anche se
leggermente maggiori. - Esiste comunque la possibilità per applicazioni
non critiche a discrezione del programmatore
lutilizzo unmirrored dei dischi.
31Transazioni
- Guardian suddivide le elaborazioni in ununità
atomiche le transazioni - Queste o sono eseguite per intero o non sono
eseguite affatto - Una transazione può essere distribuita su più
processi - I risultati parziali sono tenute nella cache del
disco qualora non sia possibile vengono scritti
assieme ai dati per gli undo e i redo. - Ogni transazione possiede un identificatore unico
- Più transazioni possono essere eseguite
concorrentemente - Un apposito protocollo permette le letture e le
scritture - La gestione delle transazioni migliora la
sicurezze e la tolleranza ai guasti
32Networking
- La struttura di Guardian basata su messaggi e
processi si estende alle reti - I sistemi Tandem utilizzano una rete
proprietaria Expand - permette il collegamento di fino a 255 nodi e
4080 processori - supporta tutti i principali protocolli
- fornisce un valido supporto per la
fault-tolerance per esempio è possibile
mantenere attiva una sessione anche se un
collegamento si interrompe - può essere utilizzata come punto centrale di reti
più ampie o per collegarsi ad altre reti
33Protezione ai disastri
- Il sistema Tandem permette di ridurre i tempi per
il ripristino di ununità dove è avvenuto un
disastro da qualche ora a pochi minuti - Ogni database è mantenuto in due luoghi fisici
distinti e questo viene aggiornato secondo una di
queste modalità - 2-Safe. La transazione viene registrata sempre in
entrambi i database. Nessuna transazione viene
persa - 1-Safe. Vengono trasmesse le transazioni a
blocchi. Possono essere perse le ultime
transazioni - Eletronic Vaulting. Viene trasmesso il solo
registro da cui è possibile ricostruire tutte le
transazioni che però non vengono trasmesse. Al
riavvio è necessario quindi rieseguire tutto il
registro - Il sistema dei protezioni ai disastri è
trasparente al programmatore
34Conclusioni
- Larchitettura Tandem si presenta con
caratteristiche di alta disponibilità - Sono stati ridotti al minimo i singoli punti di
fallimento - Nella parte hardware tutto viene duplicato e
progettato con caratteristiche fail-fast - La parte software è composta di un sistema
operativo fault-tolerant in grado di sfruttare al
meglio la ridondanza hardware - Lintera architettura ridondante è mascherata ai
programmatori delle applicazioni finali
35Riferimenti e siti web
- D.P. Siewiorek, R. S. Swarz Reliable computer
Systems Digital Press - J. Bartlett ed altri Fault Tolerance in Tandem
Computer System - Siti Web di interesse
- http//www.tandem.com
- http//www.compaq.com