• Nenhum resultado encontrado

5.3 Casos de avaliac¸˜ao

5.3.2 Custo da “minimalidade”

Construir protocolos que implementem um registrador atˆomico n˜ao ´e uma tarefa simples. Tal dificuldade existe porque o protocolo a ser desenvolvido precisa garantir que, at´e ocorrer uma nova escrita, todos os valores obtidos por operac¸˜oes de leitura tˆem que ser o mesmo, isto ´e, o ´ultimo valor escrito no sistema. Se ocorrem apenas escritas n˜ao concorrentes, esta tarefa torna-se mais f´acil de ser concretizada. Caso contr´ario, com escritas concorrentes `a leitura, ´e necess´ario o uso de mecanismos n˜ao triviais para se alcanc¸ar a propriedade atˆomica.

A primeira construc¸˜ao algor´ıtimica utilizada para se atingir a “atomicidade” em protocolos de BQS foi o mecanismo de reescrita (write-back), presente no protocolo de leitura do sistema PHALANX

[29]. Este mecanismo adiciona um passo facultativo de comunicac¸˜ao na leitura por interm´edio de um acesso extra a alguns servidores do sistema, onde o cliente, antes de terminar a sua operac¸˜ao, escreve de volta o par hv,ti lido somente nos servidores que n˜ao enviaram hv,ti. Este acesso extra garante que um qu´orum de leitura conter´a hv,ti e que, com efeito, todas as leituras subseq¨uentes (antes de uma nova escrita) resultar˜ao no mesmo valor v. Assim, para que se atenda a propriedade atˆomica nos registradores do sistema, acrescentam-se mais dois passos no protocolo de leitura do cliente. O algoritmo PHALANX usa um sistema de qu´orum de f -disseminac¸˜ao (sec¸˜ao 3.2.3.2), que requer

qu´oruns sim´etricos e, no m´ınimo, 3 f + 1 servidores no sistema. Neste caso, o registrador atˆomico n˜ao tolera clientes faltosos.

5. Avaliac¸ ˜ao de protocolos de sistemas de qu ´oruns bizantinos com o BQSNeko 74

Mais adiante, em [34], provou-se a impossibilidade de construc¸˜ao de sistemas de armazenamento tolerantes a f faltas bizantinas com menos de 3 f + 1 servidores implementando registradores com o m´ınimo de consistˆencia poss´ıvel (semˆantica segura) e usando protocolos de escrita confirm´aveis. Este trabalho apresenta o algoritmo SBQ-L (MINIMAL-CORRETOna nomenclatura deste cap´ıtulo), que implementa um registrador atˆomico com resiliˆencia ´otima, ou seja, capaz de ser constru´ıdo em um sistema de qu´oruns com o limite m´ınimo de 3 f + 1 servidores no sistema usando protocolo de es- crita confirm´avel. O algoritmo MINIMAL-CORRETOemprega um sistema com qu´oruns assim´etricos (qu´oruns de escrita menores que os qu´oruns de leitura) e um mecanismo distinto para obter atomici- dade, baseado no padr˜ao de projeto listener [18]. No padr˜ao listener, um leitor, quando efetua uma consulta em um qu´orum de leitura, se registra como listener nos servidores deste qu´orum. Em caso de concorrˆencia com escritas, o leitor registrado recebe os valores de r´eplicas ocasionalmente atualiza- das at´e que algum valor seja consolidado em um qu´orum de escrita, isto ´e, retornado por, pelo menos, 2 f + 1 servidores. Em seguida, o leitor solicita aos servidores para que seu registro como listener seja cancelado. Assim como no PHALANX, o protocolo MINIMAL-CORRETOn˜ao tolera clientes faltosos.

O objetivo deste caso de experimento ´e avaliar o custo de “minimalidade”, ou seja o custo en- volvido na construc¸˜ao de um registrador atˆomico aplicando o padr˜ao listener (algoritmo MINIMAL-

CORRETO) em comparac¸˜ao `a abordagem de reescrita ou write-back (algoritmo PHALANX). Al´em da

