Um framework para a gerência de cache de Banco de Dados Móvel: Design and Avaliação Yuri A. Lacerda.

Slides:



Advertisements
Apresentações semelhantes
Sistemas Paralelos e Distribuídos
Advertisements

Disponibilidade, tolerância a falhas e resiliência
Introdução à Hierarquia de Memória
SISTEMAS DE INFORMAÇÃO
Teste em Esquemas de Dados Maria Cláudia Figueiredo Pereira Emer Universidade Federal do Paraná Departamento de Informática Seminário.
Etienne C. R de Oliveira Redes Avançadas para Computação em Grade
CPU – based DoS Attacks Against SIP Servers
Mapeamento Objeto Relacional
Modelos de Transações para Ambiente de Computação Móvel
Coerência de Cache MC722 - Projeto de Sistemas Computacionais Prof Rodolfo Jardim de Azevedo André Costa Felipe Sodré Davi Barbosa
Cognitive Wireless Mesh Networks with Dynamic Spectrum Access IEEE Journal on Selected Area in Communication, Jan issue 1 Kaushik R. Chowdhury Ian.
Princípio da localidade
DNS Introdução.
Padrões GoF – Factory Method
ICMC-USP 1/16 Mecanismo de Negociação e Controle de Admissão em Políticas de Escalonamento de Tempo Real, visando QoS Absoluta em sistemas WEB distribuídos.
Apresentado por Walfredo Cirne
SISTEMA DE MONITORAÇÃO VEICULAR VIA GPRS
Broadcast de Informações em Meio Sem Fio
Material III-Bimestre Wagner Santos C. de Jesus
Daniel Paulo Introdução A disponibilidade de um sistema é a probabilidade de que ele esteja funcionando num determinado momento.
Questões Resolvidas - A.C.-10/08/05
Ambiente de simulação Os algoritmos previamente discutidos foram analisados usando um simulador de mobilidade. Ele modela uma cidade de 20 Km de raio,
Listas Encadeadas.
Query Tuning Lílian Simão Oliveira.
Implementation and Performance Evaluation of Network Coding for Cooperative Mobile Devices Morten V. Pedersen, Frank H.P. Fitzek and Torben Larsen Implementação.
Modelo de referência OSI
HYMAD: Hybrid DTN-MANET routing for dense and highly dynamic wireless networks Autores: John Whitbeck e Vania Conan Apresentação: Glauco Fiorott Amorim.
Processamento Distribuído de Consultas
Grupo Diego Esteves Mariana Maso Gabriela Murakami Paulo Scopacasa
Sistemas Distribuídos
A melhor forma de seu Painel de Alarme estar na Internet.
Modelos de Dados para Bancos de Dados Móveis
Carolina Gelenske Carlos Eduardo Laís Xavier
Gerenciamento de Redes Utilizando Agentes Móveis
Algoritmo Adaptativo de Substituição de Páginas
Desenvolvendo um script SQL
Seleção de Atributos Ricardo Prudêncio.
Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.
A abordagem de banco de dados para gerenciamento de dados
Frame Relay Danilo Takashi Hiratsuka Marcelo Abdalla dos Reis
Vanet´s – Vehicular Adhoc Networks
Falso, HTTP usa TCP. 1) HTTP usa arquitetura cliente servidor, aceitando conexões UDP na porta 80.
ASSUNTO Facilitando a Tomada de Decisão em um Ambiente Móvel Mohamed A. Sharaf Panos K. Chrysanthis Felipe Menezes Cardoso COPIN – UFCG Banco de Dados.
Domain Name System - Sistema de Nomes de Domínios
DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Gerenciamento de Memória.
Conceitos Básicos Introdução.
A Cooperative Vehicular Network Framework Apresentador: Caio Ruan Nichele Curitiba 25 de Novembro de 2009 Uma Estrutura Cooperativa de Rede Veicular Oscar.
Roteamento Baseado em Crédito/Punição Rafael dos Santos Alves.
Difusão de Informação em Meio Sem-fio (2)  Índice exponencial;  Índice baseado em localização;  Programação de broadcast de dados por demanda;  Sistema.
On Topology Construction in Layered P2P Live Streaming Networks Construção de topologia em redes P2P baseadas em camadas para streaming ao vivo Runzhi.
Ch7b-1 Capítulo Sistemas de Memória - Memória Virtual.
CONECTIVIDADE Prof.: Alessandro V. Soares Ferreira
IEEE (WLAN) Camada Física João Paulo Martins de França.
IEC Banco de Dados I Aula 04 – SQL (II) Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho
Universidade Federal de Santa Catarina Programa de Pós-Graduação em Ciência da Computação Lazy Database Replication with Ordering Guarantees Khuzaima Daudjee.
Tecnologias de Localização de Serviços Exame de Qualificação IME/USP Fev/2003.
1 Universidade Federal de Santa Catarina Centro Tecnológico - CTC Departamento de Informática e Estatística - INE Bancos de Dados Distribuídos Transaction.
Prof. André Luis M. Silva Hierarquia de Memória Prof. André Luis M. Silva
Tolerância a Falhas Carlos Oberdan Rolim Ciência da Computação.
Sistema de Detecção de Falhas baseando em Naive Bayes Ricardo Clemente Jun
Projeto Serviços WAP: Princípios, Tecnologia e Desafios UFMG/DCC
Sistemas de Memória Cache em Multiprocessadores
“Criar soluções móveis inteligentes para aumentar a rentabilidade dos nossos clientes.” Missão da Empresa.
MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5
SERVIDORES E SERVIÇOS Leandro Escobar 2009 SERVIDORES E SERVIÇOS.
Memória Cache.
Memória Virtual.
Bancos de Dados Sistema de Banco de dados – sistema de manutenção de registros por computador. É considerado como uma sala.
CIn.ufpe.br Modelos de Desempenho para Aplicações de Sincronização de dados em Dispositivos Móveis Aluno: Carlos Alexandre Silva de Melo Orientador: Paulo.
CIn-UFPE1 Projeto de Gerenciamento de Dados. CIn-UFPE2 Objetivos n Definir o que significa gerenciamento de dados do sistema; n Entender abordagens diferentes.
Transcrição da apresentação:

