Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR
Texto
(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)
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