• Nenhum resultado encontrado

Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

N/A
N/A
Protected

Academic year: 2021

Share "Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR"

Copied!
29
0
0

Texto

(1)n . Paralelismo. n . Granularidade. n . Multiprocessadores e Multicomputadores. n . Ambientes fortemente acoplados e fracamente acoplados. n . Sistemas Operacionais de Rede. n . Sistemas Operacionais Distribuídos. Profa Ana Cristina B. Kochem Vendramin DAINF / UTFPR.

(2) Paralelismo   — Divisão  de  tarefas  grandes  e  complexas  em  sub-­‐tarefas  que  . são  distribuídas  entre  processadores  distintos  para  serem   executadas  simultaneamente.   — Objetivo:  processamento  mais  rápido.  . Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 2.

(3) Níveis  de  Paralelismo   — Nível  de  instrução   — Evolução  dos  processadores  sequenciais  para  os  pipeline.   — Pipeline:  técnica  que  divide  o  processamento  de  instruções   em  várias  partes,  cada  qual  tratada  por  uma  unidade   dedicada.   — Objetivos:   — — . Sobrepor  no  tempo  diversas  fases  de  execução  das  instruções;   Pipeline  melhora  o  throughput  de  todo  o  trabalho,  mas  não  reduz  o   tempo  gasto  para  completar  cada  instrução  individualmente.  . Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 3.

(4) Níveis  de  Paralelismo  –  Nível  de  instrução   — Exemplo  de  pipeline  de  cinco  estágios:   — E1:  busca  a  instrução  na  memória  e  armazena  em  um  buffer.   — E2:  decodifica  a  instrução  (determina  seu  tipo  e  os  operandos  . necessários  para  a  sua  execução);   — E3:   localiza   e   busca   os   operandos   que   podem   estar   em   registradores  ou  na  memória;   — E4:  executa  a  instrução;   — E5:  escreve  resultado  do  processamento  em  um  registrador.   — Em  um  único  ciclo  de  clock,  é  possível  que  o  estágio  E5  escreva   o   resultado   de   uma   instrução   x   no   registrador   enquanto   os   outros  estágios  trabalham  nas  instruções  subsequentes.   Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 4.

(5) Níveis  de  Paralelismo  –  Nível  de  instrução   — Processadores  Superescalares   — Primeiro  processador  superescalar:  dois  pipelines.   — Dois  ou  mais  pipelines  de  instruções  de  n  estágios.   — Executa  duas  ou  mais  instruções  independentes  em  paralelo   no  mesmo  ciclo  de  relógio.   — Necessário  verificar  a  existência  de  dependências  entre  as   instruções.  . Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 5.

(6) Níveis  de  Paralelismo  –  Nível  de  Instrução   — Ex.:  processador  Superescalar  com  cinco  unidades  funcionais   Justificativa dos pipelines de execução: estágios como o de busca de operandos são bem mais rápidos que os estágios de execução de instruções. E4 ULA. E1. E2. E3. ULA. E5. Unidade de busca de instrução. Unidade de decodificação. Unidade de busca de operando. LOAD. Unidade de escrita. STORE. Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. Ponto Flutuante. [TANENBAUM 99] 6.

(7) Níveis  de  Paralelismo  –  Nível  de  Instrução   — Processadores  Superescalares   Ciclo de relógio Instrução i Instrução i + 1 Instrução i + 2 Instrução i + 3. . . .. Instrução i + 8 Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 1. 2. 3. 4. 5. BI DI BO EX ER BI DI BO EX ER BI DI BO EX ER BI DI BO EX BI DI BO EX BI DI BO EX BI DI BO BI DI BO BI DI BO. 6. 7. ER ER ER EX ER EX ER EX ER. tempo. BI:  Busca  Instrução   DI:  Decodifica  Instrução   BO:  Busca  Operando   EX:  Executa   ER:  Escreve  Resultado  . 7.

