O documento discute memória compartilhada distribuída (DSM), comparando-a com troca de mensagens. Apresenta modelos de programação, algoritmos, consistência de dados e desafios de cada abordagem.
Devido ao aumento da quantidade de dados, começaram a surgir demandas de escalabilidade e a necessidade de se trabalhar com dados de forma mais flexível do que as regras do modelo relacional. Em 2009, surgiu o termo NoSQL. Este novo modelo, faz referência a várias soluções desenvolvidas que caracterizam-se por ter esquema flexível, executar de forma distribuída e geralmente possuir o código aberto.
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETRenato Groff
Tópicos abordados nesta apresentação de 17/10/2015:
- Integração entre sistemas – uma visão geral
- Arquitetura Orientada a Serviços (SOA)
- REST
- Microservices
- Serviços na plataforma .NET (WCF, Web API)
Devido ao aumento da quantidade de dados, começaram a surgir demandas de escalabilidade e a necessidade de se trabalhar com dados de forma mais flexível do que as regras do modelo relacional. Em 2009, surgiu o termo NoSQL. Este novo modelo, faz referência a várias soluções desenvolvidas que caracterizam-se por ter esquema flexível, executar de forma distribuída e geralmente possuir o código aberto.
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETRenato Groff
Tópicos abordados nesta apresentação de 17/10/2015:
- Integração entre sistemas – uma visão geral
- Arquitetura Orientada a Serviços (SOA)
- REST
- Microservices
- Serviços na plataforma .NET (WCF, Web API)
Slides do curso técnico de informática do IFPE - Campus Garanhuns. Disciplina de linguagens de programação para a web. Apresenta uma introdução sobre o desenvolvimento para esta área e introduz o HTML.
Anotações de aula da disciplina Modelagem de Sistemas de Informação de Rede do curso de Gestão de Tecnologia da Informação - 3º semestre - UNIP Paulista.
Curso: Engenharia de Computação e Informação - UFRJ
Disciplina: Mineração de Dados - 2014
Trabalho apresentando a ferramenta DQguru, do SQL Power.
+ Introdução
+ Características
- Requisitos do Sistema
- Sistemas de Banco de Dados Suportados
- Preço
- Suporte
- Versões
+ Funcionalidades
+ Pontos Positivos e Negativos
+ Estudo de Caso
+ Conclusão
Slides do curso técnico de informática do IFPE - Campus Garanhuns. Disciplina de linguagens de programação para a web. Apresenta uma introdução sobre o desenvolvimento para esta área e introduz o HTML.
Anotações de aula da disciplina Modelagem de Sistemas de Informação de Rede do curso de Gestão de Tecnologia da Informação - 3º semestre - UNIP Paulista.
Curso: Engenharia de Computação e Informação - UFRJ
Disciplina: Mineração de Dados - 2014
Trabalho apresentando a ferramenta DQguru, do SQL Power.
+ Introdução
+ Características
- Requisitos do Sistema
- Sistemas de Banco de Dados Suportados
- Preço
- Suporte
- Versões
+ Funcionalidades
+ Pontos Positivos e Negativos
+ Estudo de Caso
+ Conclusão
Curso: Engenharia de Computação e Informação - UFRJ
Disciplina: Mineração de Dados - 2014
Trabalho apresentando a ferramenta Febrl - Freely Extensible Biomedical Record Linkage.
+ Introdução
- Motivação
- Record Linkage Process
+ FEBRL
+ Instalação
+ Funcionalidades
+ Demonstração
+ Pontos positivos
+ Pontos negativos
+ Conclusão
+ Referências
Design de Interação - Capítulo 8 - Design, Prototipação e Construção - Pedro de Vasconcellos
Curso: Engenharia de Computação e Informação - UFRJ
Disciplina: Trabalho do Futuro - 2013
Resumo do capítulo 8 (sobre design, prototipação e construção) do livro Design de Interação - Além da Interação Homem-computador, de Helen Sharp, Yvonne Rogers e Jennifer Preece.
Curso: Engenharia de Computação e Informação - UFRJ
Disciplina: Laboratório de Engenharia de Software - 2014
Apresentações (4) do trabalho prático de realidade aumentada: cARdapp - aplicativo de smartphone para cardápios em realidade aumentada.
Feito a partir de Unity + Vuforia SDK.
Curso: Engenharia de Computação e Informação - UFRJ
Disciplina: Gestão da Inovação - 2011
Resumo dos capítulos 10 e 11 da 3ª edição do livro Managing Innovation, de Joe Tidd, John Bessant e Keith Pavitt
O objetivo desta apresentação é explicar na pratica e na teoria o funcionamento do Efeito Chromakey. Recurso amplamente usado em Edição de Vídeos. O programa utilizado pode ser o Sony Vegas ou Adobe After Effects
Curso de java - Antonio Alves - aula 04Antonio Alves
Quarta aula do curso de java. Falamos sobre Modificadores de acesso, atributos, métodos estáticos, métodos com e sem retorno. Geração de comentários, javadoc e as diferenças entre classe e objeto
Curso: Engenharia de Computação e Informação - UFRJ
Disciplina: Redes de Computadores II - 2012
● Bluetooth:
– O que é;
– Funcionamento;
● Bluetooth Low Energy:
– O que é;
– Tabela Comparativa
– Aplicações;
– Implementação;
– Perguntas;
– Referências;
Última versão da palestra "Fazendo uma manada de elefantes passarem debaixo da porta", ministrada no PGDay São Paulo 2012, em 09/11. Esta é a versão definitiva, não pretendo atualizar ou ministrar novamente esta palestra.
Boas práticas na configuração de jobs no KubernetesGraziella Bonizi
Criar #jobs é uma prática comum no suporte a diversos casos de uso. Tarefas agendadas para mecanismos de Retry, Limpeza ou Monitoramento estão presentes em diversos cenários, porém devemos ter cuidado com a forma que implementamos persistência, escala e paralelismo. Nessa conversa iremos mostrar algumas recomendações e boas práticas na criação e configuração de #CronJobs dentro de um ambiente #Kubernetes.
Sistemas Distribuídos - Replicação de Banco de DadosValdir Junior
Trabalho de Sistemas Distribuídos - Replicação de Banco de Dados MySql e PostgreSQL. 5º Semestre - Curso superior de tecnologia em Sistemas para Internet. Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso do Sul.
Apresentação desenvolvida por alunos do curso de Ciências da Computação, da Universidade Federal de Goiás, para a disciplina de Sistemas Distribuídos.
Título: MapReduce
Autores:
Diego Magalhães Cunha
Jorge Luiz de Faria Fernandes
Juliana Paula Félix
Distribuição de Dados em Escala Global com CassandraMário Marroquim
Apresentação do artigo para conclusão da minha Especialização em Banco de Dados, no IFPI, em 2012. NOTA: alguns emails e links podem não mais existir :(
Ruby on Rails: um estudo de viabilidade em ambientes empresariaisRodrigo Recio
Apresentação de pesquisa onde é feita uma revisão bibliográfica sobre a linguagem de programação Ruby e o arcabouço Ruby on Rails, os quais são utilizados para o desenvolvimento ágil de aplicações para plataforma web. Nesta são analisados diversos requisitos necessários para o desenvolvimento de aplicações eficientes e de forma produtiva.
Curso: Engenharia de Computação e Informação - UFRJ
Disciplina: Inteligência Artificial - 2011
Trabalho geral sobre redes sociais
1. Ambientação
1.1. O que são as Redes Sociais
1.2. Quais são os usos das Redes Sociais
1.3 Evolução das redes sociais
2. Tipos de rede social
2.1. Exemplos atuais
3. Influência das redes sociais nas pessoas
3.1. Casos interessantes
3.2. Cultura das redes sociais
3.3. Dependência das redes sociais
4. Problemas e desafios
5. Projeções para o futuro
5.1. Cenários
5.2. Instrumento de previsão do futuro6. Considerações finais7. Bibliografia
Curso: Engenharia de Computação e Informação - UFRJ
Disciplina: Química Ambiental - 2012
Trabalho sobre créditos de carbono e MDL (Mecanismos de Desenvolvimento Limpo).
Curso: Engenharia de Computação e Informação - UFRJ
Disciplina: Inteligência Computacional - 2013
Trabalho sobre inteligência de enxames (Swarm Intelligence), para cardumes. Trata sobre os algoritmos de PSO (Particle Swarm Optimization) e AFSA (Artificial Fish Swarm Algorithm)
Curso: Engenharia de Computação e Informação - UFRJ
Disciplina: Computador e Sociedade - 2011
Trabalho relacionando a história da computação e o movimento de contracultura.
AE02 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL COMUNICAÇÃO ASSERTIVA E INTERPESSOA...Consultoria Acadêmica
A interação face a face acontece em um contexto de copresença: os participantes estão imediatamente
presentes e partilham um mesmo espaço e tempo. As interações face a face têm um caráter dialógico, no
sentido de que implicam ida e volta no fluxo de informação e comunicação. Além disso, os participantes
podem empregar uma multiplicidade de deixas simbólicas para transmitir mensagens, como sorrisos,
franzimento de sobrancelhas e mudanças na entonação da voz. Esse tipo de interação permite que os
participantes comparem a mensagem que foi passada com as várias deixas simbólicas para melhorar a
compreensão da mensagem.
Fonte: Krieser, Deise Stolf. Estudo Contemporâneo e Transversal - Comunicação Assertiva e Interpessoal.
Indaial, SC: Arqué, 2023.
Considerando as características da interação face a face descritas no texto, analise as seguintes afirmações:
I. A interação face a face ocorre em um contexto de copresença, no qual os participantes compartilham o
mesmo espaço e tempo, o que facilita a comunicação direta e imediata.
II. As interações face a face são predominantemente unidirecionais, com uma única pessoa transmitindo
informações e a outra apenas recebendo, sem um fluxo de comunicação bidirecional.
III. Durante as interações face a face, os participantes podem utilizar uma variedade de sinais simbólicos,
como expressões faciais e mudanças na entonação da voz, para transmitir mensagens e melhorar a
compreensão mútua.
É correto o que se afirma em:
ALTERNATIVAS
I, apenas.
III, apenas.
I e III, apenas.
II e III, apenas.
I, II e III.
Entre em contato conosco
54 99956-3050
AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...Consultoria Acadêmica
Ingedore Koch (1996, p. 17) propõe que a linguagem deve ser compreendida como forma de ação, isto é,
“ação sobre o mundo dotada de intencionalidade, veiculadora de ideologia, caracterizando-se, portanto,
pela argumentatividade”. Com base nessa afirmação, todas as relações, opiniões, interações que são
construídas via linguagem são feitas não apenas para expressar algo, mas também para provocar alguma
reação no outro. Dessa forma, fica explícito que tudo é intencional, mesmo que não tenhamos consciência
disso.
Fonte: FASCINA, Diego L. M. Linguagem, Comunicação e Interação. Formação Sociocultural e Ética I.
Maringá - Pr.: Unicesumar, 2023.
Com base no texto fornecido sobre linguagem como forma de ação e suas implicações, avalie as afirmações
a seguir:
I. De acordo com Ingedore Koch, a linguagem é uma forma de ação que possui intencionalidade e
argumentatividade, sendo capaz de provocar reações no outro.
II. Segundo o texto, todas as interações construídas por meio da linguagem são feitas apenas para expressar
algo, sem a intenção de provocar qualquer reação no interlocutor.
III. O texto sugere que, mesmo que não tenhamos consciência disso, todas as ações linguísticas são
intencionais e visam provocar algum tipo de reação no outro.
É correto o que se afirma em:
ALTERNATIVAS
I, apenas.
II, apenas.
I e III, apenas.
II e III, apenas.
I, II e III
Entre em contato conosco
54 99956-3050
Experiência da EDP na monitorização de vibrações de grupos hídricosCarlosAroeira1
Apresentaçao sobre a experiencia da EDP na
monitorização de grupos geradores hídricos apresentada pelo Eng. Ludovico Morais durante a Reunião do Vibration Institute realizada em Lisboa no dia 24 de maio de 2024
2. • Introdução
• DSM x Troca de Mensagens
• Arquitetura
• Algoritmos
• Modelos de Consistência
• Bibliografia
3. • Distribuited Shared Memory (DSM)
• “Abstração usada para o compartilhamento de dados
entre computadores que não compartilham memória
física.” - Colouris, Dollimore & Kindberg
4. • Memória compartilhada
▫ memória física global de um sistema igualmente acessível
por todos processadores
• Memória distribuída
▫ cada processador tem sua própria memória privada;
comunicação por mensagens
5. • Memória compartilhada distribuída
▫ as memórias são distribuídas fisicamente em cada nó, mas
todos os processadores podem endereçar essa memória
6. • Modelo de Programação
▫ Dados compartilhados diretamente por processos
▫ Não há encapsulamento de variáveis
▫ DSM
write(endereço, dados)
var d = read(endereço)
▫ Troca de Mensagens
send(destinatário, dados)
receive(dados)
▫ No DSM torna-se necessário mecanismos de controle de
concorrência
7. • Eficiência
▫ Experiências: programas paralelos para DSM podem ser
executados tão bem quanto equivalentes escritos com o
paradigma de troca de mensagens para um número
específico de computadores
▫ Não há generalização (resultado depende de muitos fatores)
8. • Persistência
▫ DSM
Um processo pode deixar dados em uma posição de memória
específica (esperada), para que outro processo examine o
conteúdo a ser executado, gerando persistência.
▫ Troca de Mensagens
Processos são executados ao mesmo tempo.
9. • Simplicidade
▫ DSM
Programação mais simples
Programador não se preocupa com comunicação entre
processos
Comunicação: processo escreve dados na memória, a serem
lidos por outros processos
Sincronização: seções críticas, semáforos, monitores.
▫ Troca de Mensagens
Várias dificuldades:
Controle de Fluxo
Mensagens perdidas
Bloqueio
10.
11. • Algoritmos:
▫ Algoritmo do Servidor Central
▫ Algoritmo da Migração
▫ Algoritmo da Replicação para Leitura
▫ Algoritmo da Replicação Total
• Problemas:
▫ Consistência dos dados
▫ Velocidade de resposta
▫ Coerência dos dados
12. • Nó central
▫ Administra todos os dados
• Primitivas de comunicação:
▫ Read
▫ Write
• Proibir a replicação e migração dos dados.
• O servidor é fator crítico na performance dos sistema.
• Possibilidade de mais de um servidor.
13. • Leitura simples/ Escrita simples
• Armazenamento local
▫ Redução da latência.
• Bloqueio acontece no nível de página.
▫ Reduzir o tamanho da tabela de lock.
• Localização de páginas:
▫ Servidor central
▫ Broadcasting
▫ Servidor distribuído fixo
gerente do bloco
▫ Servidor distribuído dinâmico
probable owner
14. • Leitura múltipla/ Escrita simples
• Somente um processador possui permissão para
atualizar uma cópia replicada em um dado momento
• Localização de páginas necessário.
• Invalidação das outras cópias:
▫ Write Invalidate
▫ Write Update (alternativa)
• Write Invalidate x Write Update:
▫ Write Update: Uso intenso da rede.
▫ Write Invalidade: Necessidade de busca do bloco na hora
do uso.
15. • Leitura múltipla/ Escrita múltipla
• Semelhante ao de replicação para leitura.
• Um novo elemento chamado de seqüenciador.
• Seqüenciador:
▫ Atribuir um número a cada alteração feita em um dado
replicado
▫ Atualizar todas as cópias na ordem que as alterações foram
executadas
16. • Manter a coerência a partir de limitações
• Exemplo:
▫ a e b são variáveis armazenadas na DSM
▫ Limitação: sempre a = b
▫ Dois ou mais processos executando o seguinte código
a = a+1
b = b+1
▫ Execução imprópria
a = b = 0
Processo 1:
a = a + 1 = 1
Processo 2 interrompe:
a = a + 1 = 2
b = b + 1 = 1
▫ Limitação quebrada
• Solução: seção crítica; semáforos; monitores
17. • Problema de réplicas e atualizações
▫ Dado é lido a partir de réplicas locais (> eficiência), mas as
atualizações devem ser propagadas a todos os gestores de
réplicas
• Exemplo:
▫ Variáveis a e b acessíveis por dois ou mais processos; ar e
br variáveis locais
▫ Processo 1:
br = b
ar = a
If (ar>=br) then print (“OK”)
▫ Processo 2:
a = a+1
b = b+1
18. • Exemplo (cont):
▫ a = b = 0
▫ Processo 1 deveria ler uma dessas:
ar = br = 0
ar = 1 e br = 0
ar = br = 1
Todas satisfazendo (ar>=br)
▫ Uma implementação DSM pode entregar as atualizações de
a e b fora de ordem para o gestor de réplicas durante o
processo 1
ar = 0 e br=1 pode ocorrer
19. • Modelos fortes aumentam a latência de acesso à
memória e a banda requerida, mas facilitam a
programação
• Modelos “relaxados” permitem reordenação, pipelining e
sobreposição, que aumentam a performance, mas
exigem alto envolvimento do programador na
sincronização de acesso a dados compartilhados
20. • Consistência Sequencial
▫ Garante que todos os nós recebam as alterações na mesma
ordem
▫ O efeito de cada acesso à memória deve ser executado
globalmente antes que o próximo acesso tenha permissão
para executar
▫ Dispendioso pois requer controle de concorrência e
ordenação de mensagens
21. • Consistência Sequencial
▫ No exemplo passado, a combinação ar=0 e br=1 não
ocorreria, pois o processo 1 estaria lendo valores
conflitantes com a ordem de programa do processo 2
22. • Consistência Sequencial
▫ Exemplo 1:
W(x)a -> escrita pelo processo para o item de dados x com o
valor a
R(x)b ->leitura pelo processo do item de dados x retornando
o valor b
P1 executa uma escrita para o item de dados x, modificando
o seu valor para a. Operação feita localmente e depois
propagada para os outros processos.
Mais tarde, P2 lê o valor NIL e, pouco tempo, depois lê a.
Existe um retardo para propagar a atualização de x para P2.
23. • Consistência Sequencial
▫ Exemplo 2:
P1 executa uma escrita para o item de dados x, modificando
o seu valor para a.
Depois, P2 realiza outra escrita, substituindo x por b.
P3 e P4 primeiro lêem o valor b e, mais tarde, o valor a
Operação de escrita do processo P2 ocorreu antes à do
processo P1
O modelo (a) é sequencialmente consistente
O modelo (b) não é sequencialmente consistente, pois nem
todos os processos vêem a mesma intercalação de operações
de escrita (acaba em resultados finais diferentes)
24. • Consistência Causal
▫ Distinção entre eventos potencialmente relacionados por
causalidade e os que não são
▫ Se o evento b é causado ou influenciado por um evento
anterior a, a causalidade requer que todos vejam primeiro
a, para depois ver b
▫ Operações não relacionadas por causalidade são
concorrentes
▫ Escritas potencialmente relacionadas por causalidade
devem ser vistas por todos os processos na mesma ordem;
escritas concorrentes podem ser vistas em ordem diferente
25. • Consistência Causal
▫ Exemplo 1:
Sequência de eventos permitida na consistência por
causalidade, mas proibida na sequencial
Escritas W2(x)b e W1(x)c são concorrentes -> não exige que
todos os processos as vejam na mesma ordem
26. • Consistência Causal
▫ Exemplo 2:
Em (a), W2(x)b potencialmente dependente de W1(x)a
porque b pode ser resultado de um cálculo que envolva o
valor lido por R2(x)a. As duas escritas são relacionadas por
causalidade, portanto temos uma violação na ordenação das
operações
27. • Consistência Causal
▫ Exemplo 2:
Em (b), a leitura R(x)a foi removida, e W(x)b e W(x)a
agora são escritas concorrentes. Assim, há uma sequência
correta de eventos em um depósito consistente por
causalidade
28. • Consistência Causal
▫ Exemplo 2:
Em (b), a leitura R(x)a foi removida, e W(x)b e W(x)a
agora são escritas concorrentes. Assim, há uma sequência
correta de eventos em um depósito consistente por
causalidade
29. • Consistência Causal
▫ Exemplo 2:
Em (b), a leitura R(x)a foi removida, e W(x)b e W(x)a
agora são escritas concorrentes. Assim, há uma sequência
correta de eventos em um depósito consistente por
causalidade
30. • Weak Consistency
▫ Nem toda operação de escrita precisa ser vista pelos outros
processos
▫ acesso a variável de sincronização (S) diz quando
sincronizar valores - aumenta trabalho de programadores
31. Bibliografia
• Colouris, Dollimore, Kindberg. Distribuited Systems: Concepts and Design, Third Edition
• http://www.fisiocomp.ufjf.br/anapaula/SD/SD_aula_16.pdf (último acesso em 21/05/2012)
• http://web.fe.up.pt/~pfs/aulas/sd2009/at/20cons.pdf (último acesso em 21/05/2012)
• http://www.tlc-networks.polito.it/oldsite/anapaula/Aula_Cap07a.pdf (último acesso em
21/05/2012)
• http://www.adonaimedrado.pro.br/principal/index.php?
option=com_content&view=article&id=57&Itemid=92 (último acesso em 21/05/2012)
• http://www.inf.ufrgs.br/gppd/disc/cmp134/trabs/T1/991/DSM/DSM-Hardware.
html#_Toc455993147 (último acesso em 21/05/2012)
• http://www.ic.unicamp.br/~ranido/mc704/DSM.pdf (último acesso em 21/05/2012)
• http://www.inf.ufsc.br/~frank/INE5418/2.5.DSM-Folhetos.pdf (último acesso em 21/05/2012)
• http://www.inf.pucrs.br/~fldotti/sod/dsm.PDF (último acesso em 21/05/2012)