Tandem un sistema ad alta disponibilit - PowerPoint PPT Presentation

About This Presentation
Title:

Tandem un sistema ad alta disponibilit

Description:

Tandem un sistema ad alta disponibilit Sauro Menchetti, Andrea Fedeli Esame di Informatica Industriale A.A. 1998/99 Un po di storia La Tandem Computers fu ... – PowerPoint PPT presentation

Number of Views:106
Avg rating:3.0/5.0
Slides: 36
Provided by: Saur95
Category:

less

Transcript and Presenter's Notes

Title: Tandem un sistema ad alta disponibilit


1
Tandemun sistema ad alta disponibilità
  • Sauro Menchetti, Andrea Fedeli
  • Esame di Informatica Industriale
  • A.A. 1998/99

2
Un 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

3
Un po di storia
  • I tre maggiori venditori commerciali
  • ATT
  • Tandem
  • Stratus

4
Obiettivi del sistema Tandem
  • MTBF di circa 100 anni
  • Modularità
  • Operazioni fail fast
  • Tolleranza ad un singolo guasto
  • Manutenzione online
  • Interfaccia semplificata
  • Praticità, durevolezza

5
Larchitettura 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

6
I 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

7
Il 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

8
Le 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

9
Evoluzione dei processori
  • 1976 NonStop I
  • 1981 NonStop II
  • 1983 TXP, Cyclone
  • 1986 VLX
  • 1987 CLX 600
  • 1989 CLX 700
  • 1991 CLX 800

10
Il 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

11
Architettura 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

12
Il 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

13
Tecniche 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

14
Il 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.

15
Il 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

16
Esempio 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

17
Sistema 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

18
Gestione 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

19
Protocollo 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

20
Sincronizzazione 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.

21
Protocollo 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.

22
Gestione 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

23
Coppia 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

24
Coppia 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

25
Messaggi
  • 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

26
Messaggi 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

27
Tolleranza 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.

28
I 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.

29
Processi 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à

30
Mirroring 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.

31
Transazioni
  • 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

32
Networking
  • 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

33
Protezione 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

34
Conclusioni
  • 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

35
Riferimenti 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
Write a Comment
User Comments (0)
About PowerShow.com