Introdução aos Sistemas Distribuídos

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Qual das seguintes opções representa um desafio introduzido pelo tempo relativo em sistemas distribuídos?

  • Assegurar que a ordem dos eventos possa ser rastreada precisamente. (correct)
  • Sincronizar computadores operando sob diferentes fusos horários.
  • Permitir que cada nó tenha sua própria noção de tempo, independente dos outros.
  • Garantir que todos os nós compartilham exatamente o mesmo tempo UTC.

Em arquiteturas orientadas a serviços (SOA), qual o papel do encapsulamento?

  • Permitir que os serviços sejam utilizados e implementados independentemente uns dos outros. (correct)
  • Maximizar a dependência entre serviços para otimizar a comunicação.
  • Assegurar que todos os serviços compartilhem o mesmo estado e contexto.
  • Padronizar a implementação de todos os serviços para facilitar a manutenção.

Qual das seguintes é uma consideração chave para o sucesso da computação em grade?

  • Assegurar que todos os nós tenham hardware e software idênticos.
  • A capacidade de coordenar recursos computacionais sob diferentes domínios administrativos. (correct)
  • Eliminar a necessidade de cada organização manter sua própria infraestrutura.
  • Garantir que todos os recursos de computação compartilhem o mesmo domínio administrativo.

Qual o impacto da falta de transparência da localização em um sistema distribuído?

<p>Pode resultar em problemas de desempenho devido à falta de conhecimento da localização dos recursos. (C)</p> Signup and view all the answers

Qual das seguintes estratégias escala o sistema de forma horizontal?

<p>Adicionar mais máquinas ao sistema. (D)</p> Signup and view all the answers

Em um sistema distribuído, qual a principal desvantagem dos adaptadores (wrappers)?

<p>Eles aumentam a complexidade do sistema e podem levar a problemas de desempenho. (A)</p> Signup and view all the answers

Em um sistema de publicação-assinatura, qual é o papel do acoplamento temporal?

<p>Garantir que o publicador e o assinante estejam ativos ao mesmo tempo.. (B)</p> Signup and view all the answers

Qual dos seguintes problemas é atenuado pelo padrão interceptor em um sistema distribuído?

<p>A necessidade de modificar o fluxo de controle central de um processo. (A)</p> Signup and view all the answers

Que desafio específico o estabelecimento de um túnel TCP/IP pretende resolver na comunicação de rede?

<p>Estabelecer um canal de comunicação lógico antes da troca de mensagens. (C)</p> Signup and view all the answers

Qual dos seguintes é um objetivo fundamental das arquiteturas de sistemas distribuídos abertos?

<p>Permitir que os componentes sejam facilmente substituídos ou integrados a outros. (B)</p> Signup and view all the answers

Em arquiteturas de sistemas distribuídos, qual a vulnerabilidade que surge da falha de um nó?

<p>Quebra do sistema. (D)</p> Signup and view all the answers

Qual das seguintes opções representa um benefício central dos sistemas distribuídos em termos de compartilhamento de recursos?

<p>Ter uma grande unidade de acolhimento compartilhada é mais econômico. (A)</p> Signup and view all the answers

Qual dos itens a seguir descreve os tipos mais comuns de serviços que um middleware normalmente fornece?

<p>Comunicação, transações e escalabilidade. (B)</p> Signup and view all the answers

Na estrutura de design de sistemas distribuídos, qual das seguintes não é uma armadilha ao projetar sistemas distribuídos?

<p>A administração é responsabilidade de várias pessoas. (A)</p> Signup and view all the answers

Num sistema de computação distribuída, qual a principal diferença entre multicomputação e multiprocessamento?

<p><em>Multicomputação</em> envolve a utilização de múltiplos computadores, enquanto <em>multiprocessamento</em> ocorre num único sistema com múltiplos processadores. (C)</p> Signup and view all the answers

Considerando as arquiteturas de sistemas distribuídos, qual das seguintes afirmações melhor descreve o conceito de sistemas peer-to-peer (P2P)?

<p>Um modelo em que cada nó funciona simultaneamente como cliente e servidor. (A)</p> Signup and view all the answers

Qual o impacto dos modelos com computação grid em um sistema?