(8) Níveis  de  Paralelismo  –  Nível  de  Instrução   — Processsadores  Superpipeline   — Objetivo:  reduzir  tempo  de  ciclo  de  relógio   — A  arquitetura  superpipeline  subdivide  cada  estágio  do   pipeline  em  subestágios  e  multiplica  o  clock  internamente.   — Cada  subestágio  continua  executando  uma  instrução  por   clock,  mas  como  o  clock  interno  é  multiplicado,  o  pipeline   pode  aceitar  duas  ou  mais  instruções  para  cada  clock   externo.   — O  grau  de  superpipeline  é  medido  pelo  número  de   subestágios  em  que  é  dividido  um  estágio.   Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 8.

(9) Níveis  de  Paralelismo  –  Nível  de  Instrução   — Processadores  Superpipeline  superescalares   Ciclo de relógio. 1. 2. 3. 4. 5. 6. 7. tempo. BI DI BO EX ER BI DI BO EX ER BI DI BO EX ER BI DI BO EX ER BI DI BO EX ER BI DI BO EX ER BI DI BO EX ER BI DI BO EX ER BI DI BO EX ER Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 9.

(10) Níveis  de  Paralelismo  –  Nível  de  Instrução   — Processadores  VLIW  (Very  Large  Instruction  Word)   — Reduzir  número  de  instruções  para  executar  uma  aplicação   — . — . — . Uma  simples  instrução  pode  especificar  múltiplas  operações.   — Bits  da  instrução  codificam  as  operações.   Operações   devem   ser   independentes   para   que   possam   ser   enviadas  para  as  unidades  de  execução  ao  mesmo  tempo.   Não  precisa  hardware  especializado  para  escalonar  ou  verificar   dependências  entre  instruções  (função  do  compilador).  . Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 10.

(11) Níveis  de  Paralelismo   — Ambiente  Multithreading   — Várias   linhas   de   execução   lógicas   em   um   mesmo   processador.   — Nível  do  chip  -­‐  Processadores  multicore   — Execução  simultânea  de  mais  de  um  fluxo  de  instruções.   — Nós  multiprocessados  -­‐  supercomputadores   — Vários  chips  que  compartilham  memória.   — Cluster   — Grids   Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 11.

(12) Níveis  de  Paralelismo   — Cluster   — Conjunto  de  máquinas  interligadas  através  de  uma  rede  que  . trabalham  juntas,  como  se  fossem  um  único  computador  de   alto   desempenho,   com   o   intuito   de   concluir   um   processamento  pesado.  . — http://www.top500.org  . Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 12.

(13) Níveis  de  Paralelismo   — Cluster   — Vantagens:   — — — . — . — . — . Relação  custo  x  benefício  se  comparado  aos  supercomputadores.   Tolerância  a  falhas;   Independência  de  fornecedores:     — Hardware  aberto  e  Software  livre.   Alto  poder  de  processamento  na  resolução  de  problemas  em   aplicações  paralelizáveis;   Alta  escalabilidade   — Mais  carga  de  trabalho  –  novos  componentes.   Heterogeneidade.  . Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 13.

(14) Níveis  de  Paralelismo   — Grade  computacional  (grid)   — Nível  continental  ou  nacional.   — Comunicação  de  clusters  via  Internet.  . Coleção   de   recursos   distribuídos   geograficamente,   tipicamente  heterogêneos  e  compartilhados.   — Executar  operações  paralelas  que  demandam:   — Capacidade   de   processamento   e   armazenamento   não   disponível  em  um  conjunto  de  máquinas  locais.   — . Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 14.

(15) Bibliotecas  para  Coordenar  Processos  em  Cluster   — Para  explorar  ao  máximo  o  potencial  de  paralelismo  de  um  . cluster:  . — Compiladores   com   diretivas   “OpenMP”:   coordenar  . processos  com  memória  compartilhada;  . — Biblioteca  MPI  (Message  Passing  Interface)  ou  PVM  (Parallel  . Virtual   Machine):   coordenar   processos   que   são   distribuídos   pelos   nós   do   cluster,   passando   a   se   comportar   como   uma   única  máquina  de  alto  desempenho.  . Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 15.

(16) Granularidade   — Um   sistema   distribuído   pode   ser   classificado   em   função  . d a   g r a n u l a r i d a d e   d a s   i n t e r a ç õ e s   e n t r e   s e u s   componentes.  . — Interações:   troca   de   dados   e/ou   sincronização   entre   os  . processadores  que  cooperam  na  execução  de  um  programa.  . — Em   alguns   sistemas   as   interações   são   infrequentes   mas  . envolvem   grandes   volumes   de   dados   quando   ocorrem.   Em   outros,  as  interações  são  muito  frequentes  e  há  pouca  troca   de  dados  e/ou  sincronização.  . Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 16.