avaliac¸˜ao pelo tempo de latˆencia, este caso apresentar´a outro parˆametro de avaliac¸˜ao: a redundˆancia de mensagens manifestada pelo uso de ambas as t´ecnicas em situac¸˜ao de concorrˆencia de operac¸˜oes de leitura e escrita. As mensagens extras neste caso correspondem ao n´umero de vezes em que ocor- reram tanto mensagens de reescrita geradas por um leitor no algoritmo PHALANXcomo mensagens adicionais coletadas por um cliente em sua leitura durante a execuc¸˜ao do algoritmo SBQ-L, que usa o padr˜ao listener.

A figura 5.2 apresenta os resultados de leituras sem concorrˆencia com outras operac¸˜oes em ambi- entes de rede local e de larga escala simulado. Na figura 5.2(a), temos ilustrados os experimentos em rede local: em todas as situac¸˜oes de falta, considerando somente os valores m´edios de latˆencia, te- mos pequenas diferenc¸as de desempenho a favor do MINIMAL-CORRETOem relac¸˜ao ao PHALANX. Esta diferenc¸a ocorre devido ao uso de criptografia pelo cliente do PHALANXna operac¸˜ao de leitura, quando este verifica se cada par hv,ti (dado auto-verific´avel) recebido do qu´orum n˜ao foi modifi- cado por um servidor bizantino. A diferenc¸a observada entre ambos os protocolos ´e pequena, pois a verificac¸˜ao n˜ao ´e muito custosa, ao contr´ario da assinatura.

Neste caso, n˜ao temos operac¸˜ao de reescrita, visto que n˜ao h´a concorrˆencia com operac¸˜oes de escrita, logo os dados retornados pelos servidores corretos (dados corretamente assinados), utiliza- dos para selecionar hv,ti, s˜ao os mesmos. J´a no MINIMAL-CORRETO, n˜ao temos este processo de verificac¸˜ao criptogr´afica, o que justifica uma latˆencia menor de execuc¸˜ao no seu procedimento de lei- tura. Em m´edia, o impacto dos servidores bizantinos em ambos os casos ´e normalmente baixo: para t = 1, h´a um aumento de latˆencia de ≈ 2, 1% no PHALANX e de ≈ 8, 2% no MINIMAL-CORRETO; para t = 2, no PHALANX, o aumento ´e de ≈ 13, 1%, no MINIMAL-CORRETO, de 4%.

Na simulac¸˜ao em rede de larga escala (figura 5.2(b)), o desempenho dos dois protocolos ´e igual, indicando uma diminuic¸˜ao (ou, talvez, um completo desaparecimento) do efeito da verificac¸˜ao crip-

5. Avaliac¸ ˜ao de protocolos de sistemas de qu ´oruns bizantinos com o BQSNeko 75

togr´afica no protocolo de leitura do PHALANX, antes not´avel durante os testes em rede local. Embora

a leitura do MINIMAL-CORRETOexecute em 3 passos, sua ´ultima etapa ´e descart´avel na contabilizac¸˜ao da latˆencia de execuc¸˜ao total, pois a mensagem de cancelamento de inscric¸˜ao como listener n˜ao re- quer resposta. Como resultado, a latˆencia de leitura no MINIMAL-CORRETOaproxima-se da leitura

no PHALANX, que executa em 2 passos (n˜ao h´a reescrita).

5 10 15 20 25 30 35 Tempo (ms)

Limite de faltas, No. de faltas

t=1, f=0 t=1, f=1 t=2, f=0 t=2, f=1 t=2, f=2

Minimal (tempo máximo) Minimal (tempo médio) Minimal (tempo mínimo) Phalanx (tempo máximo) Phalanx (tempo médio) Phalanx (tempo mínimo)