<p>Acesso simplificado a arquivos armazenados e serviços. (B)</p> Signup and view all the answers

Qual das seguintes opções descreve melhor o modelo de computação de utilidade?

<p>Fornecer recursos de computação como um serviço medido, permitindo que os utilizadores paguem apenas pelo que consomem. (D)</p> Signup and view all the answers

Qual a base da arquitetura referencial OSI?

<p>Quebrar a comunicação em várias camadas. (C)</p> Signup and view all the answers

Qual a diferença fundamental entre a chamada de procedimento remoto (RPC) síncrona e assíncrona?

<p>Uma RPC síncrona bloqueia o chamador até a resposta ser recebida, enquanto uma RPC assíncrona não bloqueia. (B)</p> Signup and view all the answers

Ao discutir sobre diretórios de nomes, qual das seguintes opções descreve melhor o diretório raiz?

<p>Controlo sobre como o namespace foi estabelecido. (B)</p> Signup and view all the answers

Considere um cenário em que uma aplicação precisa se conectar a uma instância de banco de dados específica com segurança sobre uma rede. Qual das seguintes técnicas é mais apropriada para alcançar este objetivo?

<p>Conexões de soquete TCP com encriptação e autenticação. (D)</p> Signup and view all the answers

Qual das seguintes afirmações descreve o conceito de replicação do lado do servidor?

<p>Uma cópia e estado do serviço estão armazenados para failover e escalabilidade. (B)</p> Signup and view all the answers

Num sistema de eleição por bullying, como é que o algoritmo garante que um novo coordenador é eleito de forma eficiente após a falha do coordenador atual?

<p>Qualquer processo que detete a falha envia uma mensagem de eleição. (C)</p> Signup and view all the answers

Em sistemas de designação, o que é um nome não plano?

<p>Um tipo de identificador legível por humanos. (A)</p> Signup and view all the answers

Como é calculado Tᵣ no Network Time Protocol?

<p>Como o tempo total da origem para o computador. (D)</p> Signup and view all the answers

Qual das seguintes opções alinha a precisão do seu tempo universal coordenado (UTC)?

<p>Satélite. (D)</p> Signup and view all the answers

Quais dos métodos mais eficazes permitem aos processos sequenciais fazer chamadas de bloqueio para atingir o paralelismo?

<p>Das <em>threads</em>. (A)</p> Signup and view all the answers

Porque é que o modelo cliente servidor é baseado em uma síncrona comunicação transiente?

<p>Está ligado com a inatividade dos clientes. (D)</p> Signup and view all the answers

Em relação à distribuição de dados, o que é o Anti-entropy baseado em fofocas?

<p>Um protocolo para atingir o número de nós sem utilizar um coordenador. (D)</p> Signup and view all the answers

Se os processos 1 e 2 não trocarem mensagens, qual o problema de relacionar sua ocorrência?

<p>São concorrentes. (D)</p> Signup and view all the answers

Num ambiente de computação distribuída, onde se aplica primordialmente a execução de threads?

<p>Na implementação assíncrona. (B)</p> Signup and view all the answers

No modelo HLS, ou Hierarquical Location Services, qual a função do diretório de leaf domains?

<p>Serve para saber quais entidades se localizam no dominio. (B)</p> Signup and view all the answers

Existem três tipos de virtualização para prover de quatro interfaces, mas qual dos a seguir não provê de uma?

<p>Atitude de chamado. (C)</p> Signup and view all the answers

O que é a migração fraca?

<p>Com novo código, novo programa (C)</p> Signup and view all the answers

Como funciona a eleição em sistemas sem fio?

<p>Por ID prioritário e bateria. (A)</p> Signup and view all the answers

Flashcards

Sistema Distribuído

Conjunto de computadores independentes que se apresentam ao utilizador como um sistema único.

Middleware

Camada de software entre o sistema operativo e as aplicações, comum a todo o sistema.

Fiabilidade

Garante que uma mensagem enviada por um processo é entregue a todos os processos.

Objetivos SD

Garantir o fácil acesso aos recursos, a transparência, ser aberto e escalável.

Signup and view all the flashcards

Distribuição Transparente

Abstrai o utilizador da distribuição física do sistema.

Signup and view all the flashcards

Sistema Aberto