(17) Granularidade  de  um  programa   — g  =  Tproc/Tmsg,  onde:   — Tproc  à  tempo  de  processamento;   — Tmsg  à  overhead  de  comunicação  entre  os  processos.   — Se  o  valor  de  g  é  baixo   — . — . Aumenta  o  potencial  de  paralelismo,  mas  aumenta  peso  de  overhead   de  comunicação.   Paralelismo  de  granularidade  fina  (fine-­‐grained)  . — Se  valor  de  g  é  alto     — — — . Overhead  baixo;   Menor  exploração  do  paralelismo;     Paralelismo  de  granularidade  grossa  (coarsed-­‐grained).  . Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 17.

(18) Tipos  de  Granularidade   — Granularidade  Grossa  (poucos  grãos  grossos).     — Exemplo:     — Redes  de  computadores   — Cada   processador   é   independente   e   geograficamente   disperso  dos  demais.  Dedica  apenas  parte  de  seu  tempo  e   recursos  à  tarefas  comuns.   — As  interações  entre  os  computadores,  normalmente,  são   pouco  frequentes  mas  podem  envolver  grandes  volumes   de  dados.  . Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 18.

(19) Tipos  de  Granularidade   — Granularidade  Fina  (muitos  grãos  finos)   — Exemplo:     — Processadores    vetoriais  ou  matriciais   — Máquinas   projetadas   para   a   solução   de   uma   classe   restrita   de   problemas.   São   construídos   de   forma   que   u m a   m e s m a   o p e r a ç ã o   p o s s a   s e r   e x e c u t a d a   simultaneamente   sobre   vários   elementos   de   um   vetor   ou  matriz.  . Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 19.

(20) Computadores  Distribuídos  e  Paralelos   — Tanenbaum   propõe   a   divisão   de   máquinas   MIMD  . (Múltiplas   Instruções   e   Múltiplos   Dados)   em   multiprocessadores  e  multicomputadores.    . — Outro   ponto   da   taxonomia   de   Tanenbaum   é   a  . caracterização  dos  sistemas  pelo  grau  de  ligação  entre  os   computadores,  que  podem  ser  fortemente  acoplados  ou   fracamente  acoplados.    . Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 20.

(21) Computadores  Distribuídos  e  Paralelos   MIMD (Multiple Instruction Multiple Data) Computadores Paralelos e Distribuídos Fortemente Acoplados. Fracamente Acoplados. Multiprocessadores (memória compartilhada). Multicomputadores (memória própria). Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 21.

(22) Computadores  Distribuídos  e  Paralelos   — Ambientes  Fortemente  Acoplados   — Geralmente  multiprocessadores  são  muito  ligados;   — Memória  compartilhada;   — Baixo  retardo  no  envio  de  mensagens;   — Alta  taxa  de  transmissão;   — Geralmente,   sistemas   muito   ligados   são   usados   como   sistemas  paralelos,  trabalhando  em  um  único  problema.  . Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 22.

(23) Computadores  Distribuídos  e  Paralelos   — Ambientes  Fracamente  Acoplados   — Normalmente  multicomputadores  são  pouco  ligados;   — Cada  computador  possui  sua  memória;   — Normalmente,   sistemas   pouco   ligados   são   utilizados   como   um  sistema  distribuído,  trabalhando  em  diversos  problemas.  . Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 23.

(24) Mul@processadores   — Sistemas  operacionais  regulares:   — Sistema  de  arquivos;   — Chamadas  no  sistema;   — Gerenciamento  de  Memória  e  Dispositivos  de  E/S;   — Duas  ou  mais  CPUs;   — Memória  compartilhada;   — S i n c r o n i z a ç ã o   d e   P r o c e s s o s ,   e s c a l o n a m e n t o   e  . gerenciamento  de  recursos.  . Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 24.

