Você está na página 1de 5

ARQUITETURA

SISD - SINGLE INSTRUCTION, SINGLE DATA


. INSTRUÇÃO ÚNICA, UNICO DADO

<- TRAGEFO INTENSO


<- DESPERDICIO CPU

PROCESSA |

SIMD - SINGLE INSTRUCTION, MULTIPLE DATA


. INSTRUÇÃO UNICA, VARIOS DADOS
. VARIAS CPU
. PROCESSADOR VETORIAL/MATRICIAL

PROCESSA | || ||

<- RUIM PARA COMPUTADORES DE USO GERAL


-> OPERAÇÕES INDEPEDENTES

MISD - MULTIPLE INSCTRUCTION, SINGLE DATA


. MULTIPLAS INSTRUÇÕES, UNICO DADO

MIMD - MULTIPLE INSTRUCTION, MULTIPLE DATA


. MULTIPLAS INSTRUÇÕES, MULTIPLOS DADOS

MULTIPROCESSADOR
.MEMORIA COMPARTILHADA
.FORTEMENTE ACOPLADO
.REDE INTERCONECTADA
.LEITURA E ESCRITA NA MEMORIA
.MESMO SISTEMA OPERACIONAL
.TODOS OS PROCESSADORES ACESSAM TODOS OS DADOS

IMPLEMENTAÇÃO DA MEMÓRIA COMPARTILHADA --

UMA
.UNIFORM MEMORY ACCES
.ACCESSO UNIFORME A MEMÓRIA
.MESMO CLOCK
.UM UNICO BARRAMENTO LIMITA O TAMANHO DO MULTIPROCESSADOR
.SWITCH CROSSBAR
.QUALQUER PROCESSADOR ACESSA QUALQUER MEMÓRIA SEM BLOQUEIO
.O NÚMERO DE PONTOS DE CRUZAMENTO CRESCE EM N^2

NUMA
.NON UNIFORM MEMORY ACCESS
.ACCESSO NÃO UNIFORME A MEMÓRIA

NC-NUMA
.ACESSA A MEMÓRIA REMOTA TODA VEZ QUE NÃO ESTIVER NA MEMÓRIA LOCAL
.BAIXO DESEMPENHO

CC-NUMA
.CACHE COHERENT NUMA
.CACHE COERENTE NUMA
.TEM A VER COM NÓS DE PROCESSAMENTO
.OS NÓS POSSUEM REDE DE INTERCONEXÃO
.MANTER UM BANCO DE DADOS QUE INFORMA ONDE ESTÁ CADA CACHE E EM QUAL
ESTADO ESTÁ

COMA
.CACHE ONLY MEMORY ACCESS
.ACESSO A MEMÓRIA SOMENTE POR CACHE
.ALOCAÇÃO NÃO PERTENCE AO PROCESSADOR
.MEMÓRIA INDIVIDUAL É CHAMADA DE MEMÓRIA DE ATRAÇÃO
.ENCONTRAR E DESCARTAR AS LINHAS DE CACHE

MULTICOMPUTADOR
.MEMÓRIA DISTRIBUIDA
.FRACAMENTE ACOPLADO
.CONECTADO POR REDE
.PASSAGEM DE MENSAGEM
.MULTICOMPUTADORES SÃO MANTIDOS JUNTOS POR REDE DE INTERCONEXÃO
.ARQUITETURAS
.CLUSTER
.CENTENAS/MILHARES DE PCS OU ESTAÇÕES DE TRABALHO CONECTADAS POR
UMA PLACA DE REDE
.CENTRALIZADO
.CONJUNTO DE PCS MONTADOS EM UMA GRANDE ESTANTE EM UMA
ÚNICA SALA
.DESCENTRALIZADO
.CONJUNTO DE PCS ESPALHADOS POR UMA UNIDADE COM UM EDIFÍCIO
OU LABORATÓRIO
.GRADE
.CLUSTER MUITO GRANDE, INTERNACIONAL, FRACAMENTE ACLOPADO E
HETEROGÊNEO
.MPP (MASSIVELY PARALLEL PROCESSORS)
.MILHARES DE NÓS(CPU E MEMÓRIA) INDEPENDENTES, CONECTADOS POR
UMA REDE PROPRIETÁRIA DE ALTA VELOCIDADE
.CPUS PADRONIZADAS COMO SEUS PROCESSADORES
-----
DECOMPOSIÇÃO

