UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · ´atomo neutro e constituem, basicamente, g...

12
UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO TECNOL ´ OGICO DEPARTAMENTO DE INFORM ´ ATICA E ESTAT ´ ISTICA SISTEMAS OPERACIONAIS DETECC ¸ ˜ AO E T ´ ECNICAS DE RECUPERAC ¸ ˜ AO DE ERROS CAUSADOS POR FALHAS TRANSIENTES A N ´ IVEL DE S.O. Tiago Mazzutti Eduardo Steiner Prof. Dr. Antˆ onio Augusto Fr ¨ ohlich Florian´ opolis, novembro de 2008

Transcript of UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · ´atomo neutro e constituem, basicamente, g...

UNIVERSIDADE FEDERAL DE SANTA CATARINA

CENTRO TECNOLOGICO

DEPARTAMENTO DE INFORMATICA E ESTATISTICA

SISTEMAS OPERACIONAIS

DETECCAO E TECNICAS DE RECUPERACAO DE ERROS CAUSADOS POR

FALHAS TRANSIENTES A NIVEL DE S.O.

Tiago Mazzutti

Eduardo Steiner

Prof. Dr. Antonio Augusto Frohlich

Florianopolis, novembro de 2008

LISTA DE FIGURAS

Figura 1 Explosoes solares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Figura 2 Tempestade solar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Figura 3 Deteccao de raios cosmicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Figura 4 Mecanismo de check-point e rollback (MASUBUCHI et al., 1997) . . . . . . . . . . . 10

LISTA DE ABREVIATURAS E SIGLAS

DUE detected unrecoverable error, p. 7

FRM Fault Recovery Mecanism, p. 10

RMT Redundant Multithreading, p. 9

SDC silent data corruption, p. 7

SIS Signatured Instruction Streams, p. 9

SO Sistema Operacional, p. 8

SUMARIO

1 INTRODUCAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 4

2 RAIOS COSMICOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 5

2.1 DETECCAO DE RAIOS COSMICOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 5

3 SOFT ERROR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 7

4 DETECCAO E RECUPERACAO DE ERROS POR SOFTWARE . . . . . . . . . . . . p. 8

4.1 DETECCAO DE FALHAS(FAULT DETECTION) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 8

4.1.1 DETECCAO DE FALHAS POR EXECUCAO REDUNDANTE . . . . . . . . . . . . . . . p. 9