(25) Sistemas  Operacionais  de  Rede   — Exemplos:  Windows,  Linux.   — Possuem   recursos   de   interligação   em   rede   incorporado   e,  . portanto,  podem  ser  usados  para  acessar  recursos  remotos.   — Software  fracamente  acoplado   — Nós  têm  autonomia  no  gerenciamento  de  seus  recursos.   — Comunicação  é  explicitamente  solicitada  pelo  usuário  e  se   dá  através  de  troca  de  mensagens.  . Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 25.

(26) Sistemas  Operacionais  de  Rede   — Usuários  tem  visões  diferentes  do  sistema:  organização  do  . sistema   de   arquivo   local,   dispositivos   locais   que   cada   máquina  possui,  etc.   — Máquinas   podem   executar   diferentes   SOs   desde   que   os   protocolos   de   comunicação   e   serviços   sejam   usados   por   todas  as  máquinas.  . Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 26.

(27) Sistemas  Operacionais  Distribuídos   n . n . n . n . Um   sistema   operacional   que   produz   uma   única   imagem   dos   sistema   para   todos   os   recursos   de   um   sistema   distribuído   é   chamado   de   Sistema   Operacional   Distribuído  (SOD)     Software   fortemente   acoplado   em   um   hardware   fracamente  acoplado.   Objetivo:   criar   uma   ilusão   para   os   usuários   que   o   sistema   de   multicomputadores   funciona   como   uma   grande   máquina.   O  sistema  operacional  tem  controle  sobre  todos  os  nós  do   sistema   e   dispara   novos   processos   de   modo   transparente   de  acordo  com  sua  política  de  escalonamento.  . Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 27.

(28) Sistemas  Operacionais  Distribuídos   n . n . Não  adoção  de  SOD  para  uso  geral.   n Usuários  já  possuem  softwares  aplicativos  que  atendem   suas  necessidades;   n Usuários   querem   ter   autonomia   em   suas   máquinas   e   não   ter   sua   máquina   compartilhada   podendo   ter   seu   desempenho  prejudicado  pelo  uso  de  outros  usuários.   Equilíbrio   entre   requisitos   de   autonomia   e   acesso   compartilhado  aos  recursos   n Middleware  SD  +  Sistema  Operacional  de  Rede  . Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 28.

(29) Referências  Bibliográficas   — Coulouris,  George;  Dollimore,  Jean;  Kindberg,  Tim.  Distributed  . Systems   Concepts   and   Design.   Third   Edition.   Addison-­‐Wesley   2001.   — Coulouris,   George;   Dollimore,   Jean;   Kindberg,   Tim;   tradução   João  Tortello.  Sistemas  Distribuídos:  conceitos  e  projeto.  4.  ed.   Bookman  2007.   — Tanenbaum,  A.S.  Distributed  Operating  Systems.  Prentice-­‐Hall   International,  1995.   — Tanenbaum,   A.S.   tradução   Nery   Machado   Filho.   Organização   Estruturada  de  Computadortes.  4.  ed.  LTC,  1999.   Profa. Ana Cristina B. Kochem Vendramin. DAINF/UTFPR. 29.

(30)

Referências

Documentos relacionados

In this work, improved curves are the head versus flow curves predicted based on the correlations presented in Table 2 and improved by a shut-off head prediction

Sendo assim diante das analises que foram realizadas através das leituras tidas, para o discorrer deste trabalho, ficou entendido que foi preciso lutar para que a capoeira tivesse

“Cuidar da saúde é sempre muito importante para se viver bem e melhor, e esse cuidado deve começar desde cedo, por isso, a atividade física em escolas é de suma importância

A utilização do treino combinado, com intensidade média de 65%, frequência média de 3 vezes na semana e duração média de 9 semanas, foi o que apresentou melhores resultados para

Engenharia Mecânica, Universidade Tecnológica Federal do Paraná, Curitiba, 2017. A influência da substituição do carbono e do nitrogênio em aços inoxidáveis tem sido

As medidas socioeducativas tem o objetivo de favorecer oportunidades para os adolescentes, buscando fortalecimento de vínculos familiares, a fim de restabelecer o

Não fez Com duas soluções uma sofrendo redução e a outra oxidação, em um circuito fechado com fio condutor metálico e uma ponte salina é possível produzir uma pilha química