Computação Ubı́qua: Gestão e Disseminação de Informação Computação Ubı́qua: Gestão e Disseminação de Informação V. Nogueira Mestrado em Engenharia Informática Introdução 2010–2011 Desafios Mobile Data Caching Esquemas de Gestão de Cache para Sistemas Móveis Vitor Beires Nogueira Escola de Ciência e Tencologia Universidade de Évora 1.1 Motivação Computação Ubı́qua: Gestão e Disseminação de Informação V. Nogueira Introdução Caching de Informação Desafios Obtenção de informação Mobile Data Caching A informação pode ser obtida de duas formas: 1 pushed (empurrada) Esquemas de Gestão de Cache para Sistemas Móveis I I 2 por exemplo televisão, rádio, etc modo ”publish subscribe”: podemos por exemplo subscrever informações sobre a bolsa pulled (puxada) I I modo ”on demand” o pedido é explicito e feito pelo receptor 1.2 Modo ”publish subscribe” Computação Ubı́qua: Gestão e Disseminação de Informação V. Nogueira Modo ”publish subscribe” na computação móvel este modo é combinado com o broadcast existente na comunicação sem fios eficiente em termos de recursos Introdução Caching de Informação Desafios Mobile Data Caching escalável Exemplos: serviços de informação financeira, de aeroportos, de emergência, etc Esquemas de Gestão de Cache para Sistemas Móveis aconselhável quando o ”downlink”é consideravelmente superior ao ”uplink” Questões que resultantes deste tipo de serviços Que serviços publicar? Com que frequência publicar os serviços? Como adaptar a alocação da largura de banda entre os canais de uplink e de downlink de modo a reflectir a carga numa célula? Como tornar transparente o acesso a estes serviços? 1.3 Modo ”on demand” Computação Ubı́qua: Gestão e Disseminação de Informação V. Nogueira Introdução Caching de Informação Desafios Mobile Data Caching os nós móveis necessitam de energia para fazer o pedido/pergunta Esquemas de Gestão de Cache para Sistemas Móveis alguns conteúdos são consultados mais frequentemente ⇒ hot items não é escalável (número de clientes móveis) 1.4 Caching de Informação Computação Ubı́qua: Gestão e Disseminação de Informação V. Nogueira Caching Na vida real é usual manter um pequeno stock de artigos ”essenciais”: dinheiro na carteira, alimentos na dispensa, etc. Quais as vantagens? Podemos reabastecer o stock de dois modos: 1 2 à medida que vamos precisando fazendo ”previsões” Introdução Caching de Informação Desafios Mobile Data Caching Esquemas de Gestão de Cache para Sistemas Móveis Hoarding Quando sabemos que um determinado artigo vai escassear/esgotar. Quando armazenar? O que armazenar? Caching/Hoarding na Computação Móvel Consideramos a informação como um item que podemos fazer caching/hoarding. Acarreta muitos problemas: considere a situação em que duas pessoas fazerem o caching do mesmo ficheiro, alteraram-nos e depois podemos ter inconsistência 1.5 Desafios Computação Ubı́qua: Gestão e Disseminação de Informação V. Nogueira Nas redes sem fios as ligações tem menor largura de banda e estão mais sujeitas a desconexões (weakly connected mobile clients) As desconexões podem ser: I I involuntárias voluntárias Como assegurar um acesso óptimo à informação num ambiente de computação móvel onde entre os clientes e os servidores existe uma ligação perecı́vel? Introdução Desafios Disseminação de Informação Escalonamento do broadcast Mobile Data Caching Esquemas de Gestão de Cache para Sistemas Móveis Como minimizar o consumo de recursos na gestão de informação sem deixar de ter um nı́vel aceitável de consistência? Como explorar a assimetria da rede sem fios de modo a assegurar uma baixa latência de acesso à informação assim como um baixo consumo de recursos? Como estender as técnicas de gestão de cache para informação dependente do contexto (espacio/temporal)? 1.6 Disseminação de Informação Modo ”on demand” Neste modo o nó móvel tem de competir pelo canal de uplink tem de aguardar pela resposta consome energia Computação Ubı́qua: Gestão e Disseminação de Informação V. Nogueira Introdução Desafios Disseminação de Informação Escalonamento do broadcast Mobile Data Caching consome largura de banda A situação agrava-se quando temos vários nós pedirem a mesma informação! Esquemas de Gestão de Cache para Sistemas Móveis Modo ”publish subscribe” o servidor utiliza um canal de broadcast envia informação envia ı́ndice da informação: deste modo o cliente móvel pode determinar quando estará disponı́vel a informação que lhe interessa é poupada largura de banda é um modo facilmente escalável poupa energia aos clientes móveis 1.7 Ilustração do modo ”publish subscribe” Computação Ubı́qua: Gestão e Disseminação de Informação V. Nogueira Introdução Desafios Disseminação de Informação Escalonamento do broadcast Mobile Data Caching Esquemas de Gestão de Cache para Sistemas Móveis 1.8 Estruturação da largura de banda de uma célula Computação Ubı́qua: Gestão e Disseminação de Informação V. Nogueira Divisão lógica da largura de banda de uma célula Introdução Desafios Disseminação de Informação Escalonamento do broadcast Mobile Data Caching Esquemas de Gestão de Cache para Sistemas Móveis Divisão fı́sica da largura de banda de uma célula on demand broadcast: dividido em slots de modo a que cada item de informação caiba em cada slot 1.9 Escalonamento do broadcast Computação Ubı́qua: Gestão e Disseminação de Informação V. Nogueira Introdução Desafios Disseminação de Informação Escalonamento do broadcast Determinar quando é que os diferentes itens de informação devem ser transmitidos Para facilitar a compreensão vamos considerar o canal de broadcast como uma extensão da memória do nó móvel (semelhante a um disco no éter). Mobile Data Caching Esquemas de Gestão de Cache para Sistemas Móveis 1.10 Exemplo de um escalonamento do broadcast Computação Ubı́qua: Gestão e Disseminação de Informação V. Nogueira Introdução Desafios Disseminação de Informação Escalonamento do broadcast Mobile Data Caching Esquemas de Gestão de Cache para Sistemas Móveis 1.11 Algoritmo para escalonar Computação Ubı́qua: Gestão e Disseminação de Informação V. Nogueira Introdução Desafios Disseminação de Informação Escalonamento do broadcast Mobile Data Caching Esquemas de Gestão de Cache para Sistemas Móveis 1.12 Mobile Data Caching Computação Ubı́qua: Gestão e Disseminação de Informação V. Nogueira Introdução Desafios Mobile Data Caching Uma cache é uma memória rápida e de menor dimensão com a função de guardar informação utilizada frequentemente Cache ⇒ Memória Principal ⇒ Disco Tendo subjacente uma memória hierárquica, como podemos reduzir a latência da leitura/escrita? Estratégias de Caching em Sistemas Distruibuı́dos Gestão da Consistência da Cache Questões de Arquitectura e de Performance Esquemas de Gestão de Cache para Sistemas Móveis Existem várias técnicas/algoritmos de gestão de cache. 1.13 Estratégias de Caching em Sistemas Distruibuı́dos Considerações gerais Nos SD (Sistemas Distruibuı́dos) assume-se que I I I existe uma grande largura de banda a rede tem baixa latência as falhas na rede são pouco frequentes Por vezes fazem caching/prefetching de informação de modo a ocultar possı́veis falhas na rede Cenários Os sistemas de gestão de cache dos SD tem de lidar com 2 cenários: 1 a informação existente na memória partilhada (servidor) pode ser lida/escrita por diferentes clientes de um modo concorrente. Como por exemplo nos sistemas de ficheiros distribuı́dos. 2 Os clientes só podem ler a informação. Como por exemplo na WWW. Computação Ubı́qua: Gestão e Disseminação de Informação V. Nogueira Introdução Desafios Mobile Data Caching Estratégias de Caching em Sistemas Distruibuı́dos Gestão da Consistência da Cache Questões de Arquitectura e de Performance Esquemas de Gestão de Cache para Sistemas Móveis Desafio O desafio principal consiste em manter a consistência dos dados entre os clientes e os servidores. 1.14 Gestão da Consistência da Cache Computação Ubı́qua: Gestão e Disseminação de Informação V. Nogueira Introdução Desafios Mobile Data Caching A gestão da consistência da cache é necessária para garantir que sempre que se utiliza informação da cache, esta satisfaz certos requisitos de actualidade. Existem vários modelos: I I consistência de cache forte (como exemplo NFS) consistência de cache fraca A aplicabilidade dos modelos acima (para SD) ao caso móvel é limitada uma vez que é necessário ter em conta o consumo de energia assim como a maior ocorrência de falhas. Estratégias de Caching em Sistemas Distruibuı́dos Gestão da Consistência da Cache Questões de Arquitectura e de Performance Esquemas de Gestão de Cache para Sistemas Móveis 1.15 Questões de Arquitectura e de Performance Computação Ubı́qua: Gestão e Disseminação de Informação V. Nogueira Introdução Problemas que os sistemas de gestão de cache tem de lidar nos ambientes móveis: Como reduzir a latência no cliente? Como manter a consistência da cache entre as várias caches e o servidor? Como assegurar um acesso à informação aceitável na presença de desconexões frequentes? Como atingir alta eficiência energética e de largura de banda? Desafios Mobile Data Caching Estratégias de Caching em Sistemas Distruibuı́dos Gestão da Consistência da Cache Questões de Arquitectura e de Performance Esquemas de Gestão de Cache para Sistemas Móveis Como determinar o custo de uma falha na cache (cache miss) e como incorporar este custo no sistema de gestão de cache? Como gerir informação dependente do contexto (espaço, etc) na cache? Como activar a cooperação entre múltiplas caches? 1.16 Organização das Caches Computação Ubı́qua: Gestão e Disseminação de Informação V. Nogueira Introdução Desafios Questões relativas à organização das caches: Onde é que guardamos as caches? Cache hierárquica? O que guardamos na cache? Como é que invalidamos o conteúdo da cache? Quem é que invalida tal conteúdo? Mobile Data Caching Estratégias de Caching em Sistemas Distruibuı́dos Gestão da Consistência da Cache Questões de Arquitectura e de Performance Esquemas de Gestão de Cache para Sistemas Móveis Que garantias de actualidade é que o sistema pode dar aos utilizadores? Quais os custos envolvidos? 1.17 Esquemas de Gestão de Cache para Sistemas Móveis Computação Ubı́qua: Gestão e Disseminação de Informação V. Nogueira Introdução Desafios Mobile Data Caching Particularidades A gestão de cache em sistemas móveis tem algumas particularidades: o protocolo de gestão de cache não deve sobrecarregar os recursos da rede sem fios assim como o dispositivo móvel Esquemas de Gestão de Cache para Sistemas Móveis Uma taxonomia para esquemas de gestão de cache Broadcast de relatórios de invalidação estes protocolos devem ser eficientes em termos energéticos, tolerantes à falha e adaptativos à variabilidade da QoS fornecida pela rede sem fios 1.18 Uma taxonomia para esquemas de gestão de cache Computação Ubı́qua: Gestão e Disseminação de Informação V. Nogueira Introdução Estratégias para manter a consistência de cache Desafios Existem três estratégias: Mobile Data Caching ”polling-every-time” baseadas em TTL (time-to-leave) baseadas em invalidar I sem estado: o servidor desconhece o conteúdo da cache dos clientes • sı́ncrona: os relatórios da informação inválida são enviados periodicamente • assı́ncrona: os relatórios da informação inválida são enviados sempre que a informação é modificada. I Esquemas de Gestão de Cache para Sistemas Móveis Uma taxonomia para esquemas de gestão de cache Broadcast de relatórios de invalidação com estado: o servidor sabe qual o conteúdo da cache dos seus clientes O ”polling-every-time”é semelhante ao TTL com o campo do TTL igual a zero. Nas duas primeiras estratégias é o cliente o responsável por manter a consistência e na última essa função fica a cargo do servidor. 1.19 Problemas do esquema de invalidação Computação Ubı́qua: Gestão e Disseminação de Informação V. Nogueira Introdução Desafios Mobile Data Caching Esquemas de Gestão de Cache para Sistemas Móveis Uma taxonomia para esquemas de gestão de cache Broadcast de relatórios de invalidação 1.20 Broadcast de relatórios de invalidação Computação Ubı́qua: Gestão e Disseminação de Informação V. Nogueira Introdução Desafios Mobile Data Caching No esquema de ”broadcasting timestamp”proposto por Barbara and Imieliński temos: um servidor faz o broadcast de relatórios de invalidação: todas as invalidações numa janela das últimas ω unidades temporais um invalidação é um par da forma (id, ts) em que id é o identificador do dado e ts é um ”timestamp”que indica quando é que o mesmo foi alterado, ou seja, t − ω ≤ ts < t, em que t é o tempo em que o relatório de invalidação foi enviado Esquemas de Gestão de Cache para Sistemas Móveis Uma taxonomia para esquemas de gestão de cache Broadcast de relatórios de invalidação 1.21 Bibliography I Computação Ubı́qua: Gestão e Disseminação de Informação V. Nogueira Introdução Desafios Mobile Data Caching Esquemas de Gestão de Cache para Sistemas Móveis F. Adelstein, S. K. S. Gupta, G. G. Richard III, and L. Schwiebert. Fundamentals of Mobile and Pervasive Computing. McGraw-Hill, 2005. Uma taxonomia para esquemas de gestão de cache Broadcast de relatórios de invalidação 1.22