Você está na página 1de 7

INSTITUTO FEDERAL DO NORTE DE MINAS GERAIS

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES

JANUÁRIA - MG,
14 de Abril de 2022.
NSTITUTO FEDERAL DO NORTE DE MINAS GERAIS

MULTIPROCESSAMENTO E MULTICOMPUTADORES

Docente: Elivaneth Osório

JANUÁRIA - MG,
14 de Abril de 2022.
Introdução

Após a explosão das criptomoedas e NTFs no país, dois tema foi trago à tona para
os cidadãos brasileiros: multiprocessamento e multicomputação. Afinal, por que é
necessário tantos processadores em um único computador? Ou melhor, por que são
necessários diversos computadores para executar uma tarefa?
Dessa forma, o intuito do presente trabalho é abordar ambos os temas de forma
clara e objetiva a fim de explicitar os casos de uso destas tecnologias.

1.0. Multiprocessamento

O multiprocessamento é o ato de utilizar um ou mais processadores físicos em um


sistema a fim de executar N tarefas de forma simultânea em um computador, ocasionando
assim em uma maior performance da máquima.
Seu uso é bastante explorado em servidores e máquias as quais são mais
suscetíveis a trabalhos pesados e rigorosos. Porém, em computadores domésticos da
contemporaneidade já existe o multiprocessamento de uma forma mais simplificada.

1.1. Multitarefa

Diferentemente do multiprocessamento, a multitarefa é apenas o ato de executar


diversas tarefas. Ou seja, o ato do processador criar uma fila de tarefas a serem
executadas. Contudo, o multiprocessamento se difere por realizar o paralelismo e a
simultaneidade na execução dessas tarefas.

1.2. O que caracteriza o multiprocessamento?

Apesar das definições supracitadas, para que um computador seja considerado


como multiprocessador, é necessário que todos os processadores compartilhem uma única
memória e um único sistema operacional. Isto é, apesar de existirem vários processadores
em um sistema, eles necessariamente devem procurar suas instruções na mesma memória
para manter o sistema sincronizado e mais performático.
Na esteira desse raciocínio, o sistema operacional deve ser único, pois ele e seu
conjunto de softwares que vão alocar espaços na memória para que os processadores
organizem-se entre si para a execução. Dessa forma, o sistema operacional deverá ser
capaz de suportar a multitarefa e de manter múltiplas filas de processos, um para cada
processador.

1.2. Arquitetura

Os sistemas de multiprocessamento podem apresentar duas principais arquiteturas


em sua execução, sendo elas: o multiprocessamento simétrico (SMP) e o acesso não
uniforme à memória (NUMA).

Multiprocessamento Simétrico: Todos os processadores utilizam a mesma memória,


contudo os caches são separados. Com isso, o sistema operacional deve se encarregar de
sincronizar os caches e evitar corridas à memória RAM.
Acesso não Uniforme à Memória: Cada processador possui seu próprio banco de
memória e o sistema operacional deve ser capaz de tratar cada banco separadamente, pois
cada banco possui um acesso distinto.

1.2.1. Simetria dos Processadores.

Quando se trata de multiprocessamento, o cenário ideal ocorre quando os


processadores são simétricos, quando os processadores são parecidos (de uma mesma
marca de modelo) e é utilizado um sistema operacional que lida bem com
multiprocessamento (como distribuições Linux).
Porém, também há casos de multiprocessamento assimétrico quando os
processadores são distintos. Isso ocasiona níveis de acesso distintos à memória, formas de
acesso ao hardware, comunicação com o sistema operacional e diversos outros
transtornos.

1.2.2. Sistema Master/Slave

Como dito anteriormente, para que haja o multiprocessamento, os processadores


devem compartilhar uma memória entre si e também trabalharem juntos. Entretanto, há a
existência de uma arquitetura denominada "master/slave", onde um dos processadores do
sistema é determinado como o "mestre" sendo o responsável de atribuir tarefas aos outros
processadores do sistemas, os "escravos".
Nesse caso, os processadores utilizam a memória de forma independente e podem
serem assimétricos, ou seja, com velocidades e arquiteturas diferentes, além de ser uma
arquitetura muito utilizada em sistemas legados.

1.2.3. Acoplamento de Processadores

No que diz respeito ao multiprocessamento, temos também o nível de acoplamento


dos processadores do sistema, sendo eles fortemente acoplados ou vagamente acoplados.

Fortemente Acoplados: Neste cenário, os processadores são conectados em um mesmo


nível de barramento, além de dividirem (ou não) uma memória RAM. É bastante comum em
processadores multicore e multithread.