Um framework para a gerência de cache de Banco de Dados Móvel: Design and Avaliação Yuri A. Lacerda

Cronograma Introdução Mecanismo de Caching Caching Convencional Caching Móvel Conclusão Referências

Introdução Em um ambiente móvel os servidores de banco de dados enviam informações via wireless para diversos clientes. Clientes móveis podem possuir perfis variados: notebooks, palmtops, celulares, etc.

Introdução Database Server Mobile Client Rede Wireless

Introdução Canal de transmissão wireless: – Baixa largura de banda; – Instabilidade na conexão; Motivam: – Armazenar itens mais acessados do banco de dados em um cache no cliente móvel: Aumentar o desempenho ao realizar consultas Prover disponibilidade mesmo desconectado

Mecanismo de Caching Granularidade Estratégia de Coerência Políticas de Substituição

Mecanismo de Caching Granularidade: – Unidade que será armazenada no cache: Página Objeto Atributo Cache: Cliente c_a; Cliente c_c; Ex: Mobile Client

Mecanismo de Caching Estratégia de Coerência – Invalidar os itens que estão incoerentes no cache – Atualizar os itens inválidos

Mecanismo de Caching Estratégia de Coerência Database Server: Database: Cliente = { c1 ( João, Rua a); c2 ( Maria, Rua b); } Client A Client B Query q1

Mecanismo de Caching Estratégia de Coerência Database Server: Database: Cliente = { c1 ( João, Rua a); c2 ( Maria, Rua b); } Cache: c_c1 ( João, Rua a); return q1; Client A Client B