Composto por componentes que podem ser facilmente utilizados ou integrados por outros.

Signup and view all the flashcards

Interoperabilidade

Verifica a coexistência de implementações diferentes do mesmo sistema.

Signup and view all the flashcards

Portabilidade/Composição

Permite a execução de um SD A num SD B, sem alterações.

Signup and view all the flashcards

Extensibilidade

Possibilidade de configurar o sistema com componentes diferentes.

Signup and view all the flashcards

Escalabilidade do Tamanho

Acréscimo de utilizadores/componentes sem perda de performance.

Signup and view all the flashcards

Escalabilidade Geográfica

Sistema mantém a performace quando o utilizador e o recurso estão separados.

Signup and view all the flashcards

Escalabilidade Administrativa

Reflete a abrangência do sistema a várias organizações administrativas.

Signup and view all the flashcards

Escalada Vertical

Melhoria da capacidadedos componentes pertencentes ao sistema.

Signup and view all the flashcards

Escalada Horizontal

Expansão do sistema, acrescentando mais máquinas.

Signup and view all the flashcards

Replicação

Compromete a consistência dos dados, que podem estar desatualizados dos originais

Signup and view all the flashcards

Sistemas de Computação Distribuída

Realizam tarefas que exigem uma grande capacidade de computação.

Signup and view all the flashcards

Cluster Computing

Conjunto de máquinas semelhantes, sistema operativo igual, rede local de alta velocidade.

Signup and view all the flashcards

Grid Computing

Vários sistemas de computação sob domínios administrativos diferentes.

Signup and view all the flashcards

Utility Computing

Pagamento pelos recursos utilizados para executar tarefas.

Signup and view all the flashcards

Cloud Computing

Conjunto de recursos virtuais utilizados e configurados dinamicamente.

Signup and view all the flashcards

Multiprocessamento

Sendo o acesso à memória partilhado pelos vários núcleos em cada máquina.

Signup and view all the flashcards

Multicomputação

Passamos a ter multicomputação, sem memória partilhada.

Signup and view all the flashcards

Arquitetura do Software

A forma como os vários componentes de software se organizam e interagem.

Signup and view all the flashcards

Componente

Unidade modular que providencia uma interface de acesso.

Signup and view all the flashcards

Arquitetura por Camadas

Baseia-se numa organização em componentes heirárquicos

Signup and view all the flashcards

Camada de Interface

Camada de interface,providencia a interação com o utilizador ou uma aplicação externa.

Signup and view all the flashcards

Camada de Dados

Camada de dados, que gere as interações com a base de dados

Signup and view all the flashcards

Camada de Processamento

Camada de processamento, onde estão centradas as funcionalidades da aplicação.

Signup and view all the flashcards

Camadas Homólogas

Oferecem um serviço, acedido através da interface (API), que especifica as funções.

Signup and view all the flashcards

Arquiteturas REST

Geridos por componentes, aplicações adicionam/modificam recursos facilmente.

Signup and view all the flashcards

Arquitetura Publish-Subscribe

Redução das dependências entre processos, separação entre processamento e coordenação.

Signup and view all the flashcards

Organização de Middleware

Assegura que aplicações independentes das plataformas subjacentes.

Signup and view all the flashcards

Wrappers

Fornece uma interface que corresponde às necessidades do cliente.

Signup and view all the flashcards

Interceptors

Quebra o fluxo normal de controlo para permitir a execução de outro código.

Signup and view all the flashcards

Arquiteturas de Sistema

Instalação dos seus componentes de software em máquinas reais.

Signup and view all the flashcards

Cliente-Servidor

Divide processos em servidor(implementa serviço) e cliente(consome o serviço).

Signup and view all the flashcards

Idempotentes

Operações que podem ser realizadas em duplicado sem prejudicar o funcionamento do sistema

Signup and view all the flashcards

Front end

o front end gráfico, que comunica com a aplicação no back end.

Signup and view all the flashcards

fat client

Quando o cliente processava muito dados no sistema.

Signup and view all the flashcards

Organização Multitiered

Consiste numa distribuição vertical do sistema

Signup and view all the flashcards

Distribuição Horizontal

Sistemas que a implementam conhecidos por peer-to-peer.

