UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · ´atomo neutro e constituem, basicamente, g...
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>.