Sie sind auf Seite 1von 6

RESUMO MICROPROCESSADOS

Paralelismo (slides do professor)


3 opoes para ganhar desempenho em programas:
Melhorar o ambiente de execuo;
Melhorar o algoritmo;
Paralelizao;

Usar paralelismo por:
Tempo/dinheiro;
Limite da computao sequencial;
Soluo de grandes problemas;
Alocao de recursos;
Arquiteturas esto mudando;

Computao Sequencial:
Programa executa em uma nica CPU ;
Dividido em uma srie de instrues;
Executadas uma aps a outra ;
Apenas uma instruo executada por vez;

Computao Paralela
Utilizao de mltiplos recursos computacionais para resolver um determinado problema.
Mltiplas CPUs
Problemas so divididos para serem executados simultaneamente

Medidas de Desempenho
Fator de acelerao (speedup) : o fator de acelerao da verso paralela em relao
sequencial
Quantifica o ganho de desempenho
Calculando-se o speedup, temos quantas vezes a verso paralela mais rpida que a
sequencial
Calculado para cada processo
Speedup ideal: com x processos, x vezes mais rpido
Gera uma curva em um grfico

Eficincia (efficiency)
Indica se os recursos esto sendo bem utilizados
Razo entre o speedup e o nmero de processos utilizados
Idealmente, cada unidade deveria ter ficado 100% ativa
Devido aos custos de comunicao, processamento, inicializao, esta eficincia ideal
no alcanada

Desequilbrio de carga
Distribuio do trabalho entre os recursos
O trabalho deve ser distribudo de forma a ocupar sempre todos os processos
Isto no ocorre quando alguns processos possuem muito mais carga que outros
Sub-utiliza uns, sobrecarrega outros
Perda de desempenho (desperdcio de poder computacional)
M diviso do trabalho, execuo em ambientes heterogneos, etc
Tcnicas de balanceamento de carga


Pipeline
A idia de pipeline a mesma da produo em srie em uma fbrica: "quebrar" a produo de
alguma tarefa em pequenas tarefas que podem ser executadas paralelamente.

Quantos estgios?
dois estgios passem a gastar mais tempo de execuo do que o estgio original
Caminho Crtico?
Dependncia entre Instrues
Estgios esperando, I2 depende de 11. Desvio pioram a situao

Super Escalar
Vrios pipelines para a CPU
Execuo literal de vrias instrues ao mesmo tempo
Paralelismo em nvel de instrues
Instrues independentes entre si

Programao de Multiprocessadores
Modelo de programao:
Mltiplas threads compartilhando dados
Aspecto crtico:
sincronizao quando diferentes tarefas acessam os mesmos dados
Ferramentas para programao:
linguagens concorrentes (Ada, SR, Java ...)
linguagens seqenciais + extenses/biliotecas (OpenMP, Pthreads, Cilk, HPF)

Programao de Multicomputadores
Modelo de programao:
troca de mensagens entre tarefas cooperantes
Aspectos crticos:
Comunicao e distribuio dos dados (balanceamento de carga)
Ferramentas para programao:
Linguagens sequenciais + extenses/bibliotecas
MPI (C,C++,Fortran,Java), PVM, Java+RMI
Memria compartilhada distribuda:
Linda, Threadmarks

SISD
Classe que representa os computadores convencionais(seriais).
As instrues so executadas serialmente, porem os estgios ( busca de instruo,
decodificao, busca do operando e execuo)podem ser sobrepostos (pipeline) .
Pode-se saber o que est ocorrendo exatamente em cada instante de tempo e reproduzir o
processo passo a passo mais tarde.
O computador consiste de UCP que recebe um fluxo simples de instrues e opera sobre um
simples fluxo de dados .
Exemplo : Computadores Baseados no Modelo de Von Neumann