PROCESSOS CONCORENTES
.P1 EXECUTA E P2 ESPERA PARA USAR A CPU
.P2 EXECUTA E P1 ESPERA

PROCESSOS PARALELOS
.P1 E P2 EXECUTAM AO MESMO TEMPO

SISTEMA DISTRIBUIDO
.COLEÇÃO DE COMPUTADORES AUTÔNOMOS CONECTADOS POR UMA *REDE DE COMUNICAÇÃO*
QUE É PERCEBIDA PELOS USUÁRIOS COM UM SISTEMA ÚNICO QUE PROVÊ SERVIÇOS

PROGRAMAÇÃO PARARELA PRECISA DE->


.IDENTIFICAÇÃO DO PARALELISMO
.VISÃO NO MÍNIMO BIDIMENCIONAL DA APLICAÇÃO
.DISTRIBUIÇÃO DA CARGA DE TRABALHO
.USO DE NOVAS FERRAMENTAS E PRIMITIVAS DE PROGRAMAÇÃO
.USO DE COMUNICAÇÃO E SINCRONIZAÇÃO

DECOMPOSIÇÃO ->
.DIVIDIR O TRABALHO
.MAPEAR TAREFAS
.DISTRIBUIR DADOS
.GERENCIAR ACESSOS
.SINCRONIZAR PROCESSOS
.QUANTIDADE TOTAL DE TRABALHO = SOMA TUDO
.CAMINHO CRITICO: O CAMINHO QUE A SOMA SEJA MAIOR
.GMC(GRAU MEDIO DE CONCORRÊNCIA) = TOTAL / CRÍTICO
.GRAU MÁXIMO DE CONCORRÊNCIA = MAIOR NUMERO DE PROCESSOS AO MESMO TEMPO ->
MESMA LINHA GERALMENTE

TECNICAS:
.RECURSIVA -> DIVIDIR E CONQUISTAR
.QUICKSORT
1-SELECIONAR UM ELEMENTO(PIVOT) E PARTICIONAR A SEQUÊNCIA
EM DUAS SUBSEQUÊNCIAS: UMA MENOR QUE O PIVO E A OUTRA MAIOR OU
IGUAL.
2-CADA SUBSEQUÊNCIA É ORDENADA PELA CHAMADA RECURSIVA
QUICKSORT.
3-CADA CHAMADA RECURSIVA DIVIDE AINDA MAIS AS SEQUÊNCIAS.
4-A RECURSÃO TERMINA QUANDO CADA SUBSEQUÊNCIA CONTÉM APENAS
UM ÚNICO ELEMENTO.

.DADOS DE ENTRADA, SAÍDA OU INTERMEDIÁRIOS


.PARTICIONAMENTO DOS DADOS DE ENTRADA
.EXEMPLO DO HISTORICO DE COMPRAS | CONJUNTO DE ITENS E A
FREQUÊNCIA DE CADA CONJUNTO
.2 TAREFAS -> DIVIDIR O CONJUNTO DE ITENS QUE QUER ENCONTRAR A
FREQUÊNCIA EM DOIS, E COMPARAR COM O HISTÓRICO INTEIRO EM
CADA METADE DO CONJUNTO.
.4 TAREFAS -> DIVIDIR TUDO EM 2 PARTES. CADA PARTE DO HISTÓRICO
COMPARA COM AS DUAS DO CONJUNTO DE ITENS