(a) Leitura em rede local.

5 10 15 20 25 30 35 Tempo (u.t.s.)

Limite de faltas, No. de faltas

t=1, f=0 t=1, f=1 t=2, f=0 t=2, f=1 t=2, f=2

Minimal Phalanx

(b) Leitura em rede simulada,λ= 0.1.

Figura 5.2: Desempenho da leitura: MINIMAL-CORRETOX PHALANX(sem concorrˆencia)

A figura 5.3 exibe os resultados para a escrita sem concorrˆencia. Comparando-se os casos de experimentos em rede local (figura 5.3(a)) e rede de larga escala simulada (figura 5.3(b)), fica claro o custo com o uso da criptografia no PHALANX. O esqueleto de funcionamento dos dois protocolos ´e idˆentico: cada qual consulta dados no qu´orum, cria um novo par hv,ti, tenta escrever em um qu´orum e espera um conjunto de confirmac¸˜oes dos servidores. Entretanto, no PHALANX, a fim de tornar o

dado armazenado auto-verific´avel, para cada par hv,ti a ser escrito, o cliente realiza uma operac¸˜ao de assinatura usando o algoritmo RSA, cujo tempo de processamento ´e de aproximadamente 14 ms em nosso ambiente de execuc¸˜ao.

A presenc¸a deste passo com assinatura na execuc¸˜ao do PHALANXem LAN ´e not´avel em seu de-

sempenho, o que possivelmente n˜ao ocorreria em rede de larga escala, cujo custo com processamento local, a priori, ´e menor do que o custo com a comunicac¸˜ao entre processos. Na simulac¸˜ao em rede de larga escala ilustrada na figura 5.3(b), isto ´e demonstrado desprezando o custo com processamento local (incluindo a assinatura) e considerando apenas os passos de comunicac¸˜ao. Como resultado, os valores apresentados no gr´aficos s˜ao rigorosamente iguais. Tais valores tenderiam a ser iguais, no entanto, caso as execuc¸˜oes fossem feitas propriamente sobre uma rede de larga escala.

A figura 5.4 exibe os resultados de um escritor concorrendo com leitores, variando de 1 a 5 clientes. Em todos os casos, o MINIMAL-CORRETOmanteve uma latˆencia menor do que o PHA-

LANX. A figura 5.5 mostra resultados da execuc¸˜ao de um leitor concorrendo com um escritor e outros leitores (variando de 0 a 4) em cen´arios com limites de falta iguais a 1 (figura 5.5(a)) e 2 (figura 5.5(b)). Considerando apenas os valores m´edios em cada caso de carga no sistema (faltas e concorrˆencia), percebem-se pequenas mudanc¸as de comportamento no desempenho do leitor no

5. Avaliac¸ ˜ao de protocolos de sistemas de qu ´oruns bizantinos com o BQSNeko 76 0 5 10 15 20 25 30 35 40 45 50 Tempo (ms)

Limite de faltas, No. de faltas

t=1, f=0 t=1, f=1 t=2, f=0 t=2, f=1 t=2, f=2

Minimal (tempo máximo) Minimal (tempo médio) Minimal (tempo mínimo) Phalanx (tempo máximo) Phalanx (tempo médio) Phalanx (tempo mínimo)

(a) Escrita em rede local.

0 5 10 15 20 25 30 35 40 45 50 Tempo (u.t.s.)

Limite de faltas, No. de faltas

t=1, f=0 t=1, f=1 t=2, f=0 t=2, f=1 t=2, f=2

Minimal Phalanx

(b) Escrita em rede simulada,λ= 0.1.

Figura 5.3: Desempenho da escrita: MINIMAL-CORRETOX PHALANX(sem concorrˆencia)

MINIMAL-CORRETO. Enquanto isto, a leitura no PHALANXindica um crescimento mais acentuado

a partir de 4 leitores concorrentes, sobretudo quando t = 2.