Signup and view all the flashcards

Study Notes

Sistemas Distribuídos: Introdução

  • Sistemas distribuídos evoluíram de computadores independentes para máquinas interligadas e poderosas
  • Esta evolução permitiu o processamento paralelo e a comunicação entre máquinas, levando à criação de sistemas distribuídos
  • Um sistema distribuído é um conjunto de computadores independentes apresentados ao utilizador como um sistema único integrado
  • A comunicação e coordenação entre os computadores são feitas através da troca de mensagens

Coleção de Elementos Autônomos

  • Em sistemas distribuídos, os nós devem ser independentes e capazes de trabalhar em conjunto
  • Cada nó independente tem sua própria noção de tempo, e não é garantido que haja um relógio global
  • É importante autenticar nós no sistema e fornecer uma lista de nós aos quais cada membro pode se conectar
  • Os sistemas podem ser abertos, permitindo que qualquer nó se junte, ou fechados, limitando a comunicação a membros autenticados
  • A organização pode ser estruturada com vizinhos definidos ou desestruturada com seleção aleatória de outros nós

Sistema Único e Coerente

  • É essencial que um sistema distribuído seja coerente para o utilizador, abstraindo a complexidade
  • A coerência significa que os nós devem operar da mesma forma, independentemente de onde, quando ou como a interação ocorre
  • A transparência, ou seja, esconder a localização do processo e dos dados, é crucial para aumentar a eficiência
  • Um exemplo de transparência é um sistema de ficheiros com uma interface gráfica para aceder a vários dispositivos de armazenamento
  • Funcionalidades tem vulnerabilidades, como a quebra do sistema no caso da falha de um nó

Middleware

  • O middleware facilita o desenvolvimento de sistemas distribuídos como uma camada de software entre o sistema operativo e as aplicações
  • Fornece meios de comunicação entre aplicações distribuídas, escondendo as diferenças de hardware e sistema operativo
  • Paralelamente, o middleware garante segurança, gestão e recuperação de falhas, oferecendo seus serviços em rede
  • O middleware oferece serviços como comunicação via RPC (Remote Procedure Call), permitindo a invocação de funções remotas
  • Transações são executadas com a garantia de "tudo ou nada", assegurando que todos os serviços necessários são invocados
  • Além disso, o middleware estandardiza o acesso e fornece meios de sincronização para a composição de serviços (web services)
  • Garante que mensagens enviadas por um processo são entregues a todos ou a nenhum

Objetivos e Características dos Sistemas Distribuídos

  • Sistemas distribuídos devem ter fácil acessibilidade de recursos, transparência, abertura e escalabilidade
  • Um objetivo principal é facilitar o acesso e a partilha de recursos, promovendo soluções colaborativas
  • É fundamental abstrair o utilizador da distribuição física do sistema para maior transparência
  • A transparência pode ser aplicada à localização, relocalização, migração, replicação, concorrência e falhas
  • Transparência nem sempre é ideal, podendo prejudicar o funcionamento correto
  • Um sistema é aberto quando permite a integração fácil de componentes, utilizando interfaces (IDL) para definir serviços
  • A interoperabilidade (coexistência de implementações diferentes) e a portabilidade/composição(execução noutro sistema sem alterações) devem ser verificadas
  • A extensibilidade, ou seja, a configuração com componentes diferentes, é mais um dos seus objetivos importantes e necessários

Escalabilidade

  • Com o crescimento da cloud, a escalabilidade é essencial em sistemas distribuídos
  • Várias dimensões de escalabilidade são consideradas: tamanho (mais utilizadores/componentes), a geográfica (grandes distâncias) e a administrativa (várias organizações)
  • A escalabilidade do tamanho pode ser limitada pela capacidade de computação, armazenamento, E/S e rede
  • A geográfica é difícil devido a tempos de espera maiores e menor fiabilidade na internet; aplicações síncronas não devem ser escaladas geolocalizadas
  • A legislação dificulta a escalabilidade administrativa, pois varia de país para país
  • A escalada vertical é a melhoria dos componentes; a escalada horizontal é a expansão do sistema com mais máquinas
  • A escalada horizontal pode omitir a latência das comunicações com aplicações assíncronas ou comunicação minimizada
  • A partição e distribuição como no DNS: estão divididas em zonas independentes, cada uma gerida por um servidor diferente
  • Replicação a melhoria da disponibilidade e eficiência(boas distribuições geográficas), além da redução exponencial da latência
  • Sistemas P2P: São um exemplo da distribuição e replicação e caching, sendo indicados para a partilha de objetos imutáveis