4.2 TECNICAS DE RECUPERACAO DE ERROS(ERROR RECOVERY TECHNI-

QUES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 9

4.2.1 CHECK-POINT E ROLLBACK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 10

REFERENCIAS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 11

4

1 INTRODUCAO

A interferencia eletromagnetica e um disturbio provocado pelos circuitos internos dos equi-

pamentos eletro-eletronicos (radios, computadores, lampadas, etc) e tambem por eventos na-

turais (descargas atmosfericas, raios cosmicos, etc), causando uma resposta indesejada, mau

funcionamento ou degradacao de performance de equipamentos (PINHEIRO, 2004).

A Terra recebe radiacao cosmica de diferentes energias vindas do espaco, porem, a maior

parte dessa radiacao nao chega entrar na parte habitada do planeta devido ao seu campo magnetico,

que reflete ou desvia para os polos esses raios. Isso faz com que a interferencia eletromagnetica

de radiacao cosmica em aparelhos eletronicos e computadores na terra seja extremamente rara.

Porem, computadores que estejam fora desse “escudo magnetico” tem grandes chances de

sofrer interferencias dessas radiacoes, e o caso dos satelites.

5

2 RAIOS COSMICOS

Raios Cosmicos sao partıculas extremamente penetrantes, dotadas de alta energia, que se

deslocam a velocidades proximas a da luz no espaco sideral. Portanto, “raios” cosmicos nao

sao raios, mas partıculas de atomos (WIKIPEDIA, 2008b). Essas partıculas podem ser de dois

tipos: galaticas e solares. As partıculas galaticas sao originarias de explosoes de supernovas,

estrelas entre outras atividades cosmicas e as partıculas solares vem do Sol pelas chamadas

tempestades solares. Estas tempestades consistem em erupcoes na superfıcie solar que liberam

materia acumulada (as manchas solares) no campo magnetico solar. A materia liberada nessas

tempestades e o plasma quente, que sao protons, eletrons e ıons, que nao formaram nenhum

atomo neutro e constituem, basicamente, gas eletrificado.

Figura 1: Explosoes solares

2.1 DETECCAO DE RAIOS COSMICOS

Ao enfrentar uma tempestade magnetica, ou passar por alguma zona onde haja alta intensi-

dade de radiacao (WIKIPEDIA, 2008a), os computadores dos satelites, devem ficar em stand-

by. A deteccao de tempestades solares, na maioria das vezes e feita por monitores que estao

na terra, ou pela sonda espacial SOHO (PALLONE, 2008), que atua na posicao intermediaria

entre a Terra e o Sol e avisa com uma hora de antecedencia a chegada da tempestade cosmica a

Terra.

6

Figura 2: Tempestade solar

Apesar desses modernos sistemas de deteccao de raios cosmicos, os satelites nao estao

salvos de todas as interferencias que podem acontecer nos seus computadores. Por essa razao

muitas tecnicas de deteccao e recuperacao de erros sao usadas.

Figura 3: Deteccao de raios cosmicos

7

3 SOFT ERROR

Em eletronica e computacao, um erro e um sinal ou dado que esta errado. Erros podem ser

causados por um defeito no projeto do hardware, ou por uma componente quebrada. Um soft

error, tambem e um sinal ou dado errado, mas sua causa nao e a mesma dos erros convencionais.

Apos se observar um soft error, nao ha implicacao que o sistema e, de qualquer maneira, menos

confiavel do que antes.

Se for detectado, um soft error pode ser corrigido se reescrevendo o dado certo no lugar

do dado errado. Sistemas altamente confiaveis usam deteccao e correcao de erros em tempo de

execucao. Porem, em muitos sistemas, pode ser impossıvel se determinar o dado correto, ou

mesmo descobrir a ocorrencia de algum.

Soft errors envolvem mudancas nos dados (os eletrons em um circuito de armazenamento,

por exemplo) mas sem mudancas fısicas nos circuitos. Se o dado for reescrito, o circuito estara

perfeito novamente.

Existem duas categorias de eventos que soft errors podem resultar: silent data corrup-

tion (SDC) ou detected unrecoverable error (DUE). Em ambos eventos ha corrupcao de dados,

porem, no caso do DUE, ha deteccao do soft error, e para evita-la, o sistema pode quebrar. Ja

nos eventos da categoria SDC, ha corrupcao de dados, mas o usuario nao tem conhecimento da

mesma (a nao ser que o sistema quebre, devido aos dados corrompidos) (WIKIPEDIA, 2008c).

8

4 DETECCAO E RECUPERACAO DE ERROS POR SOFTWARE

As tecnicas para deteccao de falhas transientes (transient fault) estao se tornando cada vez

mais populares. Embora sistemas de tolerancia a falha baseados em software degradarem a per-

formance em relacao aos implementados em hardware, esquemas desenvolvidos em software

sao mais baratos, flexıveis e podem ser implementados quando o hardware ja estiver em uso.

Uma vez que soft errors podem acontecer em dias, meses ou anos e nao a todo microsegundo,

o tempo de recuperacao nao e crıtico. Assim, implementacoes de software para recuperacao

de falhas, as quais levam mais tempo que implementacoes em hardware, sao solucoes frequen-

temente atrativas. O nıvel de protecao oferecida por esquemas de software pode tambem ser

ajustado, dependendo da aplicacao em questao (MUKHERJEE, 2008).

Esquemas de software para a tolerancia a falhas podem ser classificados em deteccao de

falha (fault detection) e tecnicas de recuperacao de erros (error recovery techniques). Ambas

podem ser implementadas em multiplos nıveis, no nıvel de aplicacoes, Sistema Operacional

(SO) ou em maquinas virtuais. No nıvel do SO a deteccao e recuperacao de falhas pode ter uma

maior cobertura, mas requer mudancas no SO.

4.1 DETECCAO DE FALHAS(FAULT DETECTION)

A deteccao de falhas usando software tem sido detalhadamente pesquisada. Um software

checker vai basicamente checar a violacao da condicao de um programa, tal como ponteiros e

acessos a regioes de memoria nao mapeadas. Existem dois tipos principais de verificadores de

software (software checker): assertion checkers e signature checkers.

ASSERTION CHECKERS: Tipicamente vao verificar a consistencia das propriedades

do programa, por exemplo, violacao de acesso a memoria, o que pode acontecer devido o um

bug de software ou uma falha de hardware. As assercoes podem ser especıficas a aplicacao,

tal como asegurar que um determinado valor esteja dentro de certos limites. Alternativamente

estas assercoes podem ser genericas, tal como asegurar que um programa nao dereferencie um

ponteiro para um objeto nao mais existente.

9

SIGNATURE CHECKERS: A checagem por assinatura tipicamente tem sido usada para

violacoes de fluxo de controle. Quando as instrucoes em um programa sao executadas, uma

assinatura e criada para o fluxo de cada grupo de instrucoes. Essas assinaturas sao comparadas

com um conjunto pre-determinado de assinaturas que sao permitidas em uma execucao livre de

falhas. Algumas assercoes podem ser inseridas pelo programador ou pelo compilador

O Signatured Instruction Streams (SIS) e um exemplo de verificacao por assinatura. SIS

detecta falhas pela comparacao de assinaturas geradas estaticamente durante a compilacao com

as geradas em run-time. Um assinatura e codificada como um grupo de instrucoes que execucao

em sequencia.

4.1.1 DETECCAO DE FALHAS POR EXECUCAO REDUNDANTE

A deteccao de falhas por execucao redundante e uma forma comum que ja e usada a

decadas. As falhas sao detectadas pela comparacao das saıdas de cada execucao redundante.

Uma falha e detectada quando as saıdas diferem. Dois esquemas de execucao redundante co-

mumente usados sao Lockstepping e Redundant Multithreading (RMT) (MUKHERJEE, 2008).

LOCKSTEPPING: Ambas as copias tem exatamente o mesmo estado em todos os ciclos de

execucao. Consequentemente se uma falha acontecer em qualquer das copias, ela sera detectada

pela comparacao das saıdas no mesmo ciclo.

REDUNDANT MULTITHREADING (RMT) : So as saıdas das instrucoes sao compara-

das, portanto, os estados internos das threads podem ser muito diferentes.

4.2 TECNICAS DE RECUPERACAO DE ERROS(ERROR RECOVERY TE-CHNIQUES)

Uma vez que a falha tenha sido detectada, um esquema de recuperacao de erro precisa ser

disparado se o sistemas deseja reduzir a taxa DUE. Recuperacao de erros pode ser implementada

tanto em hardware quanto em software.

Um esquema de recuperacao de erros baseado em software, pode ser implementado em

3 possıveis locais: nas aplicacoes, no SO ou em VMs. Em nıvel de SO, a recuperacao de

erros requer mudancas no mesmo (ou em alguns device drivers), as quais podem ser de difıcil

realizacao.

10

Recuperacao de erros no SO sao bastante apelativas, por exemplo: Suponha que uma pessoa

esteja rodando multiplas aplicacoes, tal como um editor e um player em background, quando o

sistema quebra. Quando o sistema se recuperar, e esperado que ambos o editor com mudancas

nao salvas e o player retornem exatamente ao ponto em que estavam. Isto requer um extensivo

mechanismo de checkpoints e mechanismos de recuperacao. Os sistemas operacionais comer-

ciais ainda nao estao completamente adaptados a isto.

4.2.1 CHECK-POINT E ROLLBACK

No Fault Recovery Mecanism (FRM) um checkpoint e adiquirido periodicamente, onde

todos os estados dos processos incluindo o contexto do processador sao salvos junto com o

estado do SO na memoria principal. O intervalo do checkpoint deve ser curto (entre 10 e

30 msecs). A tarefa principal de adiquirir checkpoint e reescrever o dado sujo das caches do

processador na memoria principal. O sistema inteiro, incluindo o SO e todos os programas sao

objetos de recuperacao, e o checkpoint e controlado pelo software do FRM. Quando um erro

e detectado, o estado da memoria principal sofre um “roll back” para para o checkpoint mais

recente, e a execucao continua apartir daquele ponto. Isso permite que o sistema recupere as

faltas “nao-permanentes” do hardware(MASUBUCHI et al., 1997).

Figura 4: Mecanismo de check-point e rollback (MASUBUCHI et al., 1997)

11

REFERENCIAS

MASUBUCHI, Y. et al. Fault recovery mechanism for multiprocessor servers. In: Fault-Tolerant Computing, 1997. FTCS-27. Digest of Papers., Twenty-Seventh Annual InternationalSymposium on. [S.l.: s.n.], 1997. p. 184–193.

MUKHERJEE, Shubu. ARCHITECTURE DESIGN FOR SOFT ERRORS. [S.l.]: Morgan Kauf-mann Publishers, 2008.

PALLONE, Carlos Vogt; Rafael Evangelista; Simone. Raios Cosmicos. Nov. 2008. Disponıvelem: <http://www.comciencia.br/reportagens/cosmicos/cos05.shtml>.

PINHEIRO, Jose Mauricio dos Santos. Interferencia Eletromagnetica. Mar. 2004. Disponıvelem: <http://www.projetoderedes.com.br/tutoriais/tutorial-interferencia-eletromagnetica-01.php>.

WIKIPEDIA. Anomalia do Atlantico Sul. Nov. 2008. Disponıvel em:<http://pt.wikipedia.org/wiki/Anomalia-do-Atlantico-Sul>.

WIKIPEDIA. Raio cosmico. Nov. 2008. Disponıvel em: <http://pt.wikipedia.org/wiki/Raios-cosmicos>.

WIKIPEDIA. Soft error. Nov. 2008. Disponıvel em: <http://en.wikipedia.org/wiki/Soft-error>.