Vagamente Acoplados: Aqui, os processadores são interconectados em comunicações de


altíssimo desempnho a fim de dividir o processamento entre si. Dessa forma, causando
menos eficiência energética devido ao enorme gasto de energia com mais máquinas. Ainda
assim, este é o único caso onde as máquinas podem executar sistemas operacionais
diferentes.

2.1. Paralelismo

Paralelismo é a capacidade de um computador de realizar diversas tarefas ao


mesmo tempo, visando assim aumentar a eficiência, desempenho e também diminuir o
tempo necessário para realizar suas atividades. Ele é possível graças ao trabalho de vários
processadores em uma máquina, ou até mesmo de vários núcleos trabalhando juntos
dentro de um mesmo processador. Além disso, o paralelismo pode apresentar diversos
níveis.

2.1.1. Níveis de paralelismo

O paralelismo pode apresentar três níveis, do nível mais baixo ao mais alto, sendo
eles: nível de instrução, tarefa e processos.

Nível de instrução: Há a possibilidade de instruções serem reordenadas e combinadas,


para serem realizadas em paralelo, isso sem afetar o resultado final do programa. Este nível
de paralelismo está presente em arquiteturas de pipelines, superescalares, e VLIW. Este é o
nível mais baixo.

Nível de tarefa: Desta vez, as tarefas são divididas e seus cálculos são realizados no
mesmo ou diferentes conjuntos de dados. Este processo ocorre entre tarefas e arquiteturas
SMT (Simultaneous MultiThreading). Nível intermediário.

Nível de processos: Agora, processos inteiros são distribuídos por diversos


processadores. Este nível ocorre em computação paralela, multicomputadores e
multiprocessadores Este é o nível mais alto de paralelismo.

3.0. Multicomputadores

Assim como o nome sugere, um multicomputador é o conjunto de diversos


computadores interligados entre si por meio de uma rede. Em cada um dos computadores
que está interligado, processadores realizam cálculos e comunicam entre si, possibilitando a
divisão de trabalho entre eles, logo, resultando num melhor desempenho e a diminuição do
tempo para a realização de uma atividade. Além disso, os multicomputadores podem ser
divididos em duas categorias: MPP (Massively Parallel Processors) e COW (Cluster of
Workstations).

Massively Parallel Processors (MPP): São multicomputadores compostos por inúmeros


processadores ligados através de uma rede de alta velocidade.

Cluster of Workstations (COW): Esta estrutura trata-se de computadores comuns


conectados a partir de uma rede tradicional. Todas essas máquinas conectadas formam um
único computador, e cada computador dentro dessa rede é chamado de nó (node). Quanto
aos nós, existem duas categorias: simétricos e assimétricos. Os nós simétricos possuem as
mesmas especificações, já os assimétricos podem assumir diferentes configurações.

4.0. Supercomputadores

Supercomputadores são aqueles computadores que possuem uma grande


capacidade de processamento, com o poder de realizar cálculos complexos e tarefas
intensas. Eles normalmente são utilizados para fins de pesquisas científicas, em áreas
como: física quântica, mecânica, meteorologia, modelagem molecular e em vários outros
aspectos. Um exemplo de um supercomputador aqui no Brasil é o supercomputador
“Dragão”, da Petrobras, utilizado para várias análises para a extração de petróleo.

5.0. Conclusão

Neste trabalho, abordamos os temas de multiprocessamento e multicomputadores,


suas funcionalidades, seus casos de uso, sua arquitetura, sua junção e concluímos
sabendo o quão importante essas tecnologias são para a sociedade.
Ademais, a ampla pesquisa sobre o tema trouxe conhecimentos mais aprofundados
sobre o funcionamento de algumas arquiteturas de computadores que possuem mais de um
processador ou em arquiteturas onde são utilizados mais de um computador.
Por conseguinte, espra-se que este trabalho sirva de objeto de estudos para
pessoas que queiram desenvolver os fundamentos do multiprocessamento e
multicomputacão.
6.0. Referências Bibliográficas

Júnior, E. S. M. et al. MÁQUINAS PARALELAS: MULTICOMPUTADORES. Juazeiro/BA,2018.


Disponível em
<https://www.docentes.univasf.edu.br/max.santana/material/aoc-ii/SistemasMulticomputadores.pdf>
acesso em 13 de abril de 2022.

Multiprocessamento. In: WIKIPÉDIA: a enciclopédia livre. [São Francisco, CA: Fundação


Wikimedia]. 2017. Disponível em <https://pt.wikipedia.org/wiki/Multiprocessamento> acesso em 13
de abril de 2022.

Você também pode gostar