Armadilhas

  • Ao projetar um sistema distribuído, algumas ideias convencionais devem ser evitadas. Estas incluem:
    • Presumir que a rede é confiável, segura e homogénea
    • Ignorar a possibilidade de alterações na topologia
    • Assumir latência zero e largura de banda infinita
    • Desconsiderar o custo de transporte
    • Acreditar que existe um único administrador

Tipos de Sistemas Distribuídos

  • Existem vários tipos de sistemas distribuídos:
    • Sistemas de computação distribuída (alta capacidade computacional)
    • Sistemas de informação distribuída
    • Sistemas "pervasive"
  • Os sistemas de computação distribuída dividem-se em:
    • Cluster computing: máquinas semelhantes com o mesmo sistema operativo e rede de alta velocidade
    • Grid computing: sistemas sob diferentes domínios administrativos e tecnologias

Distribuídos Cloud、Grid、和P2P

  • Sistemas Grid: Sistema de computação baseado em vários sistemas de computação administrativa administrativa
  • Sistemas Híbridos: nós se especializam em Aplicações intensivas, outros especializados no armazenamento e gestão de ficheiros
  • datacenters próprias: nova oportunidade de negócio, a utility computing
  • Cloud computing: recursos virtuais que podem ser utilizados e configurados dinâmicamente
  • Sistemas de serviço: Infrastructure-as-a-service (IaaS), Platform-as-a-service (PaaS) e Software-as-a-service (SaaS)
  • Multiprocessamento: acesso de vários núcleos、multicomputação e sem memória partilhada
  • A necessidade da troca de mensagens

Arquiteturas de Software

  • A arquitetura de software define como os componentes de software são organizados, interagem e formam um sistema
  • Um componente é uma unidade modular com uma interface de acesso que pode ser substituída
  • A substituição de componentes requer que a interface de acesso permaneça inalterada

Arquitetura por Camadas

  • A arquitetura por camadas organiza os componentes hierarquicamente, permitindo que cada componente invoque componentes inferiores
  • As chamadas a camadas superiores são excecionais
  • Modelos de Arquiteturas: Modelos Puros、Serviço Utiliza outros niveis、uma camada é uma chamada sucessiva

Arquiteturas baseadas em Objetos e orientadas a serviços

  • Componentes como objects: Conectados por mecanismo, processo podem ocorrem numa rede
  • Simple Object Access Protocol (SOAP)
  • Os objetos Encapsulam dados pode ser acedidos através de métodos
  • O objeto independente: interface numa máquina, enquanto objeto está armazenado noutra:objeto distribuído
  • o cliente faz bind numa interface chamada de proxy, surgindo do lado do servidor uma entidade complementar, o skeleton. – O servidor (disponibilizada noutras máquinas) :objetos remotos
  • SOAs: serviço independente: service-oriented architectures