Mecanismo de Caching Estratégia de Coerência Database Server: Database: Cliente = { c1 ( João, Rua C); c2 ( Maria, Rua b); } Update c1 Client A Client B Cache: c_c1 ( João, Rua a);

Mecanismo de Caching Estratégia de Coerência Database Server: Database: Cliente = { c1 ( João, Rua C); c2 ( Maria, Rua b); } INCOERENTE! - Que estratégia usar para corrigir este problema? Client A Client B Cache: c_c1 ( João, Rua a);

Mecanismo de Caching Políticas de Substituição – O tamanho do cache é limitado Client A Cache: c_c1 ( João, Rua a); c_c3 ( Maria, Rua m); c_c4 ( José, Rua j); Database Server: Query q

Mecanismo de Caching Políticas de Substituição – O tamanho do cache é limitado Client A Database Server: c5 ( Francisco, Rua f); ESTÁ CHEIO! Cache: c_c1 ( João, Rua a); c_c3 ( Maria, Rua m); c_c4 ( José, Rua j);

Mecanismo de Caching Políticas de Substituição – O tamanho do cache é limitado Client A Database Server: c5 ( Francisco, Rua f); ESTÁ CHEIO! - Qual item substituir? Cache: c_c1 ( João, Rua a); c_c3 ( Maria, Rua m); c_c4 ( José, Rua j);

Caching Convencional Banco de Dados Cliente / Servidor – Tráfego é comparado ao acesso ao disco – Diminuir latência da rede Granularidade – Mecanismo de cache é baseado em Páginas – Servidor também é baseado em Páginas – Princípio da Localidade Vizinhos serão acessados num futuro próximo – Overhead compensa se vizinhos forem acessados num futuro próximo

Caching Convencional Por que não aplicar a MDS? – Alta perda de energia (Baterias) – Overhead devido a pequena largura banda – Espaço de armazenamento pequeno

Caching Convencional Estratégia de Coerência – O servidor possui conhecimento do cache de cada cliente e envia mensagem quando um item base é atualizado – Atualização do cache em cada cliente

Caching Convencional Estratégia de Coerência Database Server: Database: Cliente = { c1 ( João, Rua C); c2 ( Maria, Rua b); } Client A Client B Update c1 Local Network Cache: c_c1 ( João,Rua C);

Caching Convencional Estratégia de Coerência Database Server: Database: Cliente = { c1 ( João, Rua C); c2 ( Maria, Rua b); } Client A Client B Refresh Local Network Cache: c_c1 ( João,Rua C);

Caching Convencional Por que não aplicar a MDS? – Clientes trafegam livremente – Servidor pode não estar capaz de enviar mensagem para todos Database Server: MC 2 wireless Database: Cliente = { c1 ( João, Rua C); c2 ( Maria, Rua b); } Cache: c_c1 ( João, Rua a); Cache: c_c1 ( João, Rua a);

Caching Convencional Estratégia de Coerência – Solução Leases [2] Cada item no cache possui um refresh-time pré- estabelecido Ao expirar o item é atualizado Que valor utilizar? – Muito Alto: Pode ter itens desatualizados – Muito Baixo: Atualizações e muito tráfego desnecessários Deveria ser adaptado automaticamente.

Caching Convencional Políticas de Substituição – Algumas soluções existentes Least Recently Used (LRU); – LRU-k Least Reference Density (LRD); Optimal; CLOCK; WORST; Entre outras

Caching Móvel - Modelo Sequência Database server (S) Mobile client (S) Início da Query (Q) Envio de Q para o servidor Avaliação da Query Identificados itens locais qualificados (i) Identificados todos os itens qualificados (I) Envio de i para o servidor (I – i) Itens qualificados para serem enviados para o cliente Identificados todos os itens qualificados Políticas de Substituição

Caching Móvel - Modelo Paradigma ponto-a-ponto Banco de Dados Orientado a Objetos – Não impede que se use para Relacional