SIMD
SIMD = nico fluxo de instrues, mltiplo fluxo de dados;
Algumas caractersticas: simplicidade de conceitos e programao, regularidade da estrutura,
facilidade de escalabilidade em tamanho e desempenho;
Existem duas categorias: processadores matriciais e processadores vetoriais;
Os vetoriais so mais bem sucedidos comercialmente que os matriciais. Isso deve-se ao fato
de que um processador vetorial uma arquitetura de uso geral, capaz de executar todas as
operaes escalares normais;
Os matriciais no implementam funes escalares e, so configurados como perifricos
de outras arquiteturas para a execuo da parte vetorial dos programas;
ENDEREAMENTO DE VETORES:
Podem ser de 3 maneiras: - Acesso contguo; - Acesso no contguo; - Acesso esparo;
Na prtica, poucos computadores vetoriais so construdos com ULAs paralelas, por
razes econmicas;
O mtodo mais utilizado a combinao de processamento vetorial com arquitetura pipeline;

MISD
MISD uma arquitetura de computao paralela, onde muitas unidades executam operaes
sobre o mesmo dado;
O mesmo fluxo de dados transmitido atravs de um conjunto de processadores que
executam diferentes fluxos de instrues.
Cada processador opera sob o controle de uma sequncia de instrues emitidas pela unidade
de controle;
isso significa que os processadores funcionam normalmente de forma assncrona.
Computadores MISD, podem analisar o mesmo conjunto de dados utilizando vrias operaes
diferentes ao mesmo tempo, onde o nmero de operaes depende do nmero de
processadores disponveis.
Exemplos :
Mltiplos filtros de freqncia operando sobre um nico fluxo de sinal;
Mltiplos algoritmos de criptografia para decodificar uma mensagem.

MIMD
So divididos em dois tipos:

Multiprocessadores
Todos os processadores tem acesso ao mesmo espao de endereos na memria.
Simples comunicao entre processo
Semelhante mltiplos processadores em uma mquina von Neumann tradicional
Podem ser classificados quanto a distncia dos processadores memria, e quanto aos
esquemas de coerncia de cache.
So conectados memria atravs de uma rede de interconexo.

UMA
O tempo para o acesso aos dados na memria o mesmo para todos os processadores a para
todas as posies da memria
Tambm so chamadas de SMP
Forma de interconexo mais comum o barramento
Memria geralmente implementada com um nico mdulo
Principal problema que o barramento e a memria tornam-se gargalos para o sistema,
limitando a uma nica transferncia por vez



NUMA
Memria geralmente distribuda e portanto implementada com mltiplos mdulos
Cada processador est associado a um mdulo, mas o acesso aos mdulos ligados a outro
processador possvel
O espao de endereamento comum a todos os processadores
A latncia para ler ou escrever na memria pertencente a um outro processador maior que a
latncia para o acesso memria local

COMA
Assemelham-se a uma arquitetura NUMA
cada n de processamento possui uma parte da memria global.
O particionamento dos dados entre as memrias de cada n no esttico
As memrias funcionam como caches de nvel 3.
Coerncia conseguida em hardware
A arquitetura bastante complexa
Mquinas possuem um custo elevado.