.DECOMPOSIÇÃO EXPLORATÓRIA
.BUSCA EM UM ESPAÇO DE SOLUÇÕES
.JOGO DA VELHA
.EXPLORA TODOS OS POSSÍVEIS MOVIMENTOS A PARTIR DE UMA
CONFIGURAÇÃO INICIAL

.DECOMPOSIÇÃO ESPECULATIVA -> SWITCH CASE


.PROGRAMA COM RAMOS
.ENQUANTO UMA TAREFA REALIZA A COMPUTAÇÃO CA CONDIÇÃO, O RESTANTE
CALCULA OS RAMOS
.EXEMPLO NO SWITCH CASE, EXECUTAMOS CADA CASO ANTES, QUANDO A
CONDIÇÃO FOR VERIFICADA. TUDO JA ESTARA EXECUTADO
.HÍBRIDA
.MISTURA DAS TECNICAS
.EXEMPLO: MENOR VALOR -> UTILIZOU DECOMPOSIÇÃO DE DADOS E
RECURSIVA
-----
MAPEAMENTO
.TAREFAS SÃO ATRIBUIDAS A PROCESSOS
.MAXIMIXAR O USO DA CONCORRÊNCIA
.GRAFO DE DEPENDÊNCIA
.CONCLUIR TAREFAS EM MENOR TEMPO
.REDUZIR INTERAÇÃO ENTRE PROCESSOS
.REDUZIR OCIOSIDADE DE PROCESSOS
.PROBLEMAS DE SOBRECARGA
.BALANCEAMENTO DE CARGA
.PROCESSO: AGENTE DE PROCESSAMENTO QUE EXECUTA TAREFAS

TÉCNICAS DE MAPEAMENTO
.ESTÁTICO
.ANTES DA EXECUÇÃO
.TAMANHO DAS TAREFAS
.TAMANHO DOS DADOS
.CARACTERÍSTICAS DAS INTERAÇÕES
.PARADIGMA DE PROGRAMAÇÃO

.OQUE PARTICIONAR?
.PARTICIONAMENTO DE DADOS
.DISTRIBUIÇÃO DE BLOCOS
.ATRIBUI PARTES ADJACENTES UNIFORMES DA MATRIZ
.HÁ UMA LOCALIDADE DE INTERAÇÃO
.CADA PROCESSO RECEBE UM BLOCO
ADJACENTE(PRÓXIMO/VIZINHO) DE ENTRADA
.EX: LINHAS OU COLUNAS DE UMA MATRIZ
.BIDIMENSIONAL
.EX: CADA BLOCO UM ELEMENTO
.EX: CADA BLOCO DOIS/TRÊS ELEMENTOS
.EX: DADA UMA MATRIZ, UM PROGRAMA DEVE CALCULAR A
SOMA FATORIAL DE CADA LINHA DA MATRIZ
.<- SE A QUANTIDADE DE TRABALHO FOR DIFERENTE ISSO
PODE LEVAR A DESEQUILÍBRIOS DE CARGA
.DISTRIBUIÇÃO CÍCLICA
.PARTICIONA EM MAIS BLOCOS DO QUE PROCESSOS
.ATRIBUÍ AS TAREFAS DE MANEIRA ROND-ROBIN
.CADA PROCESSO TEM VÁRIOS BLOCOS NÃO
ADJACENTES(PRÓXIMO/VIZINHO)
.PROCESSOS TÊM TAREFAS DE TODAS AS PARTES DA MATRIZ
.EX: DADA UMA MATRIZ, UM PROGRAMA DEVE CALCULAR A
SOMA FATORIAL DE CADA LINHA -> (LINHA1: P1, LINHA2: P2,
LINHA3: P1, LINHA4: P2)
.PODE RESULTAR EM PROBLEMAS DE DESEMPENHO
.DISTRIBUIÇÃO ALEATÓRIA
.PARTICIONA EM MAIS BLOCOS DO QUE PROCESSOS
.BLOCOS DISTRIBUÍDOS DE MANEIRA UNIFORME
.BLOCOS DISTRIBUÍDOS DE MANEIRA ALEATÓRIA
.BALANCEAMENTO DE CARGA