Caching Móvel - Modelo Cache Table – É um mini banco de dados que pode ser manipulado pelo servidor. – Estrutura: Database serverMobile client X attribute a attribute b attribute c Remote (R_oid,R_host) Cache X C_X attribute c_a attribute c_b attribute c_c method a() method b() method c() substituto x

Caching Móvel - Modelo Granularidade – Caching de Atributo – Caching de Objeto – Caching Híbrido

Caching Móvel - Modelo Caching de Atributo – O servidor só retorna para o cliente aqueles atributos que foram requisitados – Exemplo: Select x.name, x.city from x in Places to Stay where x.vacancy > 0 Consulta retorna dois objetos: x e y

Caching Móvel - Modelo CACHE Places To Stay c_vacancy Substituto x

Caching Móvel - Modelo CACHE Places To Stay c_vacancy Substituto x Server x.name x.city y.name y.city y.vacancy

Caching Móvel - Modelo CACHE Places To Stay c_vacancy Substituto x Server x.name x.city y.name y.city y.vacancy

Caching Móvel - Modelo CACHE Places To Stay c_name c_city c_vacancy Substituto x Substituto y Server

Caching Móvel - Modelo Caching de Objeto – Clientes móveis tendem a ter os objetos acessados mais frequentemente – Possuir todo o objeto pode evitar futuros acessos no servidor

Caching Móvel - Modelo Caching Híbrido – Armazena apenas os atributos de um objeto qualificado com uma grande probabilidade de ser acessado futuramente; – Probabilidade de Acesso Futuro ao Objeto > Threshold E

Caching Móvel Coerência de Cache – Cada cliente é responsável por se invalidar – Mesma estratégia de Leases, Refresh Time (RT), unido a heurísticas – Cada item tem seu RT baseado na probabilidade de ser atualizado: Caching de Atributo e Caching Híbrido: Atributos com RT. Caching de Objeto: Objeto com R.T.

Caching Móvel Estimativa do RT – X: item do cache – dx: duração da inter-chegada entre escritas – dx: média de Dx – Sx: desvio padrão – βx: frequência de atualização de x RT = dx + βx.Sx t W(x) W(X) = Write (X)

Caching Móvel Erro False Alarm Servidor Cliente Servidor Cliente t t t t Refresh(x) W(x) Refresh(x) Não houve escrita!

Caching Móvel Políticas de Substituição – Mean Armazena a média de acesso de cada item Problema: Não descobre a mudança rapidamente t A(x) A(X) =Acessa (X) Média de todos os acesso de cada item

Caching Móvel – Window Armazena uma janela dos valores inter-operações Problema: Necessita armazenar uma janela para cada objeto ou atributo t A(x) A(X) =Acessa (X) Janela: 10 5 Média dos últimos acessos

Caching Móvel – Exponentially Weighted Moving Average Resolve o problema da janela Adiciona pesos aos valores inter-operações

Simulações Não foram exaustivos Perfil do comportamento: – Granularidade Caching Híbrido possuiu desempenho superior: – Alta taxa de acertos – Baixo tempo de resposta – Baixa taxa de erros – Baixo taxa de alarmes falsos

Caching Móvel – Políticas de Substituição EWMA-0.5 desempenho bastante estável em diversos cenários; LRU, LRU-3 e LRD também possuíram um desempenho satisfatório para alguns cenários.

Conclusões Proposto um mecanismo para prover desempenho Caching baseado em paginas não é adequado Foi proposto um caching baseado em atributos, objetos ou híbrido. Estratégias de coerências e políticas de substituição que se adaptam a forma de acesso

Referências [1] B. Y. Chan, A. Si, H. V. Leong, A Framework for Cache Management for Mobile Databases: Design and Evaluation [2] C.G. Gray and D.R. Cheriton, Leases: An efficient fault- tolerant mechanism for distributed file cache consistency, in Proceedings of SOSP, 1989, pp. 202–210.