A tabela 5.1 exibe os percentuais relativos ao n´umero de vezes em que se realizaram leituras com reescritas no PHALANX e com o uso do padr˜ao listener no MINIMAL-CORRETO. Tais valores revelam que, no PHALANX, no pior caso e considerando uma rede local, a concorrˆencia de operac¸˜oes de leitura com escrita ocorre em quase 7% das vezes para t = 1 e de 11% para t = 2, indicando um baixo uso do mecanismo de reescrita. No protocolo MINIMAL-CORRETO, observando as execuc¸˜oes

do leitor com pior desempenho para cada contexto de faltas experimentado, a concorrˆencia mostrou- se mais intensa do que no PHALANXsob um ponto de vista de mensagens extras. Foram realizadas leituras no MINIMAL-CORRETOcom o uso de mensagens adicionais no pior caso em 88, 46% das vezes para t = 1. Para t = 2, em quase todas as leituras, existiu a percepc¸˜ao de concorrˆencia: em 99, 24% das execuc¸˜oes. Portanto, ainda que, em termos de latˆencia, tal como mostrado em [34] e neste experimento, n˜ao seja grande a variac¸˜ao de desempenho de uma leitura no MINIMAL-CORRETO

em situac¸˜ao de concorrˆencia, isto n˜ao significa uma fraca concorrˆencia no que concerne `a gerac¸˜ao de notificac¸˜oes extras pelo padr˜ao listener.

Protocolo / faltas t = 1 t = 2

f = 0 f = 1 f = 0 f = 1 f = 2

MINIMAL-CORRETO 88, 46% 81, 68% 94, 38% 96, 9% 99, 24%

PHALANX 6, 84% 5, 98% 10, 84% 9, 92% 7, 88%

Tabela 5.1: Percentual de leituras com uso do padr˜ao listener (MINIMAL-CORRETO) e de reescritas

5. Avaliac¸ ˜ao de protocolos de sistemas de qu ´oruns bizantinos com o BQSNeko 77 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 0 1 2 3 4 5 6 Tempo (ms)

Número de leitores concorrentes Phalanx (f=1)

Phalanx (f=0) Minimal (f=1) Minimal (f=0)

(a) Escrita para t = 1.

5 10 15 20 25 30 35 40 45 50 55 60 65 70 0 1 2 3 4 5 6 Tempo (ms)

Número de leitores concorrentes Phalanx (f=2) Phalanx (f=1) Phalanx (f=0) Minimal (f=2) Minimal (f=1) Minimal (f=0) (b) Escrita para t = 2.

Figura 5.4: Desempenho da escrita em rede local: MINIMAL-CORRETO X PHALANX (com con- corrˆencia) 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 0 1 2 3 4 5 Tempo (ms)

Processos concorrentes: 1 escritor e leitores Phalanx (f=1)

Phalanx (f=0) Minimal (f=1) Minimal (f=0)

(a) Leitura para t = 1.

0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 0 1 2 3 4 5 Tempo (ms)

Processos concorrentes: 1 escritor e leitores Phalanx (f=2) Phalanx (f=1) Phalanx (f=0) Minimal (f=2) Minimal (f=1) Minimal (f=0) (b) Leitura para t = 2.

Figura 5.5: Desempenho da leitura em rede local: MINIMAL-CORRETO X PHALANX (com con- corrˆencia)

Os altos desvios m´edios coletados da execuc¸˜ao do PHALANX com concorrˆencia (figuras 5.4 e 5.5) s˜ao causados pela alta contenc¸˜ao de processador nos computadores do ambiente de testes. De fato, tanto o protocolo de leitura como o de escrita do PHALANX usam assinatura, o que dificulta

a extrac¸˜ao de um resultado com menor desvio m´edio em situac¸˜ao de concorrˆencia em um ambiente com insuficiˆencia de computadores para abrigar um n´umero adequado de processos por m´aquina.