Arquitetura Paralela e Distribuída

Começar. É Gratuito
ou inscrever-se com seu endereço de e-mail
Arquitetura Paralela e Distribuída por Mind Map: Arquitetura Paralela e Distribuída

1. Threads

1.1. Cada fluxo de execução dos processos é chamado de Thread. Uma thread é chamada também de mini-processos. Cada thread executa sua própria porção de código. Em Java, pode se orientar uma thread a executar uma função de um sistema Orientado a Objetos. Assim atribuindo mais uma vez o conceito de dividir para conquistar. Quanto mais granular for o processamento mais rápido este poderá ser completado.

2. Processos

2.1. Processadores virtuais utilizados para executar os algoritmos das aplicações. O sistema operacional é responsável por organizar e realizar possíveis correções.

2.2. Sistema operacional "Chaveia" entre os processos — assim criando a sensação de multitarefa em sistemas de monoprocessamento, batch. Também é realizado o armazenamento de estados e a troca de dados entre disco rigido e memória. Memória de 1º e 2º nível, mais rápida e mais lenta. RAM e HDD.

2.3. Fluxos de Execução

2.3.1. Único Fluxo: Há Perda de desempenho pois o sistema fica aguardando o termino do acesso ao disco para processar o próximo item da fila de execução.

2.3.2. Vários Fluxos de execução: Melhor throughput

3. Virtualização

3.1. Abstrai o hardware a um sistema de nível virtual em um sistema já existente, que controla um hardware físico.

3.1.1. utilizando-se de virtualização é possível reduzir custos com diversos computadores e sistemas específicos a um único hardware que entrega a todos os serviços de forma a utilizar todos os recursos físicos.

3.1.2. Hypervisior: Software que serve de base, para múltiplas máquinas virtuais em um hardware, excluindo a necessidade de se instalar um nível a mais de abstração: o sistema operacional. O Hypervisior fornece uma forma mais direta às VMs ao hardware existente.

4. Definição: "conjunto de computadores independentes entre si que se apresenta a seus usuários como um sistema único e coerente"

5. Tipos:

5.1. Sistemas Pervasivos

5.1.1. Dispositivos de computação móvel

5.1.1.1. Pequenos

5.1.1.2. Alimentação por bateria

5.1.1.3. Mobilidade

5.1.1.4. Wireless

5.1.2. IoT

5.2. Sistemas de Computação

5.2.1. Cluster

5.2.1.1. Agrupamento de diversos computadores de uma forma distribuída, via rede, para aumentar a potencia, multiprocessamento, para a execução de uma aplicação de forma mais eficiente. É utilizado para a execução de uma simples aplicação em áreas como pesquisa, render, data mining.

5.2.2. Cloud

5.2.2.1. Cluster oferecido por determinados fornecedores através da internet, com a maior capacidade de interoperabilidade, custeio dinâmico, com segurança garantida em sua maior parte. Altamente escalonável, altamente gerenciável. Com se quer algum esforço físico.

5.2.3. Balanceamento de Carga

5.2.3.1. No mínimo dois computadores são utilizados para realizar o balanceamento de carga das requisições externas. balanceando corretamente a carga entre os servidores internos. Quanto mais requisições maior a necessidade de equilibrar entre os servidores existentes. É utilizados em Clusters e Cloud, sendo considerado uma boa pratica, em comparação ao acesso direto ao servidor.

5.3. Sistemas de Informação

5.3.1. Sistemas empresariais desenvolvidos para integrar diversas aplicações individuais,

5.3.1.1. Caracteristicas

5.3.1.1.1. Atomico: Único para o que for exterior ao sistema.

5.3.1.1.2. Consistente: Deve ser Íntegro. Responder as chamadas sem a falta de informação ou corrompimento de dados.

5.3.1.1.3. Isolado: Chamadas ou transações deve ser isoladas, jamais interferindo uma na outra.

5.3.1.1.4. Duráveis: toda informação deve ser armazenada

5.3.1.2. Processamento de Transações: É realizada através de um monitor de transações, que permite os agentes externos ver um único e sólido sistema. Este monitor de transação controla e equilibra as requisições entre os múltiplos servidores.

6. Middleware

6.1. Software que se encontra entre o sistema operacional e os aplicativos nele executados. Funcionando de forma essencial como uma camada oculta de tradução. Essencial aos Sistemas paralelos e distribuídos.

6.1.1. Possui acesso aos recursos do Sistema Operacional

6.1.2. Possui transparencia

6.1.3. Possui certa abertura as requisições ao sistema operacional

6.1.4. Possibilita escalabilidade