Multicomputadores
Essas mquinas caracterizam-se pelo fato de que cada processador enxerga somente a sua
prpria memria. Para a troca de mensagens e dados preciso o envio de requisies atravs
da rede de interconexo.
Existe 3 tipos de classificao de classificao dessas mquinas referente ao seu
compartilhamento
MPP: So multicomputadores compostos por um grande nmero de processadores,
fortemente acoplados atravs de uma rede de alta velocidade.
COW: Tambm chamadas de NOW , essas mquinas so construdas a partir de computadores
comuns (PCs) ligados por redes de interconexo tradicionais.
A organizao da memria em um mdulo nico causa problemas devido a possibilidade de
vrios acessos de muitos processadores.
O ideal seria a possibilidade de cada processador acessar todas as posies da memria sem a
ocorrncia de ciclos de espera. Para aumentar a capacidade de acessos simultneos memria
implementa-se memrias entrelaadas. O entrelaamento permite que vrios mdulos
operem em paralelo atendendo a requisies de vrios processadores.
O entrelaamento pode ser feito de 3 formas:
Considere uma memria com 2n endereos. No primeiro tipo de entrelaamento, a parte
mais significativa do endereo (com m bits) utilizada para a especificao do mdulo (2m
mdulos) ao qual o restante do endereo se refere. No segundo tipo de entrelaamento, a
parte menos significativa do endereo (com m bits) utilizada para a especificao do mdulo
(2m mdulos) ao qual o restante do endereo se refere.
As principais caractersticas no entrelaamento da parte mais significativa: facilidade de
expanso da memria;a falha em um mdulo afeta uma regio especfica de endereos;maior
possibilidade de trfego para um mesmo mdulo em arquiteturas pipeline, vetoriais e
multiprocessadores SIMD, devido a concentrao dos dados em um mesmo mdulo.
As principais caractersticas no entrelaamento da parte menos significativa:
os conflitos por acesso ao mesmo mdulo ficam reduzidos pois os dados geralmente ficam
distribudos ao longo de vrios mdulos;
a falha em um mdulo afeta toda a memria do sistema.



REDES DE INTERCONEXAO
Escalabilidade: possibilidade de acrscimo de dispositivos sem a necessidade de alterao das
caractersticas da rede;
- Desempenho: est relacionado com as distncias envolvidas e com o nmero de operaes
simultneas. O desempenho tem como mtricas a latncia e a taxa de transferncia. A
primeira corresponde ao tempo necessrio para a transferncia dos dados e a segunda
representa a quantidade de dados que podem ser comunicados por unidade de tempo. Uma
outra questo com impacto no desempenho se a rede unidirecional ou bidirecional;
Custo: basicamente proporcional ao desempenho desejado e ao nmero de ligaes
existentes;
- Confiabilidade: especifica a capacidade de comunicao da rede mediante falha em alguma
ligao. Est associada com a existncia de caminhos redundantes entre os componentes;

REDES ESTATICAS
So as que especificam uma ligao direta dedicada entre dois componentes quaisquer. Muito
utilizada em multicomputadores. O nmero de ligaes diretas de cada componente define o
grau do n.
A maior distncia (em nmero de ligaes) entre dois componentes quaisquer chamada de
dimetro da rede.

REDES DINAMICAS
Corresponde s redes em que as conexes so feitas sob demanda. No existem ligaes fixas
entre os componentes. So as mais utilizadas em multiprocessadores.
Podem ser classificadas em 3 tipos:
Barramento O barramento a forma mais simples de conexo mas tem como grande
desvantagem o compartilhamento do mesmo meio fsico por parte de todos os elementos do
sistema.
Matriz de chaveamento A matriz de barramento uma alternativa no bloqueante de
interconexo. Quaisquer elementos podem ser interligados dinamicamente mas esta
caracterstica originada na grande disponibilidade de hardware, o que se reflete em um alto
custo do sistema para um grande nmero de processadores.
Rede multinvel As redes multinvel so uma variao das matrizes de chaveamento, de
maneira que se possa utilizar matrizes de chaveamento padro (2 x 2, por exemplo) para a
interconexo dos elementos.

ROTEAMENTO DE MENSAGENS
A ligao entre dois elementos quaisquer em uma rede normalmente indireta, existem ns
intermedirios no caminho do n origem para o n destino.
Existem duas formas bsicas de conduzir as mensagens:
Chaveamento de circuito :caminho de conexo estabelecido e somente aps a mensagem
enviada
Chaveamento de pacotes :as mensagens no seguem um caminho pr- definido ao longo dos
ns da rede. A cada n atingido pela mensagem um novo n de destino escolhido, ajuda a
deixar os algoritmos de roteamento mais dinmicos.

Das könnte Ihnen auch gefallen