Escolar Documentos
Profissional Documentos
Cultura Documentos
Luanda, 2023
Parque do Saber do MTTI, ISUTIC, Bairro dos CTT´s KM 7, Rangel-Luanda, Contactos: www.isutic.gov.ao
INSTITUTO DE TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO (INSTIC)
COORDENAÇÃO DO CURSO DE ENGENHARIA DE TELECOMUNICAÇÕES
Ano: 5o
Autores: Nº Processo:
Dário E. Prazeres 2130
Eduane V. Domingos 2142
Érica D. Bonito 1524
José N. Matazi 2184
Josué K. Mbunga 2186
Luanda, 2022
Parque do Saber do MTTI, ISUTIC, Bairro dos CTT´s KM 7, Rangel-Luanda, Contactos: www.isutic.gov.ao
Índice Geral
Pág. III
Objetivo Geral
Objetivos específicos
Pág. IV
1. Introdução
Os sistemas distribuídos e paralelos são duas das principais formas de se obter um alto
desempenho computacional em aplicações de processamento de dados em larga escala. Enquanto os
sistemas distribuídos são caracterizados pela presença de múltiplos componentes interconectados
em diferentes locais geográficos, os sistemas paralelos se caracterizam pela utilização de múltiplos
processadores trabalhando em conjunto para executar tarefas em paralelo. Neste trabalho,
discutiremos em detalhes os principais conceitos relacionados a cada um desses sistemas, bem como
suas principais aplicações em diferentes áreas da computação.
Pág. 1
2. Sistemas Distribuídos
Pág. 2
Entre as principais aplicações dos sistemas distribuídos, destacam-se:
Redes sociais: As redes sociais como Facebook, Twitter e LinkedIn são exemplos de sistemas
distribuídos que permitem que usuários de diferentes locais geográficos se conectem e
compartilhem informações em tempo real.
Escalabilidade: os sistemas distribuídos precisam ser escaláveis, ou seja, precisam ser capazes
de lidar com um grande número de usuários e recursos, sem comprometer o desempenho.
Segurança: os sistemas distribuídos precisam ser seguros, ou seja, precisam garantir a proteção
dos dados e serviços contra acessos não autorizados e outras ameaças.
3. Sistemas Paralelos
Pág. 4
Os sistemas paralelos são fundamentais nessa área para acelerar o processamento de grandes
volumes de dados e reduzir o tempo de simulação.
Escalabilidade: os sistemas paralelos precisam ser escaláveis, ou seja, precisam ser capazes de
lidar com um grande número de processadores e tarefas, sem comprometer o desempenho.
Pág. 5
5. As arquiteturas distribuídas e paralelas
Figura 3 - Um cluster
Pág. 6
Além disso, as arquiteturas distribuídas e paralelas podem ser utilizadas em conjunto para obter
ainda mais benefícios, como o aumento da capacidade de processamento e a redução do tempo de
resposta. Por exemplo, é possível utilizar clusters de computadores interconectados em rede para
implementar arquiteturas paralelas distribuídas, permitindo que tarefas sejam distribuídas entre os
diferentes processadores.
Existem diversas arquiteturas distribuídas e paralelas que podem ser utilizadas na computação
atual. Algumas das mais comuns são:
Arquitetura peer-to-peer: Nessa arquitetura, todos os nós da rede são iguais e têm a
capacidade de agir como cliente e como servidor. Os nós podem compartilhar recursos, dados e
serviços entre si, sem a necessidade de um servidor centralizado. Essa arquitetura é comumente
utilizada em sistemas de compartilhamento de arquivos e em redes sociais descentralizadas.
Pág. 7
Figura 5 - Arquitetura peer-to-peer
Sistemas de processamento de dados em larga escala: Esses sistemas são utilizados para
processar grandes volumes de dados, tais como dados de redes sociais, registros médicos, dados de
vendas e finanças. As arquiteturas distribuídas e paralelas permitem que esses sistemas processem
dados em paralelo, reduzindo significativamente o tempo necessário para processar grandes volumes
de dados.
Pág. 8
Sistemas de inteligência artificial: Esses sistemas são utilizados para analisar dados
complexos, tais como imagens, fala, texto e dados de sensores. As arquiteturas distribuídas e
paralelas permitem que esses sistemas processem grandes volumes de dados em paralelo, reduzindo
significativamente o tempo necessário para treinar e executar modelos de aprendizado de máquina.
Sistemas de jogos online: Esses sistemas são utilizados para fornecer serviços de jogos online,
tais como jogos multiplayer e jogos em tempo real. As arquiteturas distribuídas e paralelas permitem
que esses sistemas processem informações em tempo real, fornecendo uma experiência de jogo
suave e sem interrupções.
Pág. 9
A comunicação em sistemas distribuídos e paralelos envolve o envio e recebimento de
mensagens entre os processos ou nós que compõem o sistema. A comunicação em sistemas
distribuídos pode ser feita de várias maneiras, incluindo:
Barreiras: As barreiras são uma técnica de sincronização usada para garantir que vários
processos cheguem a um determinado ponto de sincronização antes de prosseguir para a próxima
etapa da execução. Uma barreira é um ponto de sincronização que todos os processos devem
Pág. 10
alcançar antes de continuar a execução. As barreiras são úteis para garantir que os processos não
prossigam para a próxima etapa da execução antes que todos estejam prontos.
Esses mecanismos são usados para garantir que diferentes processos executem em sincronia e
cooperem para concluir uma tarefa específica.
Além disso, a segurança é outro desafio em sistemas distribuídos e paralelos. Como esses
sistemas são compostos por vários processos em diferentes máquinas, é necessário garantir que os
dados sejam protegidos contra acesso não autorizado ou violações de privacidade.
Pág. 11
7. Conclusão
Os sistemas distribuídos e paralelos são uma solução eficiente para lidar com o
processamento de grandes volumes de dados e com o aumento da demanda por processamento
em tempo real. No entanto, a implementação desses sistemas apresenta diversos desafios, como
a comunicação e sincronização entre os componentes, o gerenciamento de recursos e a tolerância
a falhas.
Para garantir a eficiência e a segurança desses sistemas, é importante que sejam adotados
mecanismos eficientes de comunicação e sincronização, e que os recursos sejam gerenciados de
maneira adequada. Além disso, é fundamental que o sistema seja capaz de lidar com falhas de
hardware e software sem interromper o processamento, para garantir a disponibilidade dos
serviços.
Em suma, os sistemas distribuídos e paralelos são uma solução eficiente para lidar com
o processamento de grandes volumes de dados e com a demanda por processamento em tempo
real. No entanto, sua implementação requer cuidados especiais para garantir a eficiência e a
segurança dos serviços oferecidos.
Pág. 12
8. Bibliografia
Coulouris, G., Dollimore, J., & Kindberg, T. (2011). Sistemas distribuídos: conceitos e
projeto. Porto Alegre: Bookman.
Tanenbaum, A. S., & van Steen, M. (2007). Sistemas distribuídos: princípios e
paradigmas. São Paulo: Prentice Hall.
Mateos, C. F., García-Martínez, R., García-Galán, S., & Ríos-Navarro, A. (2019). Uma
Visão Geral de Sistemas Distribuídos e Paralelos. In Computação de Alto Desempenho
para Big Data: Metodologias e Aplicações (pp. 23-42). Springer, Cham.
Ozsu, M. T., & Valduriez, P. (2011). Princípios de sistemas de banco de dados
distribuídos. São Paulo: Pearson Prentice Hall.
Foster, I. (2015). Projetando e Construindo Programas Paralelos: Conceitos e
Ferramentas para Engenharia de Software Paralelo. Bookman Editora.
Stonebraker, M. (2010). A arquitetura de um sistema de banco de dados paralelo. In
Sistemas Gerenciadores de Banco de Dados (pp. 535-551). Bookman.
Coulouris, G., Dollimore, J., & Kindberg, T. (2013). Sistemas Distribuídos: Conceitos e
Projeto. Bookman Editora.
Tanenbaum, A. S., Steen, M. V., & Tanenbaum, A. S. (2007). Sistemas Distribuídos:
Princípios e Paradigmas. Pearson Prentice Hall.
Pág. 13