.PARTICIONAMENTO DE TAREFAS
.PARTICIONA O GRAFO DE DEPENDÊNCIA
.TAREFAS ESTÁTICAS DE TAMANHO CONHECIDO

.DINÂMICO
.DURANTE A EXECUÇÃO
.CENTRALIZADO
.MESTRE TRABALHADORES
.TAREFAS EM UMA ESTRUTURA DE DADOS CENTRAL
.MESTRE GERENCIA O CONJUNTO DE TAREFAS
.TRABALHADORES RECEBEM TRABALHO (JUNTAM EM UMA NOVA
TAREFA NO PROCESSO MESTRE)
.ALGORITMO ORDENAÇÃO MATRIZ NXN
.DADA UMA MATRIZ, UM PROGRAMA DEVE ORDENAR OS VALORES
DE CADA LINHA. for(i=0;i<n;i++) sort(A[i], n)
.SELF SCHEDULING
.DISTRIBUÍDO
.TAREFAS SÃO DISTRIBUIDAS ENTRE PROCESSOS
.PROCESSO PODE ENVIAR OU RECEBER TRABALHO
.PROCESSOS TROCAM TAREFAS EM TEMPO DE EXECUÇÃO
-----
MODELOS
.PARALELISMO DE DADOS
.SPMD(SINGLE PROGRAM MULTIPLE DATA)
.TAREFAS SÃO MAPEADAS ESTATICAMENTE
.SENSÍVEL A FALHAS
.EX:DISTRIBUIR DADOS -> 4 PROCESSOS DIFERENTES -> RECOLHER DADOS
.MPMD(MULTIPLE PROGRAM MULTIPLE DATA)
.MÚLTIPLAS APLICAÇÕES SOBRE MÚLTIPLOS DADOS
.CADA TAREFA EXECUTA EM PARALELO
.EX: DADOS -> TAREFA -> RESULTADO (4 DIFERENTE). CADA TAREFA PODE
EXECUTAR O MESMO OU DIFERENTES PROGRAMAS DAS OUTRAS TAREFAS
.GRAFO DE TAREFAS
.UTILIZA UMA DIVISÃO RECURSIVA DO PROBLEMA INICIAL EM SUBPROBLEMAS
INDEPENDENTES (DISTRIBUI DADOS E RECOLHE DADOS)
.WORKPOOL DE PROCESSOS
.MESTRE-ESCRAVO
.MESTE GERENCIA O CONJUNTO DE TAREFAS
.WORKERS RECEBEM E EXECUTAM O TRABALHO
.PIPELINE
.DECOMPOSIÇÃO FUNCIONAL
.PROCESSOS EM SEQUÊNCIA
.INFORMAÇÃO COM O PROCESSO SEGUINTE
EX: DADOS->O->O->O->RESULTADO
.HÍBRIDO
.MAIS DE UM MODELO
.HIERARQUICAMENTE
.SEQUENCIALMENTE

----

DESEMPENHO

.TO = TEMPO DE OVERHEAD


.TP = TEMPO DA VERSÃO PARALELA
.TS = TEMPO DA VERSÃO SEQUENCIAL
.P = NÚMERO DE PROCESSADORES
.IDLE = TEMPO OCIOSO
.SPEEDUP É A RAZÃO ENTRE O TEMPO PARA RESOLVER COM 1 PROCESSADOR X MESMO
PROBLEMA COM UM COMPUTADOR PARALELO COM VÁRIOS PROCESSADORES IDÊNTICOS
.SUBLINEAR = TEMPO MENOR QUE O NÚMERO DE PROCESSADORES
.LINEAR = TEMPO IGUAL O NÚMERO DE PROCESSADORES
.SUPERLINEAR = TEMPO MAIOR QUE O NUMÚMERO DE PROCESSADORES

Você também pode gostar