lendo dados temporais de forma consistente em broadcast disks josé flávio m. v. júnior baseado no...
TRANSCRIPT
![Page 1: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/1.jpg)
Lendo dados temporais de forma consistente em
Broadcast DisksJosé Flávio M. V. Júnior
Baseado no artigo: Reading Temporally Consistent Data in Broadcast Disks, Victor C. S. Lee, Joseph K.
Ng, Jo Y. P. Chong, Kwork-Wa Lam
![Page 2: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/2.jpg)
Sumário Introdução Conceitos relacionados Protocolos de controle de concorrência Protocolo BCC-TI Variações do Protocolo BCC-TI Experimentos Resultados Conclusões
![Page 3: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/3.jpg)
Introdução Muitas aplicações para dispositivos móveis
possuem restrições de tempo para transações e dados Informações sobre bolsa de valores Condições do tempo Tráfego nas estradas
Os dados podem se tornar inválidos com o passar do tempo;
Para refletir o estado atual do mundo real, os dados devem ser periodicamente atualizados.
![Page 4: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/4.jpg)
Introdução Transações devem ler dados temporais
consistentes a fim de produzir resultados corretos;
Os dados devem estar suficientemente atualizados;
As transações devem ser completadas em tempo hábil;
![Page 5: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/5.jpg)
Introdução Em ambiente de broadcast é mais difícil
manter a consistência dos dados; pode levar tempo para as versões mais recentes
dos dados alcançarem os clientes; dificulta a confirmação das transações
a validade dos dados expiram; Protocolos especias foram desenvolvidos;
![Page 6: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/6.jpg)
Conceitos relacionados Broadcast Disks
Uma abordagem cliente-servidor para ambientes móveis;
Explora a vantagem de largura de banda do servidor para transmitir dados para múltiplos clientes através de difusão;
Continuamente e repetidamente transmite dados para os clientes;
O canal utilizado para broadcast se torna um disco em que os clientes podem recuperar dados enquanto se movem;
![Page 7: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/7.jpg)
Conceitos relacionados Broadcast Disks
![Page 8: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/8.jpg)
Conceitos relacionados Dado temporal
Dado temporal possui informação temporal associada a cada nova versão É atualizado periodicamente para refletir o estado
atual do mundo real Dado não temporal não existe nenhuma restrição
sobre o tempo Pode ser escrito aperiodicamente
![Page 9: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/9.jpg)
Conceitos relacionados Consistência Temporal
O valor atual de um item de dado do ambiente deve ser próximo o bastante do valor armazenado no banco de dados;
Mecanismos para verificação de consistência temporal baseados em: rótulo de tempo (timestamp): indica o tempo
quando o valor do dado foi gravado; controle de versão (versioning): a idade e
dispersão da idade dos dados; intervalo de validade absoluta (avi): por quanto
tempo o valor do dado é válido;
![Page 10: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/10.jpg)
Protocolos de controle de concorrência A consistência do banco de dados pode ser
violada quando ele é acessado concorrentemente;
Abordagem comum baseada em locking é impraticável Requer comunicação bi-direcional; Sobrecarga de requisições de lock.
![Page 11: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/11.jpg)
Protocolos de controle de concorrência Optimistic concurrency control (OCC)
Evita o reinicio das transações pelo atraso na resolução de conflitos;
Transações podem executar até o ponto de commit;
Elevado consumo de largura de banda dos clientes;
Possui variantes (OCC-BC, OCC-FC, OCC-TI, entre outras).
![Page 12: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/12.jpg)
Protocolos de controle de concorrência Optimistic concurrency control with broadcast commit
(OCC-BC); As transações podem ser processadas sem espera
na fase de leitura; Somente o conjunto de operações de escrita é
verificado; Quando uma transação é confirmada, uma verificação
é executada frente as outras transações ativas para determinar se houve conflitos;
![Page 13: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/13.jpg)
Protocolos de controle de concorrência OCC-BC
Se uma transação Ti ativa leu dados escritos pela transação em validação, Ti é reiniciada;
As transações de somente leitura (ROT) não precisam ser verificadas;
As ROTs podem fazer commit de forma independente;
Sofre com o reinicio tardio das ROT;
![Page 14: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/14.jpg)
Protocolos de controle de concorrência Datacycle
Ler todos os dados em um único ciclo; Durante a execução das transações de leitura o
stream é escaneado; É muito caro em termos de conexão.
![Page 15: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/15.jpg)
Protocolo BCC-TI Broadcast concurrency control using
timestamp interval (BCC-TI); Oferecer autonomia entre clientes móveis e
servidores; Leitura de dados consistentes sem contatar o
servidor; Reduzir o número de reinícios
desnecessários das transações.
![Page 16: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/16.jpg)
Protocolo BCC-TI A idéia básica:
Ajustar dinâmicamente a posição (ordem de serialização) das ROTs;
Intervalo de tempo (timestamp) é associado a cada ROT;
O conflito de dados é verificado pelo fechamento do intervalo;
![Page 17: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/17.jpg)
Protocolo BCC-TI Do lado do servidor:
Armazena informações das transações de atualização;
Possui uma estrutura de dados chamada control information table (CIT);
A CIT é transmitida periodicamente pelo servidor, junto com os dados;
O tamanho das informações de controle é proporcional ao número de itens de dado atualizados no último ciclo.
![Page 18: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/18.jpg)
Protocolo BCC-TI Do lado do servidor:
Para todo objeto de dado d o servidor armazena junto o último timestamp de gravação WTS(d);
Registra na CIT o timestamp TS(U) quando a transação é confirmada;
As operações de escrita WS(U) também são armazenadas na CIT;
![Page 19: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/19.jpg)
Protocolo BCC-TI Do lado do cliente:
Quando ele inicia uma ROT um intervalo de tempo é associado;
Limite inferior (LB) e limite superior (UB); O intervalo é ajustado para induzir a ordem serial
das transações de leitura (ROT) e de atualização (WT).
A CIT e o WTS(d) são utilizados;
![Page 20: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/20.jpg)
Protocolo BCC-TI Ajustando o intervalo de tempo de uma transação ROT
O cliente lê a tabela de controle (CIT)
1. UB(Q) = mini ( TS(Ui), UB(Q) ) 2. Se LB(Q) >= UB(Q) a transação é reiniciada;
Quando a transação Q ler o objeto de dado d os seguintes passos são executados:
1. LB(Q) = max( LB(Q), WTS(d) )2. Se LB(Q) >= UB(Q) a transação é reiniciada;
![Page 21: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/21.jpg)
Protocolo BCC-TI Primeiro ciclo de transmissão
Y X
Z
WTS(x) = 3WTS(y) = 3
RS(Q) = {x, y, z}
WTS(z) = 3
WS(U) = {}
![Page 22: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/22.jpg)
Protocolo BCC-TI Segundo ciclo de transmissão
YX
ZWTS(x) = 5
WTS(y) = 3
WTS(z) = 5
RS(Q) = {x, y, z}WS(U) = {x, z}
![Page 23: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/23.jpg)
Protocolo BCC-TI Apenas um tipo de conflito pode acontecer
entre ROT e WT
WS(U) ∩ RS(Q) != {}
A ordem de serialização deve ser Q → U
![Page 24: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/24.jpg)
Protocolo BCC-TI O custo desses benefícios
manter e fazer broadcast da CIT; gerenciamento de intervalo de tempo;
pode ser feito através de uma tabela de transações nos clientes
![Page 25: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/25.jpg)
Variações do Protocolo BCC-TI BCC-TI com controle de versão
(Versioning) Objetos de dados temporais são tratados de
forma diferente; Um número de versão é associado ao objeto de
dado temporal; Utiliza limiar absoluto e relativo para definir a
consistência temporal dos dados;
![Page 26: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/26.jpg)
Variações do Protocolo BCC-TI BCC-TI com controle de versão
(Versioning) Consistência absoluta:
at(x) <= A (A >= 0), onde A é o limiar absoluto Consistência relativa:
Dada sobre a dispersão temporal dos dados:dt(x, y) = | at (x) - at (y) |
dt(x, y) <= R (R >= 0) , onde R é o limiar relativo
![Page 27: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/27.jpg)
Variações do Protocolo BCC-TI BCC-TI com intervalo de tempo válido
(TVI) objetos de dados temporais são tratados de
forma diferente; um intervalo de tempo é associado ao objeto de
dado temporal (data deadline); se o deadline do dado for perdido uma
inconsistência temporal é detectada e a transação é reiniciada;
![Page 28: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/28.jpg)
Experimentos Os seguintes protocolos foram
analisados Datacycle Puro BCC-TI BCC-TI Versioning 0 BCC-TI Versioning 1 BCC-TI Versioning 2 BCC-TI TVI
![Page 29: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/29.jpg)
Experimentos
![Page 30: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/30.jpg)
Experimentos 300 objetos de dados sendo 30 dados
temporais Cada objeto de dado possui igual chance de ser
acessado;
![Page 31: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/31.jpg)
Experimentos Avaliação do desempenho
Os principais números avaliados: miss rate: % de transações que perderam seus
deadlines restart rate: número médio reinicio de transações transaction response time: tempo decorrido do início
até o final da transação
![Page 32: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/32.jpg)
Resultados
Gráfico 1: Taxa de perda de transações
Gráfico 2: Média de reinício de transações
P
V0
V1
V2
TVID
P
V0
V1
V2
TVID
![Page 33: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/33.jpg)
Resultados
Gráfico 3: Tempo de resposta Gráfico 4: Taxa de reinício por inconsistência nos dados
PV0
V1
V2
TVI
D
P
V0
V1V2
TVI
![Page 34: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/34.jpg)
Resultados
Gráfico 5: Taxa de reinício por inconsistência temporal
V0
V1
V2
TVI
![Page 35: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/35.jpg)
Conclusões O ajuste dinâmico reduz significativamente o
número de reinícios das transações; Em particular, o desempenho desses
protocolos melhoram quanto menos severa é a restrição temporal;
Os requisitos de consistência temporal e a semântica dos dados podem melhorar o desempenho do sistema;
![Page 36: Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast](https://reader036.vdocuments.mx/reader036/viewer/2022062522/570638431a28abb8238f1d08/html5/thumbnails/36.jpg)
Bibliografia Victor C. S. Lee, Joseph K. Ng, Jo Y. P. Chong, Kwork-Wa Lam:
“Reading temporally consistent data in broadcast disks”, 2004.
Victor C. S. Lee, Kwok-Wa Lam, and Sang H. Son. “Concurrency control using timestamp ordering in broadcast environments”. The Computer Journal, 2002.
Sanjay Kumar Madria and Mukesh Mohania. “Mobile data and transaction management”. Inf. Sci. Inf. Comput. Sci., 2002.
Swarup Acharya, Rafael Alonso, Michael Franklin, and Stanley Zdonik. "Broadcast Disks : Data Management for Asymmetric Communication Environments"