Arquiteturas Baseadas

  • Grande coleção de recursos geridos:Representational State Transfer(REST
  • Recursos com identificadores exclusivo
  • Todos os recursos oferecem a mesma interface:quatro operações (PUT、GET、DELETE e POST.)
  • After executar uma operação, o componente não esquece de quem chamou (Stateless execution)
  • Cria armazenamento simples da Amazon
    • objecto é enviado um pedido PUT através do protocolo HTTP com URI
  • REST podem em alguns cenários elevar a complexidade da implementação
  • Variedade de operações arquitetura SOAP e detetar erros em tempo de compilação:REST, erros apenas detetáveis ​​em tempo de execução

Arquiteturas Publish-Subscribe

  • Redução das dependências entre processos、processamento e coordenação
  • a coordenação variar de acordo com o acoplamento referencial e o acoplamento temporal entre dois processos
  • tipos de serviços:publicar e subscrever notificações. Subscrever notificações:middleware garante
  • Quando:uma memória partilhada. Neste:tuplos (estrutura de dados contém(escrever tuplos、os obter、padrão de pesquisa)
  • arquitecturas:publish-subscribe, desacoplamento referencial, comunicação com descrições de evento
  • A implementação desta arquitetura varia de acordo com o tipo de notificação
  • Tem a opção de eliminar de seguida os dados publicados pelo processo stateless

Organizações de Middleware

  • Tem separa as aplicações e as plataformas subjacentes: garantir a transparência

  • amplia ou adaptar a aplicação no middleware e alterações"em andamento”

  • adpatações padrões

    • wrappers (adapter)
      • интерфейса fornece interface corresponde às necessidades do cliente, converte(interfaces、estrutura)
    • brokers -middleware gerir os acesso entre as várias aplicações em S3

Estrutura Interceptor

  • um software quebras o fluxo normal de controlo e permite a execução de outro código.

  • Um objeto A invocar um método de objeto B: numa máquina diferente do primeiro

    • interfaces
    • chamada de A é transformada num objeto genérico
    • mensagem enviada pela rede
  • objecto B: request-level interceptor

  • cada chamada de um objeto remoto tem que :message-level interceptor(auxiliando a invocação;fragmentação)

  • Todos os “desvios” transparentes ao fluxo de execução

Arquiteturas de sistema

  • concretização:componentes de software numa máquina real(arquitecturas de sistema)

  • organizações centralizadas(modelo cliente/servidor): servidor implementa e cliente o serviço providenciado

    • O взаимодействие baseia-se na troca de mensagens
    • Conectados num ambiente wide-area
    • realizar em duplicado sem prejudicar o normal funcionamento do sistema se dizem-se idempotentes

Arquiteturas Multicamadas

Sistema divide -se em três camadas: interface do utilizador、o processamento e os dados Tipos de distribuição a: Manter apenas a parte da interface dependente do terminal,acplicação controlo remoto o os dados(thin client) b: front end -processamento necessário interface c: aplicação: formulário,validação é feita lado d: A interface e aplicação do lado do cliente e base de dados no servidor(fat client) e: Tudo do lado do cliente, sendo apenas a base de dados parcialmente implementada no servidor (fat client) O Thin Client :Evitar: compatibilidade com a plataforma subjacente, leva ao desenvolvimento de várias versões Distribuição física do sistema: interface、aplicação e base de dados O servidor web encaminha os pedidos a um servidor de aplicação

Sistemas Peer-to-Peer Descentralizadas

  • a organização multitiered:distribuição vertical do sistema(camadas da arquitetura por várias máquinas) Distruibuição horizontal se camadas:peer-to-peer
  • Interação simétrica:servant (cliente e servidor em simultâneo).
  • Organização dos processos numa rede de overlay

Sistemas Estruturados

  • topologia de organização que: obter a informação
  • semantic-free, cada pedaço de informação: chave,função de hash.
  • Pares (chave, valor): distributed hash table:a função de lookup() devolve

Sistemas Não Estruturados

  • cada possui informação ad hoc1、grafos aleatórios
  • Cada nó(A lista é atualizada): porque:conexão perde /Outros
  • A procura:Flooding / Random Walks Evitar o ciclo: TTL diminui ao longo de processo A eficácia: aumenta se o nó tiver packes para n(factor n é reduzida o tempo da busca)

policy-based search methods:

  • manter informação (queries positivas,encaminhamentos futuros)
  • dar preferência aos nós vizinhos(mais hipóteses) Super peers: nós para super peers é geralmente organizam-se em rede(surge a hierarquia)
  • Os nós regulares(weakpeers) :mediadores das comunicações

Arquiteturas Híbridas and Localizaçãoノ Redes Edge

  • Híbridas:combinações Arquiteturas de sistemas
  • Sistemas edge-server(servidores no limite da rede)
    • distribuição de conteúdos:servidor auxílio e armazena outros conteúdo dos dados
  • Internet: tem vários servidores limite

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Distributed Systems Types Quiz
13 questions

Distributed Systems Types Quiz

WellPositionedSugilite4494 avatar
WellPositionedSugilite4494
Developing Distributed Systems Quiz
5 questions
Introduction to Distributed Systems
30 questions
Use Quizgecko on...
Browser
Browser