Uma Linguagem de Domínio Específico Baseada em Mônada com Suporte à Memória Transacional Distribuída em Java



Documentos relacionados
Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Organização de Computadores 1

Bancos de Dados III. Replicação de Dados. Rogério Costa Replicação

Arquitetura dos Sistemas de Informação Distribuídos

Faculdade Lourenço Filho - ENADE

Sistemas Operacionais

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 23. Sistemas Operacionais Distribuídos

Visão do Usuário da DSM

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

2 Diagrama de Caso de Uso

SISTEMAS DISTRIBUÍDOS

Nomes e Endereçamento. Nomes e Endereçamento. Paradigmas em Sistemas Distribuídos. Paradigmas em Sistemas Distribuídos

SISTEMAS DISTRIBUIDOS

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Sistema Operacional Correção - Exercício de Revisão

Sistemas de Arquivos. Sistemas Operacionais - Professor Machado

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

ANALISTA DE SISTEMAS - SUPORTE

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br

UNIVERSIDADE DO OESTE DE SANTA CATARINA CAMPUS DE SÃO MIGUEL DO OESTE

1

Sistemas Operacionais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

Capítulo 6 Sistemas de Arquivos

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

4 Um Exemplo de Implementação

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

SISTEMA GERENCIADOR DE BANCO DE DADOS

Sistemas Distribuídos

Estruturas do Sistema de Computação

Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos

Comparação SDs X Scs

GEADA. Gerador de Expressões Algébricas em Digrafos Acíclicos. para versão 1.0, de agosto/2008. Autor: Márcio Katsumi Oikawa

Capítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos

Sistemas Distribuídos. Aleardo Manacero Jr.

Comunicação. Parte II

Processos e Threads (partes I e II)

Visão Geral de Sistemas Operacionais

SISTEMAS OPERACIONAIS. Prof. André Dutton

Programação Concorrente

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular SISTEMAS DISTRIBUIDOS Ano Lectivo 2015/2016

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Processamento de Dados

Sistemas Distribuídos Aula 2


Figura 01 Kernel de um Sistema Operacional

Sistemas Distribuídos

Sistemas Distribuídos

Introdução aos Sistemas Operativos

LCAD. ALGORÍTMOS PARALELOS (Aula 6) Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES.

Organização de Computadores

Sistemas Operacionais

Quadro de consulta (solicitação do mestre)

Introdução ao Modelos de Duas Camadas Cliente Servidor

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

SISTEMAS OPERACIONAIS

Sistemas Operacionais: Sistema de Arquivos

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

3 SCS: Sistema de Componentes de Software

Introdução à Computação: Arquitetura von Neumann

Sistema de Computação

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite

Arquitetura de Computadores. Ivan Saraiva Silva

Alocação Dinâmica e Transparente de Computadores Ociosos em Java

SISTEMAS OPERACIONAIS

Softwares Aplicativos Banco de Dados

Sistemas Operacionais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

Banco de Dados Orientado a Objetos

IFTO LÓGICA DE PROGRAMAÇÃO AULA 01

CURSO DE ENGENHARIA DE COMPUTAÇÃO Renovação de Reconhecimento pela Portaria n 123 de 09/07/12 DOU de 10/07/12 PLANO DE CURSO

Oracle Grid Engine. Thiago Marques Soares. Pós-Graduação em Modelagem Computacional Universidade Federal de Juiz de Fora. 8 de abril de 2015

Organização de Arquivos

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Projeto de Arquitetura

Sistemas Operacionais

E N AT O M O L I N A T O T H

Transcrição:

Uma Linguagem de Domínio Específico Baseada em Mônada com Suporte à Memória Transacional Distribuída em Java Jerônimo da Cunha Ramos Prof. Dr. André Rauber Du Bois (Orientador) Prof. Dr. Maurício Lima Pilla (Co-orientador) Mestrado em Computação Programa de Pós-Graduação em Computação Universidade Federal de Pelotas jdcramos@inf.ufpel.edu.br Abril de 2015 ERAD 2015 1 of 13

1 Memórias Transacionais 2 Arquiteturas Distribuídas 3 Trabalhos Relacionados 4 Transações Distribuídas 5 Transações Distribuídas 6 Considerações Finais ERAD 2015 2 of 13

Memórias Transacionais Introdução Alternativa à sincronização por locks; Similar às transações de bancos de dados (Atomicidade, Consistência, Isolamento); Vantagens: Composabilidade, ausência de deadlock, facilidade de programação, maior exploração do paralelismo. Desvantagens: Dificuldade em ter efeito colateral dentro de transações, livelock ou starvation. ERAD 2015 3 of 13

Arquiteturas Distribuídas Principais Diferenciais Cada nodo tem sua memória e espaço de endereçamento; Impossibilita memória compartilhada; Usa-se troca de mensagens; Problema do relógio global; Diferentes latências para acesso, devido à rede; Possíveis problemas ampliados: (exemplo: deadlocks distribuídos) Memória transacional também é um modelo promissor para este cenário. ERAD 2015 4 of 13

Trabalhos Relacionados CMTJava Estende Java para utilização do modelo transacional; Baseada na STM Haskel; Objetos Transacionais (implements TObject); Compilador cria métodos get e set especiais; contêm o controle transacional; retornam ações transacionais que só podem ser executadas dentro de blocos atômicos; Utiliza mônada de passagem de estados para passar o estado da transação entre as operações; ERAD 2015 5 of 13

Trabalhos Relacionados CMTJava Java ERAD 2015 6 of 13

Trabalhos Relacionados Focados em Arquiteturas Distribuídas Cluster-STM: PGAS (Partitioned Global Address Space); 4 combinações de estratégias implementadas. DiSTM: TFA: Sem DSM; 3 protocolos implementados. Sem DSM; Move os objetos; Relógio Distribuído; ERAD 2015 7 of 13

Transações Distribuídas Transações Distribuídas A implementação atual da CMTJava contempla apenas transações locais; Pretende-se estender para transações distribuídas; Baseando-se no algoritmo TFA; Após a extensão, alguns objetos poderão ser movidos pela rede (implements RemoteTObject); É necessário algum tipo de diretório, para localização dos objetos ERAD 2015 8 of 13

Transações Distribuídas Exemplo de Código ERAD 2015 9 of 13

Algoritmos OpenObject ERAD 2015 10 of 13

Algoritmos Commit ERAD 2015 11 of 13

Considerações Finais Trabalhos Futuros Concluir implementação; Benchmarks; Considerações Finais Memórias Transacionais tornam a programação paralela mais fácil; Este trabalho busca estender o conceito para os sistemas distribuídos; ERAD 2015 12 of 13

Uma Linguagem de Domínio Específico Baseada em Mônada com Suporte à Memória Transacional Distribuída em Java Jerônimo da Cunha Ramos Prof. Dr. André Rauber Du Bois (Orientador) Prof. Dr. Maurício Lima Pilla (Co-orientador) Mestrado em Computação Programa de Pós-Graduação em Computação Universidade Federal de Pelotas jdcramos@inf.ufpel.edu.br Abril de 2015 ERAD 2015 13 of 13